mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
svga: check for NaN shader immediates
The svga device doesn't handle them. Replace with zeros.
Fixes several piglit tests, such as "glsl-const-builtin-inversesqrt".
Reviewed-by: Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit 3cb4915344)
This commit is contained in:
parent
cda92f5191
commit
26f802d063
1 changed files with 4 additions and 2 deletions
|
|
@ -2716,8 +2716,10 @@ static boolean svga_emit_immediate( struct svga_shader_emitter *emit,
|
|||
unsigned i;
|
||||
|
||||
assert(1 <= imm->Immediate.NrTokens && imm->Immediate.NrTokens <= 5);
|
||||
for (i = 0; i < imm->Immediate.NrTokens - 1; i++)
|
||||
value[i] = imm->u[i].Float;
|
||||
for (i = 0; i < imm->Immediate.NrTokens - 1; i++) {
|
||||
float f = imm->u[i].Float;
|
||||
value[i] = util_is_inf_or_nan(f) ? 0.0f : f;
|
||||
}
|
||||
|
||||
for ( ; i < 4; i++ )
|
||||
value[i] = id[i];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue