projects
/
platform
/
upstream
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b32834e
)
aco: fix incorrect address calculation for load_barycentric_at_sample
author
Rhys Perry
<pendingchaos02@gmail.com>
Mon, 4 Jan 2021 10:41:39 +0000
(10:41 +0000)
committer
Marge Bot
<eric+marge@anholt.net>
Mon, 4 Jan 2021 16:53:29 +0000
(16:53 +0000)
Fix address calculation for indirect load_barycentric_at_sample on GFX6-8
with a uniform sample index.
A non-zero uniform sample index does not seem to be tested by CTS.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3966
Fixes:
93c8ebfa780
("aco: Initial commit of independent AMD compiler")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8302>
src/amd/compiler/aco_instruction_selection.cpp
patch
|
blob
|
history
diff --git
a/src/amd/compiler/aco_instruction_selection.cpp
b/src/amd/compiler/aco_instruction_selection.cpp
index
36cc72a
..
5492cd5
100644
(file)
--- a/
src/amd/compiler/aco_instruction_selection.cpp
+++ b/
src/amd/compiler/aco_instruction_selection.cpp
@@
-7661,7
+7661,7
@@
void visit_intrinsic(isel_context *ctx, nir_intrinsic_instr *instr)
offset = bld.sop2(aco_opcode::s_lshl3_add_u32, bld.def(s1), bld.def(s1, scc), addr, Operand(sample_pos_offset));
} else {
offset = bld.sop2(aco_opcode::s_lshl_b32, bld.def(s1), bld.def(s1, scc), addr, Operand(3u));
- offset = bld.sop2(aco_opcode::s_add_u32, bld.def(s1), bld.def(s1, scc),
addr
, Operand(sample_pos_offset));
+ offset = bld.sop2(aco_opcode::s_add_u32, bld.def(s1), bld.def(s1, scc),
offset
, Operand(sample_pos_offset));
}
Operand off = bld.copy(bld.def(s1), Operand(offset));