Commit Graph

170927 Commits

Author SHA1 Message Date
Simon Ser
31e6d15801 radv: advertise LINEAR filter support for multiplanar/subsampled
It seems like radv supports this but doesn't advertise it.

Signed-off-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22875>
2023-05-10 10:02:27 +00:00
Kurt Kartaltepe
7accfbffd8 drirc: Set limit_trig_input_range option for Nier games
Resolves ambient occlusion rendering in Replicant
Resolves grass and ocean animations in Automata, and maybe more.

Both of these games have shaders that expect trig values to work across
large ranges with good precision.

Closes #7656

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22894>
2023-05-10 08:12:59 +00:00
Juan A. Suarez Romero
0e466efe41 v3d: apply proper clamping when setting up RT
Ensure the render target values are in the proper range.

This fixes `spec@!opengl 3.0@render-integer`.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22733>
2023-05-10 07:36:18 +00:00
Juan A. Suarez Romero
b5a458859f v3d: upgrade V3D 4.1 to 4.2 version
Some of the new features require at least V3D 4.2. And actually, 4.2 is
the version used by the Raspberry Pi 4 hardware.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22733>
2023-05-10 07:36:18 +00:00
Juan A. Suarez Romero
d95bff8e1c v3d: add per hw-version caller macro
Instead of hardcoding conditionals to know which hardwared-based version
of a function to call, just wrap them in a macro to use

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22733>
2023-05-10 07:36:18 +00:00
Daniel Schürmann
1e334e9818 radv/rt: store stack_sizes per stage instead of per group
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503>
2023-05-10 07:02:13 +00:00
Daniel Schürmann
f50a5a62bf radv/rt: use vk_multialloc for radv_ray_tracing_pipeline
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503>
2023-05-10 07:02:13 +00:00
Daniel Schürmann
dfa5fd480c radv/rt: refactor radv_rt_pipeline_compile()
This patch moves the NIR shader creation into radv_rt_pipeline_compile()
and simplifies radv_rt_pipeline_create().

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503>
2023-05-10 07:02:13 +00:00
Daniel Schürmann
b314c2aae2 radv/rt: unify radv_rt_pipeline_create() and radv_rt_pipeline_library_create()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503>
2023-05-10 07:02:13 +00:00
Daniel Schürmann
1100f7dcd5 radv/rt: unify radv_ray_tracing_lib_pipeline and radv_ray_tracing_pipeline
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503>
2023-05-10 07:02:13 +00:00
Daniel Schürmann
97721f32ca radv/rt: change base of radv_ray_tracing_lib_pipeline to radv_compute_pipeline
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503>
2023-05-10 07:02:13 +00:00
Iván Briano
fbc0e74bda anv: enable graphics pipeline libraries by default
Since we are disabling mesh, which has issues with gpl, enable gpl by
default now, leaving the renamed environment variable as a way to
disable it for debug purposes.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22910>
2023-05-10 01:23:16 +00:00
Iván Briano
c97b1eb08a anv: put EXT_mesh_shader behind an environment variable
We are seeing frequent hangs in other workloads when something using
mesh shaders runs at the same time, so gate the feature behind an
environment variable until we figure out what's going on.

v2: (Sagar)
 - Give the mesh enabled variable a more descriptive name

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22910>
2023-05-10 01:23:16 +00:00
Mike Blumenkrantz
e9f18f64b9 zink: also cache swapchain semaphores
a semaphore is a semaphore, as they say

Fixes: 7399b2241f ("zink: move semaphore caching to zink_reset_batch_state()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22935>
2023-05-10 01:03:50 +00:00
Mike Blumenkrantz
c6fd588027 zink: block more flushes during unordered blits
Fixes: 89aa363593 ("zink: block oom flushes during unordered blits")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22931>
2023-05-09 19:29:56 -04:00
Mike Blumenkrantz
2df7ee528c zink: adjust bindless texel buffer handle before indexing
buffer handle ids are offset by ZINK_MAX_BINDLESS_HANDLES, but the actual
index is zero-based

Fixes: 99ba529fee ("zink: implement descriptor buffer handling of bindless texture")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22931>
2023-05-09 19:29:50 -04:00
Mike Blumenkrantz
8ef098a600 zink: compare desc set to detect bindless vars in separate shaders
the bindless flag here isn't set, so this check did nothing

Fixes: e3b746e3a3 ("zink: use GPL to handle (simple) separate shader objects")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22931>
2023-05-09 19:29:50 -04:00
Mike Blumenkrantz
2991a7c11f zink: bind bindless db set when updating separate shader db sets
this otherwise doesn't bind a bindless set and hangs

Fixes: e3b746e3a3 ("zink: use GPL to handle (simple) separate shader objects")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22931>
2023-05-09 19:29:50 -04:00
Mike Blumenkrantz
7428b41618 zink: set debug callback on context
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22899>
2023-05-09 22:16:22 +00:00
Mike Blumenkrantz
391cda41ac zink: add perf_debug for "interesting" shader compiles
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22899>
2023-05-09 22:16:22 +00:00
Mike Blumenkrantz
443e098f7a zink: make mesa_logw separate from perf_debug
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22899>
2023-05-09 22:16:22 +00:00
Mike Blumenkrantz
6098c3f9c0 zink: add ZINK_DEBUG=nobgc
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22899>
2023-05-09 22:16:21 +00:00
Mike Blumenkrantz
0fb5f81ab6 zink: add ZINK_DEBUG=noopt
it's often useful to disable optimized pipeline compiles for debugging

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22899>
2023-05-09 22:16:21 +00:00
Juan A. Suarez Romero
4d39ff6751 vc4/ci: disable VC4 jobs
Some test is causing a GPU reset, which blocks merge requests.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22927>
2023-05-09 20:01:24 +00:00
Jesse Natalie
6d52f08a76 dzn/ci: Remove 'exclude' for graphicsfuzz cases
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22926>
2023-05-09 18:44:37 +00:00
Jesse Natalie
cd91387cad dzn: Run nir_opt_remove_phis before nir_lower_returns
Otherwise nir_lower_returns can produce invalid NIR by not updating
a phi in a non-trivial if.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22926>
2023-05-09 18:44:37 +00:00
Thong Thai
ca5bb27641 frontends/va/config: check for QVBR support when creating
Fixes: 30a6363c8f ("frontend/va: Support QVBR rate control mode")
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22905>
2023-05-09 18:26:02 +00:00
Thong Thai
fcdd3cf0ad frontends/va/context: check min supported resolution when creating
Fixes: c987eed9cd ("frontends/va: report min width and min height values if available")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8981
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22905>
2023-05-09 18:26:02 +00:00
Thong Thai
55d2973bce frontends/va/config: add disable packed headers as valid config
Fixes: 306c6e12a5 ("frontends/va: define va av1 encoding caps")
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22905>
2023-05-09 18:26:02 +00:00
Patrick Lerda
acdd6a2a6c radeonsi: set proper drm_amdgpu_cs_chunk_fence alignment
The 'struct drm_amdgpu_cs_chunk_fence' is processed as
'struct drm_amdgpu_cs_chunk_data' which is a union.
This change ensures the proper alignment for this structure
to be processed as 'struct drm_amdgpu_cs_chunk_data'.

The presence of __u64 as one member of
'struct drm_amdgpu_cs_chunk_data' makes the
whole structure expected to be 64-bit aligned.

This is a minor issue detected by the gcc sanitizer (ubsan), for instance at the libdrm library:
../amdgpu/amdgpu_cs.c:937:26: runtime error: member access within misaligned address 0x63100001484c for type 'struct drm_amdgpu_cs_chunk_data', which requires 8 byte alignment
0x63100001484c: note: pointer points here
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
                ^

Fixes: ae7e4d7619 ("amd: rename ring_type --> amd_ip_type and match the kernel enum values")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22920>
2023-05-09 16:43:07 +00:00
José Roberto de Souza
e1ab322372 iris: Add function to return mmap mode for aux map
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22240>
2023-05-09 15:42:18 +00:00
José Roberto de Souza
743bf9597c iris: Add function to return mmap mode for userptr bos
Similar to what was done to alloc buffer but now for userptr bos.
There is no changes in i915 modes but Xe may different values in
future.

While at it, also setting bo->real.heap to IRIS_HEAP_SYSTEM_MEMORY
as it was already implicit set as IRIS_HEAP_SYSTEM_MEMORY is the
value 0 of the enum.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22240>
2023-05-09 15:42:18 +00:00
José Roberto de Souza
9ad8466a45 iris: Add a function to return allocated bo mmap mode
i915 and Xe kmd can have different mmaps modes, so here extracting
the code to handle it to function.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22240>
2023-05-09 15:42:17 +00:00
Matthieu Bouron
57afa7c0b1 lavapipe: honor dst base array layer when resolving color attachments
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22924>
2023-05-09 14:31:39 +00:00
Martin Roukala (né Peres)
c84aee779b zink/ci: document new flakes on RADV
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22923>
2023-05-09 14:10:56 +00:00
Martin Roukala (né Peres)
dab817c4d8 zink/ci: document recent fixes on RADV
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22923>
2023-05-09 14:10:56 +00:00
Samuel Pitoiset
d115228327 radv: advertise VK_EXT_attachment_feedback_loop_dynamic_state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22849>
2023-05-09 13:29:34 +00:00
Samuel Pitoiset
d740e283e1 radv: implement VK_EXT_attachment_feedback_loop_dynamic_state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22849>
2023-05-09 13:29:34 +00:00
Mike Blumenkrantz
ae4692db49 vulkan/runtime: add VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22849>
2023-05-09 13:29:34 +00:00
Samuel Pitoiset
14162c0904 vulkan: Update XML and headers to 1.3.250
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22849>
2023-05-09 13:29:34 +00:00
Mike Blumenkrantz
ccbfcf3933 glsl/lower_samplers_as_deref: apply bindings for unused samplers
if a sampler is never used (no derefs) then its binding will never be
applied here, leaving it with binding=0. this will clobber the real binding=0
sampler in driver backends, leading to errors, so try to iterate using
the same criteria as above and apply bindings in the same way

fixes #8974

cc: mesa-stable

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22902>
2023-05-09 12:44:27 +00:00
Juan A. Suarez Romero
3277d6965b vc4/ci: skip unsupported test versions
Skip all OpenGL[ES] and GLSL tests that are not supported.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22919>
2023-05-09 12:20:04 +00:00
Samuel Pitoiset
787ae18a37 ac/spm: switch to SPM version 2.0
Found this while glancing in PAL.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22817>
2023-05-09 11:25:18 +00:00
Juan A. Suarez Romero
a51f8787d5 v3d/ci: update neverball-v2 trace reference
Acked-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22915>
2023-05-09 09:29:14 +00:00
Rohan Garg
99c1f58b0a iris: use the workaround framework for WA 14013111325
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22830>
2023-05-09 10:22:13 +02:00
Rohan Garg
27b019d94e hasvk: drop dead code
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22830>
2023-05-09 10:22:10 +02:00
Rohan Garg
1896b48f4e anv: use the workaround framework for WA 14013111325
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22830>
2023-05-09 10:22:02 +02:00
Kenneth Graunke
f00143acc3 intel/compiler: Fold constants after distributing source modifiers
This can generate things like fneg! of load_const, which is silly.
Fold those away into an actual constant.  Only do so on the scalar
backend because there's a comment above that the vec4 backend doesn't
want any new constants this late, and I'm inclined to believe it.

fossil-db stats show a very minor improvement:

   Totals:
   Instrs: 203091223 -> 203091099 (-0.00%); split: -0.00%, +0.00%
   Cycles: 14410638075 -> 14410577067 (-0.00%); split: -0.00%, +0.00%

   Totals from 20 (0.00% of 665070) affected shaders:
   Instrs: 27067 -> 26943 (-0.46%); split: -0.47%, +0.01%
   Cycles: 2687958 -> 2626950 (-2.27%); split: -2.27%, +0.00%

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22881>
2023-05-09 00:16:40 -07:00
Juston Li
0c64ff6c2a venus: enable sparse binding properties
signed-off-by: Juston Li <justonli@google.com>

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22616>
2023-05-09 04:35:16 +00:00
Juston Li
0c05418fd7 venus: enable sparse binding features
Enable sparse binding now that vkQueueBindSparse works with feedback.

If a device only has queue families with exclusive sparse binding
support then disable sparse binding.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22616>
2023-05-09 04:35:16 +00:00