Mel Henning
b9275b54a1
nak/sm70_encode: Remove unused has_mod parameter
...
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34750 >
2025-04-29 18:23:43 +00:00
Mel Henning
28d077838f
nak/sm70_encode: Encode fneg/fabs for hfma2 src 2
...
and also stop legalizing away src 1 modifiers. Both of these are present,
they just move to a different place in the encoding.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34750 >
2025-04-29 18:23:43 +00:00
Mel Henning
1ff7135691
nak: Remove hfma2 src 1 modifiers
...
This fixes a compilation issue in Marvel Rivals where the legalization
logic and the encoding logic don't line up, which results in an
assertion failure on this instruction:
r17 = hfma2 r17.xx -r18.xx 0x3c003c00
The fix here is a little overly restrictive because it turns out we
actually do have modifiers for all 3 sources. Those modifiers will
be added in later commits.
Fixes: 567cae69c3
("nak: Add 16-bits float operations")
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34750 >
2025-04-29 18:23:43 +00:00
Valentine Burley
d48b3a232c
docs: Remove the docs for setting up bare-metal devices
...
Bare-metal support is being removed from Mesa, and adding new devices is
no longer supported.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34725 >
2025-04-29 18:16:04 +00:00
Valentine Burley
a587a0a389
docs: Move the docs about caching downloads to LAVA from bare-metal
...
The bare-metal page is getting removed, and LAVA was missing this
section.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34725 >
2025-04-29 18:16:04 +00:00
Rhys Perry
6338ed44c5
aco/gfx12: increase maximum vbuffer offset
...
fossil-db (gfx1201):
Totals from 301 (0.38% of 79377) affected shaders:
Instrs: 2734478 -> 2728816 (-0.21%); split: -0.21%, +0.00%
CodeSize: 14347476 -> 14306568 (-0.29%)
Latency: 15508055 -> 15502202 (-0.04%); split: -0.04%, +0.00%
InvThroughput: 2846419 -> 2842387 (-0.14%); split: -0.14%, +0.00%
VClause: 68286 -> 68101 (-0.27%); split: -0.30%, +0.03%
SClause: 49487 -> 49500 (+0.03%)
Copies: 207179 -> 206093 (-0.52%); split: -0.57%, +0.04%
Branches: 72941 -> 72942 (+0.00%); split: -0.00%, +0.00%
VALU: 1549156 -> 1544727 (-0.29%); split: -0.29%, +0.00%
SALU: 339620 -> 338989 (-0.19%); split: -0.19%, +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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
d987d5e341
aco/gfx12: increase maximum global/scratch offset
...
fossil-db (gfx1201):
Totals from 29 (0.04% of 79377) affected shaders:
Instrs: 1439082 -> 1439070 (-0.00%)
CodeSize: 7641688 -> 7641608 (-0.00%)
Latency: 9836296 -> 9836280 (-0.00%)
VALU: 799504 -> 799496 (-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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
02d193f058
aco/gfx12: increase maximum smem offset
...
fossil-db (gfx1201):
Totals from 55 (0.07% of 79377) affected shaders:
Instrs: 3203775 -> 3200809 (-0.09%)
CodeSize: 16817140 -> 16813440 (-0.02%); split: -0.04%, +0.02%
Latency: 17838315 -> 17829658 (-0.05%)
InvThroughput: 3352905 -> 3351689 (-0.04%)
SClause: 57377 -> 57273 (-0.18%)
Copies: 231006 -> 230941 (-0.03%)
SALU: 436900 -> 435234 (-0.38%)
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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
c26851b80b
aco: increase max_const_offset_plus_one for SMEM load_global
...
fossil-db (gfx1201):
Totals from 1115 (1.40% of 79377) affected shaders:
Instrs: 1473805 -> 1467571 (-0.42%); split: -0.43%, +0.01%
CodeSize: 7852972 -> 7819656 (-0.42%); split: -0.44%, +0.02%
SpillSGPRs: 1632 -> 1460 (-10.54%); split: -11.27%, +0.74%
Latency: 11975762 -> 11971915 (-0.03%); split: -0.05%, +0.02%
InvThroughput: 2496961 -> 2496448 (-0.02%); split: -0.03%, +0.01%
VClause: 25213 -> 25218 (+0.02%); split: -0.00%, +0.02%
SClause: 28822 -> 28565 (-0.89%); split: -1.41%, +0.52%
Copies: 106377 -> 105715 (-0.62%); split: -1.23%, +0.61%
Branches: 27497 -> 27473 (-0.09%)
PreSGPRs: 52071 -> 51310 (-1.46%)
VALU: 871051 -> 870694 (-0.04%); split: -0.04%, +0.00%
SALU: 186090 -> 181811 (-2.30%); split: -2.32%, +0.02%
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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
f390893a64
aco/gfx12: use s_sub_u64
...
fossil-db (gfx1201):
Totals from 2 (0.00% of 79377) affected shaders:
Instrs: 243999 -> 243993 (-0.00%)
CodeSize: 1288176 -> 1288152 (-0.00%)
Latency: 1894093 -> 1894091 (-0.00%)
InvThroughput: 378819 -> 378818 (-0.00%)
SALU: 33048 -> 33044 (-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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
5b4813c4f0
aco/gfx12: use s_add_u64
...
fossil-db (gfx1201):
Totals from 122 (0.15% of 79377) affected shaders:
Instrs: 3640138 -> 3637577 (-0.07%); split: -0.07%, +0.00%
CodeSize: 19133796 -> 19120080 (-0.07%); split: -0.08%, +0.01%
SpillSGPRs: 666 -> 650 (-2.40%)
SpillVGPRs: 2147 -> 2159 (+0.56%)
Scratch: 254208 -> 255232 (+0.40%)
Latency: 21529337 -> 21522317 (-0.03%); split: -0.04%, +0.00%
InvThroughput: 4048519 -> 4047233 (-0.03%); split: -0.03%, +0.00%
VClause: 90453 -> 90455 (+0.00%)
SClause: 67846 -> 67674 (-0.25%); split: -0.28%, +0.03%
Copies: 287449 -> 287476 (+0.01%); split: -0.04%, +0.05%
Branches: 104526 -> 104530 (+0.00%); split: -0.00%, +0.01%
PreSGPRs: 9795 -> 9723 (-0.74%); split: -0.78%, +0.04%
VALU: 2004219 -> 2003031 (-0.06%); split: -0.06%, +0.00%
SALU: 492651 -> 491737 (-0.19%); split: -0.19%, +0.00%
VMEM: 161317 -> 161341 (+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/34730 >
2025-04-29 17:44:41 +00:00
Sagar Ghuge
821c1bfa7e
intel/compiler: Fix stackIDs on Xe2+
...
For Xe2+, from Bspec 64643, bit field "StackID": The maximum number of
StackIDs can be 2^12- 1.
Cc: mesa-stable
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34709 >
2025-04-29 17:03:35 +00:00
Rohan Garg
b9fe5aad37
anv: enable VK_KHR_shader_bfloat16
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
07fa3b3785
intel: Add support for BFloat16 as cooperative matrix source
...
Re-organize the configuration lists to make easier to include BFloat16
only for the Gfx125+ that support it, while keeping MTL supporting the
"lowered" configurations from pre-Gfx125.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Rohan Garg
2bbe042e87
spirv: Enable bfloat16 capabilities
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
e0b195cadb
spirv: Use bfdot for SpvOpDot with BFloat16
...
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
2807097690
spirv: Implement Conversions to/from bfloat16
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
90e1b12890
spirv: Add bfloat16 support to SpecConstantOp
...
Handle bfloat16 by converting sources to float, performing the
operation, and converting result back to bfloat16 if needed. This is
done because not all ALU ops have a `bf` version in NIR.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Rohan Garg
dc8074683d
spirv: construct a bfloat16 from the given SPIR-V bitsize and encoding
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
fb6ae2eac1
spirv: Refactor to use glsl_type to pick ALU ops
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
bba607ac2b
spirv: Move Convert opcodes handling to its own function
...
Take the opportunity to add a comment about why the bit_size
comes from the NIR def and not the original type.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
d4381c0908
brw/cmat: Implement conversion from/to BFloat16
...
When converting BFloat16 from/to non-Float32 type, use
the Float32 conversion as an intermediate step. Take the
opportunity to separate the unary_op/convert code-paths.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
de88184ab6
brw/cmat: Support different src/dst packing factors in emit_packed_alu1
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
7fa7be970d
brw/cmat: Extract emit_packed_alu1() function
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
4b4500ad35
brw/cmat: Store more information about cmat slices
...
Store the cmat_description and packing_factor so that various
functions don't need to extract and recalculate them.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
a7ff177a88
brw: Consider bfloat16 in lower simd width pass
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
2c31516b3e
brw: Consider bfloat16 in lower regioning pass
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
5936768ce0
brw: Consider bfloat16 in copy propagation
...
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
129c074811
brw: Implement support for BFloat16 ALU opcodes
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
a38960e8f3
brw, nir: Use glsl_base_type instead of nir_alu_type for @dpas_intel
...
This will allow including types that don't have a nir_alu_type
equivalent, like bfloat16.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
cf4021f93c
nir: Add opcodes for BFloat16
...
SPV_KHR_bfloat16 requires a small set of operations,
since it doesn't support all the arithmetic ops.
This patch adds conversions to/from Float32 and also
the necessary ops (bfdot, bffma, bfmul) to implement
SpvOpDot using the same lowering approach than the
Float32 counterpart.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:36 +00:00
Rohan Garg
9e5d7eb88d
compiler/types: add a bfloat16 type
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:36 +00:00
Caio Oliveira
ecd2d2cf46
util: Add functions to convert float to/from bfloat16
...
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:36 +00:00
Caio Oliveira
3e0418ba02
intel/executor: Fix bfloat example for converting F to packed BF
...
In float pointing rules adding +0.0f preserves all values except
for -0.0f, so what we want here is to add -0.0f. In the future
we should add proper support for float immediates in the assembler.
Fixes: fafdd24285
("intel/executor: Update bfloat example")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:36 +00:00
Mary Guillemard
6ab4ae1a19
pan/bi: Properly lower add/sub with saturation on v11+
...
We were wrongly lowering all add/sub operations with saturation on 8-bit
values on v11+.
This fixes CTS failures on
"dEQP-VK.spirv_assembly.instruction.compute.opudotaccsatkhr.*" and
likely more apps.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: d79a31bf81
("pan/bi: Lower removed instructions in algebraic on v11+")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34743 >
2025-04-29 16:07:19 +00:00
Rhys Perry
20279c28c8
aco/tests: add pseudo-scalar transcendental and fallback path RA tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:11 +00:00
Rhys Perry
96e49b7904
aco/ra: add ra_test_policy::use_compact_relocate
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rhys Perry
3c1dbc1d9b
aco/ra: cleanup compact_relocate_vars fallback path
...
We don't need to duplicate these loops.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rhys Perry
a780345e01
aco: fix compact_relocate_vars fallback with scc/exec/m0 precolored regs
...
This probably doesn't fix anything in practice. I don't think this path is
ever taken for SGPRs except for pseudo-scalar transcendental instructions,
and those don't have any precolored operands/definitions.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rhys Perry
f6581b41c4
aco/ra: don't require alignment for NPOT SGPR temporaries
...
Aligning these can create situations where register allocation is
impossible. Only pseudo-instructions can use these, and they don't require
any alignment.
I'm not sure if these temporaries actually happen in practice. This
probably only affects the get_reg()'s compact_relocate_vars fallback path,
which doesn't usually happen for SGPRs.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rhys Perry
623230a6ef
aco/ra: change sorting in compact_relocate_vars
...
D16 MIMG or pseudo-scalar transcendental instructions might give lower
limits to the maximum register available for their definitions, so just
try to place them earlier.
This is also part of fixing compact_relocate_vars with aligned NPOT
def/killed-op space (the second part is the later commit which changes
get_stride()).
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rob Clark
3f9b8edb1c
ci: Re enable fd-farm
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34748 >
2025-04-29 14:41:35 +00:00
Erik Faye-Lund
87e143b053
docs/features: mark off missing panvk extensions
...
Seems we forgot to check these two off.
Fixes: 5ed79c2d2b
("panvk: Advertise support for VK_KHR_shader_terminate_invocation")
Fixes: d4998f7ff3
("panvk: Advertise VK_EXT_shader_demote_to_helper_invocation support")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34747 >
2025-04-29 14:35:20 +00:00
Mary Guillemard
f23f8c2826
panvk: Advertise VK_EXT_depth_bias_control
...
This gives more details on the hardware depth bias implementation details.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34745 >
2025-04-29 14:08:37 +00:00
Mary Guillemard
970bdecb50
panvk: Advertise VK_EXT_shader_replicated_composites
...
This is handled by common code.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34745 >
2025-04-29 14:08:36 +00:00
Boris Brezillon
d4998f7ff3
panvk: Advertise VK_EXT_shader_demote_to_helper_invocation support
...
The necessary bits have been added to the bifrost/valhall backend,
so we can advertise support for VK_EXT_shader_demote_to_helper_invocation
now.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34676 >
2025-04-29 13:31:47 +00:00
Boris Brezillon
83cbac00d3
pan/{bi,va}: Lower terminate to demote
...
Bifrost/Valhall implementation is actually close to the demote behavior,
where discarded threads will continue execution until explicitly
terminated.
Given we'll need to support the demote behavior for Vulkan, let's use
nir_lower_terminate_to_demote(), which solves the problem, and allows
for extra dead-code elimination when a termination point is guaranteed
to be taken by all threads.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34676 >
2025-04-29 13:31:47 +00:00
Boris Brezillon
cd4400e27b
pan/bi: Lower is_helper_invocation
...
Needed for VK_EXT_shader_demote_to_helper_invocation.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34676 >
2025-04-29 13:31:47 +00:00
Boris Brezillon
59c307a3f3
pan/bi: Fix and improve the !abs && !coarse case in bi_emit_derivative()
...
The lane source passed to CLPER must be wrap-invariant, and we currently
violate this constraint in the !abs && !coarse case. So let's rework
the code to use a XOR modifier on the current lane instead, and adjust
the sign of the (righ - left) operation afterwards.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34676 >
2025-04-29 13:31:47 +00:00
Boris Brezillon
5ed79c2d2b
panvk: Advertise support for VK_KHR_shader_terminate_invocation
...
This is already supported, we just need to toggle the switch.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34676 >
2025-04-29 13:31:47 +00:00
Alyssa Rosenzweig
5a55133ce7
hk: advertise VK_KHR_shader_quad_control
...
we already support this.
Closes : #13067
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34738 >
2025-04-29 13:14:07 +00:00
Eric Engestrom
ef1792bea8
amd/ci: document regression in e612e840...e210b79c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34740 >
2025-04-29 11:09:35 +02:00
Eric Engestrom
80b1aea705
amd/ci: disable retry on nightly radeonsi-vangogh-glcts-full job
...
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/75399939 should not have
been retried.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34740 >
2025-04-29 09:01:47 +00:00
Ricardo Garcia
bc44d029df
radv: Ignore image barrier queue families if equal
...
The src and dst queue family indices in an image memory barrier may
contain arbitrary values that can be ignored unless both are different.
This fixes a crash in upcoming CTS tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34691 >
2025-04-29 08:15:28 +00:00
Samuel Pitoiset
1fccc09abe
radv: fix re-emitting VRS state when rendering begins
...
This state also depends on whether a VRS attachment is used.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11693
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34735 >
2025-04-29 07:00:09 +00:00
Eric Engestrom
4227982326
ci: rename misleading *-postmerge stages to *-nightly
...
These stages are for the jobs that are skipped in merge pipelines,
automatically run in nightly pipelines, and are available to run
manually in other pipelines.
None of these ever run in post-merge pipelines.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34590 >
2025-04-29 05:49:00 +00:00
Valentine Burley
26bc35c8f9
ci: Delete the kernel+rootfs jobs
...
LAVA and baremetal now use the test-* containers as the base for their
rootfs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
13db56320b
ci/baremetal: Use container rootfs
...
Switch baremetal to use the new artifacts from the test-gl and test-vk
containers.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
e16d422da5
ci/baremetal: Split baremetal_arm64_test to -gl and -vk
...
While all the arm32 jobs are testing GL, there are both GL and VK arm64
jobs. This is required to be able to use the rootfs from the test-*
containers.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
a2150a0f56
ci/baremetal: Remove legacy support for unused devices
...
Clean up unused remnants for old devices that are no longer used.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
8296c19817
ci: Add a workaround for finding deqp-runner on Broadcom
...
Broadcom devices require /usr/local/bin to be unconditionally added to
the PATH in order to locate the binaries installed there.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
55e78ef678
ci/lava: Remove job definitions using kernel+rootfs jobs
...
These are all unused now and can be removed.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
10ea0002a6
ci/intel: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
961498a098
ci/svga: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
be79a2d2d3
ci/lima: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
da27eea9e0
ci/etnaviv: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
4f7c40d5d4
ci/panfrost: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
4d2e5f577a
ci/freedreno: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
f8e87fbf50
ci/amd: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
9870512787
ci/lava: Use the new test-video-based rootfs for VA-API jobs
...
Add new job definitions using the new debian/x86_64-test-video container,
and convert the radeonsi-raven-va and radeonsi-raven-vaapi-fluster jobs
to use the rootfs derived from this container.
Now that we are no longer downloading the Fluster vectors at runtime, the
parallelsim of the radeonsi-raven-vaapi-fluster job can be greatly
decreased.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
a3fb667b1d
ci: Include Fluster vectors in the rootfs
...
Downloading them at runtime proved too slow and unreliable.
Keep the logic to upload the vectors to S3 as it's faster, the build job
takes around 5-10 minutes when downloading from S3, but 30+ minutes to
using Fluster to download the vectors.
Move this to the build-fluster.sh script to allow re-using it in the
test-video container.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
414e1a22c8
ci/container: Add new container for libva and fluster testing
...
The new debian/x86_64_test-video container includes va tools and Fluster.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
751ff1a41e
ci/va: Add /va/bin to PATH for test-video container
...
The test-video container requires /va/bin to be in the PATH to locate
necessary binaries.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
82a25daf9d
ci/va: Collapse build section for va-tools
...
Makes the build job easier to look at.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
8448fbae8c
ci/lava: Move rootfs handling for Fluster out of build script
...
Move the logic for installing Fluster into $ROOTFS from build-fluster.sh
into the main lava_build.sh script.
This allows building Fluster in contexts that don't use a rootfs, such as
test containers.
Also move the section inside the build script.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
e80045d23e
ci/lava: Use the new container based rootfs for piglit traces
...
Also change the name of the job defitions to match the other definitions.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
2e8adb9e98
ci/lava: Use rootfs exported from test-* containers
...
Use the new S3_DISTRIBUTION_TAG variable to find the distribution tag of
the newly created lava-rootfs.tar.zst archive.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
1009613aec
ci/lava: Add job definitions using the test-* containers
...
These definitions use the test-gl and test-vk containers instead of the
kernel+rootfs jobs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
225ac7f2b2
ci/container: Include SkQP in the test-gl containers
...
Build SkQP in the arm64 and x86_64 test-gl containers.
One of the third party dependencies requires python-is-python3.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
33d5204ec1
ci/container: Include ANGLE in the x86_64 test-gl container
...
Build ANGLE in the x86_64 test-gl container.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
16db8b22cc
ci: Export the rootfs from the test-* containers
...
Use the FDO_DISTRIBUTION_POST_EXEC mechanism to run the fdo_cntr_export.sh
script after building the test-* containers. This exports the container
rootfs, creates a lava-rootfs.tar.zst archive, and uploads it to S3.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
53c7a04d12
ci/lava: Ensure firmware directory exists before downloading a660_zap.mbn
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Guilherme Gallo
e9b98b0cc9
ci: Add rootfs export script
...
Implement new script for container->rootfs extraction.
v2 (Valentine)
* Adapt script for direct execution in test-* containers through
ci-templates
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Guilherme Gallo
d4bf1fecb7
ci: Keep important packages for rootfs
...
Don't remove passwd, because the test-* containers run the
strip-rootfs.sh script before setting up the rootfs, where we need it.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Guilherme Gallo
816b0212a8
ci: Update setup-rootfs.sh for test-* containers
...
Update the script to make it useable for both container and rootfs jobs.
Move the rootfs-specific logic into the main lava_build.sh script, and
don't install ci-fairy, because that revision can't be used for s3cp
anymore after the migration.
v2 (Valentine)
* Move the rootfs-specific logic instead of adding a new script
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Daniel Stone
3609dbc061
ci: Add ci-kdl to test-base container
...
It's useful to monitor things on your devices.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Daniel Stone
a5159ff108
ci: Add packages for hardware CI testing
...
We need these things in our rootfs.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Daniel Stone
73993c2e74
ci: Add firmware to test-base container
...
We need firmware to run stuff.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Eric Engestrom
580a151642
ci: use https:// to install ci-fairy
...
There's no reason to try to use http://, not that it would work as it's
301-redirected to https:// anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
7d5f0eebc6
ci: Uprev ci-templates to get FDO_DISTRIBUTION_POST_EXEC and S3 fixes
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
118a4c5872
ci/android: Remove redundant android-tools folder
...
Since we no longer download the Android build or platform tools,
there's no need for a separate android-tools subfolder. The CTS
archive is now extracted directly to /android-cts.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
3eb61729e3
ci/deqp-runner: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
c1242c15af
ci/rust: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
bfe6f50ab4
ci/deqp: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
7686edcb73
ci/angle: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
7d1e34204f
ci/android: Collapse more build sections
...
Add two new build sections, and collapse the existing ones to make the
container build more readable and easier to follow in CI logs.
Also quieten unzipping the Android CTS and NDK, which print thousands of
lines and overflow the logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
b3c07fe722
ci/android: Use aapt from Debian packages
...
Switch to using the aapt Debian package, which includes up-to-date
versions of both aapt and aapt2. This removes the need to manually
download and install the Android build-tools, eliminating one of the
blockers for a hypothetical arm64 test-android container.
Verified versions:
aapt: Android Asset Packaging Tool, v0.2-debian
aapt2: Android Asset Packaging Tool (aapt) 2.19-debian
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Ian Romanick
c2ac7fa77b
brw/cmod: Allow integer CMP to ADD propagation only for Z and NZ
...
No shader-db chnages on any Intel platform.
v2: Add a note about integer types in the saturate handling path.
fossil-db:
All Intel platforms had similar results. (Lunar Lake shown)
Totals:
Instrs: 210743769 -> 210743727 (-0.00%)
Cycle count: 30377699060 -> 30377700318 (+0.00%); split: -0.00%, +0.00%
Totals from 36 (0.01% of 706776) affected shaders:
Instrs: 17032 -> 16990 (-0.25%)
Cycle count: 291716 -> 292974 (+0.43%); split: -0.01%, +0.44%
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
e26270249b
brw/cmod: Don't propagate from CMP to possible Inf + (-Inf)
...
Most of the churn in this commit is changing unit tests that were
testing things that are now invalid.
shader-db:
All Intel platforms had similar results. (Lunar Lake shown)
total instructions in shared programs: 17122204 -> 17122669 (<.01%)
instructions in affected programs: 120669 -> 121134 (0.39%)
helped: 0 / HURT: 124
total cycles in shared programs: 895602370 -> 895613210 (<.01%)
cycles in affected programs: 17868974 -> 17879814 (0.06%)
helped: 35 / HURT: 85
fossil-db:
All Intel platforms had similar results. (Lunar Lake shown)
Totals:
Instrs: 210736518 -> 210743769 (+0.00%)
Cycle count: 30377733040 -> 30377699060 (-0.00%); split: -0.00%, +0.00%
Max live registers: 66056852 -> 66056966 (+0.00%)
Totals from 1505 (0.21% of 706776) affected shaders:
Instrs: 1890151 -> 1897402 (+0.38%)
Cycle count: 48397408 -> 48363428 (-0.07%); split: -0.11%, +0.04%
Max live registers: 256821 -> 256935 (+0.04%)
Reviewed-by: Matt Turner <mattst88@gmail.com >
Fixes: 020b0055e7
("i965/fs: Propagate conditional modifiers from compares to adds")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
0dab520a19
brw/cmod: Fix some errors when propagating from CMP to ADD.SAT
...
When I originally wrote that code, I didn't understand what a jerk NaN
can be.
v2: Remove the brw_type_is_uint stuff. This function is currently only
called for float types. In a later commit, integer types will be
supported but only for NZ and Z conditions. Noticed by Matt.
shader-db:
All Intel platforms had similar results. (Lunar Lake shown)
total instructions in shared programs: 17122197 -> 17122204 (<.01%)
instructions in affected programs: 1691 -> 1698 (0.41%)
helped: 0 / HURT: 4
total cycles in shared programs: 895602484 -> 895602370 (<.01%)
cycles in affected programs: 912964 -> 912850 (-0.01%)
helped: 2 / HURT: 2
fossil-db:
All Intel platforms had similar results. (Lunar Lake shown)
Totals:
Instrs: 210736388 -> 210736518 (+0.00%)
Cycle count: 30377728900 -> 30377733040 (+0.00%); split: -0.00%, +0.00%
Totals from 130 (0.02% of 706776) affected shaders:
Instrs: 169911 -> 170041 (+0.08%)
Cycle count: 18021210 -> 18025350 (+0.02%); split: -0.00%, +0.02%
Reviewed-by: Matt Turner <mattst88@gmail.com >
Fixes: 020b0055e7
("i965/fs: Propagate conditional modifiers from compares to adds")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
8f0fd0e66e
brw/cmod: Remove special handling of NOT
...
The previous commit converts any NOT that might have been affected by
this path into a simple MOV. Those MOVs are handled by other paths.
No shader-db or fossil-db changes on any Intel platform.
v2: Fix a bad squash. Changes that were accidentally in this commit were
supposed to be in the previous commit. Noticed by Ivan.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
08fe7988d7
brw/algebraic: Convert some NOT to MOV
...
On Xe platforms, many fragment shaders have patterns like:
asr(8) g21<2>W g1.2<0,1,0>W 15D
...
mov(8) g11<1>UW g21<16,8,2>UW
...
not.nz.f0.0(8) null<1>D g11<8,8,1>W
Converting the NOT.NZ to MOV.Z enables copy propagation to eliminate the
original MOV. Then cmod propagation is able to eliminate the
NOT-converted-to-MOV.
It might be possible to cover this case by adding more opcodes to the
list NOT can propagate to. The next commit will show that just
converting to MOV is a better approach anyway.
v2: Fix a bad squash. Changes that were supposed to be in this commit
were accidentally in the next commit. Noticed by Ivan.
shader-db:
Meteor Lake, DG2, and Tiger Lake had similar results. (Meteor Lake shown)
total instructions in shared programs: 20069804 -> 20065167 (-0.02%)
instructions in affected programs: 592450 -> 587813 (-0.78%)
helped: 2300 / HURT: 0
total cycles in shared programs: 884534032 -> 884496201 (<.01%)
cycles in affected programs: 13064194 -> 13026363 (-0.29%)
helped: 1285 / HURT: 790
LOST: 18
GAINED: 15
fossil-db:
Meteor Lake, DG2, and Tiger Lake had similar results. (Meteor Lake shown)
Totals:
Instrs: 234506495 -> 234468664 (-0.02%)
Cycle count: 24444825202 -> 24445710703 (+0.00%); split: -0.01%, +0.01%
Max live registers: 42349793 -> 42349789 (-0.00%)
Max dispatch width: 7131344 -> 7131744 (+0.01%); split: +0.05%, -0.04%
Totals from 16673 (2.07% of 805781) affected shaders:
Instrs: 6497669 -> 6459838 (-0.58%)
Cycle count: 435877770 -> 436763271 (+0.20%); split: -0.54%, +0.74%
Max live registers: 1122972 -> 1122968 (-0.00%)
Max dispatch width: 151528 -> 151928 (+0.26%); split: +2.19%, -1.92%
No shader-db or fossil-db on any other Intel platforms.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
9ce869aef5
brw/cmod: Delete some stale comment text
...
Stale like the mummified remains of Ötzi, The Iceman.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
12a022cf45
brw/algebraic: Greatly simplify brw_opt_constant_fold_instruction
...
brw_opt_constant_fold_instruction can either do nothing or replace the
instruction with a MOV of an immediate value. Previously each opcode
case would perform this replacement, and code at the bottom of the
function would verify the results.
It is much simpler if each opcode case calculates a result in a brw_reg,
and code at the bottom of the function performs the replacement. There
are two outlier cases that cannot use this pattern: MAD and
BROADCAST. These cases simply return directly from the switch-statement
after performing the replacement.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34707 >
2025-04-28 18:33:42 +00:00
Konstantin Seurer
9a946f8125
lavapipe: Fix ray tracing position fetch with multiple geometries
...
The previous code didn't take into account, that the primitive index is
set back to 0 for each geometry.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34496 >
2025-04-28 18:41:22 +02:00
Danylo Piliaiev
dea4bb3757
ir3: VARYING_SLOT_LAYER output is used for binning
...
In multi-layered framebuffer LRZ also has several layers and binning
pass needs to write depth to a correct layer, so binning VS needs
VARYING_SLOT_LAYER.
Fixes: 9775b33d0f
("tu: Enable GMEM with layered rendering")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34728 >
2025-04-28 15:19:10 +00:00
Christian Gmeiner
42aae5c3fa
etnaviv: nir: Legalize txd derivatives src's
...
The hardware expects textureGrad (txd) derivatives to be specified as
offset coordinates from the base texture coordinate, rather than raw
gradients.
This change fixes the majority of the
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.* tests on
GC7000. Remaining failures are due to shadow sampler handling, which
will be addressed separately.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34704 >
2025-04-28 14:14:53 +00:00
Samuel Pitoiset
5841d44f91
radv: set radv_disable_dcc=true for WWE 2k23
...
This game is no longer available Steam, so it's more annoying to
reproduce the issue.
Let's disable DCC for that game to workaround rendering issues which
are likely game bugs.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10850
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34607 >
2025-04-28 12:43:02 +00:00
Maíra Canal
1eb3a40615
ci: disable Igalia's farm
...
Spain is suffering a major power outage, which has affected Igalia's farm.
Disable Igalia's farm until the situation stabilizes.
Signed-off-by: Maíra Canal <mcanal@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34727 >
2025-04-28 09:22:34 -03:00
Romaric Jodin
7112c606ef
panvk: Advertise support for VK_KHR_shader_integer_dot_product
...
This is already supported, we just need to toggle the switch.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34695 >
2025-04-28 13:17:31 +02:00
Ryan Mckeever
2a16422fab
panvk: Advertise KHR_draw_indirect_count for v10+
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34571 >
2025-04-28 10:33:32 +00:00
Ryan Mckeever
cebd908bf3
panvk: Implement CmdDraw[Indexed]IndirectCount for v10+
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34571 >
2025-04-28 10:33:32 +00:00
Rhys Perry
de896234d8
aco: improve spilling of clobbered operands
...
We can ignore live_changes for these.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34699 >
2025-04-28 10:04:43 +00:00
Rhys Perry
7fe84024cb
aco: fix get_temp_reg_changes with clobbered operands
...
The spiller might have tried to spill a live-through first or second
s_fmac_f32 operand, but this wouldn't have reduced the SGPRs if the third
operand wasn't killed
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13038
Fixes: d6cb45dbb0
("aco/spill: Allow spilling live-through operands")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34699 >
2025-04-28 10:04:43 +00:00
Job Noorman
656d7a0f88
ir3: don't use VS input regs for binning variant
...
This isn't necessary anymore since f6f7bc29
("freedreno/a6xx: Program
VFD_DEST_CNTL from program stateobj").
Allowing the binning variant to allocate its own inputs ensures we don't
needlessly use high register numbers (and thus potentially have a larger
register footprint). Unfortunately, this doesn't have an impact on waves
on shaderdb/fossildb.
Totals from 14669 (8.91% of 164575) affected shaders:
Instrs: 3026564 -> 3024820 (-0.06%); split: -0.33%, +0.28%
CodeSize: 6499538 -> 6496888 (-0.04%); split: -0.19%, +0.15%
NOPs: 452142 -> 451590 (-0.12%); split: -1.76%, +1.64%
MOVs: 67614 -> 66477 (-1.68%); split: -4.92%, +3.24%
Full: 149240 -> 155922 (+4.48%); split: -0.76%, +5.24%
(ss): 56452 -> 56247 (-0.36%); split: -4.58%, +4.22%
(sy): 33366 -> 33535 (+0.51%); split: -2.82%, +3.33%
(ss)-stall: 213221 -> 213992 (+0.36%); split: -0.87%, +1.23%
(sy)-stall: 1391221 -> 1395187 (+0.29%); split: -4.05%, +4.34%
Preamble Instrs: 695820 -> 695661 (-0.02%); split: -0.04%, +0.02%
Cat0: 495109 -> 494450 (-0.13%); split: -1.65%, +1.52%
Cat1: 127072 -> 125925 (-0.90%); split: -2.61%, +1.71%
Cat7: 94725 -> 94787 (+0.07%); split: -0.08%, +0.15%
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34651 >
2025-04-28 09:10:32 +00:00
Ryan Mckeever
a5a0dd3ccc
panvk: Implement multiDrawIndirect for v10+
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34617 >
2025-04-28 06:38:09 +00:00
Ryan Mckeever
2bbfcaf01f
panvk: Prepare cmd_prepare_shader_res_table() for multiDrawIndirect
...
This will be needed for indirect draws, where the VS driver desc table
needs to be updated per-draw, which also forces us to have one resource
table per draw.
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34617 >
2025-04-28 06:38:09 +00:00
Ryan Mckeever
690675748b
panvk: Prepare cmd_prepare_push_uniforms() for multiDrawIndirect
...
With indirect multi draw, we'll need to allocate N times the vertex
FAUs so we can patch each of them with the draw parameters.
Add a repeat_count argument to allow that.
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34617 >
2025-04-28 06:38:09 +00:00
Tapani Pälli
ed9f135936
anv: put parenthesis to the set_sampler_size equation
...
This fixes errors seen with some renderdoc captures failing to allocate
descriptor sets.
Fixes: 76096d04bb
("anv: relax restriction on variable count descriptors")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-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/34671 >
2025-04-28 04:45:01 +00:00
Guilherme Gallo
3493500abb
ci: Update build-apitrace.sh header with the right tag
...
The build-apitrace.sh moved from test-gl/vk to test-base script at
175b6d02
.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34713 >
2025-04-26 14:27:54 +00:00
Guilherme Gallo
b92dd9c573
ci: bump apitrace version
...
apitrace at commit b6102d10 has a bugfix regarding a recent regression
in GPU frame time calculation that made we miss weeks of performance
data.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34713 >
2025-04-26 14:27:54 +00:00
Eric Engestrom
47db31b556
ci: take google-freedreno farm offline
...
All jobs are currently failing because the gateway ran out of disk space.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34719 >
2025-04-26 16:16:40 +02:00
Erik Faye-Lund
d39e2869a8
panvk: re-enable KHR_shader_quad_control on v10+
...
Now that we support Vulkan 1.2, we can expose KHR_shader_quad_control
again.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34512 >
2025-04-25 22:31:34 +00:00
Erik Faye-Lund
b3fd8ddf6a
panvk: support vulkan 1.2 on v10+
...
While not yet officially conformant, we support all the required
features, and we pass the CTS. Let's mark off Vulkan 1.2, to make things
easier for applications.
Backport-to: 25.1
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34512 >
2025-04-25 22:31:34 +00:00
Caleb Callaway
7f35879738
driconf: Jusant needs force_vk_vendor=-1 on Intel devices
...
A UE crash reporter is displayed without this wrap
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12782
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34705 >
2025-04-25 11:25:59 -07:00
Rhys Perry
3c021b79b4
aco/ra: use a correct stride for subdword get_reg_impl
...
fossil-db (gfx1201):
Totals from 3 (0.00% of 79377) affected shaders:
Instrs: 1312 -> 1308 (-0.30%)
CodeSize: 7112 -> 7096 (-0.22%)
Latency: 5381 -> 5382 (+0.02%)
InvThroughput: 753 -> 752 (-0.13%)
Copies: 69 -> 68 (-1.45%)
VALU: 836 -> 835 (-0.12%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34679 >
2025-04-25 14:43:41 +00:00
Rhys Perry
ae6d4f1195
aco/ra: update_renames() before add_subdword_definition()
...
The register file tests here should be done after update_renames().
Normally, get_reg() wouldn't have to move anything to make space for a 1-3
byte definition. This was encountered with skip_optimistic_path=true and a
get_reg_impl() bug (fixed in a later commit) which caused suboptimal
register assignment.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34679 >
2025-04-25 14:43:41 +00:00
Eric Engestrom
9d0cd43a68
ci/build: drop install.tar from gitlab artifacts
...
Now that everyone uses the S3 url, let's avoid unnecessary uploads of
several GB per pipeline.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
630aef6653
ci/test: make generic fdo runner test jobs use the S3 artifacts too
...
These were the last users of the gitlab artifacts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
1d7cce2700
ci/ci-tron: default HWCI_TEST_SCRIPT to deqp-runner, as it's almost always what's run
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
20631a07ca
ci/test: rename .b2c-vkd3d-proton-test to .test-vkd3d-proton
...
It has nothing to do with ci-tron, it just happens that the first vkd3d
job was running on ci-tron.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
ce79b8a799
radv/ci: move radv-kabini-vkd3d out of gitlab-ci-inc.yml
...
It's currently disabled, which is probably why it was accidentally moved there.
While at it, fix its name to match the rest of the jobs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
aecdf762ce
amd/ci: ci yaml indentation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
35816d6422
ci/test: fix annoying yamllint warning about 2 spaces before comments
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
aca1a332c2
ci/build: drop unnecessary shellcheck disables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
ab0e505d7f
ci/build: rename variable to avoid changing the meaning of existing variable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
8c28f77bd1
ci/build: split git commit sha command out of echo
...
This prevents errors from being masked, eg. when `git` is not installed.
While at it, use `--short=10` instead of piping through `cut`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
621aebe046
ci/build: drop unused VERSION from python-artifacts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
5be4799734
ci/build: drop lava scripts from builds artifacts
...
The ones used come from the "python-artifacts" job.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
1f08d75272
ci/build: drop expectation files from python-artifacts
...
The ones used come from the mesa build artifacts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
d35c630483
ci/build: drop b2c files from the builds artifacts
...
They haven't been used in a long time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Valentine Burley
cd8d8ca795
ci: Update kernel to fix GPU recovery issues on sm8350
...
This new revision contains one new commit, fixing GPU recovery failures
on sm8350.
dea4d930f2
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34694 >
2025-04-25 11:04:16 +00:00
Rhys Perry
b03e071583
aco/gfx11: create waitcnt for workgroup vmem barriers
...
It seems this is necessary on GFX11.
Similar to 576a2e798c
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Backport-to: 25.0
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34634 >
2025-04-25 10:41:52 +00:00
Boris Brezillon
d432fd9e32
panvk: Advertise support for VK_EXT_extended_dynamic_state[2]
...
We added CmdBindVertexBuffers2(), the rest is handled by the core.
Advertising this feature also works around a CTS bug that was
calling CmdSetPatchControlPointsEXT() without checking for this
extension.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34696 >
2025-04-25 09:04:55 +02:00
Boris Brezillon
e3cbb2c131
panvk: Implement CmdBindVertexBuffers2()
...
The vk runtime has a helper to help us with the strides, we just
need to use vi_binding_strides[] when emitting the attributes.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34696 >
2025-04-25 09:02:51 +02:00
Christian Gmeiner
1d11872828
etnaviv: nir: Use nir_shader_tex_pass(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34706 >
2025-04-24 23:12:15 +02:00
Alyssa Rosenzweig
3eb7575679
asahi: do not use "Null" layout
...
This is the most serious bug we've had in a long time due to a fundamental
misunderstanding of the hardware (due to incomplete reverse-engineering). It
caught me off guard.
The texture descriptor has "mode" bits which configure two aspects of how the
address pointer is interpreted:
* whether it is indirected, pointing to a secondary page table for sparse
* whether it writes texture access counters (for Metal's idea of sparse).
...Neither of these is a "null texture" mode.
So why did I see Apple's blob using a non-normal mode for null textures, and why
did I copy those settings?
1. Because the hardware texture access counters provide a cheap way to detect
null texture accesses after the fact, which I think their GPU debug tools
use. I'm not sure why release builds of the driver do/did that, but whatever.
2. Because I assumed Cupertino knew best and I didn't bother looking too close.
We can't use them here (without doing extra memory allocations), since then
the GPU will increment access counters. And since our null texture address used
to just be a pointer in the command buffer, that mean the GPU will trash
whatever memory happened to be 0x400 bytes after the start of the null texture
descriptor. The symptom being random faults.
This bug was caught when trying to use the zero-page instead, which raised a
permission fault when the GPU tried to write counts. Then I remembered the
sparse mechanism and had a bit of a eureka moment. Immediately followed by an
"oh, f#$&" moment as I realized how many random bugs could potentially be root
caused to this.
The fix is two-fold:
1. Use normal layout instead.
2. Set the address to the zero-page (which is a fixed VA) and detect null
textures by checking the address, instead of the mode.
The latter is a good idea anyway, but both parts needs to be done atomically to
maintain bisectability.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34703 >
2025-04-24 19:05:07 +00:00
Christian Gmeiner
614b66529d
etnaviv: nir: Add support for txf texture operation
...
The src[2] value 0x1100 is set based on observed behavior of the blob driver,
though its exact meaning remains to be documented.
Passes all dEQP-GLES3.functional.shaders.texture_functions.texelfetch.*
tests on GC7000.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34685 >
2025-04-24 20:19:37 +02:00
Christian Gmeiner
eefe486533
etnaviv: nir: Legalize txf lod src
...
The LOD must be a float, unlike the GLSL function, which expects an integer.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34685 >
2025-04-24 20:19:37 +02:00
Christian Gmeiner
da90fca609
etnaviv: isa: Add txf instruction
...
This instruction is used to implement texelfetch.
Blob generates such txf's for
dEQP-GLES3.functional.shaders.texture_functions.texelfetch.+
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34685 >
2025-04-24 20:19:37 +02:00
Brian Paul
6325868bbe
svga: handle null target pointers in svga_set_stream_output_targets()
...
Fixes crash in Piglit arb_separate_shader_object-xfb-explicit-location-array
test.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Roland Scheidegger <roland.scheidegger@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34635 >
2025-04-24 17:03:30 +00:00
Georg Lehmann
65411350ac
aco/insert_exec: disable empty quads when leaving divergent control, even if not top level
...
We don't restore exec after uniform top level branches, so nothing disabled
empty quads after a demote in divergent control flow in a uniform branch.
Foz-DB Navi31:
Totals from 17 (0.02% of 79789) affected shaders:
Instrs: 34573 -> 34572 (-0.00%)
CodeSize: 186876 -> 186872 (-0.00%)
Latency: 324145 -> 324141 (-0.00%)
Copies: 1467 -> 1458 (-0.61%)
PreSGPRs: 802 -> 800 (-0.25%)
SALU: 2531 -> 2530 (-0.04%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34670 >
2025-04-24 15:43:09 +00:00
Timur Kristóf
3ad385b9cc
radv: Clear dirty flag for clip rects state after emitting it.
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com >
Fixes: 0ba3a8b3cc
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34686 >
2025-04-24 15:13:44 +00:00
Timur Kristóf
3a05477ac6
radv: Clear dirty flag for MSAA state after emitting it.
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com >
Fixes: 08918f0880
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13022
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34686 >
2025-04-24 15:13:44 +00:00
Lionel Landwerlin
e60416b4e4
anv: use companion batch for operations with HIZ/STC_CCS destination
...
We're currently crashing a couple of tests :
dEQP-VK.pipeline.monolithic.depth.xfer_queue_layout.*
deqp-vk: ../src/intel/blorp/blorp_blit.c:2935:
blorp_copy: Assertion `blorp_copy_supports_blitter(batch->blorp, src_surf->surf, dst_surf->surf, src_surf->aux_usage, dst_surf->aux_usage)' failed.
Tested on:
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image_transfer_queue.all_formats.depth_stencil.*
dEQP-VK.api.copy_and_blit.multiplanar_xfer.*
dEQP-VK.pipeline.monolithic.depth.xfer_queue_layout.*
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 31eeb72e45
("blorp: Add support for blorp_copy via XY_BLOCK_COPY_BLT")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34023 >
2025-04-24 14:47:40 +00:00
Seán de Búrca
3aec638a8b
rusticl: remove unnecessary check for device in kernel list
...
There is no need to verify that `kernel.prog.devs` contains a device
when that device ref was pulled from `kernel.prog.devs` immediately
beforehand.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
4be2a49e02
rusticl: improve use of Rust idioms
...
Reduce unnecessary function calls, collect from iterators instead of
adding to mutable collections, and remove unnecessary trait bounds.
v2: split change to associated device check into new commit
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
2c202eb787
rusticl: verify validity of property names and values
...
v2: separate from using type aliases based on signature and reorder
v3: verify validity in two additional locations
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
62d8541f39
rusticl: improve internal typing
...
Shuffle some integer types to reduce the necessity of casting.
Additionally, clean up some unnecessary use of `Vec` to avoid
allocations.
v2: revert changes to `PipeContext` to avoid hiding truncation errors,
move change to fallible conversions to separate patch
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
ec314aa358
rusticl: align memory utilities with std
...
Rename `is_alligned()` util to match std naming and move it alongside
similar utilities which copy upstream functionality and annotate those
utilities with their first stable version where applicable.
Replace use of `mesa_rust_util::offset_of!()` in one case where nested
field support is not needed.
v2: revert removal of `offset_of!()` for nested field support
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
26867670b2
rusticl/device: set maximum work dimension to match implicit bounds
...
Much of the kernel code implicitly depends on a maximum work dimension
of 3, and in practice, gallium will never give a grid dimension of less
than 3, constraining the value to a constant.
v2: use a const for max dimension instead of a `min` call
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Mary Guillemard
845611bb43
panvk: Take resource index in valhall_lower_get_ssbo_size
...
Previously we were not extracting the resource index from the resource
handle.
This fixes failures with PanVK+ANGLE on "dEQP-GLES31.functional.ssbo.array_length.unsized_*".
Fixes: e4613f8b23
("panvk: Lower get_ssbo_size() on Valhall")
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/34697 >
2025-04-24 13:28:53 +00:00
Juan A. Suarez Romero
7ec937b81e
v3d/vc4/ci: Add -gl suffix to the GL suite names
...
As we have a -vk suffix for the Vulkan-related suites, add a -gl one for
the OpenGL/ES related suites.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34680 >
2025-04-24 12:40:38 +00:00
Juan A. Suarez Romero
9ab13e1ed0
v3d/vc4/ci: update fraction and parallel values
...
The aim is to increase the coverage as maximum as possible while using
the less possible DuTs, everything under a testing budget of 10 minutes.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34680 >
2025-04-24 12:40:38 +00:00
John Anthony
8dd578e2a4
panvk: Enable VK_EXT_direct_mode_display
...
Panvk already enables VK_EXT_acquire_xlib_display, but not
VK_EXT_direct_mode_display which is a dependency. This causes a failure
in dEQP-VK.info.instance_extensions.
Fixes: 8c2bfa279d
("panvk: support x11 wsi")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34672 >
2025-04-24 12:11:32 +00:00
Dmitry Baryshkov
419a9e9d42
mesa-clc: add an option to force inclusion of OpenCL headers
...
Currently mesa-clc bundles OpenCL headers from Clang only if the static
LLVM is used (which means Clang / LLVM are not present on the target
system). In some cases (e.g. when building in OpenEmbedded environemnt)
it is desirable to have shared LLVM library, but skip installing the
whole Clang runtime just to compile shaders. Add an option that forces
OpenCL headers to be bundled with the mesa-clc binary.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34551 >
2025-04-24 11:40:15 +00:00
Valentine Burley
680752d97f
ci: Use hyphens in make-git-archive job name
...
Spaces in job names make me uncomfortable.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34689 >
2025-04-24 11:05:23 +00:00
Valentine Burley
b758e49085
ci: Update ci-fairy to use shared ref from ci-templates
...
The /templates/ci-fairy.yml include was pinned to an old revision of
ci-templates that wasn't able to upload to S3 with s3cp following the
infrastructure transition.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34689 >
2025-04-24 11:05:23 +00:00
Eric Engestrom
bf4fa82af9
ci: use curl instead of wget in download-git-cache.sh
...
Note that this code is executed on the generic FDo gitlab runners, not
in our docker images. This change is merely to avoid the confusion that
lead to the code in the previous commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34684 >
2025-04-24 10:36:00 +00:00
Eric Engestrom
74809ce0e3
ci: drop dead wgetrc as there are no uses of wget in our CI images
...
Note that if you grep, you'll find two instances of `wget`, but those are not
executed in our docker images, but on the generic FDo gitlab runners, so the
/etc/wgetrc file in our docker images cannot affect them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34684 >
2025-04-24 10:36:00 +00:00
Mary Guillemard
006f5c20bd
panfrost: Allow max effective tile size of 64x64 on v12+
...
This is supported since v12 and we fixed the last remaining issues
related to it.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34674 >
2025-04-24 10:11:22 +00:00
Mary Guillemard
943a59c8f9
panvk: Emit sample count and tile size when emitting framebuffer/tiler descriptors
...
This move the logic around tile size budget to be able to handle
rasterization_samples properly in case no render target is defined.
We now select the tile size right before emitting the tiler and framebuffer
descriptors.
This fixes "dEQP-VK.pipeline.monolithic.multisample.mixed_count.*" on
v12 when 64x64 tile size is allowed.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34674 >
2025-04-24 10:11:21 +00:00
Mary Guillemard
c7f2bc6bed
panvk: Take rasterization sample into account in indirect draw on v10+
...
This has been an oversight when implementing indirect draw.
Fixes: 1f3b8bb918
("panvk: Add support for Draw[Indexed]Indirect")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34674 >
2025-04-24 10:11:21 +00:00
Tapani Pälli
765801fd9e
intel/dev: add note about PAT entries and Wa_18038669374
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34665 >
2025-04-24 09:48:34 +00:00
Eric Engestrom
a0407a6ecf
ci/vkd3d: fail shell pipeline when part of it fails
...
We use pipes in several places and don't want to ignore their failures.
A couple of exceptions are allowed with explicit `|| true`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:37 +00:00
Eric Engestrom
104f21c27b
ci/vkd3d: treat reading undefined variables as an error
...
This would've prevented the bug in the previous commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:37 +00:00
Eric Engestrom
89d4ddce0e
ci/vkd3d: fix RESULTS_DIR variable name
...
The bug in the previous commit was hiding this bug...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:37 +00:00
Eric Engestrom
3c0d414cbf
ci/vkd3d: only keep logs of failed tests
...
This is what I meant to do from the start but messed up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:36 +00:00
Eric Engestrom
7f0fe34758
ci/vkd3d: quieten the mesa version check
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:36 +00:00
Eric Engestrom
0f8fd5da7a
ci/vkd3d: fix test failure list when no test failed
...
This becomes important once the bugfix in the next commit is applied.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:36 +00:00
Eric Engestrom
d21e300f33
ci/vkd3d: drop misguided "something failed" error message
...
Luckily the check was broken, but let's not fix it because this would
cause any failure to fail the job, regardless of expectations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:36 +00:00
Olivia Lee
e93261f579
panfrost: allow promoting sysval UBO to push constants
...
We already had a path for sysvals in panfrost_emit_const_buf, but it was
unused because we only allowed pushing the default UBO 0. Improves
glmark2 score on G610 from 3051 to 3071, but mostly we need it as a
prerequisite for dynamic blend constants.
Signed-off-by: Olivia Lee <benjamin.lee@collabora.com >
Fixes: 59a3e12039
("panfrost: do not push "true" UBOs")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34664 >
2025-04-24 08:20:41 +00:00
Georg Lehmann
6d2190300a
radv/nir/lower_cmat: tightly pack 8bit gfx11 acc matrix
...
Invalid for now, but used by vkd3d-proton, where the use case is to convert
a result matrix to lower precision, followed by a store.
For 16bit accumulation matrices, GFX11 only uses 16bits per 32bit register.
RADV's coop matrix code pads the unused space with undefs and uses a vector
with twice as many elements as the matrix length. Extending that to 8bit by
leaving 24 bits unused is unnecessary as these matrices as there
is no hw unit that requires it. And in wave32, it would also result in
vectors larger than NIR's limit.
So tightly pack 8bit matrices without any undef padding.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34382 >
2025-04-24 06:37:44 +00:00
Georg Lehmann
bbc9bc9d24
radv/nir/lower_cmat: use cmat_mul instead of duplicating hw details for type conversion
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34382 >
2025-04-24 06:37:44 +00:00
Georg Lehmann
31a3430570
radv/nir/lower_cmat: use radv_nir_cmat_bits consistently
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34382 >
2025-04-24 06:37:44 +00:00
Dmitry Osipenko
300b6f7371
util/disk_cache: Re-enable multi-file cache by default
...
Over past months a performance issue was found with the Mesa-DB cache
implementation that results in a too slow cache startup time when cache is
full. A better indexing strategy will need to be invented to mitigate the
issue. Until then, let's default back to the multi-file cache.
Suggested-by: Michel Dänzer <mdaenzer@redhat.com >
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34199 >
2025-04-24 02:43:51 +00:00
Yurii Kolesnykov
9822fa3ef3
Get rid of 5 remaining references to glapitable.h
...
Closes : #13003
Fixes: 0cebfb15
("glapi: remove duplicated generated header glapitable.h")
Co-authored-by: Marek Olšák <maraeo@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Yurii Kolesnykov <root@yurikoles.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34682 >
2025-04-23 20:18:25 +00:00
Eric Engestrom
6a58bc357b
docs: update calendar for 25.1.0-rc2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34683 >
2025-04-23 19:46:07 +00:00
Mel Henning
60452e016e
wsi/headless: Override finish_create
...
Since headless overrides create_mem, it needs to override finish_create
too. Fixes a segfault in nvk that was caused by us mixing
wsi_create_null_image_mem with wsi_finish_create_blit_context, which
would then call CmdCopyImageToBuffer with image->blit.buffer == NULL
Fixes a cts failure on nvk in:
dEQP-VK.image.swapchain_mutable.headless.2d.r8g8b8a8_unorm_b8g8r8a8_unorm_clear_copy_format_list
and several others
Fixes: 579578f10a
("vulkan/wsi/drm: Break create_prime_image in pieces")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34646 >
2025-04-23 19:11:59 +00:00
Lionel Landwerlin
1f6cca0800
intel: fixup a few debugging option checks
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ad328bc58d
("intel: Switch uint64_t intel_debug to a bitset")
Reviewed-by: Michael Cheng <michael.cheng@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34667 >
2025-04-23 18:47:42 +00:00
Rhys Perry
62e50de5d0
aco: use v_perm_b32 for byte swaps within a VGPR on gfx10
...
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/34636 >
2025-04-23 18:23:18 +00:00
Rhys Perry
a43783fd76
aco: use v_perm_b32 for do_pack_2x16 on gfx10+
...
fossil-db (gfx1201);
Totals from 93 (0.12% of 79377) affected shaders:
Instrs: 373212 -> 372761 (-0.12%)
CodeSize: 2062752 -> 2063704 (+0.05%); split: -0.00%, +0.05%
Latency: 4172059 -> 4171993 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 1299144 -> 1299093 (-0.00%)
Copies: 51268 -> 50831 (-0.85%)
Branches: 10980 -> 10979 (-0.01%)
VALU: 220192 -> 219756 (-0.20%)
VOPD: 48 -> 47 (-2.08%)
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/34636 >
2025-04-23 18:23:18 +00:00
Marek Olšák
78a3b48db0
radeonsi: enable nir_io_compaction_groups_tes_inputs_into_pos_and_var_groups
...
It's only useful when TES culls.
shader-db with ACO:
143 shaders have -1.44% average decrease in code size.
There are fewer input loads and more of them are vec4 instead of vec1-3.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32262 >
2025-04-23 17:47:37 +00:00
Marek Olšák
0836e9758b
radeonsi: initialize use_ngg* sooner
...
si_init_screen_get_functions determines NIR options, so it should be before
setting caps.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32262 >
2025-04-23 17:47:37 +00:00
Marek Olšák
55db7fc18c
nir/opt_varyings: group TES inputs based on whether they are used by POS or VAR
...
If the optional flag is set, compaction groups TES inputs based on which
outputs they are used for:
- inputs generating only POS/CLIP outputs are first
- inputs generating both POS/CLIP and VAR outputs are next
- inputs generating only VAR outputs are last
shader-db with ACO:
143 shaders have -1.44% average decrease in code size.
There are fewer input loads and more of them are vec4 instead of vec1-3.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32262 >
2025-04-23 17:47:37 +00:00
Marek Olšák
f15399af0f
nir: add gathering passes that gather which inputs affect specific outputs
...
The first pass computes which shader instructions contribute to each
output. It can be used to query how data flows within shaders towards
outputs.
The second pass computes which shader input components and which types of
memory loads are used to compute shader outputs.
The third pass uses the second pass to gather which input components are
used to compute pos and clip dist outputs, which input components are used
to compute all other outputs, and which input components are used to
compute both. This will be used by compaction in nir_opt_varyings for
drivers that split TES into a separate position cull shader and varying
shader to make it less likely that the same vec4 inputs are needed in both.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32262 >
2025-04-23 17:47:37 +00:00
Karol Herbst
33965bb21b
nir_lower_mem_access_bit_sizes: fix negative chunk offsets
...
With a 64 bit pointer model, instead of doing -1 the pass ended up doing
+4294967295. The reason here was some implicit integer conversion going
horribly wrong, so just do the offset math in 64 bit to get a nice result.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13023
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34669 >
2025-04-23 16:59:56 +00:00
Alyssa Rosenzweig
4685d8e2d9
libagx: use common heap alloc for tessellator
...
this gets us bounds checking.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
d339bf7a98
libagx: rename agx_geometry_state to agx_heap
...
no other state persists. this cleans up a lot of naming.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
29cc2b6d42
libagx: do not include heap in geometry params
...
the only dynamic allocation left for geometry shaders is all done in the setup
indirect kernel. so just pass the heap to that kernel directly, so we don't
reserve a heap for direct draws with GS (including pure-VS XFB). this should
reduce our memory footprint a lot in certain apps.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
cb52aa58d6
agx/nir_lower_gs: bound static topologies
...
don't bloat up shader info.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
9b1d771747
agx/nir_lower_gs: compact static topologies
...
use 8-bit index buffer instead of 32-bit to significantly decrease the size of
serialized geometry shaders (agx_gs_info is not dynamic).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
5640266eb3
agx/nir_lower_gs: rework gs rast shape handling
...
rather than a bunch of subtle booleans telling the driver how to invoke the GS
rast shader, collect everything into a common enum, and provide (CL safe)
helpers to do the appropriate calculations rather than duplicating across
GL/VK/indirects.
this fixes suboptimal handling of instancing with list topologies.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
2a0314250b
agx/nir_lower_gs: don't use nir_def_rewrite_uses
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
3670f95e12
agx/nir_lower_gs: avoid redundant sr read's
...
saves 2 SR reads in a SW VS
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
8b0dca384f
agx/nir_lower_gs: fix type confusion
...
Fixes: b9b6828fda
("agx/nir_lower_gs: optimize static topologies")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
d548259b2f
agx: plumb vertex_id_zero_base
...
to accelerate SW VS.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
fbb85a8d09
agx: use abi.h defines
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
6f265ab83f
asahi: clang-format
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
d31ad329c2
util: optimize bitcount on OpenCL
...
Fixes: bfc18b6fb1
("libagx: drop libagx_popcount")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Yinjie Yao
eecfb02463
frontends/va: Handle properly when decoding more slices than limit
...
For h264/h265/av1/vp9, give warning when application is
sending more slices than allowed by limit, and stop copying
remaining slices to avoid unwanted behaviour.
Cc: mesa-stable
Signed-off-by: Yinjie Yao <yinjie.yao@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34633 >
2025-04-23 15:37:04 +00:00
Faith Ekstrand
1a373edfc5
nak/sm20: Fix legalization of IAdd and IMul
...
They were both missing subtle cases. While we're here, fix a bunch of
SrcTypes. They shouldn't matter in practice since it's just used to
determine how many GPRs to allocate but we may as well get them right.
Fixes: 078ffb860b
("nak/sm20: Add initial SM20 encoding")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34675 >
2025-04-23 14:06:27 +00:00
Faith Ekstrand
ca296bf0a9
nak/sm20: Call copy_alu_src_if_fabs() first
...
Since an FAbs or FNegAbs modifier is going to force the source out to a
register no matter what, we should do this first. That way we avoid the
unnecessary source swaps or other evictions when we have to evict the
source anyway because it has a modifier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34675 >
2025-04-23 14:06:27 +00:00
Christoph Pillmayer
c26273109f
panfrost/ci: Update spec@ext_transform_feedback@max-varyings result
...
After the previous changes to varyings, this test no longer crashes.
Update the expected result from Crash to Fail to reflect that.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34074 >
2025-04-23 11:53:27 +00:00
Christoph Pillmayer
a36402afc8
panfrost: Use LD_VAR_BUF if possible on v9+
...
This logic to enable LD_VAR_BUF[_IMM] is on the conservative side.
For fixed varyings, we would need to know what the VS outputs to correctly
compute the indices the FS has to load from. For general varyings, the
locations are aligned either by the linker or by the application in case
of separable shaders.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34074 >
2025-04-23 11:53:27 +00:00
Christoph Pillmayer
49a9c91540
panfrost: Remove fixed_varying_mask from uncompiled_shader
...
This is no longer used after the previous commit and should therefore
be removed.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34074 >
2025-04-23 11:53:27 +00:00
Christoph Pillmayer
cd2ca0ac22
panfrost: Enable more than 16 varyings on v9+
...
This change removes the limit of 16 varyings caused by the 8-bit offset
value used in LD_VAR_BUF[_IMM]. LD_VAR[_IMM] is used instead and the
necessary ADs are emitted at draw time.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34074 >
2025-04-23 11:53:27 +00:00
Boris Brezillon
85b6bd989e
panvk: Advertise support for VK_KHR_maintenance5
...
This is already supported, all we have to do is advertise it.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
9d1262e108
pan/format: Disable image storage on A8_UNORM
...
A8_UNORM on v9+ is using RGBA8_UNORM as a pixel format with the
A8_UNORM clump format to dealing with the diffences between
RGBA8 and the actual A8 in-memory layout.
The problem is, LEA_TEX only loads the InternalConversionDescriptor
which contains only the pixel format, and that's what ST_CVT uses
to do the conversion, so we'll actually store 4 components instead
of one.
This shows up with
dEQP-VK.image.load_store.without_any_format.buffer.a8_unorm* after
enabling maintenance5.
For now I've turned off the image storage capability for A8_UNORM
on all gens, but I'd be fine disabling it only on v9+ if you think
that's preferable.
Fixes: d95423686f
("pan/format: Add PAN_BIND_STORAGE_IMAGE flag")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
8d1e55a3b5
panvk: Implement GetImageSubresourceLayout2 and GetDeviceImageSubresourceLayoutKHR()
...
Needed for maintenance5.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
7abe32a130
panvk: Call vk_image_finish() in GetDeviceImageMemoryRequirements()
...
It doesn't do much, but let's call it, just in case this changes at
some point.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
1e3acb062a
panvk: Don't pass a dev to panvk_image_init()
...
It's not used, and we could retrieve the device from
image->vk.base.device if we had to anyway.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
1b22f6d679
panvk: Pass a const image to is_disjoint()
...
The image is not supposed to be modified there.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
51e46ed57f
panvk: Implement CmdBindIndexBuffer2()
...
This is needed for maintenance5.
While at it, move the buffer offseting opertaion to CmdBindVertexBuffers2()
instead of applying the offset at draw time.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
b632ac7e3b
panvk: Advertise support for VK_KHR_maintenance4
...
This is already supported, all we have to do is advertise it.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Georg Lehmann
dd3e1190a2
aco/insert_exec: reset temporary when recreating wqm mask from exact mask
...
The old, now incorrect temporary was still used for invert blocks and loop masks.
Foz-DB Navi31:
Totals from 379 (0.48% of 79789) affected shaders:
Instrs: 399471 -> 399897 (+0.11%); split: -0.00%, +0.11%
CodeSize: 2197292 -> 2198908 (+0.07%); split: -0.00%, +0.08%
Latency: 2500636 -> 2500895 (+0.01%); split: -0.00%, +0.01%
SClause: 7912 -> 7918 (+0.08%); split: -0.04%, +0.11%
Copies: 25687 -> 26068 (+1.48%); split: -0.04%, +1.53%
PreSGPRs: 15648 -> 15562 (-0.55%)
SALU: 35125 -> 35517 (+1.12%)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12901
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13019
Fixes: b872ff6ef2
("aco/insert_exec_mask: if applicable, use s_wqm to restore exec after divergent CF")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34659 >
2025-04-23 09:37:50 +00:00
Georg Lehmann
13f6be262a
aco/insert_exec: only restore wqm mask after control flow if necessary
...
The next commit will make this not free, so we should avoid it if possible.
Foz-DB Navi31:
Totals from 3933 (4.93% of 79789) affected shaders:
Instrs: 5726914 -> 5727295 (+0.01%); split: -0.00%, +0.01%
CodeSize: 31307100 -> 31308884 (+0.01%); split: -0.00%, +0.01%
SpillSGPRs: 1797 -> 1793 (-0.22%); split: -0.33%, +0.11%
Latency: 58973929 -> 58974343 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 8591893 -> 8591911 (+0.00%); split: -0.00%, +0.00%
SClause: 209074 -> 209115 (+0.02%); split: -0.00%, +0.02%
Copies: 423965 -> 432420 (+1.99%)
Branches: 149976 -> 149979 (+0.00%); split: -0.00%, +0.00%
PreSGPRs: 200175 -> 200663 (+0.24%)
VALU: 3440165 -> 3440156 (-0.00%); split: -0.00%, +0.00%
SALU: 555727 -> 556143 (+0.07%); split: -0.00%, +0.08%
Fixes: b872ff6ef2
("aco/insert_exec_mask: if applicable, use s_wqm to restore exec after divergent CF")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34659 >
2025-04-23 09:37:50 +00:00
Ella Stanforth
6802d66b50
v3d/ci: move depthstencil-default_fb-drawpixels-24_8 samples=4 to flakes
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
08c323951b
v3dv: Implement dual source blending
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
a72be0f720
v3d: Implement dual source blending
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
42154029fc
v3d/compiler: Implement software blend lowering
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
b38c4e8982
nir/alpha_to_coverage: Add an intrinsic for better dithering
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
a6f67d5b69
v3d/compiler: Only lower logic ops for color buffers that exist
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
1ec0cdb733
v3d/compiler: Fixup output types for all 8 outputs
...
Cc: mesa-stable
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
d3aedbfe9d
asahi/lib: Move alpha_to_one and alpha_to_coverage lowering to common code.
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Pierre-Eric Pelloux-Prayer
091d52965f
radeonsi: init use_aco properly when llvm is disabled
...
Otherwise shaders are compiled with ACO anyway and we hit the assert
added by 7f7d6deb18
("radeonsi: add ACO-specific main shader parts").
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34574 >
2025-04-23 07:59:10 +00:00
Pierre-Eric Pelloux-Prayer
2ab7ff51b9
radeonsi: skip blit incompatible scenarios
...
When has_image_opcodes is missing only a subset of tests can
be executed.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34574 >
2025-04-23 07:59:10 +00:00
Pierre-Eric Pelloux-Prayer
992a340eab
ac/nir: init blake3 for cs blit shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34574 >
2025-04-23 07:59:10 +00:00
Pierre-Eric Pelloux-Prayer
2a381bbc3c
radeonsi: fix potential use after free in si_set_debug_callback
...
si_destroy_context needs to call context->set_debug_callback(...) to
avoid the debug logs to access the destroyed context.
Adding this change introduced a different problem: when an aux context
is destroyed from si_destroy_screen, parts of the screen have been
freed already: the shader_compiler_queue_*.
c467a87e06
("radeonsi: Destroy queues before the aux contexts") moved
the util_queue_destroy calls above the context destruction, but with
the 59a3f38ff6
change, it's not needed anymore: si_destroy_context
will finish the screen shader queues before proceeding with releasing,
so use-after-free isn't possible.
Fixes: 59a3f38ff6
("radeonsi: clear the debug callback on ctx destroy")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12035
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34574 >
2025-04-23 07:59:10 +00:00
Sergi Blanch Torne
48bccb7d55
bin/ci: crnm: bug stress mode retry formula
...
The execution_times structure was filled the same way in all the cases of an
if. As a side effect, the retry evaluation doesn't include the last result and
can lead, as a race condition, into triggering one extra time than the
indication in the stress argument.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Sergi Blanch Torne
e6843c1705
bin/ci: crnm: bug while stressing a single job
...
When one launches a stress test on a single job, the script behaves like the
stress number is not set. After this wrong end, relaunch the command works
only if stress is bigger than 2. In case 2, it can confuse the number of
executions.
When in stress mode, don't exit the monitor_pipeline method as if there were
only one job run. One job run, prints in std the job trace, but in stress
mode, there are more than one job execution.
The stress_status_counter structure lost the information about job IDs, and
the bug happens when it counts twice the same job.
Reported-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Guilherme Gallo
ce200e6a4a
bin/ci: crnm: Fix job duration calculation
...
The former version was problematic because:
- time.perf_counter() returns seconds relative to an arbitrary point in
time (monotonic clock)
- time.mktime() converts to epoch time (seconds since 1970)
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Guilherme Gallo
b3a9125014
bin/ci: crnm: Improve timer display formatting
...
Modify the pretty_wait function to use a two-digit width for seconds
display, ensuring consistent and aligned output when showing the
countdown timer.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Guilherme Gallo
769c9bf27c
bin/ci: crnm: Improve job enabling robustness
...
Add error handling for job retry/play actions with proper exception
handling and improve status tracking. Introduce a maximum retry
limit with MAX_ENABLE_JOB_ATTEMPTS to prevent infinite loops when
jobs cannot be enabled.
Change enable_job to return a boolean status rather than job objects
to avoid race conditions with stale job state. Update callers to
properly handle the new return value and wait for fresh job data
in the next monitoring loop.
Address race conditions in the CI monitor script:
Reported-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Guilherme Gallo
6464083a6b
ci: Extract target job handling in CI monitor script
...
Extract the target job processing logic from the monitor_pipeline
function into a dedicated run_target_job helper. This improves
readability and maintainability by reducing the complexity of the
monitor_pipeline function.
Also add type casting to ensure proper typing for the job objects and
import the necessary Callable type.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Boris Brezillon
098ee11c1c
panvk: Set supportsNonZeroFirstInstance=true
...
We now support non-zero firstInstance when instance attributes have
a divisor != 1.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34642 >
2025-04-23 07:08:25 +00:00
Boris Brezillon
0a3f1da321
panvk: Advertise support for VK_EXT_vertex_attribute_divisor
...
This is already supported, nothing to do here.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34642 >
2025-04-23 07:08:25 +00:00
Boris Brezillon
b2a8e3838d
panvk/csf: Fix instance attribute offseting
...
Letting the shader offset instanceID by baseInstance works only if
the divisor is one. If the divisor is greater than one, the firstInstance
parameter shouldn't be applied this divisor, but it currently is. Zero
divisors are also problematic, in that they will force use of the
instance zero attribute all the time.
The only way to fix that is to tweak the offsets of the per-instance
attributes instead, like is done in the JM backend.
Fixes: 1570f0172e
("panvk: Fix base_{instance,vertex} handling")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34642 >
2025-04-23 07:08:25 +00:00
Boris Brezillon
b093855caa
panvk/csf: Pass less arguments to emit_vs_attrib()
...
Most of the arguments we pass to emit_vs_attrib() can be extracted
from panvk_cmd_buffer, so let's pass a cmdbuf before we add more to
this function.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34642 >
2025-04-23 07:08:25 +00:00
Karol Herbst
93484bf38a
rusticl: allow packagers to enable radeonsi by default
...
Radeonsi hasn't yet passed conformance, so it's not part of the auto set
at this point in time. But this will allow distribution to enable it if
they feel comfortable enough, or to disable it again, if it causes too
many problems.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34621 >
2025-04-23 01:56:22 +00:00
Karol Herbst
6f080ac532
rusticl/device: fix panic when disabling 3D image write support
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12985
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34649 >
2025-04-23 01:35:21 +00:00
Karol Herbst
e3edc6029b
ac/llvm: use mul24 intrinsics
...
With the current code in clpeak LLVM ended up generating v_mad_u64_u32
instructions, with this we get nice v_mad_u32_s24 ones instead and an 4x
performance increase in the int24 benchmark.
Suggested-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34630 >
2025-04-23 01:11:48 +00:00
Michael Cheng
3c267535ae
anv: Add new debug flag to show shader stage
...
Add debug option to show current shader type being
compiled within anv_shader_bin_create.
Signed-off-by: Michael Cheng <michael.cheng@intel.com >
Reviewed-by: Casey Bowman <casey.g.bowman@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34596 >
2025-04-22 23:09:26 +00:00
Michael Cheng
ad328bc58d
intel: Switch uint64_t intel_debug to a bitset
...
We are reaching our limit of adding flags to intel_debug
(apporaching 64 flags). Switch intel_debug to a bitset,
which gives us almost "unlimited" bits to use in the future.
v2(Michael Cheng): Fixed a few ci errors
Signed-off-by: Michael Cheng <michael.cheng@intel.com >
Reviewed-by: Casey Bowman <casey.g.bowman@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34596 >
2025-04-22 23:09:26 +00:00
Michael Cheng
2a1aa129ed
intel: Switch debug flags to enums to prep for bitset conversion
...
Refactored the existing debug flags to use an enum instead of
hardcoded 1ull << N macros. This is a prep step before the
eventual switch of intel_debug to a bitset.
Using enums gives us cleaner indexing and avoids annoying shift
overflow warnings. No functional changes yet.
Signed-off-by: Michael Cheng <michael.cheng@intel.com >
Reviewed-by: Casey Bowman <casey.g.bowman@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34596 >
2025-04-22 23:09:26 +00:00
Faith Ekstrand
ff95e506d9
docs/nvk: Update conformance and hardware support information
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34658 >
2025-04-22 22:53:32 +00:00
Collabora's Gfx CI Team
8514452cf7
Uprev Piglit to c50d9aa54f85e0af9d72fab86c73f89356d96399
...
0ecdebb0f5...c50d9aa54f
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34650 >
2025-04-22 21:52:29 +00:00
Collabora's Gfx CI Team
3f49272944
Uprev ANGLE to f355e2b37ed43939e2753fc7dacccf75abb4c1a3
...
a3f2545f6b...f355e2b37e
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34650 >
2025-04-22 21:52:29 +00:00
José Roberto de Souza
fcb6dfb29c
intel: Fix the MOCS values in XY_BLOCK_COPY_BLT for Xe2+
...
One more instruction were the MOCS value was splited into two
registes.
Cc: mesa-stable
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34592 >
2025-04-22 20:42:25 +00:00
José Roberto de Souza
161c412a82
intel: Fix the MOCS values in XY_FAST_COLOR_BLT for Xe2+
...
Xe2 changed the MOCS field in few instructions, those now have a field
for the MOCS index and other the encryption enable bit but ISL returns
the combination of both aka MEMORY_OBJECT_CONTROL_STATE.
To minimize changes I have added 2 macros to extract the values
from the value returned by isl.
From all the instructions changed Mesa only make use of two, so the
other instruction will be handled in the next patch.
Cc: mesa-stable
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34592 >
2025-04-22 20:42:25 +00:00
Danylo Piliaiev
36f22cc951
tu,freedreno: Don't fallback to LINEAR with DRM_FORMAT_MOD_QCOM_COMPRESSED
...
DRM_FORMAT_MOD_QCOM_COMPRESSED forces the image to be UBWC regardless
of what's better for perf, we should respect that.
The regression is seen in GTK4 when it tries to create tiny swapchain
images.
Fixes: fc50fb35b0
("tu,freedreno: Enable linear mipmap tail for UBWC images")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34628 >
2025-04-22 19:48:43 +00:00
Connor Abbott
ee10938bee
tu: Fix flushing when using a staging buffer for copies
...
When doing the flushing, I forgot that because the staging buffer can be
used with different formats with different cpp, we need to make sure
that CCU is properly flushed and invalidated between each copy to the
staging buffer to prevent stale cache entries from creeping in, as the
CCU seems to rely on the cpp staying the same, even on a7xx which
dropped some of the other restrictions like using the same RT
index/layer. For "normal" user-visible copies this is done via
transitioning from UNDEFINED.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34611 >
2025-04-22 19:23:53 +00:00
Eric Engestrom
0a41200f82
pick-ui: add missing dependency
...
Somehow I forgot to commit this line 🤦
Fixes: c37a468a8a
("pick-ui: make `Backport-to: 25.0` backport to 25.0 *and more recent release branches*")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34657 >
2025-04-22 19:20:09 +00:00
Aleksi Sapon
501ed5be49
lp: fix gnu-empty-initializer warning
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34655 >
2025-04-22 18:56:37 +00:00
Mary Guillemard
8d2e16cc11
panvk: reset dyn_bufs map count to 0 in create_copy_table
...
We were forgetting to reset the map count to 0 in case of dyn_bufs in
create_copy_table.
This was causing invalid copy entries to be added to the table causing
invalid copies in most situation with holes in the set definition while
still binding set 0 or at worst an assert to be triggered in
cmd_fill_dyn_bufs.
This fixes "dEQP-GLES3.functional.ubo.*" and
dEQP-GLES31.functional.ubo.*" on PanVK+ANGLE.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: e350c334b6
("panvk: Extend the descriptor lowering pass to support Valhall")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34652 >
2025-04-22 17:33:02 +00:00
Caio Oliveira
6901f74fbf
intel/executor: Reorganize -h and --help
...
Using -h will show a summarized view of the options, functions and
macros. Using --help will open `man` with the longer contets,
which is more convenient to search and gives a little bit of
formatting.
This scheme is similar to what is done for git subcommands, e.g.
`git commit -h` and `git commit --help`.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34268 >
2025-04-22 17:14:22 +00:00
Faith Ekstrand
d383d78e8c
nvk: Maxwell+ is now conformant
...
This advertises Vulkan 1.4 conformance for Maxwell+ GPUs as well as
enabling Vulkan on them by default.
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34582 >
2025-04-22 16:54:50 +00:00
Georg Lehmann
8f3489f351
aco/isel: create WMMA with constant C matrix if possible
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:57 +00:00
Georg Lehmann
4fa3fb87c7
aco/insert_NOPs: allow WMMA with constant C matrix
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:56 +00:00
Georg Lehmann
c3964e87f8
radv: apply fneg/fabs modifiers to wmma
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:55 +00:00
Georg Lehmann
6d7e67d986
nir,amd: add neg_lo/hi modifiers to cmat_matmul_amd
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:55 +00:00
Georg Lehmann
b0c8f31600
aco: set opsel_hi to 1 for WMMA
...
This is ignored by the hardware but LLVM requires it to disassemble GFX12 WMMA.
Cc: mesa-stable
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:54 +00:00
Mike Blumenkrantz
5f3a3740dc
zink: use util_dynarray_resize_zero() for descriptor pool
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34654 >
2025-04-22 15:29:34 +00:00
Mike Blumenkrantz
7b17dbd0c0
util/dynarray: add util_dynarray_resize_zero()
...
convenience function(s) to zero the new allocation and avoid bugs
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34654 >
2025-04-22 15:29:34 +00:00
Tomeu Vizoso
a99e5be446
teflon: Release the arrays of tensors in operations
...
We were leaking the arrays themselves. Also reorder the dereferencing of
the tensors to get the lifecycle right.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
63251d43ae
etnaviv: Release screen->dummy_desc_reloc.bo
...
We are currently trying to release twice the same dummy BO, while
leaking the other one.
Fixes: bca5ef70a4
("etnaviv: split dummy RT backing store from reloc")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
113143a470
teflon/tests: Read model data with mmap, for speed
...
It was being a bit uncomfortable testing big models otherwise.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
baafa9172a
etnaviv/ml: Rework tensor addition on V8
...
Though the V7 approach works most of the time on V8, there are some
situations in which we generate incorrect instructions but we don't know
why it doesn't work on V8.
This commit brings this driver's behavior more in line with the
proprietary driver's behavior and fixes those instances.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
104309ede3
etnaviv/ml: Support padding the channels dimension
...
Extend the TP job for padding.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
4a951a73e7
teflon: Support more Pad configurations
...
Add support for padding along the channels dimension.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
c31ce2d71f
etnaviv/ml: Fix depthwise convolutions
...
Those with padding, stride and input smaller than the kernel size.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Georg Lehmann
3e26fc4498
nir/opt_algebraic: disable fsat(a + 1.0) opt if a can be NaN
...
Foz-DB Navi21:
Totals from 9 (0.01% of 79789) affected shaders:
Instrs: 6782 -> 6796 (+0.21%); split: -0.03%, +0.24%
CodeSize: 40020 -> 40108 (+0.22%); split: -0.04%, +0.26%
Latency: 23764 -> 23758 (-0.03%)
InvThroughput: 6424 -> 6431 (+0.11%); split: -0.08%, +0.19%
SClause: 273 -> 275 (+0.73%)
Copies: 338 -> 339 (+0.30%)
VALU: 5138 -> 5147 (+0.18%); split: -0.06%, +0.23%
SALU: 349 -> 350 (+0.29%)
SMEM: 498 -> 500 (+0.40%)
Fixes: a4a3487aae
("nir/opt_algebraic: optimize patterns from Skia")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:05 +00:00
Georg Lehmann
a60d61cce8
nir: improve fadd is_a_number analysis by using the range
...
Foz-DB Navi21:
Totals from 145 (0.18% of 79789) affected shaders:
Instrs: 168553 -> 168391 (-0.10%); split: -0.10%, +0.00%
CodeSize: 926708 -> 926684 (-0.00%)
Latency: 2210456 -> 2210329 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 545992 -> 545768 (-0.04%)
SClause: 3084 -> 3085 (+0.03%)
VALU: 129521 -> 129360 (-0.12%)
SALU: 13085 -> 13084 (-0.01%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:05 +00:00
Georg Lehmann
a6fd9f488a
nir: add is_a_number analysis for ffma
...
Foz-DB Navi21:
Totals from 508 (0.64% of 79789) affected shaders:
Instrs: 796183 -> 795838 (-0.04%)
CodeSize: 4303420 -> 4303384 (-0.00%); split: -0.00%, +0.00%
Latency: 7806095 -> 7805458 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 1377028 -> 1376824 (-0.01%); split: -0.01%, +0.00%
Copies: 63297 -> 63299 (+0.00%); split: -0.00%, +0.00%
PreVGPRs: 29818 -> 29819 (+0.00%)
VALU: 562067 -> 561885 (-0.03%); split: -0.03%, +0.00%
SALU: 89896 -> 89733 (-0.18%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:05 +00:00
Georg Lehmann
cb6d035925
nir: add range analysis for ffmaz
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:05 +00:00
Georg Lehmann
8ad695195e
nir/opt_algebraic: turn exact fmin(1.0, a) into fsat if a is not NaN and not negative
...
Foz-DB Navi21:
Totals from 2456 (3.08% of 79789) affected shaders:
Instrs: 3415398 -> 3413352 (-0.06%); split: -0.06%, +0.00%
CodeSize: 18781096 -> 18776092 (-0.03%); split: -0.03%, +0.00%
VGPRs: 158512 -> 158528 (+0.01%)
Latency: 39528900 -> 39526687 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 10612237 -> 10609296 (-0.03%); split: -0.03%, +0.00%
VClause: 71028 -> 71034 (+0.01%)
SClause: 93971 -> 93975 (+0.00%); split: -0.00%, +0.01%
Copies: 257525 -> 257521 (-0.00%); split: -0.01%, +0.01%
VALU: 2483374 -> 2481325 (-0.08%); split: -0.09%, +0.00%
SALU: 348207 -> 348211 (+0.00%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:04 +00:00
Georg Lehmann
18a0de1834
nir/opt_algebraic: optimize fmax(ffma(a, b, c), 0.0) to fsat
...
Foz-DB Navi21:
Totals from 2621 (3.28% of 79789) affected shaders:
MaxWaves: 55744 -> 55736 (-0.01%)
Instrs: 2840180 -> 2832647 (-0.27%); split: -0.27%, +0.00%
CodeSize: 15497364 -> 15464692 (-0.21%); split: -0.21%, +0.00%
VGPRs: 138448 -> 138456 (+0.01%)
Latency: 22319512 -> 22307018 (-0.06%); split: -0.06%, +0.01%
InvThroughput: 5745108 -> 5729197 (-0.28%); split: -0.28%, +0.00%
Copies: 110279 -> 110268 (-0.01%); split: -0.04%, +0.03%
VALU: 2210578 -> 2203211 (-0.33%); split: -0.33%, +0.00%
SALU: 169014 -> 168841 (-0.10%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:04 +00:00
Georg Lehmann
f71fc26393
nir/opt_algebraic: generalize fmax(fadd(a, b), 0.0) to fsat by not requiring fneg
...
Not a large effect, but it's positive and makes the pattern simpler.
Foz-DB Navi21:
Totals from 1 (0.00% of 79789) affected shaders:
Instrs: 145 -> 138 (-4.83%)
CodeSize: 784 -> 756 (-3.57%)
Latency: 1495 -> 1487 (-0.54%)
InvThroughput: 210 -> 196 (-6.67%)
VALU: 103 -> 96 (-6.80%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:04 +00:00
Alyssa Rosenzweig
1050c69833
libagx: drop libagx_sub_sat
...
should optimize in nir if needed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
bfc18b6fb1
libagx: drop libagx_popcount
...
use the common
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
9c4660d1a6
libagx: use #pragma once in geometry.h
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
63a2831967
agx/nir_lower_tess: drop dead todo
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
41960652e1
agx/nir_lower_tess: drop pointless helpers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
2a065fc446
agx/nir_lower_gs: use common nir_verts_in_output_prim
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
ea209c98fc
agx/nir_lower_gs: drop silly fwd decl
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
ba9f86df51
agx/nir_lower_gs: privatize lower_output_to_var_state
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
d42a92fd93
agx/nir_lower_gs: clean up more state->info
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
470f226ed8
agx/nir_lower_gs: remove silly comment
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
1017095c5a
agx/nir_lower_gs: clean up state/info duplication
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
753e3ba55b
asahi,hk: use indirect-local dispatches for GS
...
this gets us good workgroup sizes even for indirect draws with GS.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
70c805d863
hk: bump wg sizes for geometry shader
...
match GL driver, should help perf.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
164fc8a158
agx/nir_lower_gs: clean comment
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
b9b6828fda
agx/nir_lower_gs: optimize static topologies
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
3da8939197
libagx: factor out _libagx_end_primitive
...
so we can use from the cpu.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
d2cc7f38d3
asahi: optimize out empty dispatches
...
this occurs with GS lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
b916c38c76
hk: optimize out empty dispatches
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
f6ee36a437
agx: add agx_is_shader_empty helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
f1aeb46a34
nir: factor out nir_verts_in_output_prim helper
...
very useful for geometry shader lowering code.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Vignesh Raman
6c33b1e8c1
ci: replace s3_upload wrapper with ci-fairy s3cp
...
Now that ci-fairy s3cp works, replace the s3_upload curl wrapper with
ci-fairy s3cp command.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34550 >
2025-04-22 11:17:16 +00:00
Vignesh Raman
4b3b3d4c70
ci: use MESA_TEMPLATES_COMMIT for ci-fairy install
...
Use MESA_TEMPLATES_COMMIT instead of hard-coding the commit hash in
pip install ci-fairy.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34550 >
2025-04-22 11:17:16 +00:00
Vignesh Raman
c4aeef02e2
ci: bump ci-templates
...
This is required for ci-fairy s3cp to work.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34550 >
2025-04-22 11:17:16 +00:00
Jayanth Vutukuri
ba64e92641
Add libzstd static library.
...
From AOSP 15, getting linking error as
"ld.lld: error: undefined symbol: ZSTD_*" during compilation.
libzstd will link as static library to libelf and this libelf
is being included in mesa3d.
https://android-review.googlesource.com/c/platform/external/elfutils/+/2826411
is the patch from AOSP which is causing build issue.
Signed-off-by: Jayanth Vutukuri <Jayanth.Vutukuri@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34522 >
2025-04-22 11:08:10 +00:00
Boris Brezillon
de78a75f13
panvk: Set .pushDescriptor=true
...
We already claim support for VK_KHR_push_descriptor, so we de-facto
support pushDescriptor.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34640 >
2025-04-22 09:09:57 +02:00
Boris Brezillon
5b7e5db149
panvk: Advertise support for VK_EXT_vertex_input_dynamic_state
...
This is already supported, nothing to do here.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34640 >
2025-04-22 09:09:48 +02:00
Yinjie Yao
2b5ca87927
gallium/pipe: Increase hevc max slice to 600
...
According to the spec, increase max supported slices of hevc to 600.
Cc: mesa-stable
Signed-off-by: Yinjie Yao <yinjie.yao@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34632 >
2025-04-22 06:14:21 +00:00
Mel Henning
0f65c858ea
nak: Add test for lea disasm.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
5f5cb088a9
nak: Disable cbuf textures on blackwell
...
There are bound texture forms on blackwell, but they don't correspond
directly to the cbuf textures we have on sm70. Switch to only bindless
for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
fd90b072f1
nak: sm100+ texture encodings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
f70b7d10c2
nak: Fix sm90+ atomg/redg encoding
...
and add a test for ld, st, atom
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
869452aaf0
nak: Remove range parameter from set_atom_type
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
2b82184250
nak: Add nvdisasm_tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
d31172d092
nvk: Remove dead function nvk_meta_init_render
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34644 >
2025-04-21 22:23:33 +00:00
Mel Henning
2fc4c98aaf
nvk: Override render enable for blits and resolves
...
Fixes cts tests:
dEQP-VK.conditional_rendering.conditional_ignore.blit_image
dEQP-VK.conditional_rendering.conditional_ignore.blit_image_inverted
dEQP-VK.conditional_rendering.conditional_ignore.resolve_image
dEQP-VK.conditional_rendering.conditional_ignore.resolve_image_inverted
which were introduced in vk-gl-cts commit 4aa277c300
Fixes: 32f2317223
("nvk: Use meta for doing blits with the 3D hardware")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34644 >
2025-04-21 22:23:33 +00:00
Mel Henning
52085f2a0e
nvk: SET_STATISTICS_COUNTER at start of meta_begin
...
Ideally, begin/end should be roughly symmetric - the initialization
order should be the reverse of the teardown order.
Fixes: 6f85e6b06b
("nvk: Disable statistics around meta ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34644 >
2025-04-21 22:23:33 +00:00
Lina Versace
1bf8542490
anv: Enable VK_EXT_external_memory_acquire_unmodified
...
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Change-Id: If0480721f7f1fceec093e4ab7b5c9b712eb62ba1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32295 >
2025-04-21 13:55:32 -07:00
Lina Versace
3613b9c4f7
anv: Fix comment about external queue transitions
...
Not all images with DRM format modifiers use
ANV_IMAGE_MEMORY_BINDING_PRIVATE.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Change-Id: Idc6bae70ec7080f96555a85dcdc0ead915b02935
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32295 >
2025-04-21 13:55:27 -07:00
Lina Versace
e87a04c6c1
anv: Assert that only external images have private bindings
...
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Change-Id: If2f18d88d48f70a58e236080632e72afb94f5e0b
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32295 >
2025-04-21 13:55:08 -07:00
Sagar Ghuge
0463e14b94
anv: Enable 64bit memory structure mode for RT
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Kevin Chuang
703f29874b
intel/bvh/debug: Adapt instance leaf dumping to support 64-bit RT
...
Adding a boolean "enable_64b_rt" in anv_accel_struct_header for the
interpret.py to properly decode anv_instance_leaf
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Kevin Chuang
cbc8af4555
intel/bvh: Compile and adapt bvh shaders separately into Xe1/2 and Xe3+
...
This change separate the encode, header, and copy shader into versions
for Xe1/2 and Xe3+, including adding compile options and handling 64bit
version of instance leaf for Xe3+.
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
36433e932b
intel/rt: Update BVH instance leaf load for Xe3+
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
5cd0f4ba2f
intel/compiler: Update MemRay data structure to 64-bit
...
Rework: (Kevin)
- Fix miss_shader_index offset
- Handle hit group index
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Kevin Chuang
7b526de18f
intel/compiler/rt: Calculate barycentrics on demand
...
This commit moves the calculation of tri_bary out of
brw_nir_rt_load_mem_hit_from_addr(), and only do the calculation on
demand, since unorm_float_convert can be expensive. We do this for both
Xe1/2 and Xe3+ for consistency.
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
afc23dffa4
intel/compiler: Update MemHit data structure to 64-bit version
...
Rework (Kevin):
- Fix inst leaf ptr
- Handle 24bit unorm barycentric coord
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Kevin Chuang
40fb95d51a
intel/compiler: Use 24bits for hit_kind on Xe3+
...
For Xe3+, the upper 8 bits of the second dword of a potential hit is
used to store hitGroupIndex0, which is stuffed by the HW. This
hitGroupIndex0 will later be used by the HW again to reconstruct the
whole hitGroupIndex when driver issues a TRACE_RAY_COMMIT.
We were corrupting this hitGroupIndex0 at the driver by setting the
whole dword to hit_kind, which will cause the HW to read a wrong
hitGroupIndex and therefore invoke a wrong closest hit shader. The
behavior can be seen in
dEQP-VK.ray_tracing_pipeline.pipeline_no_null_shaders_flag.gpu.boxes.\*
and dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.\*
This commit changes the driver to only use lower 24bits to store the
hit_kind, and leave the upper 8bits as it.
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
64fd66407b
intel/compiler: Pass around intel_device_info parameter in helper
...
This will help us to handle code path separately for Xe3+ for updated
64bit memory data structure for RT.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
6deb1950a4
anv: Update RT dispatch globals to use 64bit data structure
...
Rework (Kevin)
- Fix Hit/Miss/Resume shader group table value
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
fcd5fe4a75
intel/genxml/xe3: Update 3STATE_BTD field
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Mary Guillemard
92afeb37bf
panfrost: Take tiler memory budget into account in pan_select_tiler_hierarchy_mask
...
On v12+, the hardware report support for 8 levels but
effectively only support up to 4 levels.
In case more than 4 levels are used, it will default to 0xAA when
tile_size is 32x32 or lower, otherwise 0xAC when the tile_size is greater than 32x32.
This patch makes it that we now ensure that the bins can fit inside out
tiler budget and otherwise drop levels until it fit.
This also allows the hardware to decide the hierarchy on v12+
if we know it will fit.
This fixes "dEQP-GLES31.functional.fbo.no_attachments.maximums.all" and
dEQP-GLES31.functional.fbo.no_attachments.maximums.size" on v12+ but
also likely more if we were exhausting the memory budget.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34559 >
2025-04-21 19:55:59 +02:00
Eric Engestrom
c643f62633
ci: bump to fedora 42
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34626 >
2025-04-21 16:05:11 +00:00
Eric Engestrom
2bcb55f3f6
aco: help clang 20 do some additions and subtractions
...
clang 20 complains:
../src/amd/compiler/aco_assembler.cpp:837:28: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
837 | vaddr[num_vaddr + i] = reg(ctx, instr->operands.back(), 8) + i + 1;
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/amd/compiler/aco_assembler.cpp:832:12: note: at offset 5 into destination object ‘vaddr’ of size 5
832 | uint8_t vaddr[5] = {0, 0, 0, 0, 0};
| ^~~~~
../src/amd/compiler/aco_assembler.cpp:837:28: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
837 | vaddr[num_vaddr + i] = reg(ctx, instr->operands.back(), 8) + i + 1;
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/amd/compiler/aco_assembler.cpp:832:12: note: at offset 6 into destination object ‘vaddr’ of size 5
832 | uint8_t vaddr[5] = {0, 0, 0, 0, 0};
| ^~~~~
../src/amd/compiler/aco_assembler.cpp:837:28: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
837 | vaddr[num_vaddr + i] = reg(ctx, instr->operands.back(), 8) + i + 1;
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/amd/compiler/aco_assembler.cpp:832:12: note: at offset 7 into destination object ‘vaddr’ of size 5
832 | uint8_t vaddr[5] = {0, 0, 0, 0, 0};
| ^~~~~
But `i < MIN2(instr->operands.back().size() - 1, 5 - num_vaddr)` means `i` is
at most `5 - num_vaddr - 1`, which means `vaddr[num_vaddr + i]` =>
`vaddr[num_vaddr + 5 - num_vaddr - 1]` => `vaddr[5 - 1]` => `vaddr[4]` which
is within the valid indices.
For some reason, using signed `int` instead allows clang to figure this
out, so let's do that since we don't need the extra range.
While at it, use ARRAY_SIZE(vaddr) instead of hard-coding the same `5`
in several places.
Backport-to: 25.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34625 >
2025-04-21 15:16:02 +00:00
Eric Engestrom
b59b53e824
ci: uprev vkd3d-proton
...
078f07f588...7eef0a64e3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34356 >
2025-04-21 11:50:57 +00:00
Eric Engestrom
55199d988a
turnip/ci: drop skip of test_vrs_depth_write_dxbc as it no longer hangs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34356 >
2025-04-21 11:50:57 +00:00
Eric Engestrom
fec01a11d4
ci/vkd3d: drop unused 32-bit build
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34356 >
2025-04-21 11:50:57 +00:00
David Rosca
5ccf28ce1b
radeonsi/uvd_enc: Move all code to radeon_uvd_enc.c
...
Also get rid of function pointers.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34450 >
2025-04-21 10:43:04 +00:00
David Rosca
d9f214001b
radeonsi/vce: Move all code to radeon_vce.c
...
Also get rid of function pointers and remove dump_feedback.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34450 >
2025-04-21 10:43:03 +00:00
David Rosca
b0b52d4922
radeonsi/vcn: Fix decode target index for H264 interlaced streams
...
With H264 the target surface can also be in the reference list for
current frame, so it can only be inserted into the DPB list after
iterating over all references.
Fixes: 0e68a2655f
("radeonsi/vcn: Rework decode ref handling")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34527 >
2025-04-21 10:00:29 +00:00
Job Noorman
bde3ab4cd3
ir3/isa: add nop encoding for bary.f/flat.b
...
We already use it in legalize but the disassembler didn't display it
yet.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34618 >
2025-04-21 08:20:49 +00:00
Faith Ekstrand
cd953a7dfa
nak/sm20: Use the immediates instead of rZ in OpShfl
...
For some reason, shfl doesn't seem to like rZ. I have no idea why but
shfl.up pt, r5, r5, r3, 0x0
works fine but
shfl.up pt, r5, r5, r3, rz
does not. Fortunately, this is pretty easy to handle in the generator
by just using `as_u32()` instead of the AluSrc hack I did before.
Fixes: 608eef01d6
("nak/sm20: Add subgroup ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34624 >
2025-04-20 13:43:24 -05:00
Faith Ekstrand
0b8359e159
nak/sm20: Fix legalization of float source types
...
Fixes: 142fb563c4
("nak/sm20: Improve folding of ffma and dfma")
Fixes: a3330f1d46
("nak/sm20: Add float ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34622 >
2025-04-20 09:45:43 -05:00
Faith Ekstrand
a2caf95c50
nak: Handle OpFRnd in is_fp64()
...
Fixes: b27fc463da
("nak: Record and set DOES_FP64 in the SPH")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34622 >
2025-04-20 09:45:43 -05:00
Marek Olšák
4a51089f30
radv: fix incorrect patch_outputs_read for TCS with dynamic state
...
Fixes: 8c2f9f0665
- radv: switch to the new TCS LDS/offchip size computation
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
2948f7ce96
ac/gpu_info: rename tess ring variables, fold double_offchip_wg
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
d2e016c37d
ac/nir: don't store tess levels for TES in TCS if no_varying is set
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
be8977811b
ac/nir: remove shader_info parameter from ac_nir_compute_tess_wg_info
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
6d9e708642
ac/gpu_info: reduce the tess offchip ring size and compute it proportionately
...
.. to the CU count. We allocated too much.
This reduces the tess offchip ring size as follows (examples):
- GFX11-12:
- Navi31, Navi33, and Navi48 get 75% decrease.
- Navi32 gets 68.75% decrease.
- Phoenix gets 81.25% decrease.
- Phoenix2 gets 93.75% decrease.
- GFX10.3:
- Navi21 and Navi22 get 37.5% decrease.
- Navi23 and Navi24 get 50% decrease.
- Rembrandt gets 62.5% decrease.
- VanGogh gets 75% decrease.
- Raphael gets 93.75% decrease.
- GFX8-9:
- Vega10 gets 0% decrease.
- Vega20 gets 49.6% decrease.
- Raven gets 65.3% decrease.
- Raven2 gets 93.7% decrease.
- Stoney gets 81% decrease.
No difference in performance was measured.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
9333c0a1ed
ac/gpu_info: compute the tess factor ring size proportionately to the CU count
...
No change in the size on GPUs with 16 CUs per SE such as Navi31 and Navi48.
Navi21 and Navi32 get 25% increase. (20 CUs per SE)
APUs get a significant decrease. For example:
- Phoenix gets 25% decrease
- Vangogh gets 50% decrease
- Phoenix2 gets 75% decrease
- Raphael and Stoney get 87.5% decrease
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
5fb2de9454
ac/nir: don't include TCS offchip size in LDS_SIZE
...
This drastically reduces LDS usage for TCS.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
b8f2fb81f6
ac/gpu_info: print tessellation ring info
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
b8d15fee3d
ac: minor cleanup of ac_compute_num_tess_patches
...
No change in behavior.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
a905a17f39
ac: use HS offchip wg size from radeon_info in ac_compute_num_tess_patches
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
d82eda72a1
ac/gpu_info: move HS info into radeon_info
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
ea294349bd
radv: move the tess factor ring after the tess offchip ring
...
to match radeonsi
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:54:59 -04:00
Marek Olšák
c057d9105f
ac/gpu_info: add total_tess_ring_size
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:54:59 -04:00
Marek Olšák
97119d980c
ac/gpu_info: clean up ac_get_hs_info, use standard terms like workgroup
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:54:59 -04:00
Pierre-Eric Pelloux-Prayer
ac6351fd23
radeonsi/tests: use proper skip file
...
gbm-skips.txt has been renamed all-skips.txt in f9564e1754
("ci/piglit: Consolidate identical skip lists for X11 and gbm")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:54:59 -04:00
Janne Grunau
3d3ca9b65e
venus: virtgpu: Require stable wire format
...
When VMMs do not support VIRTGPU_DRM_CAPSET_VENUS the capset data
remains zeroed. By requiring the stable wire_format_version 1 this can
be detected early without initialising the renderer.
Avoids triggering `assert(capset->supports_blob_id_0);` in debug builds
under such circumstances.
Cc: mesa-stable
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34613 >
2025-04-19 21:02:17 +00:00
Yiwei Zhang
2a4675ee9f
venus: fix missing renderer destructions
...
With failed compatibility check, the created renderer must be destroyed
within vn_instance_init_renderer.
Cc: mesa-stable
Fixes: 25b8f4f714
("venus: handle device probing properly.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34613 >
2025-04-19 21:02:17 +00:00
Janne Grunau
39e4fd98ce
venus: Do not use instance pointer before NULL check
...
Fixes: a753f50668
("venus: break up vn_device.c")
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34613 >
2025-04-19 21:02:17 +00:00
Faith Ekstrand
7d3a99a46c
nak/sm20: Use the correct index field for OpS2R
...
It's 10 bits, not 6.
Fixes: 078ffb860b
("nak/sm20: Add initial SM20 encoding")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34619 >
2025-04-19 14:58:35 -05:00
Lorenzo Rossi
4d8d6a28c8
nak: Use s2r for SV_CLOCK on Kepler
...
cs2r is new starting with Maxwell. Prior to that we need to use s2r
which still works just fine, it's just slower.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34619 >
2025-04-19 14:58:35 -05:00
Faith Ekstrand
142fb563c4
nak/sm20: Improve folding of ffma and dfma
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34619 >
2025-04-19 11:06:19 -05:00
David Heidelberg
9855467ed0
docs: Rename distro to distribution
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32880 >
2025-04-19 15:52:17 +02:00
David Heidelberg
5251c82404
docs: Drop distro unmaintained and deprecated file.
...
Pretty much useless.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32880 >
2025-04-19 15:52:12 +02:00
Sushma Venkatesh Reddy
4084527876
intel/compiler: Always run opt_algebraic after descriptor_lowering
...
This change ensures that `brw_opt_algebraic` is always executed after
`brw_lower_send_descriptors` in `brw_opt.cpp`. By doing so, redundant
logical operations are optimized, resulting in cleaner and more
compact assembly output.
fossil-db results on LNL:
- Totals:
- Instructions: 215857290 -> 215857028 (-0.00%)
- Cycle count: 32008929636 -> 32008935384 (+0.00%); split: -0.00%, +0.00%
- Max live registers: 66940643 -> 66940557 (-0.00%)
- Affected shaders (104 out of 713963):
- Instructions: 31090 -> 30828 (-0.84%)
- Cycle count: 5955908 -> 5961656 (+0.10%); split: -0.16%, +0.26%
- Max live registers: 10888 -> 10802 (-0.79%)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34615 >
2025-04-19 07:05:54 +00:00
Faith Ekstrand
c0f56fc64c
nvk: Return an error for Kepler storage images instead of asserting
...
This lets us fail without restarting dEQP, making CTS runs faster.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Faith Ekstrand
f6b9d13a15
nak/sm20: Implement OpBar
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Faith Ekstrand
8401a60840
nak/sm20: Add double ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Faith Ekstrand
608eef01d6
nak/sm20: Add subgroup ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Faith Ekstrand
5a140e7c3e
nak/sm20: Add more memory ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Arunpravin Paneer Selvam
84f18f31ad
amdgpu: Add queue id support to the user queue wait IOCTL
...
Add queue id support to the user queue wait IOCTL
drm_amdgpu_userq_wait structure.
This is required to retrieve the wait user queue and maintain
the fence driver references in it so that the user queue in
the same context releases their reference to the fence drivers
at some point before queue destruction.
Otherwise, we would gather those references until we
don't have any more space left and crash.
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com >
Suggested-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34493 >
2025-04-18 21:55:53 +00:00
Iván Briano
949d2e507d
anv: expose promoted KHR_depth_clamp_zero_one
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34614 >
2025-04-18 21:31:37 +00:00
Lorenzo Rossi
ddbf2ec883
nak: Add a new OpFSwz and use it for derivatives on Kepler
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
309c48cbb7
nak/sm20: Add texture ops
...
The current NIR lowering is good for at least SM30+. When someone
decides to enable Fermi, we'll have to add lowering for it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
8d41221158
nak/nir: Use Kepler texture source ordering on SM30
...
SM30 (i.e. Kepler A) has Fermi's instruction encoding but it uses the
same texture source ordering as Kepler B. It also supports bindless,
unlike Fermi.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Lorenzo Rossi
b8c7d937fe
nak: Add OpTexDepBar
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
043995220a
nak/sm20: Add control-flow ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
9a62a76c46
nak/sm20: Add shader I/O ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
bdbe6447ed
nak/nir: Use Maxwell input interpolation for SM20+
...
It appears to be the same at least as far back as Kepler A.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
0105a75c53
nak/sm20: Add conversion ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
b27fc463da
nak: Record and set DOES_FP64 in the SPH
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
d249e7ddac
nak: Lower 64-bit shifts in NIR on Kepler A and earlier
...
SHF is introduced on Kepler B. Without it, there's nothing we can do
that's more efficient than NIR's lowering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
9fbf63b584
nak/sm20: Add integer ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
a3330f1d46
nak/sm20: Add float ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
078ffb860b
nak/sm20: Add initial SM20 encoding
...
This is enough to get all the hardware unit tests passing and run
dEQP-VK.api.smoke.triangle.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Alyssa Rosenzweig
84505c5d99
asahi: fix possible null deref
...
with indirect non-indexed draws.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34612 >
2025-04-18 18:34:55 +00:00
Alyssa Rosenzweig
b756e7da65
agx: delete more inots
...
noticed in dEQP-GLES31.functional.geometry_shading.input.basic_primitive.triangles
total instrs in shared programs: 2852257 -> 2850958 (-0.05%)
instrs in affected programs: 291488 -> 290189 (-0.45%)
total alu in shared programs: 2335534 -> 2334236 (-0.06%)
alu in affected programs: 236924 -> 235626 (-0.55%)
total fscib in shared programs: 2333895 -> 2332597 (-0.06%)
fscib in affected programs: 236924 -> 235626 (-0.55%)
total code size in shared programs: 20529508 -> 20520338 (-0.04%)
code size in affected programs: 2074254 -> 2065084 (-0.44%)
total gprs in shared programs: 901327 -> 901307 (<.01%)
gprs in affected programs: 756 -> 736 (-2.65%)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34612 >
2025-04-18 18:34:55 +00:00
Alyssa Rosenzweig
e541ffcbe8
hk: fix patch count = 0 handling
...
fixes fault in dEQP-VK.tessellation.misc_draw.triangles_no_patches
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34612 >
2025-04-18 18:34:55 +00:00
Daniel Lang
21b12b540f
etnaviv: hwdb: update gc_feature_database from NXP
...
Updates the existing gc_feature_database.h file with changes from
https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h
git commit: 1bb08951917684136bf0c61ce7391902b2d6518b
Removed fields:
- NN_ZDP18
- NN_TP_SYSTEM_FIX
- DPP_SUPPORT_REF_OUTPUT_CROPING
- RGB_TO_RAW
Renamed fields:
- SHADER_TRIGGER_NN -> TC_SHADER_TRIGGER_NN
Signed-off-by: Daniel Lang <dalang@gmx.at >
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34608 >
2025-04-18 19:07:52 +02:00
Daniel Lang
d7c957c474
etnaviv: hwdb: update gc_feature_database from ST
...
Updates the existing gc_feature_database.h file with changes from
https://github.com/STMicroelectronics/gcnano-binaries/blob/gcnano-6.4.19-binaries/gcnano-driver-stm32mp/hal/kernel/inc/gc_feature_database.h
git commit: 359d5007ef19575f6b8ca3071cf90d3848778ae7
Removed fields:
- NN_TP_SYSTEM_FIX
- NN_ZDP18
- NN_FP8
New entry for CNANOULTRA31_VIP2 (GC8000 rev 6205) with EcoID set to 1.
Signed-off-by: Daniel Lang <dalang@gmx.at >
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34608 >
2025-04-18 19:07:20 +02:00
Job Noorman
e7c6037d12
ir3: use opt_shrink_vectors
...
This is useful to remove unused components from IO loads. This is not
only helpful for reducing the size of memory loads, but also for reducing
register pressure (as we need smaller vector registers).
Totals from 55567 (33.76% of 164575) affected shaders:
MaxWaves: 665780 -> 666690 (+0.14%); split: +0.15%, -0.01%
Instrs: 30850106 -> 30825516 (-0.08%); split: -0.33%, +0.25%
CodeSize: 62502952 -> 62336580 (-0.27%); split: -0.42%, +0.15%
NOPs: 5468972 -> 5463654 (-0.10%); split: -1.39%, +1.30%
MOVs: 1078607 -> 1060627 (-1.67%); split: -3.48%, +1.81%
Full: 807907 -> 805134 (-0.34%); split: -0.49%, +0.15%
(ss): 755846 -> 747963 (-1.04%); split: -2.51%, +1.46%
(sy): 367032 -> 363947 (-0.84%); split: -1.88%, +1.04%
(ss)-stall: 2907874 -> 2900183 (-0.26%); split: -1.97%, +1.71%
(sy)-stall: 10812082 -> 10599944 (-1.96%); split: -3.43%, +1.47%
STPs: 23062 -> 22980 (-0.36%)
LDPs: 35076 -> 32286 (-7.95%)
Preamble Instrs: 6668422 -> 6612037 (-0.85%); split: -1.35%, +0.51%
Early Preamble: 36055 -> 36169 (+0.32%); split: +0.32%, -0.01%
Cat0: 6015654 -> 6009409 (-0.10%); split: -1.29%, +1.18%
Cat1: 1631110 -> 1610537 (-1.26%); split: -2.54%, +1.28%
Cat2: 11783599 -> 11783634 (+0.00%); split: -0.02%, +0.02%
Cat3: 8198147 -> 8198526 (+0.00%); split: -0.00%, +0.01%
Cat5: 968517 -> 967899 (-0.06%); split: -0.06%, +0.00%
Cat6: 349200 -> 351795 (+0.74%); split: -0.01%, +0.75%
Cat7: 1009072 -> 1008909 (-0.02%); split: -0.58%, +0.56%
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34600 >
2025-04-18 15:56:02 +00:00
Job Noorman
f269c7b3b5
nir/opt_shrink_vectors: enable for load_ubo_vec4
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34600 >
2025-04-18 15:56:02 +00:00
Samuel Pitoiset
792c30dd32
radv/meta: remove redundant parameter to blit_surf_for_image_level_layer()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Samuel Pitoiset
a3f2c5f05e
radv/meta: remove unnecessary radv_meta_blit2d_buffer::bs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Samuel Pitoiset
78c2feed00
radv/meta: rename more buffer->memory for fill/copy/update operations
...
Recently, I renamed most of the helpers for future work but I forgot
few things like meta keys, etc.
This is for consistency.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Samuel Pitoiset
43c8cb1ae2
radv/meta: remove unused functions/prototypes
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Samuel Pitoiset
78f03dcf70
radv/meta: simplify dealing with image layouts for blits/resolves
...
This doesn't do anything useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Alyssa Rosenzweig
0140b7ba57
agx: remove silly cls argument
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34595 >
2025-04-18 13:39:27 +00:00
Alyssa Rosenzweig
b1e86b3eae
agx: early-kill sources only if it won't shuffle
...
rather than always early killing and then hitting pathological shuffle
situations, only early-kill when we can prove that we won't need to shuffle. it
turns out that's most of the time.
even with this heuristic, we still get hurt bad in shader-db due to extra moves.
but hopefully, the #s here are small enough that we can move on with our lives
and fix this source of known unsoundness.
this is tagged for backport as it's needed to avoid a perf regression with the
previous patch.
combined stats from this commit and the previous commit:
total instrs in shared programs: 2846065 -> 2852257 (0.22%)
instrs in affected programs: 618734 -> 624926 (1.00%)
total alu in shared programs: 2329477 -> 2335534 (0.26%)
alu in affected programs: 508119 -> 514176 (1.19%)
total gprs in shared programs: 894762 -> 901327 (0.73%)
gprs in affected programs: 36946 -> 43511 (17.77%)
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34595 >
2025-04-18 13:39:27 +00:00
Alyssa Rosenzweig
b88fe9b0c5
agx: late-kill sources
...
shader-db stats combined with next commit. this is the rip off the bandaid, next
is the optimize. split to enable bisecting.
the code we have to shuffle clobbered killed sources is broken and, after
thinking about that for a Long time, I don't see a reasonable way to fix it. But
if we late-kill sources - or model our calculations as-if we were late-killing
souces - we never have to shuffle onto a killed source and the problem goes away
entirely.
this is similar in spirit to what NAK does. it's not "optimal", but it's sane.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34595 >
2025-04-18 13:39:27 +00:00
Alyssa Rosenzweig
7fad96d194
agx: model sources as late-kill in demand calcs
...
This hurts us in two ways:
* slightly more spilling (not actually a big problem)
* slightly worse occupancy (the shaders that are "helped" here are from trying
less hard to fit at higher occupancy levels)
However, in exchange we get a LOT more flexibility in the RA.
total instrs in shared programs: 2847015 -> 2846065 (-0.03%)
instrs in affected programs: 84134 -> 83184 (-1.13%)
total alu in shared programs: 2330406 -> 2329477 (-0.04%)
alu in affected programs: 62305 -> 61376 (-1.49%)
total code size in shared programs: 20497326 -> 20491690 (-0.03%)
code size in affected programs: 586664 -> 581028 (-0.96%)
total gprs in shared programs: 894202 -> 894762 (0.06%)
gprs in affected programs: 8900 -> 9460 (6.29%)
total scratch in shared programs: 13292 -> 13304 (0.09%)
scratch in affected programs: 2924 -> 2936 (0.41%)
total threads in shared programs: 27819712 -> 27814272 (-0.02%)
threads in affected programs: 55296 -> 49856 (-9.84%)
total spills in shared programs: 907 -> 914 (0.77%)
spills in affected programs: 419 -> 426 (1.67%)
total fills in shared programs: 857 -> 862 (0.58%)
fills in affected programs: 389 -> 394 (1.29%)
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34595 >
2025-04-18 13:39:27 +00:00
Danylo Piliaiev
cc7aa31b30
ir3,tu,freedreno: Allow more tex coord interpolations for prefetch
...
FS tex prefetch reads tex coords from r0.x, and it doesn't care
what interpolation they have. Thus we can allow all interpolations
which HLSQ_CONTROL_3_REG/HLSQ_CONTROL_4_REG support. Which would
be: (pixel, centroid, sample) x (nopersp, persp). So all but FLAT
are supported.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34422 >
2025-04-18 13:12:03 +00:00
Danylo Piliaiev
c4c7482a90
ir3: Move nir_intrinsic_barycentric_sysval to common ir3
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34422 >
2025-04-18 13:12:03 +00:00
Eric Engestrom
33caee7dfe
glx: drop dead GL_LIB_NAME define
...
Fixes: 5b89be3545
("glx: Don't try to dlopen ourselves")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34602 >
2025-04-18 12:14:11 +00:00
Rohan Garg
a5033c54e7
anv: use the common function for detecting a mesh shader stage
...
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/34604 >
2025-04-18 10:08:22 +00:00
Rohan Garg
9b477eea19
intel/compiler: use a immediate when doing the shift
...
We can pass immediates to SHL and don't need to allocate a separate
register here.
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/34604 >
2025-04-18 10:08:22 +00:00
Yogesh Mohan Marimuthu
e63b24bee8
ac,radeonsi: clear_state is not supported in user queue
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34370 >
2025-04-18 07:45:33 +00:00
Yogesh Mohan Marimuthu
61fd80a42e
ac,winsys/amdgpu: get userq_ip_mask supported from kernel info ioctl
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34370 >
2025-04-18 07:45:33 +00:00
Yogesh Mohan Marimuthu
b9054115d4
amd: update amdgpu_drm.h for userq info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34370 >
2025-04-18 07:45:33 +00:00
Adam Jackson
5b89be3545
glx: Don't try to dlopen ourselves
...
The intention here, long ago, was to ensure that any symbols the DRI
driver needed from libGL were available. We don't have this problem
anymore, libgallium does not import any symbols from the GLX frontend
(or any other one for that matter).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30417 >
2025-04-18 07:14:56 +00:00
Adam Jackson
9a610c5ab9
loader: Use RTLD_LOCAL not RTLD_GLOBAL
...
The gallium driver does not expose any symbols that anybody else wants
to see. But if we load it with RTLD_GLOBAL that's what happens, along
with all the symbols in the libraries it depends on.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30417 >
2025-04-18 07:14:56 +00:00
Samuel Pitoiset
bc811a602e
radeonsi: fix configuring compute scratch
...
Missed the two different variables for graphics vs compute.
Fixes: e433a57650
("ac,radeonsi: rework computing scratch wavesize and tmpring register")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34586 >
2025-04-18 06:50:16 +00:00
Valentine Burley
6b1f30f359
ci: Fix Android container structured tagging checks
...
Structured tagging is used to verify the checksum of the component we're
building. In Android's case, this is currently only used for ANGLE.
Move the build-time check to the debian/x86_64_test-android container,
where ANGLE is built.
Previously, having this definition in .android-variables meant that every
Android test job inherited the ANGLE_TAG variable, making it impossible to
use Mesa as the GLES driver in CI.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34572 >
2025-04-18 06:13:13 +00:00
Valentine Burley
b2490e5816
ci: Uncollapse yaml-toml-shell-py-test log sections
...
This job checks for errors in various scripts and files, so show its
output in the logs for easier debugging.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34572 >
2025-04-18 06:13:11 +00:00
Eric Engestrom
519e329cd6
ci: bump apitrace
...
More dlopen fixes for !30417 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34599 >
2025-04-18 05:24:38 +00:00
Juston Li
762b749f9f
driconf: enable custom_border_colors_without_format for ANGLE-on-anv
...
custom_border_colors_without_format was disabled on android for anv to
add support for VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/12511#note_2749432
ANGLE's vulkan backend needs custom_border_colors_without_format for
EXT_texture_border_clamp which is required for
GL_ANDROID_extension_pack_es31a so enable it when run under ANGLE which
doesn't utilize VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT.
Signed-off-by: Juston Li <justonli@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34490 >
2025-04-17 22:14:57 +00:00
GKraats
995dc61bf5
EGL: legacy-x11=dri2 should support hardware driver
...
Since MR !33891 EGL only supports a software driver (LLVM).
Routine dri3_x11_connect at
src/egl/drivers/dri2/platform_x11.c fails if DRI3 is not
available. So at that location variable *allow_dri2 should be set.
Looking at the major codition, we see it is not executed
if LIBGL_DRI3_DISABLE is set. In that case the hardware driver
is activated as desired. Previously this was not needed.
Also it is not practical, and not necessary.
I do not understand the major condition, so I did not change it.
This causes some duplicate coding.
Fixes: 323bad6b18
("egl/x11: split out dri2 init entirely")
Signed-off-by: GKraats <vd.kraats@hccnet.nl >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34530 >
2025-04-17 21:37:58 +00:00
Konstantin Seurer
76031ba53d
radv: Optimize the gfx12 encode shader
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
97f6287827
radv: Use the BVH8 format on GFX12
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
95e7343a7d
radv/bvh: Add helpers for encoding
...
The build and update paths can use the same code.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
3af19f336c
radv/bvh: Document GFX12 BVH encoding
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
2942e3affb
radv/rra: Set rra_accel_struct_header::rtip_level
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
fa99eeb2b4
radv/rra: Move gfx10_3 specific code to a new file
...
gfx12 needs completely different code and having them in different files
is cleaner.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
9d157173b2
radv: Refactor create_bvh_descriptor
...
Make it a bit more extendable since GFX12 introduced more fields.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
978e9b670e
aco,nir: Add support for new GFX12 ray tracing instructions
...
Adds image_bvh_dual_intersect_ray and image_bvh8_intersect_ray which can
handle the new BVH format. Both instructions write up to 10 VGPRs so
they need to use a vec16 definition in nir.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Natalie Vock
ee0f784858
aco/ra: Don't consider precolored ops/defs in get_reg_impl
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Natalie Vock
b9e506afd4
aco: Add support for multiple definitions in emit_mimg
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Natalie Vock
f309d76aab
aco: Add support for multiple ops fixed to defs
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
fe739a2da2
ac: Add rt_version
...
rt_version describes which generation of RT capabilities a chip has.
This matches what PAL does.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
c33e598f39
vulkan: Add vk_ir_header::dst_leaf_node_offset
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
2dee1117b7
vulkan: Add a vk_device parameter to get_encode_key
...
Useful for selecting different encoding options based on hardware
generation.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
0cc9443e9b
util: Add BITSET_EXTRACT
...
Extracts a <=32 bit range from a bitset.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Eric Engestrom
c37a468a8a
pick-ui: make Backport-to: 25.0
backport to 25.0 *and more recent release branches*
...
It is what developers expect, so make the code match it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34580 >
2025-04-17 20:13:41 +00:00
Jesse Natalie
37e6a8b57f
d3d12: Minor fixes to residency algorithm when eviction is needed
...
Always reset batch_count and batch_memory_size. Proceed to eviction
only if we stopped before filling up the batch.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34562 >
2025-04-17 19:51:15 +00:00
Jesse Natalie
565980f3c0
d3d12: Add tc memory throttles
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34562 >
2025-04-17 19:51:15 +00:00
Caio Oliveira
43e521f7a5
hk: Don't expect garbage on shared_size
...
Talking to Alyssa this looks like an artifact of old ways that the
shader was being produced, so get rid of that zeroing. Add an
assert as a canary for any problems we might be missing.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34139 >
2025-04-17 19:13:18 +00:00
Caio Oliveira
33295b2249
spirv, nir: Allow non-Aliased workgroup memory blocks
...
Allocate space for the aliased region first, then allocate the
non-Aliased blocks in sequence after that.
SPV_KHR_workgroup_memory_explicit_layout extension added support for
having Blocks of workgroup (shared) memory, which include layout
decoration. For that extension all such blocks must be decorated with
Aliased.
SPV_KHR_untyped_pointers extension lifts that requirement, allowing
blocks that don't alias in workgroup memory. They are still explicitly
laid out.
The motivation is that untyped pointers provide a different
mechanism to obtain the same effect as the Aliased blocks. Instead of
having two Aliased variables with different types, have a single
variable and use an untyped pointer with a different type to access it.
This patch is a preparation for supporting untyped pointers.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34139 >
2025-04-17 19:13:18 +00:00
Caio Oliveira
fd0a7efb5a
spirv, nir: Delay calculation of shared_size when using explicit layout
...
Move the calculation to nir_lower_vars_to_explicit_types(). This
consolidates the check of shader_info::shared_memory_explicit_layout
in a single place instead of in all drivers.
This is motivated by SPV_KHR_untyped_pointers. Before that extension
we had essentially two modes for shared memory variables
- No layout decorations in the SPIR-V, and both internal layout and
driver location was _given by the driver_.
- Explicitly laid out, i.e. they are blocks, and decorated with Aliased.
Because they all alias, we could assign them driver location directly
to the start of the shared memory.
With the untyped pointers extension, there's a third option, to be added
by a later commit
- Explicitly laid out, i.e. they are blocks, and NOT decorated
with Aliased. Driver location is _given by the driver_. Blocks
with and without Aliased can be mixed.
The driver location of multiple blocks that don't alias depend on
alignment that is driver-specific, which we can more easily do from
the nir_lower_vars_to_explicit_types() that already has access to
a function to obtain such value.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io > (hk)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com > (v3dv)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (anv/hasvk)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com > (panvk)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com > (radv)
Reviewed-by: Rob Clark <robdclark@gmail.com > (tu)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34139 >
2025-04-17 19:13:17 +00:00
Eric Engestrom
adfe29cb46
ci: give high priority to post-merge jobs as well
...
Right now, `deploy-docs` (updating the docs.mesa3d.org website) is the
only job that can exist in that pipeline (along with `alpine/x86_64_build`,
but that job is always a no-op).
Right now this job can get stuck for a long time waiting for a runner,
but it's very short, and we kinda want the website to be updated quickly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34554 >
2025-04-17 18:39:34 +00:00
José Roberto de Souza
a96e280dfe
intel: Program XY_FAST_COLOR_BLT::Destination Mocs for gfx12
...
Copy engine is not used in gfx12 platforms on ANV but that is possible
in Iris.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34560 >
2025-04-17 18:11:44 +00:00
Alyssa Rosenzweig
8b068ef6c1
hk: handle HIC with twiddled
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
88bdc27342
asahi: let booleans be your guide
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
551355d4e5
asahi,hk: factor out zls_control pack helper
...
makes both drivers a lot more readable, but especially gl
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
3a560dd32b
asahi: identify ZLS compress load/store bits
...
obvious in retrospect!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
9757185153
hk: plumb ZLS tiling
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
454a90eaa8
asahi: plumb ZLS tiling bits
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
715f6b3b33
asahi: identify ZLS tiling bits
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
0dca602aff
asahi: generalize compression check
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
72f3dcc8da
asahi: generalize tiling checks
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
c4130af883
asahi: extend tile width/height in texture desc
...
we need to support up to 16384x16384 for atomics on twiddled images.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
f21dc4d0cf
asahi: pack sample count in s/w texture descriptor
...
not needed for non-msaa case, and this lets us free up 2 bits.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
8f57b5187f
ail: support twiddled
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
6fdad684da
ail: generalize ail_space_bits
...
for full twiddling.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
e5006dc6ae
hk: fill sparse.write with nonzero values
...
fuzz for bugs.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
ffac153bcf
hk: reindent/unscope
...
no functional change, split because the diff is all spacing changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
86d3489c35
hk: drop FS null checks
...
these are all dead now.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
3ab8ce8579
hk: fix null FS corner cases
...
this fixes null FS + cull distance/API sample mask, which require a prolog.
fixes upcoming CTS.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
d959557669
hk: fix tessellation + clipper queries
...
fixes upcoming cts
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Rhys Perry
427479c040
aco: remove va_vdst/vm_vsrc/sa_sdst variables
...
Use the "wait" variable instead.
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/34529 >
2025-04-17 17:28:22 +00:00
Rhys Perry
3d6fa6996c
aco: init vm_vsrc/sa_sdst from depctr_wait
...
fossil-db (navi31):
Totals from 5805 (7.31% of 79377) affected shaders:
Instrs: 14229621 -> 14207115 (-0.16%); split: -0.16%, +0.00%
CodeSize: 75358724 -> 75268624 (-0.12%); split: -0.12%, +0.00%
Latency: 133637034 -> 133624262 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 22067819 -> 22066213 (-0.01%); split: -0.01%, +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/34529 >
2025-04-17 17:28:22 +00:00
Rhys Perry
ce2be5ab8e
aco: combine VALU lanemask hazard into VALUMaskWriteHazard
...
This is now basically the same as the original VALUMaskWriteHazard, except
it now considers both VALU and SALU writes.
Now that it's a part of VALUMaskWriteHazard, differences from the original
VALU lanemask workaround are:
- it includes SALU reads after the write
- it includes VALU writes and SALU/VALU reads after the write which are
not lanemasks
- it combines s_waitcnt_depctr instructions when it's a read after both a
SALU write and a VALU write
- non-exec VALU SGPR reads reset the SGPRs read by VALU as a lanemask
- exec SGPRs are ignored
resolve_all_gfx11() is also finished.
fossil-db (navi31):
Totals from 21538 (27.13% of 79377) affected shaders:
Instrs: 27628855 -> 27552972 (-0.27%); split: -0.30%, +0.03%
CodeSize: 145968448 -> 145667616 (-0.21%); split: -0.23%, +0.02%
Latency: 209537805 -> 209509519 (-0.01%); split: -0.02%, +0.00%
InvThroughput: 36304270 -> 36301624 (-0.01%); split: -0.01%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12623
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11480
Backport-to: 25.0
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34529 >
2025-04-17 17:28:22 +00:00
Mel Henning
eee3c8eab8
nak: Handle idp4 ureg latencies
...
Fixes: 6b8a4e6bb7
("nak: Add Turing latency information")
Fixes: 7a01953a39
("nak: Add Ampere and Ada latency information")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12993
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34563 >
2025-04-17 17:10:40 +00:00
Mel Henning
de1ed48325
nak/spill_values: Spill constants across edges if needed
...
In a previous iteration of the spilling code, we added an extra check to
only spill across edges if the value being spilled is in the W set.
This was due to a misunderstanding of the modeling of S and W in Braun
and Hack. In the current implementation, we maintain the invariant that
every live value is in at least one of S or W so we don't need that
check but it was left in by mistake.
One exception to this rule was added when we special-cased constant
values. Now the invariant is that every live value is in S, in W, or is
a constant. When we made this change, the check we accidentally left in
bit us because now if a value is constant but not in W, it wasn't
getting spilled across the edge. This can result in a value getting
filled later which was never spilled, leading to undefined values.
Fixes: 7b82e26e3c
("nak: Don't spill/fill const values")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12993
Co-authored-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34563 >
2025-04-17 17:10:40 +00:00
Eric Engestrom
8744c98fa9
meson: remove duplicate deprecated
for power8
option
...
Fixes: c4b305079d
("meson: Simplify the power8 optimization logic")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34565 >
2025-04-17 14:43:30 +00:00
Eric Engestrom
b9472db496
meson: remove duplicate deprecated
for gallium-xa
option
...
Fixes: cf40099730
("meson: deprecate gallium-xa")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34565 >
2025-04-17 14:43:30 +00:00
Rohan Garg
cbc1ec4f73
anv: re enable compression for CPS surfaces on platforms other than Xe
...
I accidentally disabled compression on CPS surfaces marked as storage or
color attachment for all platforms, when this should only be limited to
Xe.
Fixes: 80f9b6 ('anv: CPB surfaces that are used as color attachments or for stores cannot be compressed')
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34297 >
2025-04-17 14:24:11 +00:00
Rhys Perry
4fcf2eb1d7
aco/gfx12: VOPD src0/1 are src bank compatible if they are the same vgpr
...
fossil-db (gfx1201):
Totals from 66518 (83.80% of 79377) affected shaders:
Instrs: 36939667 -> 36656685 (-0.77%); split: -0.79%, +0.02%
CodeSize: 220575208 -> 220201764 (-0.17%); split: -0.21%, +0.04%
Latency: 258919732 -> 258137974 (-0.30%); split: -0.35%, +0.05%
InvThroughput: 49911351 -> 49643836 (-0.54%); split: -0.55%, +0.02%
VClause: 788661 -> 788430 (-0.03%); split: -0.04%, +0.01%
SClause: 1176416 -> 1176263 (-0.01%); split: -0.02%, +0.01%
VALU: 18014058 -> 17818119 (-1.09%); split: -1.10%, +0.01%
VOPD: 4926983 -> 5122922 (+3.98%); split: +4.01%, -0.04%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
3446f2059d
aco/gfx12: assume VOPD with two v_mov_b32 are src bank compatible
...
fossil-db (gfx1201):
Totals from 10576 (13.32% of 79377) affected shaders:
(no stats changed)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
1bd5ae7b14
aco: refactor can_use_vopd so that it returns flags
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
d4b418bbb9
aco: add are_src_banks_compatible helper for VOPD creation
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
4b0da5b51f
aco: rename is_opy_only to can_be_opx
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
408fa33c09
aco/gfx12: don't use second VALU for VOPD's OPX if there is a WaR
...
fossil-db (gfx1201):
Totals from 38908 (49.02% of 79377) affected shaders:
Instrs: 30268107 -> 30268131 (+0.00%); split: -0.00%, +0.00%
CodeSize: 180843648 -> 180843640 (-0.00%); split: -0.00%, +0.00%
Latency: 224905962 -> 224906072 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 44322988 -> 44323004 (+0.00%)
VALU: 15124145 -> 15124167 (+0.00%)
VOPD: 4018504 -> 4018482 (-0.00%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Backport-to: 25.0
Backport-to: 25.1
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Tomeu Vizoso
a9fde960e6
etnaviv/ml: Support FullyConnected with signed weights
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34545 >
2025-04-17 13:30:21 +00:00
Tomeu Vizoso
9615d44d6e
teflon: Skip unsupported FullyConvolution operations
...
Drivers don't support these combinations yet.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34545 >
2025-04-17 13:30:21 +00:00
Tomeu Vizoso
9409595c32
etnaviv/ml: All tensors are now 4D, adapt to it
...
After "teflon: Set unused dimensions to 1", all tensors have 4
dimensions, so change the dim index accordingly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
c728e73d65
etnaviv/ml: Track memory layout of tensors
...
Improve the decision on when to add transpose and detranspose jobs by
tracking the memory layout that a tensor is in.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
c4a5f8d665
teflon: Set unused dimensions to 1
...
So drivers don't need to superfluously watch out for zeroes when
multiplying among dimensions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
23ae1c3bff
teflon: Actually accept concatenations with different number of channels
...
It is supported now by Etnaviv.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
bde0e69bcd
etnaviv/ml: Consolidate transpose/detranspose
...
To simplify things, state that all operations as implemented expect
their input tensors to be in the channel order that the hardware
supports, and that the output tensors will be in that same order as
well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
e06265ed3a
teflon: Only mark integers as signed
...
As these are the types that need special handling, eg. not
kTfLiteFloat32.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Samuel Pitoiset
209a0ede98
radv: add a function to emit meshlet registers on GFX11+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
836757bec3
radv: tidy up radv_emit_ps_epilog_state()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
dca35b7226
radv: tidy up radv_emit_geometry_shader()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
d999afeb7a
radv: tidy up radv_emit_vertex_shader()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
85fdf69027
radv: simplify combining TES/VS+GS config registers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
0dd9833348
radv: remove redundant assertion when emitting PS epilog state
...
It's already checked by radv_emit_32bit_pointer().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
a230d2daa3
radv: use radeon_set_sh_reg() for only 1 DWORD
...
It's just shorter to write.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Antonio Ospite
4dabc7776f
ci/android: show how to add more Android CTS test cases
...
Show how to add more Android CTS tests cases, using --include-filters
Only CtsNativeHardwareTestCases and CtsSkQPTestCases are actually
enabled for now, because the android-angle-lavapipe-cts job is part of
the pre-merge pipeline and these modules would not be too expensive to
run.
The container size increases by about 60Mb and the test time from 4m to
7 min on a local system, so it's an acceptable compromise to show how
multiple modules can be tested.
A similar mechanism will be used to add CtsDeqpTestCases tests in the
future, probably in nightly or weekly jobs, because that would require
more space in the containers and a lot more time to run the tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34479 >
2025-04-17 11:50:07 +00:00
Antonio Ospite
fbc715200e
ci/android: strip tailing spaces in Android CTS expectation files
...
Trailing spaces in include and exclude filters can confuse cts-tradefed,
so make sure to strip those from the lines in Android CTS expectation
files, since those are used to build the filter arguments.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34479 >
2025-04-17 11:50:07 +00:00
Antonio Ospite
8f41667b37
ci/android: specify EXCLUDE_FILTERS after INCLUDE_FILTERS when launching Android CTS
...
Specify EXCLUDE_FILTERS after INCLUDE_FILTERS when launching Android
CTS, to make it clearer that exclude filters take the precedence on
include filters.
This change is not strictly necessary, according to the documentation
exclude filters take the precedence anyway, see
https://source.android.com/docs/core/tests/tradefed/testing/through-suite/option-passing#pass_filters_to_the_suite
So this change is added only to document the behavior rather then to
control it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34479 >
2025-04-17 11:50:07 +00:00
Antonio Ospite
af96ed09f0
ci/deqp: force overwriting exiting files when compressing with zstd
...
This does not change the behavior in CI runs where the files are always
created from scratch, but it helps on local invocations when running the
command multiple times on the same rootfs.
It prevents build-deqp.sh to stop at the command line prompt for
questions like:
-----------------------------------------------------------------------
zstd: mustpass/egl-main.txt.zst already exists; overwrite (y/n) ? y
zstd: mustpass/gles2-khr-main.txt.zst already exists; overwrite (y/n) ? y => 5%
zstd: mustpass/gles2-main.txt.zst already exists; overwrite (y/n) ? y => 6%
-----------------------------------------------------------------------
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34468 >
2025-04-17 11:07:17 +00:00
Antonio Ospite
3e2f43bb13
ci/android: only use custom kernel for venus GPU_MODEs
...
The venus GPU_MODEs require some patches to the Android 14 kernel to
work, so custom built bzImage and initramfs.img need to be passed to
launch_cvd.
However specifying a custom kernel triggers some image repacking which
is quite expensive in terms of I/O; so, since the custom kernel is only
needed for the venus GPU_MODEs, avoid specifying it for the other modes
to speed up launching cuttlefish in those cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34468 >
2025-04-17 11:07:17 +00:00
Antonio Ospite
725acc0b74
meson: bump default value of platform-sdk-version to Android 14
...
Bump default value of platform-sdk-version to 34 which is Android 14.
This is the API version recommended by Google for new app development
since 31 August 2024, but it does not hurt to strongly suggest it for
mesa as well.
Developers who need to build for older Android SDK versions can always
pass `platform-sdk-version` when configuring the build.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34468 >
2025-04-17 11:07:17 +00:00
Samuel Pitoiset
11e8a96495
radv: use common scratch tmpring size programming
...
No logical changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34549 >
2025-04-17 10:35:40 +00:00
Samuel Pitoiset
710d7ea8b8
radv: compute the optimal scratch wavesize
...
This might increase the scratch BO sizes but it's supposed to be
faster because scratch waves would be distributed among memory channels.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34549 >
2025-04-17 10:35:40 +00:00
Samuel Pitoiset
e433a57650
ac,radeonsi: rework computing scratch wavesize and tmpring register
...
To be re-used by RADV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34549 >
2025-04-17 10:35:40 +00:00
Samuel Pitoiset
d94f8b4460
ac/gpu_info,radv: add scratch_wavesize_granularity info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34549 >
2025-04-17 10:35:40 +00:00
Icenowy Zheng
82dda21806
zink: Do not use demote on IMG blobs
...
The implementation of demote in IMG blobs seems to be a piece of hack,
and the current use of it in Zink leads to assertion failure with
information "Uniflex does not support demote and terminate in the same
shader".
Disable usage of demote for IMG blobs.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33051 >
2025-04-17 10:14:45 +00:00
Daniel Stone
8d08cde667
ci/piglit: Use structured tagging for Piglit
...
Structured tagging (cf. mesa/mesa!33421 ) captures a checksum of the
thing we think we're building, and verifies this through the chain.
When we run container builds, we check that the tag we've captured in
the CI variables matches the calculated checksum, to make sure the
declared tags are consistent and we always have traceability.
When we run tests, we check the tags again between what was declared in
the CI variables and what we're actually running from the test
container. This makes sure that we're always testing what we think we're
testing.
As a side advantage, the rule inheritance we need to make this work
means that we can start doing more optional downloads via overlays,
instead of pulling a whole container full of stuff we might not ever
use.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34539 >
2025-04-17 09:22:39 +00:00
Samuel Pitoiset
e616761fb2
radv: re-introduce the compute vs CP DMA heuristic for copy/fill operations
...
This caused a -5% performance regression in Control because using
compute always eats resources.
This new approach introduces a flag called RADV_COPY_FLAGS_DEVICE_LOCAL
which can be used to indicate if the underlying memory is device local.
This should also help for future work.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12639
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34556 >
2025-04-17 08:59:58 +00:00
Samuel Pitoiset
5e2508e7c4
radv: simplify radv_fill_xxx() helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34556 >
2025-04-17 08:59:58 +00:00
Samuel Pitoiset
8ba94d8263
radv: add radv_fill_image() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34556 >
2025-04-17 08:59:58 +00:00
Samuel Pitoiset
0fa43b5bfb
radv: use radv_fill_memory() in the accel struct path
...
It's now possible to remove the NULL BO check.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34556 >
2025-04-17 08:59:58 +00:00
Tapani Pälli
6d70ec449f
iris: make sure to not mix compressed vs non-compressed
...
This commit implements the following requirement:
"Keep any UMD-recycling of compression-enabled/disabled
memory separate."
As additional info there are 2 related wa's for the issue:
Wa_14018443005
Wa_18038669374
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34499 >
2025-04-17 06:17:53 +00:00
Tapani Pälli
c2a4657862
iris: force reallocate on eglCreateImage with GFX >= 20
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34499 >
2025-04-17 06:17:53 +00:00
Tomeu Vizoso
aa73767f5e
etnaviv/ml: Support per-channel quantized weights
...
Dequantize the weights, calculate new quantization values based on the
minimum and maximum values and requantize again.
This causes a loss of accuracy when compared to proper per-axis
quantization as we don't have the original data from training any more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34497 >
2025-04-17 05:25:49 +00:00
Philipp Zabel
ce9030740a
teflon: Allow per-axis quantization
...
Allow per-axis quantization in the output channel dimension.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34497 >
2025-04-17 05:25:49 +00:00
Tomeu Vizoso
7dfcca9007
etnaviv/ml: Fix zero point values for signedness
...
Take into account the signedness for FullyConnected.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34497 >
2025-04-17 05:25:49 +00:00
Tomeu Vizoso
d88f0b8f3c
etnaviv/ml: Reorder dimensions in convolutions
...
The blob does this, and doesn't seem to just be for performance as I see
some tests being fixed by it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34497 >
2025-04-17 05:25:49 +00:00
Thomas H.P. Andersen
d55a69e769
nak: make is_fneg_zero detect -rZ
...
fold_imm starts with this check:
let SrcRef::Imm32(mut u) = self.src_ref else {
return *self;
};
For -rZ we thus return early and the matching in is_fneg_zero does not
find it. This MR adds a match for SrcRef::Zero + SrcMod::FNeg.
This lets copy propagation fold this:
r3 = shfl.bfly r2 0x2 0x1c03
r3 = fswzadd.ftz r3 r2 [sub, sub, subr, subr]
r3 = fadd.ftz -rZ |r3|
r16 = shfl.bfly r2 0x1 0x1c03
r16 = fswzadd.ftz r16 r2 [sub, subr, sub, subr]
r16 = fadd.ftz -rZ |r16|
r3 = fadd.ftz r16 r3
into:
r3 = shfl.bfly r2 0x2 0x1c03
r3 = fswzadd.ftz r3 r2 [sub, sub, subr, subr]
r16 = shfl.bfly r2 0x1 0x1c03
r16 = fswzadd.ftz r16 r2 [sub, subr, sub, subr]
r3 = fadd.ftz |r16| |r3|
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12480
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33107 >
2025-04-17 02:22:02 +00:00
Faith Ekstrand
47fc468944
nak/sm70: Fix the bit74_75_ar_mod assert
...
It's used for src2, not src0.
Fixes: 40422927dc
("nak: Pass has_mod to all form of src2 requiring it")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33107 >
2025-04-17 02:22:02 +00:00
Faith Ekstrand
328112c6bc
nak/legalize: Take a RegFile in copy_alu_src_and_lower_ineg()
...
Fixes: af6093a712
("nak/legalize: Add a helper for lowering ineg")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33107 >
2025-04-17 02:22:02 +00:00
Faith Ekstrand
22a30bfa4f
nak/legalize: Take a RegFile in copy_alu_src_and_lower_fmod
...
Otherwise, we'll screw up uniform GPRs.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33107 >
2025-04-17 02:22:02 +00:00
Eric Engestrom
269b09c449
docs: add sha sum for 25.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34564 >
2025-04-17 02:22:24 +02:00
Eric Engestrom
71c1acfaf2
docs: add release notes for 25.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34564 >
2025-04-17 02:22:24 +02:00
Eric Engestrom
f74a585dbb
docs: update calendar for 25.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34564 >
2025-04-17 02:22:23 +02:00
Caio Oliveira
d5ad798140
spirv, radv, intel: Add NIR intrinsic for cmat conversion
...
A cooperative matrix conversion operation was represented in NIR by the
cmat_unary_op intrinsic with an nir_alu_op as extra parameter,
that was already lowered to a specific conversion operation
based on the matrix types.
Instead of that, add a new intrinsic `cmat_convert` that is specific
for that conversion. In addition to the src/dst matrix descriptions
already available, also include the signedness information in the
intrinsic (reuse nir_cmat_signed for that). This is needed because
different Convert operations define different interpretations for
integers, regardless their original type.
In this patch, both radv and intel were changed to use the same logic
that was previously used to pick the lowered ALU op.
This change will help represent cmat conversions involving BFloat16,
because it avoids having to create new NIR ALU ops for all the
combinations involving BFloat16.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34511 >
2025-04-16 23:13:36 +00:00
Valentine Burley
2f02fa5db4
intel/ci: Start using the new 6.14 kernel on JSL
...
The new 6.14 kernel in gfx-ci linux is now stable on Jasper Lake, so drop
the kernel override from the anv-jsl-vk job.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34553 >
2025-04-16 22:13:19 +00:00
Valentine Burley
da71656dd9
ci/lava: Merge and deduplicate log sections
...
Drop the duplicated rootfs preparation sections, and combine the
TEST_SUITE and TEST_DUT_SUITE sections.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34523 >
2025-04-16 21:34:35 +00:00
Valentine Burley
70b033d2ad
ci/lava: Don't include the timeout in the log sections
...
Reduces visual clutter in the job logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34523 >
2025-04-16 21:34:35 +00:00
Valentine Burley
f7224dd159
ci/lava: Collapse more log sections
...
These sections were not collapsed, causing the setup sections to clutter
the job logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34523 >
2025-04-16 21:34:35 +00:00
Patrick Lerda
60a31156b0
mesa_interface: fix legacy dri2 compatibility
...
These values are shared with xcb/dri2.h, and can't be changed
without breaking the legacy dri2 compatibility. This change
reverses partially the update done by 3b603d1646
.
For instance this issue is triggered on dri2 i915 with
"piglit/bin/glx-copy-sub-buffer -auto" or
"piglit/bin/hiz-depth-read-window-stencil0 -auto".
Fixes: 3b603d1646
("mesa_interface: remove unused stuff")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34561 >
2025-04-16 20:19:14 +00:00
Mike Blumenkrantz
de6efc01c1
zink: verify that surface exists when adding implicit feedback loop
...
this can be null if multiple contexts are in use
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34557 >
2025-04-16 18:26:32 +00:00
Tomeu Vizoso
251d1e2551
etnaviv/ml: Use etna_buffer_resource instead of etna_resource
...
Otherwise we hit an assert in newly added code.
Fixes: d738b3ea2b
("etnaviv: split PIPE_BUFFER resources from other types of resources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
1f5bc6ddbf
etnaviv/tests: Add comment on why the SSDLite MobileDet test fails
...
So we don't waste time debugging it again.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
0213eef3b3
teflon/tests: Dump output buffers to disk
...
It can be convenient to compare the outputs from the CPU, proprietary
driver and Mesa to check for convergence.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
80e09e9b1f
teflon/tests: Divide the tolerance level by a constant
...
A final tolerance of 0.6 seems to be about right for big models with
per-channel quantization.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
15a8c49ad5
teflon/tests: Print shorter negative INT8s
...
As we know that only the last 8 bits are relevant.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
554fb8af11
teflon/tests: Take into account signedness when checking the output tensors
...
Otherwise, it won't be able to apply the tolerance in all cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
b3746305ea
teflon/tests: Test all models in /models
...
It was becoming quite tedious to add models to testing.
This will also make it easier to locally test with non-redistributable
models.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
68200ac961
teflon/tests: Use a single tolerance value
...
We have improved our accuracy and can use just a tolerance of 2 for all
the tests we currently have.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Jesse Natalie
7ca4e4d34b
microsoft/compiler: Force load_output => undef in tess_ctrl main func
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34541 >
2025-04-16 16:02:07 +00:00
José Roberto de Souza
ab591dc642
iris: Fix IRIS_HEAP_SYSTEM_MEMORY_CACHED_COHERENT slab parent allocation
...
It was using the same switch case from IRIS_HEAP_SYSTEM_MEMORY_UNCACHED
allocating both as uncached.
Cc: stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34533 >
2025-04-16 15:43:15 +00:00
Alyssa Rosenzweig
9b55451ea7
hk: fix underbinding scratch
...
need to round up to page size (minimally) or we assert out. hit in vulkaninfo
of all things.
Fixes: 678134add5
("hk: implement sparse")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34526 >
2025-04-16 15:24:37 +00:00
Eric Engestrom
dbe6c39270
docs: update calendar for 25.1.0-rc1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34555 >
2025-04-16 15:11:40 +00:00
Mike Blumenkrantz
5844dea316
delete clover
...
there comes a time when a project has to be declared unfit to remain
in the tree
this frontend hasn't seen actual development in about 6 years
if someone has a pressing need to continue development, there's no
blocker to un-deleting it, but unless that happens, there's now a
more featureful, more conformant, more active CL frontend in the tree
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19385 >
2025-04-16 10:01:44 -04:00
Pierre-Eric Pelloux-Prayer
555821ff93
winsys/amdgpu: disable VM_ALWAYS_VALID
...
The referenced commit has been identified as the root cause of
graphic artifacts / hangs on some APUs.
For now disable AMDGPU_GEM_CREATE_VM_ALWAYS_VALID on all chips
except when user queues are used.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/12809 .
Fixes: 8c91624614
("winsys/amdgpu: use VM_ALWAYS_VALID for all VRAM and GTT allocations")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34547 >
2025-04-16 13:22:16 +00:00
Eric Engestrom
3f7345a0ce
docs: reset new_features.txt
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34552 >
2025-04-16 14:30:26 +02:00
Eric Engestrom
b8968276e6
VERSION: bump to 25.2
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34552 >
2025-04-16 14:30:14 +02:00