Commit Graph

188426 Commits

Author SHA1 Message Date
Eric Engestrom 497672ac74 ci: pass MESA_VK_ABORT_ON_DEVICE_LOSS through to the DUT
Fixes: 9bbbe90f06 ("ci: enable MESA_VK_ABORT_ON_DEVICE_LOSS globally")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28940>
2024-04-26 01:18:08 +00:00
Chia-I Wu ae68fa51a4 radeonsi: respect pipe_picture_desc::flush_flags
It is not always possible to assume PIPE_FLUSH_ASYNC.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771>
2024-04-26 00:45:05 +00:00
Chia-I Wu 08d3b93ce7 radeonsi: prep for pipe_picture_desc::flush_flags
Make sure video codecs support flush flags.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771>
2024-04-26 00:45:05 +00:00
Chia-I Wu 7ed3874996 frontends/va: set PIPE_FLUSH_ASYNC when possible
When there are external handles, flush cannot be async.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771>
2024-04-26 00:45:05 +00:00
Chia-I Wu a90075e772 frontends/va: track whether there are imported/exported surfaces
Add vlVaDriver::has_external_handles and set it to true when external
handles are imported via VASurfaceAttribMemoryType or exported via
vaExportSurfaceHandle.

It will serve the same purpose as
gl_shared_state::HasExternallySharedImages does, but for va.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771>
2024-04-26 00:45:04 +00:00
Chia-I Wu 893797eb32 gallium: add pipe_picture_desc::flush_flags
It specifies the flush flags for pipe_video_codec::end_frame.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771>
2024-04-26 00:45:04 +00:00
Sil Vilerino b2c0c83be1 d3d12: Fix static analysis issues due to bad parenthesis closing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28933>
2024-04-26 00:15:16 +00:00
Timur Kristóf 7809c5f222 ac/nir/tess: Implement packed 16-bit HS->TES I/O using helper macros.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768>
2024-04-25 23:45:05 +00:00
Timur Kristóf e92e0bab93 ac/nir/tess: Implement packed 16-bit LS->HS I/O using helper macros.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768>
2024-04-25 23:45:05 +00:00
Timur Kristóf 67c2016dd5 ac/nir/esgs: Implement packed 16-bit ES->GS I/O using helper macros.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768>
2024-04-25 23:45:05 +00:00
Timur Kristóf 7bfbff7440 ac/nir: Add helper macros for emitting IO code.
These are implemented as macros because C doesn't
have templates. They are meant for implementing
properly split packed 16-bit IO stores and loads,
to avoid repetition in the code.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768>
2024-04-25 23:45:05 +00:00
Timur Kristóf feb2ba9e9b ac/nir/tess: Slightly refactor emitting LS outputs.
No functional changes, just reorganize	the code a little bit
in preparation for the next commits.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768>
2024-04-25 23:45:05 +00:00
Timur Kristóf 55757ce03b ac/nir/esgs: Slightly refactor emitting IO loads and stores.
No functional changes, just reorganize the code a little bit
in preparation for the next commits.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768>
2024-04-25 23:45:05 +00:00
Erik Faye-Lund 86cce0e677 panfrost: clamp buffer-size to max-size
When texture-buffers are created from buffers that are larger than the
max-size, the correct thing to do is to clamp the size. Let's do that.

This fixes these piglits:
- spec/arb_texture_buffer_object/texture-buffer-size-clamp/r8ui_texture_buffer_size_via_sampler
- spec/arb_texture_buffer_object/texture-buffer-size-clamp/rg8ui_texture_buffer_size_via_sampler
- spec/arb_texture_buffer_object/texture-buffer-size-clamp/rgba8ui_texture_buffer_size_via_sampler

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28908>
2024-04-25 23:22:16 +00:00
Erik Faye-Lund 19aa0b9473 panfrost: add PAN_MAX_TEXEL_BUFFER_ELEMENTS define
We're going to be repeating this value a few places, so let's use a
single define to keep thing simple.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28908>
2024-04-25 23:22:16 +00:00
Tomeu Vizoso 1277f58d8a etnaviv/nn: Make parallel jobs disabled by default
It doesn't work for all models, with the same happening to the
proprietary driver. There may be some hardware limitation on at least
the HW that is currently supported in Mesa.

So match what the proprietary driver is doing and disable by default.

Fixes: d6473ce28e ("etnaviv: Use NN cores to accelerate convolutions")
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28918>
2024-04-25 21:59:40 +00:00
Rohan Garg b406759479 anv: formatting fix when printing pipe controls
Fixes: abc4111 ('anv: pass steam output as argument for anv_dump_pipe_bits')
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28931>
2024-04-25 21:38:30 +00:00
Guilherme Gallo 7101aecc53 ci: Use id_tokens for JWT auth
Fixes: #9180

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28916>
2024-04-25 20:45:53 +00:00
Guilherme Gallo 2639c91052 ci: Add S3 id_token for all jobs
id_tokens will replace $CI_JOB_TOKEN predefined variable in GitLab 18.0
See:
https://docs.gitlab.com/ee/update/deprecations.html#default-cicd-job-token-ci_job_token-scope-changed

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28916>
2024-04-25 20:45:53 +00:00
David (Ming Qiang) Wu 87fa1fdcb2 radeonsi/vcn: set accurate size for dec header and index_codec
Each codec has its own size in the dec message,
 for example:  AVC has sizeof(rvcn_dec_message_avc_t) and
               AV1 has sizeof(rvcn_dec_message_av1_t)
This patch will set the correct size for index_codec section
and set the total_size properly for the dec message header.

Signed-off-by: David (Ming Qiang) Wu <David.Wu3@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28886>
2024-04-25 20:18:30 +00:00
Mike Blumenkrantz 2c180c47f7 zink: reconstruct features pnext after determining extension support
for extensions that require features/properties to enable support, this
avoids adding the feature struct to the device createinfo

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11067

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28925>
2024-04-25 19:33:13 +00:00
Daniel Schürmann e1c9b2a455 aco/ra: assert that the register file is empty after register allocation completed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28876>
2024-04-25 19:10:44 +00:00
Daniel Schürmann be1e68b4ee aco/ra: fix kill flags after renaming fixed Operands
Suggested-by: Rhys Perry <pendingchaos02@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28876>
2024-04-25 19:10:44 +00:00
Eric Engestrom 548763709b lavapipe/ci: add flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28932>
2024-04-25 18:50:57 +00:00
Eric Engestrom 908d62be1d freedreno/ci: add flake
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28930>
2024-04-25 18:26:38 +00:00
Lionel Landwerlin 4b0362637b anv: reuse embedded samplers across shaders
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10804
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28865>
2024-04-25 17:53:31 +00:00
Boris Brezillon 78558de8a6 panvk: Kill panvk_sysval_vec4
We access sysvals as if they were declared as a big struct containing
all the sysvals for all the stages in a pipeline. Declaring fields
as panvk_sysval_vec4 when we don't use all the components doesn't make
sense, so let's drop panvk_sysval_vec4 and declare exactly what we
need.

We also take this as an opportunity to split the graphics and compute
sysval structs.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28399>
2024-04-25 17:13:21 +00:00
Boris Brezillon 6d4b376a9b panvk: Lower sysvals to push uniforms
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28399>
2024-04-25 17:13:21 +00:00
Boris Brezillon 9c553bda9c panvk: Prepare dynamic buffer descriptors at bind time
We don't need to stop the panvk_buffer_desc objects to then emit the
UBOs/SSBOs descriptors at draw/dispatch time. We can simply prepare
them at bind time and cache the result, to make the
draw/dispatch preparation a simple memcpy.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28399>
2024-04-25 17:13:20 +00:00
Boris Brezillon a603c66659 panvk: Move the dynamic SSBO descriptors to their own UBO
We are about to put our sysvals in the push uniforms array, but before
we can do that, we need to store our dynamic storage buffers in a
dedicated UBO. We put this dynamic descriptor UBO after the dynamic
UBOs.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28399>
2024-04-25 17:13:20 +00:00
Boris Brezillon cfe2254149 panvk: Put dynamic uniform buffers at the end of the UBO array
It's easier to reason about if dynamic uniform buffers (which have
a per-pipeline limit, and are cached at the command buffer level) are
placed at the end of the UBO array. It will also allow us to do a memcpy
instead of iterating over all sets to collect these dynamic UBOs.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28399>
2024-04-25 17:13:20 +00:00
Boris Brezillon 6672135748 panvk: Prepare things so we can push sysvals to our push uniform buffer
s/push_constant/push_uniform/ in a few places to prepare for sysval
transition to push uniforms.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28399>
2024-04-25 17:13:20 +00:00
Eric Engestrom 0bafa94f9a lavapipe/ci: add WSI testing to all the deqp-vk jobs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27545>
2024-04-25 15:24:08 +00:00
Eric Engestrom 5497c3e75a panvk/ci: add WSI testing to all the deqp-vk jobs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27544>
2024-04-25 14:44:19 +00:00
Christopher Michael 84632dce93 v3d: Move spec@!opengl 1.1@getteximage-formats, Fail in broadcom-rpi4-fails
The V3D driver does not support blending for GL_R{GBA}32F formats
which is why this test is failing. Add a comment noting the above and
move the test to a separate section

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28862>
2024-04-25 14:20:55 +00:00
Christopher Michael d202953639 v3d: Move spec@arb_texture_view@rendering-formats, Crash in
broadcom-rpi4-fails

The arb_texture_view@rendering-formats test crash is caused by V3D not
supporting PIPE_FORMAT_{R16,R16G16,R16G16B16A16}_UNORM for rendering
so move the rendering-formats test to the appropriate section

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28862>
2024-04-25 14:20:55 +00:00
Mike Blumenkrantz 4660ee1dea glthread: check for invalid primitive modes in DrawElementsBaseVertex
fixes KHR-GLESEXT.draw_elements_base_vertex_tests.invalid_mode_argument

cc: mesa-stable

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28903>
2024-04-25 13:41:29 +00:00
Constantine Shablia f153f945fc pan/bi: clean up tex coord lowering
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28899>
2024-04-25 13:01:31 +00:00
Constantine Shablia 3139f8f623 pan/bi: fix 1D array tex coord lowering
We were erroneously specifying Y for 1D arrays

Cc: mesa-stable
Suggested-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28899>
2024-04-25 13:01:30 +00:00
Iván Briano 0fbaf8703a anv: enable VK_KHR_shader_float_controls2
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27281>
2024-04-25 12:13:41 +00:00
Iván Briano 22fa29ac2f vtn: support float controls2
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27281>
2024-04-25 12:13:41 +00:00
Iván Briano 7f97fa6df0 nir/algebraic: move float control conditions to be per instruction
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27281>
2024-04-25 12:13:41 +00:00
Iván Briano 8c4cd3e74e nir/algebraic: support float controls conditions per instruction
v?:
 - Make the Python not awful (Dylan)

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27281>
2024-04-25 12:13:41 +00:00
Iván Briano 08df0c7dde nir: check inf/nan/sz preserve per-instruction
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27281>
2024-04-25 12:13:41 +00:00
Iván Briano 750bd9757e spirv: gather some float controls bits per instruction
v2: add static_assert to ensure values fit in bitfield (Alyssa)

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27281>
2024-04-25 12:13:41 +00:00
Iván Briano 666647acae nir: track some float controls bits per instruction
With float_controls2, shaders can decide on the behavior of
NaN/Inf/SignedZero preservation by decorating specific instructions, on
top of having a default for the whole program.
Add where to track these to nir_alu_instr and propagate them to new
instructions everywhere that exact is being done already.

v2: use less bits for fp_fast_math in nir_alu_instr (Alyssa)

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27281>
2024-04-25 12:13:41 +00:00
Iván Briano 829ea35714 compiler: reorder FLOAT_CONTROLS enums
So we can use less bits to store some of them in nir_alu_instr.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27281>
2024-04-25 12:13:41 +00:00
Kenneth Graunke df6cfb4dd0 intel/brw: Rename brw_reg_type_to_hw_type to brw_type_encode
And similarly brw_hw_type_to_reg_type to brw_type_decode.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28847>
2024-04-25 11:41:48 +00:00
Kenneth Graunke 9205f6ff51 intel/brw: Combine a1/a16 3src type decoding functions
Align16 is only used on Gfx9, while Align1 is used on Gfx11+.  We can
decode both kinds of encodings in the same function with a simple
devinfo check.  One snag is that the align16 encodings didn't have a
separate exec_type field, but we can just pass 0.

This lets us have a single function named brw_type_decode_for_3src,
which is much less of a mouthful.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28847>
2024-04-25 11:41:48 +00:00
Kenneth Graunke 28034aac34 intel/brw: Combine a1/a16 3src type encoding functions
Align16 is only used on Gfx9, while Align1 is used on Gfx11+.  We can
handle both encodings in the same function with a simple devinfo check,
and give that function a simple name like brw_type_encode_for_3src.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28847>
2024-04-25 11:41:48 +00:00