diff options
author | Kenneth Graunke <[email protected]> | 2011-10-07 21:09:53 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2011-10-18 15:57:47 -0700 |
commit | 0d4a9ba9b247664bc5662b3db774064778f9aa17 (patch) | |
tree | 7821462179b0044d4936df02a0b1f7c6fe8d30a4 /src/mesa/drivers/dri/i965/brw_vec4_emit.cpp | |
parent | 9a8791c889160a784207243bf46957647640da5f (diff) |
i965: Use Ivybridge's "Legacy Data Port" for reads/writes.
Using the constant cache for reads isn't going to work for scratch
reads (variably-indexed arrays or register spills), as these aren't
constant at all.
Also, in the new VS backend, use the proper message number for OWord
Dual Block Write messages. It's now 10, instead of 9.
+205 piglits.
NOTE: This is a candidate for the 7.11 branch.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vec4_emit.cpp')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_emit.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp index 09e7cfbc0da..e93e3193d2a 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp @@ -450,7 +450,9 @@ vec4_visitor::generate_scratch_write(vec4_instruction *inst, uint32_t msg_type; - if (intel->gen >= 6) + if (intel->gen >= 7) + msg_type = GEN7_DATAPORT_WRITE_MESSAGE_OWORD_DUAL_BLOCK_WRITE; + else if (intel->gen == 6) msg_type = GEN6_DATAPORT_WRITE_MESSAGE_OWORD_DUAL_BLOCK_WRITE; else msg_type = BRW_DATAPORT_WRITE_MESSAGE_OWORD_DUAL_BLOCK_WRITE; |