Commit graph

183471 commits

Author SHA1 Message Date
Dave Airlie
25b8f4f714 venus: handle device probing properly.
Currently if you try to probe the virtio ICD on a non-virtio system
it will fail in CreateInstance which causes the loader to spit on the
screen.

However instance creation shouldn't fail, the driver should just
not enumerate any devices in this case. It's a bit tricky to ensure
this, but return instance and then handle instance destruction
and fail device enumeration.

Cc: mesa-stable
Reviewed-by: Ryan Neph
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32266>
2024-11-22 13:06:11 +10:00
Dave Airlie
0d15376647 v3dv: report correct error on failure to probe
When probing ICDs, the broadcom driver returns the wrong error code
which spews on the console instead of silently failing.

Cc: mesa-stable
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32266>
2024-11-22 13:05:57 +10:00
Caio Oliveira
3e2599d475 intel/brw: Use <V,W,H> notation for FIXED_GRF and ARF source when printing IR
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32260>
2024-11-21 17:36:34 -08:00
Caio Oliveira
71d362db66 intel/brw: Omit type and region in payload sources when printing IR
These are not really used since SEND messages deal with full GRFs.

Before

```
send(8) (mlen: 1) (ex_mlen: 1) (null):UD, 0u, 0u, g1:UD, g8:UD
send(8) (mlen: 1) g5:UD, 0u, 0u, g4:UD, (null):UD
send(8) (mlen: 1) (ex_mlen: 1) (null):UD, 0u, 16777216u, g1:D, g6:UD
send(8) (mlen: 1) (EOT) (null):UD, 0u, 0u, g126:UD, (null):UD NoMask
```

and after

```
send(8) (mlen: 1) (ex_mlen: 1) (null), 0u, 0u, g1, g8
send(8) (mlen: 1) g5, 0u, 0u, g4, (null)
send(8) (mlen: 1) (ex_mlen: 1) (null), 0u, 16777216u, g1, g6
send(8) (mlen: 1) (EOT) (null), 0u, 0u, g126, (null) NoMask
```

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32259>
2024-11-22 00:50:40 +00:00
Caio Oliveira
8474dc853d intel/brw: Add SHADER_OPCODE_QUAD_SWAP
For the horizontal, vertical and diagonal variants.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31053>
2024-11-22 00:27:01 +00:00
Timur Kristóf
73fc29b25c ac/nir/ngg: Slightly refactor workgroup scan.
No functional changes, just makes the code more readable.
Use inverse_ballot instead of elect.
Wrap if contents, rename if.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31973>
2024-11-22 01:01:39 +01:00
Timur Kristóf
24ccd134a6 ac/nir/cull: Slightly refactor control flow for small primitive culling.
Move the NIR control flow out of the cull_small_primitive_triangle
function to make it more readable and follow the other functions.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31973>
2024-11-22 01:01:35 +01:00
Timur Kristóf
218c824e27 ac/nir/ngg: Trade 1 VALU shift for 2 SALU add.
Change the workgroup scan to be inclusive and adjust
the scalar operations after it.
This gets rid of 1 VALU instruction for 2 SALU. Win!

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31973>
2024-11-22 01:01:31 +01:00
Timur Kristóf
340ec61984 ac/nir/ngg: Don't emit dead code with dot_op.
dot_op would be dead code when v_dot instructions are unavailable.
It was originally added there because ACO didn't have an ILP
scheduler yet, but now it does so let's trust it to do its job.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31973>
2024-11-22 01:01:09 +01:00
Timur Kristóf
b9d2b5e100 radv: Don't flush at the end of each command buffer on GFX6.
It should be enough to do this at the end of each submit instead.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31695>
2024-11-21 23:23:09 +00:00
Timur Kristóf
030a7510ce radv: Add a flush postamble on GFX6.
Create a CS which contains just a cache flush,
that can be used as a postamble in command submissions.

According to RadeonSI code, the kernel flushes L2
before shaders are finished on GFX6.

Previously, RADV always added a flush at the end of
each command buffer. The flush postamble should be
a less wasteful alternative to that.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31695>
2024-11-21 23:23:09 +00:00
Chia-I Wu
b3adf02b22 panvk: fix dirty check for prepare_blend
Add the missing fs_user_dirty and PANVK_CMD_GRAPHICS_DIRTY_RENDER_STATE
checks.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32267>
2024-11-21 23:02:22 +00:00
Chia-I Wu
e6f0c473ca panvk: minor clean up to prepare_blend
Sort the dirty states and make it clear that we use
panvk_rendering_state.

Constify color_attachment_samples for panvk_per_arch(blend_emit_descs).

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32267>
2024-11-21 23:02:21 +00:00
Danylo Piliaiev
fc50fb35b0 tu,freedreno: Enable linear mipmap tail for UBWC images
There is no point in using UBWC for last small mip levels,
it's an additional overhead for memory and likely less performant.

Additionaly this change fixes multi-planar formats with `noubwc`.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31631>
2024-11-21 22:28:34 +00:00
Danylo Piliaiev
9fc01ec4df freedreno/fdl: Pass fd_dev_info to fdl6_layout
In the next commit we will need to make a decision about layouts
based on GPU capabilities.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31631>
2024-11-21 22:28:34 +00:00
Danylo Piliaiev
4ccbc924b5 tu: Enable UBWC for 3D images without mipmaps
Many D3D11 games use 3D images writing to them from compute shaders.
Most of such 3D images don't use mipmaps, and in such case enabling
UBWC is trivial.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31631>
2024-11-21 22:28:34 +00:00
Alyssa Rosenzweig
0aaf174e31 nir/lower_system_values: add ID to 32-bit lowering
OpenCL has 64-bit global IDs, but for driver-internal OpenCL we only need
32-bit. Might as well lower in nir_lower_system_values instead of bringing up a
whole new pass just for this.

Will be used for asahi precomp

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32210>
2024-11-21 21:50:30 +00:00
Aleksi Sapon
f682982e53 zink: spec@arb_tessellation_shader@execution@gs-primitiveid-instanced is fixed
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32231>
2024-11-21 21:10:00 +00:00
Aleksi Sapon
f5379608fe llvmpipe: spec@arb_tessellation_shader@execution@gs-primitiveid-instanced is fixed
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32231>
2024-11-21 21:10:00 +00:00
Aleksi Sapon
b80d0d8bf4 draw: primitive ID is per-patch
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32231>
2024-11-21 21:10:00 +00:00
Tapani Pälli
c2b7bafd76 intel/dev: lower amount of max gs threads for Wa_18040209780
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32245>
2024-11-21 20:43:38 +00:00
Tapani Pälli
7117e14026 intel/dev: update mesa_defs.json from workaround database
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32245>
2024-11-21 20:43:38 +00:00
Caio Oliveira
2bd7592b0b intel/brw: Add SHADER_OPCODE_BALLOT
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31052>
2024-11-21 19:32:59 +00:00
Danylo Piliaiev
e1efe655a7 ir3/parser: Add fullnop and fullsync sections for debugging
@fullnopstart
some assembly instructions
@fullnopend

Similar to fullnop and fullsync IR3 dbg options, but useful for
bisecting the assembly via shader override to find the problematic
place.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32256>
2024-11-21 18:45:15 +00:00
Danylo Piliaiev
2ab8eff511 tu/a7xx: Implement VK_KHR_fragment_shading_rate
- A650+ - should be able to support pipelineFragmentShadingRate
          but in some other way than A7XX. Not implemented here.
- A7XX  - support pipelineFragmentShadingRate and attachmentFragmentShadingRate
- A740+ - support primitiveFragmentShadingRate

layeredShadingRateAttachments is unsupported at the moment due to tests
failure, but prop driver supports it.

Passes:
  dEQP-VK.fragment_shading_rate.*
On A750/A740

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30905>
2024-11-21 17:59:09 +00:00
Danylo Piliaiev
117379a77a ir3,tu: Add support for Fragment Shading Rate and plumb it into Turnip
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30905>
2024-11-21 17:59:09 +00:00
Danylo Piliaiev
2038d363e7 freedreno/registers: Define Fragment Shading Rate registers
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30905>
2024-11-21 17:59:09 +00:00
Ruijing Dong
a53e6ae699 radeosi/vcn: enable EFC for VCN5.0+ when gfx >= 12
When gfx version >=12, EFC should be enabled for
VCN5 and plus, in that case DCC is transparent to
VCN engine.

The previous condition for DCC will be invalid, in
that case.

Reviewed-by: David Rosca <david.rosca@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32263>
2024-11-21 16:14:11 +00:00
Eric Engestrom
db2806cf52 radeonsi/ci: drop two failures that are mysteriously fixed by using mold?
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32046>
2024-11-21 15:33:31 +00:00
Georg Lehmann
43f77214a0 nir/move_discards_to_top: single final iteration
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Georg Lehmann
12d026d679 util: add BITSET_LAST_BIT_BEFORE
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
4c7d6e9437 nir/algebraic: optimize more bcsel(, bcsel())
This inot should be pretty optimizable.

fossil-db (navi21);
Totals from 2361 (2.97% of 79395) affected shaders:
MaxWaves: 50808 -> 50890 (+0.16%)
Instrs: 4168195 -> 4167332 (-0.02%); split: -0.05%, +0.03%
CodeSize: 22727496 -> 22708088 (-0.09%); split: -0.12%, +0.03%
VGPRs: 135160 -> 134824 (-0.25%)
SpillSGPRs: 723 -> 725 (+0.28%)
Latency: 37498671 -> 37479794 (-0.05%); split: -0.07%, +0.02%
InvThroughput: 10468406 -> 10453028 (-0.15%); split: -0.16%, +0.01%
VClause: 98258 -> 98283 (+0.03%); split: -0.04%, +0.07%
SClause: 111281 -> 111323 (+0.04%); split: -0.06%, +0.09%
Copies: 299281 -> 300155 (+0.29%); split: -0.17%, +0.46%
Branches: 115951 -> 116111 (+0.14%); split: -0.00%, +0.14%
PreSGPRs: 109404 -> 109462 (+0.05%); split: -0.14%, +0.19%
PreVGPRs: 114558 -> 114421 (-0.12%)
VALU: 2876823 -> 2869990 (-0.24%); split: -0.24%, +0.00%
SALU: 500286 -> 506124 (+1.17%); split: -0.03%, +1.20%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
7ef1585fd6 nir/algebraic: add is_used_once to bcsel(, bcsel()) opts
fossil-db (navi21):
Totals from 888 (1.12% of 79395) affected shaders:
MaxWaves: 18034 -> 18046 (+0.07%)
Instrs: 3422053 -> 3418446 (-0.11%); split: -0.11%, +0.01%
CodeSize: 18520912 -> 18500604 (-0.11%); split: -0.12%, +0.01%
VGPRs: 53200 -> 53176 (-0.05%)
Latency: 27739575 -> 27735200 (-0.02%); split: -0.06%, +0.04%
InvThroughput: 6784257 -> 6782188 (-0.03%); split: -0.06%, +0.03%
VClause: 83188 -> 83199 (+0.01%); split: -0.00%, +0.02%
SClause: 91350 -> 91362 (+0.01%); split: -0.00%, +0.02%
Copies: 263277 -> 262638 (-0.24%); split: -0.29%, +0.05%
PreSGPRs: 52478 -> 51940 (-1.03%); split: -1.03%, +0.01%
PreVGPRs: 47418 -> 47397 (-0.04%); split: -0.06%, +0.02%
VALU: 2235368 -> 2234513 (-0.04%); split: -0.05%, +0.01%
SALU: 547587 -> 544839 (-0.50%); split: -0.51%, +0.00%
VMEM: 142861 -> 142871 (+0.01%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
b8c8482dbb nir/algebraic: add ddxy to is_only_used_as_float
The sources for these intrinsics are floating point.

fossil-db (navi21):
Totals from 67 (0.08% of 79395) affected shaders:
MaxWaves: 1128 -> 1116 (-1.06%)
Instrs: 113552 -> 113319 (-0.21%); split: -0.21%, +0.01%
CodeSize: 595248 -> 593360 (-0.32%)
VGPRs: 4344 -> 4392 (+1.10%)
Latency: 578158 -> 577526 (-0.11%); split: -0.18%, +0.07%
InvThroughput: 170150 -> 169908 (-0.14%); split: -0.23%, +0.09%
SClause: 3787 -> 3780 (-0.18%)
Copies: 4305 -> 4294 (-0.26%); split: -0.51%, +0.26%
PreVGPRs: 3883 -> 3925 (+1.08%)
VALU: 90007 -> 89774 (-0.26%); split: -0.27%, +0.01%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
69f1a035ff nir/lcssa: use nir_intrinsic_can_reorder
No fossil-db changes.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
ca27951743 nir/opt_move_discards_to_top: allow multiple discards to be moved
fossil-db (navi21):
Totals from 755 (0.95% of 79395) affected shaders:
MaxWaves: 19732 -> 19808 (+0.39%); split: +0.61%, -0.22%
Instrs: 518468 -> 518982 (+0.10%); split: -0.09%, +0.19%
CodeSize: 2837120 -> 2841432 (+0.15%); split: -0.10%, +0.26%
VGPRs: 33240 -> 32592 (-1.95%); split: -2.48%, +0.53%
Latency: 5583293 -> 5651636 (+1.22%); split: -0.41%, +1.64%
InvThroughput: 1417459 -> 1416762 (-0.05%); split: -0.22%, +0.17%
VClause: 8477 -> 8461 (-0.19%); split: -1.06%, +0.87%
SClause: 16058 -> 16292 (+1.46%); split: -1.20%, +2.66%
Copies: 27310 -> 27288 (-0.08%); split: -1.27%, +1.19%
Branches: 11165 -> 11223 (+0.52%); split: -0.09%, +0.61%
PreSGPRs: 28883 -> 29096 (+0.74%); split: -0.99%, +1.73%
PreVGPRs: 25318 -> 25044 (-1.08%); split: -1.38%, +0.30%
VALU: 388566 -> 388586 (+0.01%); split: -0.05%, +0.06%
SALU: 46783 -> 47037 (+0.54%); split: -0.38%, +0.93%
VMEM: 12181 -> 12186 (+0.04%)
SMEM: 27818 -> 27772 (-0.17%); split: -0.17%, +0.00%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
37d77a12e9 nir/opt_move_discards_to_top: add more intrinsics to add_src_to_worklist
fossil-db (navi21):
Totals from 115 (0.14% of 79395) affected shaders:
MaxWaves: 2882 -> 2886 (+0.14%); split: +0.62%, -0.49%
Instrs: 71640 -> 71686 (+0.06%); split: -0.21%, +0.28%
CodeSize: 395820 -> 395084 (-0.19%); split: -0.39%, +0.20%
VGPRs: 5224 -> 5256 (+0.61%); split: -0.61%, +1.23%
Latency: 1114025 -> 1145891 (+2.86%); split: -0.12%, +2.98%
InvThroughput: 239149 -> 239028 (-0.05%); split: -0.07%, +0.02%
VClause: 1289 -> 1291 (+0.16%); split: -0.62%, +0.78%
SClause: 2267 -> 2203 (-2.82%); split: -5.38%, +2.56%
Copies: 4359 -> 4372 (+0.30%); split: -2.18%, +2.48%
Branches: 1215 -> 1225 (+0.82%)
PreSGPRs: 4225 -> 4265 (+0.95%); split: -1.35%, +2.30%
PreVGPRs: 4166 -> 4189 (+0.55%); split: -0.96%, +1.51%
VALU: 53590 -> 53614 (+0.04%); split: -0.10%, +0.14%
SALU: 6527 -> 6539 (+0.18%); split: -0.84%, +1.03%
SMEM: 4120 -> 4117 (-0.07%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
08e355a287 nir/opt_move_discards_to_top: use nir_intrinsic_can_reorder
fossil-db (navi21):
Totals from 2306 (2.90% of 79395) affected shaders:
MaxWaves: 65920 -> 65952 (+0.05%); split: +0.22%, -0.17%
Instrs: 1056765 -> 1058517 (+0.17%); split: -0.09%, +0.26%
CodeSize: 5802396 -> 5808076 (+0.10%); split: -0.13%, +0.23%
VGPRs: 79976 -> 79248 (-0.91%); split: -1.46%, +0.55%
Latency: 17215154 -> 17527774 (+1.82%); split: -0.11%, +1.92%
InvThroughput: 4911203 -> 4918838 (+0.16%); split: -0.06%, +0.22%
VClause: 16214 -> 16268 (+0.33%); split: -0.44%, +0.78%
SClause: 33208 -> 34167 (+2.89%); split: -1.02%, +3.91%
Copies: 58352 -> 58343 (-0.02%); split: -1.20%, +1.18%
Branches: 21857 -> 21863 (+0.03%); split: -0.02%, +0.05%
PreSGPRs: 73666 -> 74298 (+0.86%); split: -0.82%, +1.67%
PreVGPRs: 55234 -> 55720 (+0.88%); split: -0.41%, +1.29%
VALU: 756386 -> 756329 (-0.01%); split: -0.06%, +0.05%
SALU: 123838 -> 124320 (+0.39%); split: -0.35%, +0.74%
VMEM: 25002 -> 25009 (+0.03%)
SMEM: 60765 -> 60580 (-0.30%); split: -0.41%, +0.11%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
fff3eb7848 nir/opt_move_discards_to_top: update variable name
Discard doesn't exist anymore. There is only terminate.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
eea5be2e28 nir/opt_move_discards_to_top: remove recursion
This kind of recursion is unreliable with large shaders or small stack
limits.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:45 +00:00
Rhys Perry
4c6fdb113f nir: fix return value of nir_instr_move for some cases
This fixes a potential issue where nir_opt_move_discards_to_top would
always return progress.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Fixes: f97fb1fa55 ("nir: Add a nir_instr_move helper")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:44 +00:00
Rhys Perry
8bbc8284d9 nir/opt_move_discards_to_top: use nir_tex_instr_has_implicit_derivative
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Fixes: 48158636bf ("nir: add is_gather_implicit_lod")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32145>
2024-11-21 14:50:44 +00:00
Georg Lehmann
f3926c9d4e aco/isel: use undef Operands for p_create_vector created from nir vecs
Foz-DB Navi31:
Totals from 27464 (34.59% of 79395) affected shaders:
Instrs: 9595601 -> 9535260 (-0.63%); split: -0.63%, +0.00%
CodeSize: 47900112 -> 47658648 (-0.50%); split: -0.50%, +0.00%
Latency: 43928471 -> 43918448 (-0.02%); split: -0.05%, +0.02%
InvThroughput: 4940105 -> 4903447 (-0.74%); split: -0.75%, +0.01%
Copies: 667294 -> 604603 (-9.39%); split: -9.39%, +0.00%
VALU: 5282264 -> 5219604 (-1.19%); split: -1.19%, +0.00%
VOPD: 342 -> 311 (-9.06%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32249>
2024-11-21 14:09:52 +00:00
Georg Lehmann
ec487d01e2 nir/opt_undef: handle unpack/pack like mov/vec
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32249>
2024-11-21 14:09:52 +00:00
Georg Lehmann
af974b5fe9 nir/opt_undef: keep undefs used by partial undef vectors
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32249>
2024-11-21 14:09:52 +00:00
Georg Lehmann
a9d3caf3bf nir/opt_undef: use some nir helpers
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32249>
2024-11-21 14:09:52 +00:00
Georg Lehmann
6630c6d912 nir/opt_undef: replace undef in a separate pass
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32249>
2024-11-21 14:09:52 +00:00
Eric Engestrom
5ba6200b99 intel/ci: add missing .intel-common-manual-rules to .{iris,crocus,i915g}-manual-rules
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32278>
2024-11-21 11:37:01 +00:00
Eric Engestrom
5ffd170033 intel/ci: disable CML jobs because of networking issues
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32278>
2024-11-21 11:37:01 +00:00
Maíra Canal
2af12c5b36 v3dv: Check multiple DRM primary nodes before picking the display fd
Raspberry Pi 5 has different drivers for different types of connectors.
For example, HDMI connections are handled through vc4, but DSI
connections are handled through drm-rp1-dsi.

Currently, we only allow vc4 as display driver, which means that, when
we use VK_KHR_display with a DSI display, we won't get any available
displays.

In order to make sure we have available displays when using DSI/DPI/VEC
displays, enumerate all DRM primary nodes and use the first fd that has
a connected output. For example, in the case we have only a DSI display
connected to the RPi 5, it will pick the drm-rp1-dsi as the device. In
the case we have both DSI and HDMI displays connected, it will pick the
first fd that it checks.

Ideally, we would like to see all displays available in the return of
`vkGetPhysicalDeviceDisplayProperties2KHR`, but `wsi->fd` is a variable,
not an array. Therefore, it only supports one fd.

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32123>
2024-11-21 11:13:07 +00:00