summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2014-10-31 11:12:30 -0700
committerMatt Turner <[email protected]>2014-11-06 11:09:45 -0800
commitee7e6009a94d070f58a52001780d295798a28073 (patch)
tree8af8c93a4f0bdcd788d25776f9016a2c85ca391a
parentcd93d82ba9ec8cd8e4f54bbee16d7b47c542de71 (diff)
i965/fs: Use mov(4) instructions to read timestamp.
We only want fields 0-2.
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index b7e6333c341..698bd68ae24 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -679,19 +679,18 @@ fs_visitor::get_timestamp()
{
assert(brw->gen >= 7);
- fs_reg ts = fs_reg(retype(brw_vec1_reg(BRW_ARCHITECTURE_REGISTER_FILE,
+ fs_reg ts = fs_reg(retype(brw_vec4_reg(BRW_ARCHITECTURE_REGISTER_FILE,
BRW_ARF_TIMESTAMP,
0),
BRW_REGISTER_TYPE_UD));
- fs_reg dst = fs_reg(this, glsl_type::uint_type);
+ fs_reg dst = fs_reg(GRF, virtual_grf_alloc(1), BRW_REGISTER_TYPE_UD, 4);
fs_inst *mov = emit(MOV(dst, ts));
- /* We want to read the 3 fields we care about (mostly field 0, but also 2)
- * even if it's not enabled in the dispatch.
+ /* We want to read the 3 fields we care about even if it's not enabled in
+ * the dispatch.
*/
mov->force_writemask_all = true;
- mov->exec_size = 8;
/* The caller wants the low 32 bits of the timestamp. Since it's running
* at the GPU clock rate of ~1.2ghz, it will roll over every ~3 seconds,