OSDN Git Service

st/mesa: implement indirect addressing for destination registers
authorBrian Paul <brianp@vmware.com>
Fri, 10 Jul 2009 19:07:45 +0000 (13:07 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 10 Jul 2009 19:09:09 +0000 (13:09 -0600)
src/mesa/state_tracker/st_mesa_to_tgsi.c

index 8aef3fc..e150dff 100644 (file)
@@ -268,6 +268,11 @@ compile_instruction(
       NULL,
       GL_FALSE );
    fulldst->DstRegister.WriteMask = convert_writemask( inst->DstReg.WriteMask );
+   if (inst->DstReg.RelAddr) {
+      fulldst->DstRegister.Indirect = 1;
+      fulldst->DstRegisterInd.File = TGSI_FILE_ADDRESS;
+      fulldst->DstRegisterInd.Index = 0;
+   }
 
    for (i = 0; i < fullinst->Instruction.NumSrcRegs; i++) {
       GLuint j;