Accepting request 1032970 from X11:XOrg
- u_nouveau-corrupted-colors-boo1203949.patch * fixes corrupted colors in videos on nouveau with Kepler in Firefox (boo#1203949, issue#7416) - moved drirc.d config snippets from Mesa to Mea-dri package; radv driver specific conf was missing completely (boo#1204866) OBS-URL: https://build.opensuse.org/request/show/1032970 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=456
This commit is contained in:
commit
a841c68aef
13
Mesa.changes
13
Mesa.changes
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 2 16:56:33 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>
|
||||||
|
|
||||||
|
- u_nouveau-corrupted-colors-boo1203949.patch
|
||||||
|
* fixes corrupted colors in videos on nouveau with Kepler in
|
||||||
|
Firefox (boo#1203949, issue#7416)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 2 08:53:22 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>
|
||||||
|
|
||||||
|
- moved drirc.d config snippets from Mesa to Mea-dri package;
|
||||||
|
radv driver specific conf was missing completely (boo#1204866)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Oct 21 09:41:37 UTC 2022 - Fabian Vogt <fvogt@suse.com>
|
Fri Oct 21 09:41:37 UTC 2022 - Fabian Vogt <fvogt@suse.com>
|
||||||
|
|
||||||
|
11
Mesa.spec
11
Mesa.spec
@ -143,6 +143,7 @@ Patch201: u_0001-gallivm-Fix-LLVM-optimization-with-the-new-pass-mana.patc
|
|||||||
Patch300: n_buildfix-21.3.0.patch
|
Patch300: n_buildfix-21.3.0.patch
|
||||||
Patch400: n_no-sse2-on-ix86-except-for-intel-drivers.patch
|
Patch400: n_no-sse2-on-ix86-except-for-intel-drivers.patch
|
||||||
Patch500: n_stop-iris-flicker.patch
|
Patch500: n_stop-iris-flicker.patch
|
||||||
|
Patch600: u_nouveau-corrupted-colors-boo1203949.patch
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
BuildRequires: DirectX-Headers
|
BuildRequires: DirectX-Headers
|
||||||
%endif
|
%endif
|
||||||
@ -767,6 +768,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
|||||||
%patch400 -p1
|
%patch400 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch500 -p1
|
%patch500 -p1
|
||||||
|
%patch600 -p1
|
||||||
|
|
||||||
# Remove requires to vulkan libs from baselibs.conf on platforms
|
# Remove requires to vulkan libs from baselibs.conf on platforms
|
||||||
# where vulkan build is disabled; ugly ...
|
# where vulkan build is disabled; ugly ...
|
||||||
@ -889,9 +891,6 @@ rm -f %{buildroot}/%{_libdir}/pkgconfig/wayland-egl.pc
|
|||||||
# Delete things that we do not package in the Mesa-drivers variant, but can
|
# Delete things that we do not package in the Mesa-drivers variant, but can
|
||||||
# not disable from buildling and installing.
|
# not disable from buildling and installing.
|
||||||
|
|
||||||
# in Mesa
|
|
||||||
rm -rf %{buildroot}/%{_datadir}/drirc.d
|
|
||||||
|
|
||||||
rm -f %{buildroot}/%{_libdir}/libEGL.so*
|
rm -f %{buildroot}/%{_libdir}/libEGL.so*
|
||||||
# in Mesa-libEGL-devel
|
# in Mesa-libEGL-devel
|
||||||
rm %{buildroot}/%{_includedir}/EGL/egl.h
|
rm %{buildroot}/%{_includedir}/EGL/egl.h
|
||||||
@ -926,6 +925,8 @@ rm -rf %{buildroot}/%{_includedir}/KHR
|
|||||||
rm -f %{buildroot}/%{_libdir}/vdpau/libvdpau_gallium.so
|
rm -f %{buildroot}/%{_libdir}/vdpau/libvdpau_gallium.so
|
||||||
|
|
||||||
%else
|
%else
|
||||||
|
# package in Mesa-dri
|
||||||
|
rm -rf %{buildroot}/%{_datadir}/drirc.d
|
||||||
|
|
||||||
rm -f %{buildroot}/%{_libdir}/dri/*_dri.so
|
rm -f %{buildroot}/%{_libdir}/dri/*_dri.so
|
||||||
|
|
||||||
@ -991,8 +992,6 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
|
|||||||
%files
|
%files
|
||||||
%license docs/license.rst
|
%license docs/license.rst
|
||||||
%doc docs/README*
|
%doc docs/README*
|
||||||
%dir %{_datadir}/drirc.d
|
|
||||||
%config %{_datadir}/drirc.d/*
|
|
||||||
|
|
||||||
%files libEGL1
|
%files libEGL1
|
||||||
%{_libdir}/libEGL_mesa.so*
|
%{_libdir}/libEGL_mesa.so*
|
||||||
@ -1107,6 +1106,8 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
|
|||||||
|
|
||||||
%if "%{flavor}" == "drivers"
|
%if "%{flavor}" == "drivers"
|
||||||
%files -n Mesa-dri
|
%files -n Mesa-dri
|
||||||
|
%dir %{_datadir}/drirc.d
|
||||||
|
%config %{_datadir}/drirc.d/*
|
||||||
%dir %{_libdir}/dri
|
%dir %{_libdir}/dri
|
||||||
%{_libdir}/dri/*_dri.so
|
%{_libdir}/dri/*_dri.so
|
||||||
%ifarch %{ix86} x86_64 aarch64 %{arm} ppc64 ppc64le riscv64
|
%ifarch %{ix86} x86_64 aarch64 %{arm} ppc64 ppc64le riscv64
|
||||||
|
51
u_nouveau-corrupted-colors-boo1203949.patch
Normal file
51
u_nouveau-corrupted-colors-boo1203949.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From 6014a642ae24e37c287adbf41d615efa18d0da3d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joan Bruguera <joanbrugueram@gmail.com>
|
||||||
|
Date: Tue, 1 Nov 2022 23:01:50 +0100
|
||||||
|
Subject: [PATCH] nv50/ir/nir: ignore sampler for TXF/TXQ ops.
|
||||||
|
|
||||||
|
Recently, a regression was reported where videos in Firefox had shifted/
|
||||||
|
glitched colors on certain Kepler hardware. This was bisected to
|
||||||
|
bf02bffe156214dad942f56ee68c380d1968704f, however, the issue already
|
||||||
|
existed but didn't hit users until TGSI was switched to NIR as default.
|
||||||
|
|
||||||
|
The issue was traced to a YUV-to-RGB fragment shader used by Firefox,
|
||||||
|
which uses three samplers for the Y/U/V components. The Y component was
|
||||||
|
handled correctly, but the U/V components were bogus, causing the issue.
|
||||||
|
|
||||||
|
After analysis, it appears the TXF/TXQ ops. should only handle the texture
|
||||||
|
(r) but not the sampler (s), see 63b850403c90f33c295d3ad6be4ad749d4ea6274
|
||||||
|
and 346ce0b98832e33d5411200002571b3edea9e2bb.
|
||||||
|
Similarly, handleTXQ/handleTXF on nv50_ir_from_tgsi always sets s=0.
|
||||||
|
Only Kepler was affected because other hardware ignores s at codegen.
|
||||||
|
|
||||||
|
Always set s=0 on NIR for TXF/TXQ, to keep TGSI behavior and fix the
|
||||||
|
regression.
|
||||||
|
|
||||||
|
Thanks: Karol Herbst and M Henning for help diagnosing the issue.
|
||||||
|
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7416
|
||||||
|
Cc: mesa-stable
|
||||||
|
Suggested-by: Karol Herbst <kherbst@redhat.com>
|
||||||
|
Reviewed-by: Karol Herbst <kherbst@redhat.com>
|
||||||
|
Reviewed-by: M Henning <drawoc@darkrefraction.com>
|
||||||
|
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19453>
|
||||||
|
---
|
||||||
|
src/nouveau/codegen/nv50_ir_from_nir.cpp | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/nouveau/codegen/nv50_ir_from_nir.cpp b/src/nouveau/codegen/nv50_ir_from_nir.cpp
|
||||||
|
index cbefa93d25fa..4550acbf180d 100644
|
||||||
|
--- a/src/nouveau/codegen/nv50_ir_from_nir.cpp
|
||||||
|
+++ b/src/nouveau/codegen/nv50_ir_from_nir.cpp
|
||||||
|
@@ -3133,6 +3133,8 @@ Converter::visit(nir_tex_instr *insn)
|
||||||
|
|
||||||
|
r = bindless ? 0xff : insn->texture_index;
|
||||||
|
s = bindless ? 0x1f : insn->sampler_index;
|
||||||
|
+ if (op == OP_TXF || op == OP_TXQ)
|
||||||
|
+ s = 0;
|
||||||
|
|
||||||
|
defs.resize(newDefs.size());
|
||||||
|
for (uint8_t d = 0u; d < newDefs.size(); ++d) {
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
Loading…
Reference in New Issue
Block a user