Compare commits

...

No commits in common. "c8" and "c8s" have entirely different histories.
c8 ... c8s

18 changed files with 17 additions and 83 deletions

9
.gitignore vendored
View File

@ -1,3 +1,6 @@
SOURCES/dataclasses-0.8.tar.gz
SOURCES/mesa-23.1.4.tar.xz
SOURCES/meson-0.61.4.tar.gz
SOURCES/mesa-22.3.0.tar.xz
/mesa-22.3.0.tar.xz
/mesa-23.1.0.tar.xz
/meson-0.61.4.tar.gz
/dataclasses-0.8.tar.gz
/mesa-23.1.4.tar.xz

View File

@ -1,3 +0,0 @@
ef25d3e9e2523805baa314a4adcb915ae901740e SOURCES/dataclasses-0.8.tar.gz
8a48c0e1fbda2c9563ddcf95b05012ab00a8a692 SOURCES/mesa-23.1.4.tar.xz
b0ab169abd8ec87ce773a02b2c7d6a8664b8db00 SOURCES/meson-0.61.4.tar.gz

View File

@ -1,37 +0,0 @@
From f7434d7576032cf97e3c74ef09912f59617a4bad Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Fri, 14 Jun 2024 12:22:58 +1000
Subject: [PATCH] nouveau/nvc0: increase overallocation on shader bo to 2K
I've been seeing a bunch of read page faults at the end of the
shader allocation, nvk uses a full page at the end to overallocate
so align with that and see if it goes away.
ahulliet and skeggsb both said 2k was used.
Cc: mesa-stable
Reviewed-by: Arthur Huillet <ahuillet@nvidia.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29722>
---
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff -up mesa-23.1.4/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c.dma mesa-23.1.4/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
--- mesa-23.1.4/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c.dma 2023-07-21 22:42:42.000000000 +1000
+++ mesa-23.1.4/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c 2024-08-16 12:49:13.532998512 +1000
@@ -886,10 +886,11 @@ nvc0_screen_resize_text_area(struct nvc0
nouveau_heap_free(&screen->lib_code);
nouveau_heap_destroy(&screen->text_heap);
- /* XXX: getting a page fault at the end of the code buffer every few
- * launches, don't use the last 256 bytes to work around them - prefetch ?
+ /*
+ * Shader storage needs a 2K (from NVIDIA) overallocations at the end
+ * to avoid prefetch bugs.
*/
- nouveau_heap_init(&screen->text_heap, 0, size - 0x100);
+ nouveau_heap_init(&screen->text_heap, 0, size - 0x800);
/* update the code segment setup */
if (screen->eng3d->oclass < GV100_3D_CLASS) {

View File

@ -1,30 +0,0 @@
diff -up mesa-23.1.4/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c.da mesa-23.1.4/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c
--- mesa-23.1.4/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c.da 2025-01-10 13:14:31.119630821 +1000
+++ mesa-23.1.4/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c 2025-01-10 13:15:11.917433170 +1000
@@ -149,6 +149,7 @@ nvc0_validate_fb(struct nvc0_context *nv
unsigned ms_mode = NVC0_3D_MULTISAMPLE_MODE_MS1;
unsigned nr_cbufs = fb->nr_cbufs;
bool serialize = false;
+ bool cbuf_is_linear = false;
nouveau_bufctx_reset(nvc0->bufctx_3d, NVC0_BIND_3D_FB);
@@ -203,8 +204,7 @@ nvc0_validate_fb(struct nvc0_context *nv
PUSH_DATA(push, 0);
nvc0_resource_fence(nvc0, res, NOUVEAU_BO_WR);
-
- assert(!fb->zsbuf);
+ cbuf_is_linear = true;
}
if (res->status & NOUVEAU_BUFFER_STATUS_GPU_READING)
@@ -216,7 +216,7 @@ nvc0_validate_fb(struct nvc0_context *nv
BCTX_REFN(nvc0->bufctx_3d, 3D_FB, res, WR);
}
- if (fb->zsbuf) {
+ if (fb->zsbuf && !cbuf_is_linear) {
struct nv50_miptree *mt = nv50_miptree(fb->zsbuf->texture);
struct nv50_surface *sf = nv50_surface(fb->zsbuf);
int unk = mt->base.base.target == PIPE_TEXTURE_2D;

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}

View File

@ -38,7 +38,7 @@
Name: mesa
Summary: Mesa graphics libraries
Version: 23.1.4
Release: 4%{?rctag:.%{rctag}}%{?dist}
Release: 3%{?rctag:.%{rctag}}%{?dist}
License: MIT
URL: http://www.mesa3d.org
@ -69,10 +69,6 @@ Patch14: 0001-clover-llvm-move-to-modern-pass-manager.patch
# https://issues.redhat.com/browse/RHEL-40566
Patch15: 0001-mesa-fix-off-by-one-for-newblock-allocation-in-dlist.patch
# two nouveau fixes to avoid kernel crashes with multiple cards
Patch20: 0001-nouveau-nvc0-increase-overallocation-on-shader-bo-to.patch
Patch21: nouveau-work-around-linear-zs-issue.patch
BuildRequires: gcc
BuildRequires: gcc-c++
@ -96,7 +92,7 @@ BuildRequires: elfutils
BuildRequires: python3-devel
BuildRequires: gettext
BuildRequires: glslang
BuildRequires: %{llvm_pkg_prefix}llvm-compat-devel >= 3.4-7
BuildRequires: %{llvm_pkg_prefix}llvm-devel >= 3.4-7
%if 0%{?with_opencl}
BuildRequires: %{llvm_pkg_prefix}clang-devel >= 3.0
%endif
@ -350,7 +346,6 @@ cd -
export ASFLAGS="--generate-missing-build-notes=yes"
%global __meson %{buildroot}/usr/bin/meson
export PYTHONPATH=/usr/lib/python3.6/site-packages/:%{buildroot}/usr/lib/python3.6/site-packages/
export PATH=%{_libdir}/llvm17/bin:$PATH
%meson -Dcpp_std=gnu++17 \
-Db_ndebug=true \
-Dplatforms=x11,wayland \
@ -595,9 +590,6 @@ done
%endif
%changelog
* Mon Mar 17 2025 Dave Airlie <airlied@redhat.com> - 23.1.4-4
- Fix two nouveau bugs for customer (RHEL-54452)
* Thu Jun 20 2024 José Expósito <jexposit@redhat.com> - 23.1.4-3
- Fix off-by-one error for newblock allocation in dlist_alloc
Resolves: https://issues.redhat.com/browse/RHEL-40566

3
sources Normal file
View File

@ -0,0 +1,3 @@
SHA512 (meson-0.61.4.tar.gz) = 005f52c678016f3183d36b69254cceab16c682d2389ec9cae41889955a13cb643aea03f2247f3473cfeca9c4dd6c1cc8b9b8b9906dc324c08016c72380a5f195
SHA512 (dataclasses-0.8.tar.gz) = 81b27dd10077084ca82b0a3cbbcee428a5c5cb2e6ade5de46a39731507c2d6f93f9038b704e6555c850044683516a0d130b95a14c91881d04b0bd2c496ca8d6a
SHA512 (mesa-23.1.4.tar.xz) = 00f39028af6dddcff4521fc1cd9bee5355d7a0d1f54cfeef3d735422bec8074db4ed958e5482000e0911afc72a3d0002c3e9fed90553ce87c1e2c58cb651c371