iris: so, sba then.
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 21 Jan 2018 20:26:09 +0000 (12:26 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:05 +0000 (10:26 -0800)
src/gallium/drivers/iris/iris_state.c

index 2b0be476991cf91cb6ce12381e4dcb00b7d6935a..025fb840ac41adb15748c3774a1cb017657645da 100644 (file)
@@ -1284,8 +1284,9 @@ iris_setup_state_base_address(struct iris_context *ice,
       
    /* XXX: PIPE_CONTROLs */
 
-#if 0
    iris_emit_cmd(batch, GENX(STATE_BASE_ADDRESS), sba) {
+   #if 0
+   // XXX: MOCS is stupid for this.
       sba.GeneralStateMemoryObjectControlState            = MOCS_WB;
       sba.StatelessDataPortAccessMemoryObjectControlState = MOCS_WB;
       sba.SurfaceStateMemoryObjectControlState            = MOCS_WB;
@@ -1293,6 +1294,7 @@ iris_setup_state_base_address(struct iris_context *ice,
       sba.IndirectObjectMemoryObjectControlState          = MOCS_WB;
       sba.InstructionMemoryObjectControlState             = MOCS_WB;
       sba.BindlessSurfaceStateMemoryObjectControlState    = MOCS_WB;
+   #endif
 
       sba.GeneralStateBaseAddressModifyEnable   = true;
       sba.SurfaceStateBaseAddressModifyEnable   = true;
@@ -1307,9 +1309,7 @@ iris_setup_state_base_address(struct iris_context *ice,
 
       sba.SurfaceStateBaseAddress = ro_bo(batch->statebuf.bo, 0);
       sba.DynamicStateBaseAddress = ro_bo(batch->statebuf.bo, 0);
-      sba.IndirectObjectBaseAddress = 0;
-      sba.InstructionBaseAddress = ro_bo(instruction_bo, 0);
-      sba.BindlessSurfaceStateBaseAddress = 0;
+      sba.InstructionBaseAddress =  ro_bo(instruction_bo, 0);
 
       sba.GeneralStateBufferSize = 0xfffff000;
       sba.DynamicStateBufferSize = ALIGN(MAX_STATE_SIZE, 4096);
@@ -1317,7 +1317,6 @@ iris_setup_state_base_address(struct iris_context *ice,
       sba.InstructionBufferSize = ALIGN(ice->shaders.cache.bo->size, 4096);
       sba.BindlessSurfaceStateSize = 0;
    }
-#endif
 }
 
 void