summaryrefslogtreecommitdiff
path: root/lib/rendercopy_gen9.c
diff options
context:
space:
mode:
authorMika Kuoppala <mika.kuoppala@linux.intel.com>2015-08-11 15:25:37 +0300
committerMika Kuoppala <mika.kuoppala@intel.com>2015-08-13 15:17:19 +0300
commit8a68ec14536c802b2d869f2356d978346bf234f4 (patch)
treef4b6285a9bf66688f0b4768cd3825b0bd26f074f /lib/rendercopy_gen9.c
parentd524a964fc88ec52002609d15cb8ccfc50cbc18a (diff)
lib/rendercopy_gen9: WaBindlessSurfaceStateModifyEnable
Don't set the size of bindless surface state on rendercopy. And as of doing so, take into account the workaround for setting the command size. This was tried during hunting for https://bugs.freedesktop.org/show_bug.cgi?id=89959. But no impact was found. Cc: Arun Siluvery <arun.siluvery@linux.intel.com> Reviewed-by: Arun Siluvery <arun.siluvery@linux.intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Diffstat (limited to 'lib/rendercopy_gen9.c')
-rw-r--r--lib/rendercopy_gen9.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
index 0766192d..4a4a604a 100644
--- a/lib/rendercopy_gen9.c
+++ b/lib/rendercopy_gen9.c
@@ -511,7 +511,11 @@ gen7_emit_push_constants(struct intel_batchbuffer *batch) {
static void
gen9_emit_state_base_address(struct intel_batchbuffer *batch) {
- OUT_BATCH(GEN6_STATE_BASE_ADDRESS | (19 - 2));
+
+ /* WaBindlessSurfaceStateModifyEnable:skl,bxt */
+ /* The length has to be one less if we dont modify
+ bindless state */
+ OUT_BATCH(GEN6_STATE_BASE_ADDRESS | (19 - 1 - 2));
/* general */
OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
@@ -544,9 +548,9 @@ gen9_emit_state_base_address(struct intel_batchbuffer *batch) {
OUT_BATCH(1 << 12 | 1);
/* Bindless surface state base address */
- OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
OUT_BATCH(0);
- OUT_BATCH(0xfffff000);
+ OUT_BATCH(0);
+ OUT_BATCH(0);
}
static void