Commit Graph

181241 Commits

Author SHA1 Message Date
Caio Oliveira 4e559077e4 intel/executor: Dump both pre-processed source and assembly
Having the actual generated assembly is helpful when trying to figure
out if the code emission and disassembly are implemented correctly.

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31305>
2024-09-27 02:46:28 +00:00
Caio Oliveira 2455e2765a intel/brw: Add DUMP flag to brw_assemble
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31305>
2024-09-27 02:46:28 +00:00
Lionel Landwerlin 50cc738a6d blorp: convert fast clear color for unsupported formats
This tests is asserting on LNL like :

  dEQP-VK.pipeline.monolithic.sampler.border_swizzle.r8_srgb.gbar.custom.gather_1.no_swizzle_hint
  dEQP-VK.api.image_clearing.core.clear_color_image.2d.optimal.single_layer.e5b9g9r9_ufloat_pack32

Because blorp tries, for example, to setup a render target with
L8_UNORM_SRGB (which is mapped to the R8_UNORM_SRGB of Vulkan) but is
not supported for rendering.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 1c7fe9ad1b ("anv: Support fast clears in anv_CmdClearColorImage")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31357>
2024-09-27 00:37:25 +00:00
Mary Guillemard 10282ee079 panvk/ci: Increase panfrost-g52-vk fraction
premerge have a time limit of 15 min, those jobs takes between 20 to 33
min with a fraction of 8 right now.

Additionally, we only have 7 VIM3 and could be trying to queue 8 jobs.

Let's fraction to 32 for now and revert back to 2 runners.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: 2f54228da5 ("panvk/ci: Update to run full CTS on G52")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31404>
2024-09-26 23:48:05 +00:00
Caio Oliveira 28ef0de250 intel/brw: Add SWSB MATH pipe to assembler
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31336>
2024-09-26 20:40:28 +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
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