Mary Guillemard
694e68f359
nak: Fix wrong encoding for F2FP cbuf and immediate forms
...
F2FP.PACK_AB always uses src0 and src1, only F2FP.MERGE_C uses src1 and
src2.
This fixes "f32tof16" instruction test regression on vk3d.
Fixes: e19871bd6a ("nak: Use F2FP for nir_op_pack_half_2x16_split on SM86+")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30804 >
2024-08-26 13:55:00 +00:00
Daniel Schürmann
14de650d58
aco: call nir_copy_prop() and nir_opt_dce() before instruction selection
...
Totals from 1037 (1.31% of 79395) affected shaders: (Navi21)
MaxWaves: 18760 -> 18960 (+1.07%)
Instrs: 4865258 -> 4860063 (-0.11%); split: -0.11%, +0.00%
CodeSize: 27094112 -> 27089224 (-0.02%); split: -0.06%, +0.04%
VGPRs: 68816 -> 68000 (-1.19%)
SpillVGPRs: 2140 -> 2105 (-1.64%)
Scratch: 4237312 -> 4234240 (-0.07%)
Latency: 55894512 -> 55748035 (-0.26%); split: -0.31%, +0.05%
InvThroughput: 11611286 -> 11372897 (-2.05%); split: -2.09%, +0.03%
VClause: 145331 -> 145285 (-0.03%); split: -0.04%, +0.01%
SClause: 150339 -> 150338 (-0.00%)
Copies: 472476 -> 468470 (-0.85%); split: -0.88%, +0.03%
Branches: 206562 -> 206067 (-0.24%); split: -0.24%, +0.00%
PreVGPRs: 61747 -> 61361 (-0.63%)
VALU: 3116434 -> 3112660 (-0.12%); split: -0.13%, +0.00%
SALU: 723154 -> 722887 (-0.04%); split: -0.04%, +0.01%
VMEM: 238656 -> 238586 (-0.03%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30786 >
2024-08-26 12:59:00 +00:00
Juan A. Suarez Romero
e030ab4bf2
vc4/ci: update expected results
...
Add some regressions in vc4.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30847 >
2024-08-26 12:41:10 +00:00
Eric Engestrom
07202111a6
ci/rules: make every job exist as manual in fork pipelines
...
In forks, every job exists, but no job is automatically run.
Should help with the problem of users clicking on that tempting "play"
button GitLab offers and that has been causing a lot of issues with
wasted resources.
Downside is, users now have to use the `bin/ci/ci_run_n_monitor.sh`
script to be able to run a bunch of jobs at once.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25252 >
2024-08-26 11:49:34 +00:00
Collabora's Gfx CI Team
e54440d15e
Uprev Piglit to a3826de3c26a279599d15b018a9a3e75ca46f4f8
...
https://gitlab.freedesktop.org/mesa/piglit/-/compare/6533b66878c8cb9361c554b7ff940518ab12c816...a3826de3c26a279599d15b018a9a3e75ca46f4f8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30825 >
2024-08-26 11:01:58 +00:00
Lionel Landwerlin
1f9c40a8d1
anv: explicitly disable BT pool allocations at device init
...
The default state doesn't seem well defined (or kernel driver bug
maybe?). Let's just set it to disabled on platforms where we're not
using it.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Found-by: Chuansheng Liu <chuansheng.liu@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30841 >
2024-08-26 10:34:31 +00:00
Erico Nunes
749d7e96bf
lima/ppir: switch to derivative intrinsics
...
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30661 >
2024-08-26 09:53:35 +00:00
Samuel Pitoiset
cc5d481f41
radv/ci: enable RADV_PERFTEST=transfer_queue on GFX9+
...
To avoid breaking this because it's not enabled by default.
There is a couple of failures because MSAA is still broken with SDMA.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30778 >
2024-08-26 09:26:52 +00:00
Samuel Pitoiset
731523a10b
radv/ci: update flakes lists for NAVI21/VANGOGH
...
Found these when I did a stress test with RADV_PERFTEST=transfer_queue
enabled but they are existing flakes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30778 >
2024-08-26 09:26:52 +00:00
Dave Airlie
68cd36d9b4
radv/video: fix reporting video format props for encode.
...
When encode isn't enabled, refuse the image usage, also use
the correct error on the decode check.
Fixes: 05cd42417f ("radv/video: enable video encoding behind perftest flag")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30838 >
2024-08-26 08:49:54 +00:00
Samuel Pitoiset
7f7ecaf08c
radv: optimize NOPs padding with DGC
...
There is two different alignment requirements:
a) IB VA must be aligned to ib_alignment
b) IB size must be aligned to ib_pad_dw_mask
Though RADV was aligning DGC cmdbuf to ib_alignment always, but this is
unnecessary. Using the optimal padding size for DGC cmdbuf removes a
bunch of useless NOPs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30768 >
2024-08-26 08:22:06 +00:00
Samuel Pitoiset
a7547a9781
radv/amdgpu: assert that the DGC IB VA is correctly aligned
...
It must be aligned to what the kernel returns.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30768 >
2024-08-26 08:22:06 +00:00
David Heidelberg
8f8a51ac5c
etnaviv: build dependency for the etnaviv tests
...
Resolves failures as:
... -o src/etnaviv/isa/tests/etnaviv_disasm.p/disasm.cpp.o -c ../src/etnaviv/isa/tests/disasm.cpp
In file included from ../src/etnaviv/isa/tests/disasm.cpp:12:
../src/etnaviv/isa/asm.h:15:10: fatal error: etnaviv/isa/enums.h: No such file or directory
15 | #include "etnaviv/isa/enums.h"
| ^~~~~~~~~~~~~~~~~~~~~
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11740
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30829 >
2024-08-26 08:09:15 +00:00
David Heidelberg
43bff3b9eb
etnaviv: rename enums_h appropriately
...
Needed for the follow-up change.
Cc: mesa-stable
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30829 >
2024-08-26 08:09:14 +00:00
Qiang Yu
48a49c4e04
radeonsi: enable KHR_shader_subgroup
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:21 +08:00
Qiang Yu
1ee612e1ac
radeonsi: use wave64 for KHR_shader_subgroup enabled shader
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:20 +08:00
Qiang Yu
a78d1d49e6
radeonsi: consider both stages to determine merged shader wave_size
...
Previously we determine wave_size of merged shader stages separately,
and ignore the condition which may cause them to be different.
Now we determine the wave_size of the TCS/GS part first, then use the
wave_size for VS/TES part. So that we can condider the previous shader
stage's information when determine the wave_size of TCS/GS, and two
stages in the merged shader can affect each other's wave_size.
This requires si_shader_selector to have two kinds of main part for
wave32 and wave64 when part mode, to be combined with other shader
part with various wave size.
This also enables merged shader stages with different
si_shader_info->has_divergent_loop to use wave32. We'll add another
condition for KHR_shader_subgroup latter.
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:20 +08:00
Qiang Yu
196d91ed78
radeonsi: remove NULL check in si_determine_wave_size
...
This function is always called with non-NULL shader now.
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:20 +08:00
Qiang Yu
40fdd97de3
glsl: set shader_info.subgroup_size for KHR_shader_subgroup
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:20 +08:00
Qiang Yu
ea33876fbe
glsl: remove unused fields in gl_shader
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:20 +08:00
Qiang Yu
7538edf706
glsl: add KHR_shader_subgroup_quad builtin functions
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:19 +08:00
Qiang Yu
72517a8be9
glsl: add KHR_shader_subgroup_clustered builtin functions
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:19 +08:00
Qiang Yu
db41c09e17
glsl: add KHR_shader_subgroup_arithmetic builtin functions
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:19 +08:00
Qiang Yu
ac0bbb5b3f
glsl: add KHR_shader_subgroup_shuffle_relative builtin functions
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:19 +08:00
Qiang Yu
eee3091e3e
glsl: add KHR_shader_subgroup_shuffle builtin functions
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:19 +08:00
Qiang Yu
a496d84ac8
glsl: add KHR_shader_subgroup_ballot builtin functions
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:18 +08:00
Qiang Yu
7113d3c6ba
glsl: prepare ballot function args for subgroup usage
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:18 +08:00
Qiang Yu
5f212a190b
glsl: add KHR_shader_subgroup_vote builtin functions
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:18 +08:00
Qiang Yu
2d71467ec3
glsl: prepare vote function args for subgroup usage
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:18 +08:00
Qiang Yu
f0c8520a90
glsl: add KHR_shader_subgroup_basic builtin functions
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:18 +08:00
Qiang Yu
6ae013a032
glsl: use generic convertion code for some intrinsics
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:18 +08:00
Qiang Yu
c631116644
glsl: remove unused builtin function macros
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:17 +08:00
Qiang Yu
e2b07f9329
glsl: add builtin variables for KHR_shader_subgroup
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:17 +08:00
Qiang Yu
19e4549944
glsl: add KHR_shader_subgroup extensions
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:17 +08:00
Qiang Yu
72823354dd
mesa: add spirv GroupNonUniform* capbilities support
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:17 +08:00
Qiang Yu
d5bc014493
mesa: implement KHR_shader_subgroup Get* values
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:17 +08:00
Qiang Yu
34f4b5e0ea
mesa: add KHR_shader_subgroup extension
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:16 +08:00
Qiang Yu
661b9061d4
gallium: add caps for KHR_shader_subgroup
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:16 +08:00
Qiang Yu
58e412014a
ac,radv,radeonsi: stop using quad vote any/all when llvm
...
ClustedAnd with bool argument and cluster_size==4 will be lowered
to quad_vote_all. So does ALU nir_iand/ior op with bool src.
OpenGL and Vulkan subgroup clustered_and tests with bool argument
fail when using LLVM. It seems LLVM has bug when quad vote bool
is in complex control flow. So stop using it for now.
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:15 +08:00
Qiang Yu
a37933b721
ac/llvm: build wqm for quad intrinsics only when fragment shader
...
Otherwise we get wrong result when non-fragment shader.
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:11 +08:00
Qiang Yu
0f937426cc
radeonsi: lower subgroup ops after wave size is known
...
We use wave 32 sometime so should not use static subgroup
size of 64.
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:41:30 +08:00
Caio Oliveira
31dfb04fd3
intel/brw: Remove long register file names
...
The long names were originally meant to map to the HW encoding but
nowadays the actual encoding values depend on gfx version, whether
instruction is 3src, etc.
Suggested by Ken.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30704 >
2024-08-25 22:08:14 +00:00
Caio Oliveira
6bdf2de4d2
intel/brw: Remove unused ARF values and helpers
...
These were used by old Gfx versions.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30704 >
2024-08-25 22:08:14 +00:00
Caio Oliveira
72b687abb4
intel/brw: Make BAD_FILE the zero value for brw_reg_file
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30704 >
2024-08-25 22:08:14 +00:00
Caio Oliveira
e8f921678a
intel/brw: Explicitly map brw_reg_file into hardware values
...
For now this is a no-op, but will be useful when changing the enum
to values that don't match the hardware.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30704 >
2024-08-25 22:08:14 +00:00
Caio Oliveira
e7179232c9
intel/brw: Move encoding of Gfx11 3-src inside the inst helpers
...
Create specific helper for register file encoding and handle it there.
Use ad-hoc structs to let the macro take optional named arguments.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30704 >
2024-08-25 22:08:14 +00:00
Caio Oliveira
d31c8bfb6f
intel/brw: Remove more uses of variable length arrays
...
In these cases there's a clear bound we can use. In C++ this is a
compiler extension and not compatible with zero initializing a
regular struct -- which will happen in a later change.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30704 >
2024-08-25 22:08:14 +00:00
Caio Oliveira
86c20e2910
intel/brw: Use a helper for common VEC pattern
...
In the helper, instead of using the Variable Length Array, use a
fixed size array to NIR_MAX_VEC_COMPONENTS.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30704 >
2024-08-25 22:08:14 +00:00
Caio Oliveira
abc535a3b4
intel/brw: Remove unused variable
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30704 >
2024-08-25 22:08:13 +00:00
Lepton Wu
72506ac8c7
egl/android: Fix wrong pipe format for RGB_565
...
We were actually using PIPE_FORMAT_B5G6R5_UNORM for HAL_PIXEL_FORMAT_RGB_565
since Android support was added to Mesa. This restores the original behavior.
Fixes: 273e54391a ("egl/android: Remove hard-coded color-channel data")
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Signed-off-by: Lepton Wu <lepton@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30827 >
2024-08-25 21:01:15 +00:00