[Mesa-dev] [PATCH 0/4] Intel: fixes to regressions caused by shaderInt16
Iago Toral Quiroga
itoral at igalia.com
Fri May 4 11:10:25 UTC 2018
This series fixes these two bug reports:
https://bugs.freedesktop.org/show_bug.cgi?id=106393
https://bugs.freedesktop.org/show_bug.cgi?id=106389
Caused by the shaderInt16 series we landed yesterday. Details follow:
Bug #106389 was triggered on BSW-like platforms, which apparently are not
executed during developer Jenkins runs due to excesive run times. The problem
was manifesting as some test fails for Intel CI. Although the same tests would
not fail for me, at least on a BSW NUC I have around, I could see assembly
validation errors being printed when INTEL_DEBUG was used. Thankfully, this is
a trivial fix, since we just need to account for the fact that all conversions
to 64b need to be aligned to 64b in these platforms, and we were already
doing this for 32b to 64b conversions, we just had to generalize the code.
Bug #106393: I am not sure why we were not seeing this in our Jenkins runs,
but we can certainly reproduce it locally. We had, in fact, seen the problem
before while we were experimenting with int8 support in the compiler since it is
specific to Byte instructions (MOVs in particular). It seems that there is at
least one case in the driver where we emit a Byte MOV instruction already and
that was causing the problem. We already had a fix for this that we had been
discussin with Jason for some time, we just were not aware that we already had
this situation in the driver.
Patch 1 should fix the first bug. I verified that the CTS tests mentioned in
the bug report no longer show validation errors in the assembly output with
INTEL_DEBUG=cs. The tests were already passing for me without the fix though.
Patch 2 is a rollback of the revert of that same commit.
Patch 3 fixes the second bug, which is introduced in Patch 2. Patch 3 was created
on top of patch 2 and it is a very specific fix, so at least for
review purposes we think it makes sense to make both patches separate, however,
since patch 2 introduces a regression, we think we want to squash them
together before pushing.
Patch 4 Re-enables shaderInt16
Mark, I ran these patches through Jenkins and didn't get any regressions but
since I didn't get them when I was testing the original shaderInt16 I'd ask if
you can verify the fixes on your end (specially on BSW-like platforms).
Iago
Iago Toral Quiroga (3):
intel/compiler: handle 16-bit to 64-bit conversions in BSW platforms
i965/compiler: handle conversion to smaller type in the lowering pass
for that
anv/device: expose shaderInt16 support in gen8+
Jose Maria Casanova Crespo (1):
intel/compiler: Fix lower_conversions for 8-bit types.
src/intel/compiler/brw_fs_lower_conversions.cpp | 24 +++++++++++++++++++++++-
src/intel/compiler/brw_fs_nir.cpp | 22 +++++++---------------
src/intel/vulkan/anv_device.c | 2 +-
3 files changed, 31 insertions(+), 17 deletions(-)
--
2.14.1
More information about the mesa-dev
mailing list