OSDN Git Service

anv/gen9+: Initialize new fields in STATE_BASE_ADDRESS
authorJordan Justen <jordan.l.justen@intel.com>
Wed, 28 Mar 2018 08:29:18 +0000 (01:29 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Thu, 11 Oct 2018 22:16:00 +0000 (15:16 -0700)
Ref: 263b584d5e4 "i965/skl: Emit extra zeros in STATE_BASE_ADDRESS on Skylake."
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
src/intel/vulkan/genX_cmd_buffer.c

index c3a7e5c..43a02f2 100644 (file)
@@ -122,6 +122,18 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
       sba.InstructionBufferSize                 = 0xfffff;
       sba.InstructionBuffersizeModifyEnable     = true;
 #  endif
+#  if (GEN_GEN >= 9)
+      sba.BindlessSurfaceStateBaseAddress = (struct anv_address) { NULL, 0 };
+      sba.BindlessSurfaceStateMemoryObjectControlState = GENX(MOCS);
+      sba.BindlessSurfaceStateBaseAddressModifyEnable = true;
+      sba.BindlessSurfaceStateSize = 0;
+#  endif
+#  if (GEN_GEN >= 10)
+      sba.BindlessSamplerStateBaseAddress = (struct anv_address) { NULL, 0 };
+      sba.BindlessSamplerStateMemoryObjectControlState = GENX(MOCS);
+      sba.BindlessSamplerStateBaseAddressModifyEnable = true;
+      sba.BindlessSamplerStateBufferSize = 0;
+#  endif
    }
 
    /* After re-setting the surface state base address, we have to do some