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
Gert Wollny
41c6738882
virgl/vtest: Add support for creating blob resources
...
Buffers that are created using MAP_PERSISTENT or
MAP_COHERENT will created as blob resources.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31624 >
2024-11-21 09:23:10 +00:00
Gert Wollny
8b33eece30
virgl/vtest: change interface of virgl_vtest_submit_cmd
...
Instead of passing the whole command buffer structure just pass
the actual command stream buffer and its size. With that we can
submit a command ad-hoc.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31624 >
2024-11-21 09:23:10 +00:00
Gert Wollny
a32de23a9d
virgl/vtest: When trying to use protocol 3 check host feature
...
Protocol version 3 used host side resource IDs that may be reused.
Because with older host versions index-buffer binding may go wrong
in this case, we have to check whether the host vrend version is
actually ready for protocol version 3, and if not we re-negotiate
the protocol version only allowing up to version 2.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31624 >
2024-11-21 09:23:10 +00:00
Gert Wollny
4e3f21533a
virgl/vtest: take handle from host when using protocol version >=3
...
When the protocol is >=3 multiple contexts may be handled by one host
process, and therefore we have to use the handle/resource ID that is
assigned by the host.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31624 >
2024-11-21 09:23:10 +00:00