diff options
author | Dave Airlie <[email protected]> | 2014-12-09 16:46:55 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2014-12-16 12:44:45 +1000 |
commit | 3c8ef3a74b51d5c79bbbc3e73244085efd89206b (patch) | |
tree | 921bad2764da78a9da886b4caea8c97778e4b2c1 /src/glsl/opt_tree_grafting.cpp | |
parent | de0fd375f6de8f3357d05decc4a7dc231c679645 (diff) |
r600g/sb: implement r600 gpr index workaround. (v3.1)
r600, rv610 and rv630 all have a bug in their GPR indexing
and how the hw inserts access to PV.
If the base index for the src is the same as the dst gpr
in a previous group, then it will use PV instead of using
the indexed gpr correctly.
The workaround is to insert a NOP when you detect this.
v2: add second part of fix detecting DST rel writes followed
by same src base index reads.
v3: forget adding stuff to structs, just iterate over the
previous node group again, makes it more obvious.
v3.1: drop local_nop.
Fixes ~200 piglit regressions on rv635 since SB was introduced.
Reviewed-By: Glenn Kennard <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/glsl/opt_tree_grafting.cpp')
0 files changed, 0 insertions, 0 deletions