From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ@public.gmane.org
Subject: [Bug 102382] New: nv50ir: isImmediate doesn't properly
work for integers if Value is typed as float
Date: Wed, 23 Aug 2017 21:18:46 +0000
Message-ID:
Bug ID
102382
Summary
nv50ir: isImmediate doesn't properly work for integers if Val=
ue is typed as float
Product
xorg
Version
git
Hardware
Other
OS
All
Status
NEW
Severity
normal
Priority
medium
Component
Driver/nouveau
Assignee
nouveau@lists.freedesktop.org
Reporter
karolherbst@gmail.com
QA Contact
xorg-team@lists.x.org
Created attachment 133728 [details]
TGSI
codegen should generate a texfetch instruction with a lod according to
IMM[1].xxxx, which is of value 2, but in
https://cgit.freedesktop.or=
g/mesa/mesa/tree/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.=
cpp#n140
the isInteger(0) call assumes the Value being a F32, which leads to a is
2.8E-45 =3D=3D 0 check returning true resulting into the lod argument being=
removed
from texfetch.
This causes a fail in the KHR-GL44.robust_buffer_access_behavior.texel_fetch
CTS test.
Other isInteger calls might be broken as well where an immediate of type fl=
oat
is interpreted as int by the instruction.