Commit Graph

195591 Commits

Author SHA1 Message Date
Eric Engestrom df1a89b9e1 ci/deqp: make sure the git commit hash of deqp is stable across rebuilds
This makes it much easier to verify whether two jobs are running the same deqp build.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31397>
2024-09-26 19:46:08 +00:00
Eric Engestrom a942ed351e mr-label-maker: add gfxstream
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31402>
2024-09-26 18:53:58 +00:00
Faith Ekstrand 83b220f833 nvk: Advertise VK_EXT_device_generated_commands
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand 347e6b493b nvk: Handle indirect dispatch in pipeline barriers
Preprocess writes need to flush the data cache and indirect reads now
need to invalidate the constant cache and the QMD cache.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand 976f22a5da nvk: Implement CmdProcess/ExecuteGeneratedCommandsEXT
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand 78e0adbfe1 nvk: Expose an nvk_cmd_flush_cs_qmd() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand 341dca8eaf nvk: Export graphics state flushing helpers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand 2dfd1b9151 nvk: Move flush_push_descriptors to the front of flush_state()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand e1404ffd11 nvk: Track and dump device-generated commands if possible
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand 7b6b2f9501 nvk/nvkmd: Add a mechanism to track and look up nvkmd_mems
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand f63ec91b52 nvk/nvkmd: Always map read/write for internal maps
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand 10b3222522 nvk: Add an implementation of VkIndirectExecutionSetEXT
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand 09ed607a37 nvk: Disable CBuf pushing when INDIRECT_BINDABLE_BIT is set
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand 0e1545586d nvk: Use VkShaderStageFlags for shaders_dirty
This requires a bit more juggling of shader enums but it also cleans
things up a bit since we're no longer using a bitfield which isn't
VkShaderStageFlags.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:25 +00:00
Faith Ekstrand a5f20591eb nvk: Fill out shader push data at compile time
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:25 +00:00
Faith Ekstrand 5ebcb71e94 vulkan/pipeline: Patch through INDIRECT_BINDABLE_BIT
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:25 +00:00
Faith Ekstrand 4ae2882bc1 vulkan: Add a vk_pipeline_ops::get_shader method
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:25 +00:00
Faith Ekstrand 4a9a4721fe vulkan: Add a stages field to vk_pipeline
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:25 +00:00
Job Noorman 71080b0fa1 tu: advertise VK_KHR_shader_subgroup_rotate
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31358>
2024-09-26 16:36:36 +00:00
Job Noorman 6c7192ce24 ir3: add codegen for rotate
shfl.rdown is an exact match for subgroupRotate so codegen is
straightforward.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31358>
2024-09-26 16:36:36 +00:00
Job Noorman d43f39678c ir3: make backend aware of shfl:
- Validation;
- Copy prop: src2 can be shared;
- Legalization: is (ss) producer.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31358>
2024-09-26 16:36:36 +00:00
Job Noorman 222b46f008 ir3/print: add support for shfl
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31358>
2024-09-26 16:36:36 +00:00
Job Noorman a8661f1186 ir3: add ir3_compiler::has_shfl for shfl support on a6xx+
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31358>
2024-09-26 16:36:36 +00:00
Job Noorman fb7b7401a5 ir3/isa: add isaspec definition for shfl
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31358>
2024-09-26 16:36:35 +00:00
Lionel Landwerlin fe57b10221 zink: avoid host transfer usage with sparse
It's not a requirement to support this for implementations. Also
doesn't make much sense...

Fixes
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
on Anv with VK_EXT_host_image_copy enabled.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: f24891269d ("zink: check/use suboptimal HIC during ici init")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31391>
2024-09-26 15:59:18 +00:00
Eric Engestrom 159cc0fe6f lavapipe/ci: document ray tracing regression
Regression from a commit in 878ae970...e0efab52, likely
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31186

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31395>
2024-09-26 15:24:10 +00:00
Georg Lehmann 41e82b8b8e nir: sink is_subgroup_invocation_lt_amd
Having it closer to the branches means we can eliminate an exec copy.

Foz-DB Navi31:
Totals from 11615 (14.63% of 79395) affected shaders:
Instrs: 6804372 -> 6804903 (+0.01%); split: -0.04%, +0.05%
CodeSize: 33684672 -> 33680584 (-0.01%); split: -0.07%, +0.05%
VGPRs: 578616 -> 578604 (-0.00%)
SpillSGPRs: 1506 -> 1304 (-13.41%)
Latency: 29817034 -> 29821320 (+0.01%); split: -0.03%, +0.05%
InvThroughput: 3581587 -> 3581217 (-0.01%); split: -0.02%, +0.01%
VClause: 124826 -> 124782 (-0.04%); split: -0.04%, +0.00%
SClause: 187916 -> 187645 (-0.14%); split: -0.27%, +0.13%
Copies: 520969 -> 510027 (-2.10%); split: -2.20%, +0.10%
PreSGPRs: 442584 -> 421344 (-4.80%)
VALU: 3810755 -> 3810267 (-0.01%); split: -0.01%, +0.00%
SALU: 763402 -> 752650 (-1.41%); split: -1.48%, +0.07%

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31184>
2024-09-26 14:29:14 +00:00
Georg Lehmann 78b8ec9c93 aco: optimize lanecount_to_mask
s_bfe uses 7 bits for the size, so when we extract from -1,
we can get all possible lane masks in one instruction.

Foz-DB Navi31:
Totals from 38601 (48.62% of 79395) affected shaders:
Instrs: 13670163 -> 13509738 (-1.17%)
CodeSize: 68011644 -> 67368308 (-0.95%)
Latency: 61203404 -> 61065419 (-0.23%); split: -0.23%, +0.00%
InvThroughput: 6897028 -> 6894634 (-0.03%); split: -0.05%, +0.01%
SALU: 1491291 -> 1342553 (-9.97%)

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31184>
2024-09-26 14:29:14 +00:00
Georg Lehmann 63b45767f8 aco/ssa_elimination: optimize branching sequence with SALU that has multiple definitions
Foz-DB Navi31:
Totals from 1801 (2.27% of 79395) affected shaders:
Instrs: 1595030 -> 1591942 (-0.19%); split: -0.19%, +0.00%
CodeSize: 8442656 -> 8430140 (-0.15%); split: -0.15%, +0.00%
Latency: 12885611 -> 12879201 (-0.05%); split: -0.05%, +0.00%
InvThroughput: 2420596 -> 2419800 (-0.03%); split: -0.03%, +0.00%
Copies: 125726 -> 123572 (-1.71%)
SALU: 249990 -> 247836 (-0.86%)

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31184>
2024-09-26 14:29:14 +00:00
Georg Lehmann f129ae647a aco/ssa_elimination: don't check for VALU limitation when optimizing branching sequence
These instructions need exec, so we would never see them here because
try_optimize_branching_sequence will not be called.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31184>
2024-09-26 14:29:14 +00:00
Georg Lehmann 151cd9c92b ac/lower_ngg: use is_subgroup_invocation_lt_amd offset
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31184>
2024-09-26 14:29:14 +00:00
Georg Lehmann bcfc5c09fa amd: add offset to is_subgroup_invocation_lt_amd
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31184>
2024-09-26 14:29:13 +00:00
Dave Airlie 29207d83a7 zink: whitespace fixups
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Dave Airlie fd2a816010 zink: handle mutable check without crashing if format list not found
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Mike Blumenkrantz 1511e6e24c zink: move some image ici init up
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Mike Blumenkrantz 3f65a3928f zink: stop creating useless sampler conversions
this needs to be context-based and hashed/shared

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Dave Airlie 890e7555d4 zink: free modifiers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Mike Blumenkrantz f332128ccf zink: swap sampler conversion conditional with yuv check
this is more useful

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Mike Blumenkrantz ad7eee23e9 zink: slightly refactor image tiling inference
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Mike Blumenkrantz db420b2406 zink: correctly handle disjoint image creation
this is set/bound based on format flags

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Mike Blumenkrantz e820e002ce zink: fix planar image creation with mutable
spec currently broken, but this is correct

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Mike Blumenkrantz 54d16dbe29 zink: only clamp samplerview aspect for zs formats
this otherwise breaks planar images

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31320>
2024-09-26 12:51:01 +00:00
Kai Wasserbäch 4d88d8ba4c fix(FTBFS): clover: use .getDataLayout() with LLVM >= 20
Upstream LLVM commit 75c7bca740935a0cca462e28475dd6b046a6872c removed
the option to pass a Module pointer to DataLayout's constructor.

This commit does the same, that upstream did for their code in clover.

Reference: https://github.com/llvm/llvm-project/commit/75c7bca740935a0cca462e28475dd6b046a6872c
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11863
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31350>
2024-09-26 12:03:37 +00:00
Samuel Pitoiset 777f9900b3 vulkan: Update XML and headers to 1.3.296
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31381>
2024-09-26 11:12:03 +00:00
Mary Guillemard d4cb32f42f panfrost: Implement context priority on v10
This implement PIPE_CAP_CONTEXT_PRIORITY_MASK and handle priority flags
for v10.

This effectively expose EGL_IMG_context_priority and
EGL_NV_context_priority_realtime.

Expose of what is currently supported from the panthor uAPI.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30991>
2024-09-26 10:21:19 +00:00
Mary Guillemard 83bc9bb1af pan/kmod: Add priority query uapi support
This adds support for the new DEV_QUERY_GROUP_PRIORITIES_INFO query from
panthor to report and will be used to report appropriate priority mask
in the Gallium driver.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30991>
2024-09-26 10:21:19 +00:00
Mary Guillemard c0b55da825 panfrost: Update panthor_drm.h with latest
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30991>
2024-09-26 10:21:19 +00:00
Lucas Stach c49a71c03c gbm: mark surface buffers as explicit flushed
Some drivers are able to optimize buffer usage when it is known that
external visibility of buffer changes only needs to be guaranteed
after well defined transition points, like eglSwapBuffers.

Add a BO flag to specify this behavior and set it with GBM surfaces.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30077>
2024-09-26 09:36:46 +00:00
Thomas Wagner 3786f5c27a llvmpipe: Remove unused struct member
This was removed by an earlier commit but snuck back in.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31022>
2024-09-26 08:26:33 +00:00
Thomas Wagner 3e01c15fa7 llvmpipe: properly save llvmpipe_memory_allocation in memory_object
Importing an opaque fd no longer returns the mapped pointer but
a pointer to llvmpipe_memory_allocation to support both memfds and
dma bufs. This saves the pointer with the correct type and we can
unwrap the mapped data in a correct way.

Fixes: d74ea2c117 ("llvmpipe: Implement dmabuf handling")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31022>
2024-09-26 08:26:32 +00:00