diff options
author | Matt Turner <[email protected]> | 2017-06-30 14:58:22 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2017-07-20 16:56:49 -0700 |
commit | 823893051052c55baece54449ba1f7c2669f4d33 (patch) | |
tree | 2ad6ecc717c388a7a3c1f213beb42fd013531148 /src/compiler/glsl/ir_constant_expression.cpp | |
parent | f1b7c47913344338a8730cf3561ce95527b53c4c (diff) |
i965/fs: Do not move MOVs writing the flag outside of control flow
The implementation of ballotARB() will start by zeroing the flags
register. So, a doing something like
if (gl_SubGroupInvocationARB % 2u == 0u) {
... = ballotARB(true);
[...]
} else {
... = ballotARB(true);
[...]
}
(like fs-ballot-if-else.shader_test does) would generate identical MOVs
to the same destination (the flag register!), and we definitely do not
want to pull that out of the control flow.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/compiler/glsl/ir_constant_expression.cpp')
0 files changed, 0 insertions, 0 deletions