diff options
author | Vadim Girlin <[email protected]> | 2013-10-10 08:09:37 +0400 |
---|---|---|
committer | Vadim Girlin <[email protected]> | 2013-10-13 20:03:35 +0400 |
commit | 10ddeb910ba8386a6b46396d827aed4116091b0b (patch) | |
tree | b8f864ed6affb84789f226be6f5305665a154d41 /src/glsl/opt_algebraic.cpp | |
parent | 8958741e5a0c3cce95f0415ce8e6e8e840a5207d (diff) |
r600g: fix tgsi_op2_s with trans-only instructions
This fixes the issue when dst and src is the same reg and operation on one
channel overwrites the source for other channels, e.g.:
UMUL TEMP[2].xyz, TEMP[0].xyzz, TEMP[2].xxxx
In this example the result of the operation on channel x is written in
TEMP[2].x and then used as a second source operand for channels y and z
instead of original value in TEMP[2].x.
This patch stores the results in temp reg and moves them to
dst after performing operation on all channels.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=70327
Signed-off-by: Vadim Girlin <[email protected]>
Diffstat (limited to 'src/glsl/opt_algebraic.cpp')
0 files changed, 0 insertions, 0 deletions