mirror of
https://src.fedoraproject.org/rpms/mesa.git
synced 2024-11-28 02:54:51 +00:00
Update to 24.2.0-rc3
This commit is contained in:
parent
bd66117503
commit
9218667fe3
3 changed files with 8 additions and 129 deletions
|
@ -1,123 +0,0 @@
|
||||||
From a90258da81e2f09fb66dbbdd193e3f0cc31aec41 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Rosca <david.rosca@amd.com>
|
|
||||||
Date: Thu, 18 Jul 2024 19:15:13 +0200
|
|
||||||
Subject: [PATCH] Revert "frontends/va: Fix AV1 slice_data_offset with multiple
|
|
||||||
slice data buffers"
|
|
||||||
|
|
||||||
This commit is fixing an issue where all AV1 slice data offsets always point
|
|
||||||
into the first slice data buffer, even when multiple slice data buffers
|
|
||||||
are submitted. However, after b0d6e58d88f ("Reapply "radeonsi/vcn: AV1 skip the redundant bs resize"")
|
|
||||||
only the first slice data buffer will be sent to decoder and the incorrect
|
|
||||||
behavior is required, so this commit also needs to be reverted.
|
|
||||||
|
|
||||||
This reverts commit 6746d4df6eac83d048e88c2d54aa19e7c1a0a696.
|
|
||||||
|
|
||||||
Reviewed-by: Leo Liu <leo.liu@amd.com>
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30255>
|
|
||||||
---
|
|
||||||
.pick_status.json | 2 +-
|
|
||||||
src/gallium/frontends/va/picture.c | 11 +++--------
|
|
||||||
src/gallium/frontends/va/picture_av1.c | 4 ++--
|
|
||||||
src/gallium/frontends/va/va_private.h | 2 +-
|
|
||||||
4 files changed, 7 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/.pick_status.json b/.pick_status.json
|
|
||||||
index 71e39f35b09..194d445cdc9 100644
|
|
||||||
--- a/.pick_status.json
|
|
||||||
+++ b/.pick_status.json
|
|
||||||
@@ -33654,7 +33654,7 @@
|
|
||||||
"description": "frontends/va: Fix AV1 slice_data_offset with multiple slice data buffers",
|
|
||||||
"nominated": true,
|
|
||||||
"nomination_type": 0,
|
|
||||||
- "resolution": 1,
|
|
||||||
+ "resolution": 0,
|
|
||||||
"main_sha": null,
|
|
||||||
"because_sha": null,
|
|
||||||
"notes": null
|
|
||||||
diff --git a/src/gallium/frontends/va/picture.c b/src/gallium/frontends/va/picture.c
|
|
||||||
index 59692aeee91..a2bb608ec96 100644
|
|
||||||
--- a/src/gallium/frontends/va/picture.c
|
|
||||||
+++ b/src/gallium/frontends/va/picture.c
|
|
||||||
@@ -299,7 +299,7 @@ handleIQMatrixBuffer(vlVaContext *context, vlVaBuffer *buf)
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
-handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices, unsigned slice_offset)
|
|
||||||
+handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices)
|
|
||||||
{
|
|
||||||
switch (u_reduce_video_profile(context->templat.profile)) {
|
|
||||||
case PIPE_VIDEO_FORMAT_MPEG12:
|
|
||||||
@@ -331,7 +331,7 @@ handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf, unsigned num_s
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PIPE_VIDEO_FORMAT_AV1:
|
|
||||||
- vlVaHandleSliceParameterBufferAV1(context, buf, num_slices, slice_offset);
|
|
||||||
+ vlVaHandleSliceParameterBufferAV1(context, buf, num_slices);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
@@ -968,7 +968,6 @@ vlVaRenderPicture(VADriverContextP ctx, VAContextID context_id, VABufferID *buff
|
|
||||||
|
|
||||||
unsigned i;
|
|
||||||
unsigned slice_idx = 0;
|
|
||||||
- unsigned slice_offset = 0;
|
|
||||||
vlVaBuffer *seq_param_buf = NULL;
|
|
||||||
|
|
||||||
if (!ctx)
|
|
||||||
@@ -1024,17 +1023,13 @@ vlVaRenderPicture(VADriverContextP ctx, VAContextID context_id, VABufferID *buff
|
|
||||||
|
|
||||||
slice_idx is the zero based number of total slices received
|
|
||||||
before this call to handleSliceParameterBuffer
|
|
||||||
-
|
|
||||||
- slice_offset is the slice offset in bitstream buffer
|
|
||||||
*/
|
|
||||||
- handleSliceParameterBuffer(context, buf, slice_idx, slice_offset);
|
|
||||||
+ handleSliceParameterBuffer(context, buf, slice_idx);
|
|
||||||
slice_idx += buf->num_elements;
|
|
||||||
} break;
|
|
||||||
|
|
||||||
case VASliceDataBufferType:
|
|
||||||
vaStatus = handleVASliceDataBufferType(context, buf);
|
|
||||||
- if (slice_idx)
|
|
||||||
- slice_offset += buf->size;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VAProcPipelineParameterBufferType:
|
|
||||||
diff --git a/src/gallium/frontends/va/picture_av1.c b/src/gallium/frontends/va/picture_av1.c
|
|
||||||
index c014b0b1168..e6f2652e362 100644
|
|
||||||
--- a/src/gallium/frontends/va/picture_av1.c
|
|
||||||
+++ b/src/gallium/frontends/va/picture_av1.c
|
|
||||||
@@ -396,7 +396,7 @@ void vlVaHandlePictureParameterBufferAV1(vlVaDriver *drv, vlVaContext *context,
|
|
||||||
context->desc.av1.slice_parameter.slice_count = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
-void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices, unsigned slice_offset)
|
|
||||||
+void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices)
|
|
||||||
{
|
|
||||||
for (uint32_t buffer_idx = 0; buffer_idx < buf->num_elements; buffer_idx++) {
|
|
||||||
uint32_t slice_index =
|
|
||||||
@@ -407,7 +407,7 @@ void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, un
|
|
||||||
|
|
||||||
VASliceParameterBufferAV1 *av1 = &(((VASliceParameterBufferAV1*)buf->data)[buffer_idx]);
|
|
||||||
context->desc.av1.slice_parameter.slice_data_size[slice_index] = av1->slice_data_size;
|
|
||||||
- context->desc.av1.slice_parameter.slice_data_offset[slice_index] = slice_offset + av1->slice_data_offset;
|
|
||||||
+ context->desc.av1.slice_parameter.slice_data_offset[slice_index] = av1->slice_data_offset;
|
|
||||||
context->desc.av1.slice_parameter.slice_data_row[slice_index] = av1->tile_row;
|
|
||||||
context->desc.av1.slice_parameter.slice_data_col[slice_index] = av1->tile_column;
|
|
||||||
context->desc.av1.slice_parameter.slice_data_anchor_frame_idx[slice_index] = av1->anchor_frame_idx;
|
|
||||||
diff --git a/src/gallium/frontends/va/va_private.h b/src/gallium/frontends/va/va_private.h
|
|
||||||
index 007ed95ce7f..ad30f3bad2a 100644
|
|
||||||
--- a/src/gallium/frontends/va/va_private.h
|
|
||||||
+++ b/src/gallium/frontends/va/va_private.h
|
|
||||||
@@ -540,7 +540,7 @@ void vlVaHandlePictureParameterBufferVP9(vlVaDriver *drv, vlVaContext *context,
|
|
||||||
void vlVaHandleSliceParameterBufferVP9(vlVaContext *context, vlVaBuffer *buf);
|
|
||||||
void vlVaDecoderVP9BitstreamHeader(vlVaContext *context, vlVaBuffer *buf);
|
|
||||||
void vlVaHandlePictureParameterBufferAV1(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *buf);
|
|
||||||
-void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices, unsigned slice_offset);
|
|
||||||
+void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices);
|
|
||||||
void getEncParamPresetH264(vlVaContext *context);
|
|
||||||
void getEncParamPresetH265(vlVaContext *context);
|
|
||||||
void getEncParamPresetAV1(vlVaContext *context);
|
|
||||||
--
|
|
||||||
2.45.2
|
|
||||||
|
|
12
mesa.spec
12
mesa.spec
|
@ -64,7 +64,7 @@
|
||||||
|
|
||||||
Name: mesa
|
Name: mesa
|
||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
%global ver 24.1.4
|
%global ver 24.2.0-rc3
|
||||||
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
||||||
Release: %autorelease
|
Release: %autorelease
|
||||||
License: MIT AND BSD-3-Clause AND SGI-B-2.0
|
License: MIT AND BSD-3-Clause AND SGI-B-2.0
|
||||||
|
@ -77,7 +77,6 @@ Source0: https://archive.mesa3d.org/mesa-%{ver}.tar.xz
|
||||||
Source1: Mesa-MLAA-License-Clarification-Email.txt
|
Source1: Mesa-MLAA-License-Clarification-Email.txt
|
||||||
|
|
||||||
Patch10: gnome-shell-glthread-disable.patch
|
Patch10: gnome-shell-glthread-disable.patch
|
||||||
Patch11: 0001-Revert-frontends-va-Fix-AV1-slice_data_offset-with-m.patch
|
|
||||||
|
|
||||||
BuildRequires: meson >= 1.3.0
|
BuildRequires: meson >= 1.3.0
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
|
@ -169,6 +168,7 @@ BuildRequires: python3-mako
|
||||||
BuildRequires: python3-ply
|
BuildRequires: python3-ply
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: python3-pycparser
|
BuildRequires: python3-pycparser
|
||||||
|
BuildRequires: python3-pyyaml
|
||||||
BuildRequires: vulkan-headers
|
BuildRequires: vulkan-headers
|
||||||
BuildRequires: glslang
|
BuildRequires: glslang
|
||||||
%if 0%{?with_vulkan_hw}
|
%if 0%{?with_vulkan_hw}
|
||||||
|
@ -578,7 +578,9 @@ popd
|
||||||
%files dri-drivers
|
%files dri-drivers
|
||||||
%dir %{_datadir}/drirc.d
|
%dir %{_datadir}/drirc.d
|
||||||
%{_datadir}/drirc.d/00-mesa-defaults.conf
|
%{_datadir}/drirc.d/00-mesa-defaults.conf
|
||||||
|
%{_libdir}/libgallium-*.so
|
||||||
%{_libdir}/dri/kms_swrast_dri.so
|
%{_libdir}/dri/kms_swrast_dri.so
|
||||||
|
%{_libdir}/dri/libdril_dri.so
|
||||||
%{_libdir}/dri/swrast_dri.so
|
%{_libdir}/dri/swrast_dri.so
|
||||||
%{_libdir}/dri/virtio_gpu_dri.so
|
%{_libdir}/dri/virtio_gpu_dri.so
|
||||||
|
|
||||||
|
@ -666,11 +668,9 @@ popd
|
||||||
%{_libdir}/dri/sti_dri.so
|
%{_libdir}/dri/sti_dri.so
|
||||||
%{_libdir}/dri/sun4i-drm_dri.so
|
%{_libdir}/dri/sun4i-drm_dri.so
|
||||||
%{_libdir}/dri/udl_dri.so
|
%{_libdir}/dri/udl_dri.so
|
||||||
|
%{_libdir}/dri/vkms_dri.so
|
||||||
%{_libdir}/dri/zynqmp-dpsub_dri.so
|
%{_libdir}/dri/zynqmp-dpsub_dri.so
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?with_vulkan_hw}
|
|
||||||
%{_libdir}/dri/zink_dri.so
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?with_omx}
|
%if 0%{?with_omx}
|
||||||
%files omx-drivers
|
%files omx-drivers
|
||||||
|
@ -679,6 +679,7 @@ popd
|
||||||
|
|
||||||
%if 0%{?with_va}
|
%if 0%{?with_va}
|
||||||
%files va-drivers
|
%files va-drivers
|
||||||
|
%{_libdir}/dri/libgallium_drv_video.so
|
||||||
%{_libdir}/dri/nouveau_drv_video.so
|
%{_libdir}/dri/nouveau_drv_video.so
|
||||||
%if 0%{?with_r600}
|
%if 0%{?with_r600}
|
||||||
%{_libdir}/dri/r600_drv_video.so
|
%{_libdir}/dri/r600_drv_video.so
|
||||||
|
@ -691,6 +692,7 @@ popd
|
||||||
|
|
||||||
%if 0%{?with_vdpau}
|
%if 0%{?with_vdpau}
|
||||||
%files vdpau-drivers
|
%files vdpau-drivers
|
||||||
|
%{_libdir}/vdpau/libvdpau_gallium.so.1*
|
||||||
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
|
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
|
||||||
%if 0%{?with_r600}
|
%if 0%{?with_r600}
|
||||||
%{_libdir}/vdpau/libvdpau_r600.so.1*
|
%{_libdir}/vdpau/libvdpau_r600.so.1*
|
||||||
|
|
2
sources
2
sources
|
@ -1 +1 @@
|
||||||
SHA512 (mesa-24.1.4.tar.xz) = 0293f1493685888e5d2f0e616645c937e5a9c348fcb654b050b7c42bfdade1518c508920e456cf8be0033dceab4570a916db87dbb454174e425d91e9c05d0748
|
SHA512 (mesa-24.2.0-rc3.tar.xz) = f65611d2f49882ceaff0ae487e1e687fd48c948a33f6ccae215f814806e575faff5eb32456d24d53c76fb3d183688062f6a78b961c54747ff5ca91fc9dec1835
|
||||||
|
|
Loading…
Reference in a new issue