summaryrefslogtreecommitdiff
path: root/lib/rendercopy_gen9.c
diff options
context:
space:
mode:
authorZhao Yakui <yakui.zhao@intel.com>2014-01-22 09:37:23 +0800
committerDamien Lespiau <damien.lespiau@intel.com>2014-09-30 12:21:03 +0100
commit7628268952c586120e879310e542556d6a387abe (patch)
tree0c8cd34459126b9f8dba2980e1ccd4b2c0153b64 /lib/rendercopy_gen9.c
parent77a9ed7da2ef28cd80da68a97c1f409bc7d5eacf (diff)
rendercopy/skl: Fix the STATE_BASE_ADDRESS instruction length
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Diffstat (limited to 'lib/rendercopy_gen9.c')
-rw-r--r--lib/rendercopy_gen9.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
index dce63ae3..f98019ee 100644
--- a/lib/rendercopy_gen9.c
+++ b/lib/rendercopy_gen9.c
@@ -511,8 +511,8 @@ gen7_emit_push_constants(struct intel_batchbuffer *batch) {
}
static void
-gen8_emit_state_base_address(struct intel_batchbuffer *batch) {
- OUT_BATCH(GEN6_STATE_BASE_ADDRESS | (16 - 2));
+gen9_emit_state_base_address(struct intel_batchbuffer *batch) {
+ OUT_BATCH(GEN6_STATE_BASE_ADDRESS | (19 - 2));
/* general */
OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
@@ -546,6 +546,11 @@ gen8_emit_state_base_address(struct intel_batchbuffer *batch) {
OUT_BATCH(0xfffff000 | 1);
/* intruction buffer size */
OUT_BATCH(1 << 12 | 1);
+
+ /* Bindless surface state base address */
+ OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(0);
+ OUT_BATCH(0xfffff000);
}
static void
@@ -948,7 +953,7 @@ void gen9_render_copyfunc(struct intel_batchbuffer *batch,
gen7_emit_push_constants(batch);
- gen8_emit_state_base_address(batch);
+ gen9_emit_state_base_address(batch);
OUT_BATCH(GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_CC);
OUT_BATCH(viewport.cc_state);