diff options
author | Matt Turner <mattst88@gmail.com> | 2013-12-07 12:59:59 -0800 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2014-01-21 14:09:33 -0800 |
commit | 80b949f16b3461c65273bb5d0e263dfffaab400e (patch) | |
tree | 99b3d76c6894a4822a727a238bab8b6bf95ff859 /src/mesa | |
parent | 71bc11a37508542662132b16a53acd5f541cd2b4 (diff) |
i965/fs: Fix the example about overwriting uniforms in SIMD16.
mov takes only a single source argument. Example instruction
inexplicably changed from add to mov in commit f10f5e49.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp b/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp index fa84c559bdb..a29767d2c57 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp @@ -64,18 +64,18 @@ fs_live_variables::setup_one_read(bblock_t *block, fs_inst *inst, * destination starts (naturally). This gets more complicated for * simd16, because the instruction: * - * mov(16) g4<1>F g4<8,8,1>F g6<8,8,1>F + * add(16) g4<1>F g4<8,8,1>F g6<8,8,1>F * * is actually decoded in hardware as: * - * mov(8) g4<1>F g4<8,8,1>F g6<8,8,1>F - * mov(8) g5<1>F g5<8,8,1>F g7<8,8,1>F + * add(8) g4<1>F g4<8,8,1>F g6<8,8,1>F + * add(8) g5<1>F g5<8,8,1>F g7<8,8,1>F * * Which is safe. However, if we have uniform accesses * happening, we get into trouble: * - * mov(8) g4<1>F g4<0,1,0>F g6<8,8,1>F - * mov(8) g5<1>F g4<0,1,0>F g7<8,8,1>F + * add(8) g4<1>F g4<0,1,0>F g6<8,8,1>F + * add(8) g5<1>F g4<0,1,0>F g7<8,8,1>F * * Now our destination for the first instruction overwrote the * second instruction's src0, and we get garbage for those 8 |