igt/pm_rps: Fix STORE_DWORD for pre-gen8

gen8 actually changed the command layout, not just extended the
relocation value. Oh well.

References: https://bugs.freedesktop.org/show_bug.cgi?id=83915
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2014-09-16 08:17:00 +01:00
parent 137877f16b
commit 1244fc6b9b

View File

@ -178,18 +178,17 @@ static void emit_store_dword_imm(uint32_t val)
if (!lh.has_ppgtt) if (!lh.has_ppgtt)
cmd |= MI_MEM_VIRTUAL; cmd |= MI_MEM_VIRTUAL;
BEGIN_BATCH(3, 1); BEGIN_BATCH(4, 0); /* just ignore the reloc we emit and count dwords */
OUT_BATCH(cmd); OUT_BATCH(cmd);
if (batch->gen >= 8) { if (batch->gen >= 8) {
OUT_RELOC(lh.target_buffer, I915_GEM_DOMAIN_INSTRUCTION, OUT_RELOC(lh.target_buffer, I915_GEM_DOMAIN_INSTRUCTION,
I915_GEM_DOMAIN_INSTRUCTION, 0); I915_GEM_DOMAIN_INSTRUCTION, 0);
OUT_BATCH(val);
} else { } else {
OUT_BATCH(0); /* reserved */ OUT_BATCH(0); /* reserved */
OUT_RELOC(lh.target_buffer, I915_GEM_DOMAIN_INSTRUCTION, OUT_RELOC(lh.target_buffer, I915_GEM_DOMAIN_INSTRUCTION,
I915_GEM_DOMAIN_INSTRUCTION, 0); I915_GEM_DOMAIN_INSTRUCTION, 0);
OUT_BATCH(val);
} }
OUT_BATCH(val);
ADVANCE_BATCH(); ADVANCE_BATCH();
} }