Caio Oliveira
74be809237
compiler: Allow derivative_group to be used for all stages in shader_info
...
These will now also be used by stages that have workgroups.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30950 >
2024-09-03 20:03:18 +00:00
Martin Roukala (né Peres)
9b4e46e8fc
radv/ci: update the flakes lists
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30973 >
2024-09-03 12:50:01 +00:00
Samuel Pitoiset
0dc2a5bfee
radv: pass the vertex shader to radv_write_vertex_descriptors()
...
Mostly for DGC.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30916 >
2024-09-03 11:39:47 +00:00
Samuel Pitoiset
bd5dca3e81
radv: rename radv_vs_input_state to radv_vertex_input_state
...
"vs_state" is confusing because it could be "Vertex Shader state" but
it's not.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30916 >
2024-09-03 11:39:47 +00:00
Samuel Pitoiset
b3834b7dcd
radv: bind the static vertex input state from the pipeline
...
This removes one more pipeline dependency when writing VBO descriptors.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30916 >
2024-09-03 11:39:47 +00:00
Samuel Pitoiset
aea6cec434
radv: add radv_vs_input_state::attrib_index_offset
...
This is only used with static strides and it will allow us to bind
the static vertex input state from the pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30916 >
2024-09-03 11:39:47 +00:00
Samuel Pitoiset
dd673269e4
radv: only initialize per-attribute vertex input state when needed
...
The vertex shader uses per attribute VBO descriptors only when it uses
a prolog or when robustness is enabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30916 >
2024-09-03 11:39:47 +00:00
Samuel Pitoiset
4c181c33cc
radv: return early when the vertex input state is dynamic
...
state->vi is set to NULL by the vulkan runtime when the state is
dynamic.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30916 >
2024-09-03 11:39:47 +00:00
Georg Lehmann
9bb10b58f3
aco: use v_cvt_pk_u8_f32 for f2u8
...
Foz-DB Navi31:
Totals from 42 (0.05% of 79395) affected shaders:
Instrs: 3253747 -> 3248867 (-0.15%); split: -0.15%, +0.00%
CodeSize: 16690136 -> 16661772 (-0.17%); split: -0.17%, +0.00%
VGPRs: 4176 -> 4128 (-1.15%)
Latency: 18485157 -> 18479752 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 3659404 -> 3658222 (-0.03%); split: -0.03%, +0.00%
Copies: 231891 -> 228145 (-1.62%)
VALU: 1785800 -> 1782054 (-0.21%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29532 >
2024-09-02 19:49:20 +00:00
Daniel Schürmann
6ada0170c4
aco/ra: use arena allocator for hash maps
...
Also change Key types to uint32_t instead of unsigned.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30898 >
2024-09-02 15:31:52 +00:00
Daniel Schürmann
709f60e71d
aco/ra: use auto for std container iterators
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30898 >
2024-09-02 15:31:52 +00:00
Daniel Schürmann
534031761a
aco/ra: avoid rename map lookups in most cases
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30898 >
2024-09-02 15:31:52 +00:00
Daniel Schürmann
72464e24b4
aco/ra: add add_rename() helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30898 >
2024-09-02 15:31:51 +00:00
Georg Lehmann
8f3bb1fb2e
aco/ra: always reuse def register for literal copy
...
Foz-DB Vega10:
Totals from 4056 (6.43% of 63053) affected shaders:
Instrs: 5540797 -> 5540760 (-0.00%); split: -0.00%, +0.00%
CodeSize: 29680912 -> 29680812 (-0.00%); split: -0.00%, +0.00%
SGPRs: 307808 -> 307680 (-0.04%)
Latency: 82483179 -> 82484437 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 45546645 -> 45547091 (+0.00%); split: -0.00%, +0.00%
SClause: 185641 -> 185648 (+0.00%); split: -0.00%, +0.01%
Copies: 642229 -> 642214 (-0.00%); split: -0.01%, +0.01%
SALU: 643132 -> 643107 (-0.00%); split: -0.01%, +0.01%
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30932 >
2024-09-02 11:09:55 +00:00
Georg Lehmann
5fb54d1fde
aco/ra: fix copying 64bit literal to sgprs
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30932 >
2024-09-02 11:09:55 +00:00
Georg Lehmann
364764356c
aco/ra: use parallelcopy to copy literal instead of s_mov
...
This can result in smaller code size.
Foz-DB Vega10:
Totals from 4745 (7.53% of 63053) affected shaders:
CodeSize: 33014176 -> 33007088 (-0.02%); split: -0.02%, +0.00%
Copies: 690055 -> 704738 (+2.13%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30932 >
2024-09-02 11:09:55 +00:00
Georg Lehmann
607cf5a8e9
aco/ra: unconditionally replace literal with sgpr when promoting to VOP3
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30932 >
2024-09-02 11:09:55 +00:00
Samuel Pitoiset
8873382703
radv: fix emitting DGC indirect draws with drawid/base_instance
...
This fixes test_execute_indirect_state_vbo_offsets, a new vkd3d-proton
test.
The drawid/base_instance bits were cleared by mistake.
Fixes: e59a16bbb8 ("radv: use an indirect draw when IBO isn't updated as part of DGC")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30971 >
2024-09-02 09:58:32 +00:00
Samuel Pitoiset
e4e789ce10
radv: allow VK_EXT_legacy_vertex_attributes with DGC
...
Dynamic vertex input state is supported with DGC but it wasn't at the
time this extension has been introduced.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30957 >
2024-09-02 09:09:07 +00:00
Collabora's Gfx CI Team
b32b15f0df
Uprev Piglit to 93b4bd2e0aaab1c22ae3e1a23f9e057a8f7451b2
...
a3826de3c2...93b4bd2e0a
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30863 >
2024-09-02 08:30:51 +00:00
Samuel Pitoiset
45319cb253
radv: specialize push constant stages with DGC
...
Even if the layout declares using push constant for more stages than
needed, upload_sgpr/inline_sgpr will prevent the DGC prepare shader to
emit them because it's initialized to 0.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30924 >
2024-08-30 18:02:23 +00:00
Samuel Pitoiset
8c5358040d
radv: move emitting VBOs with DGC
...
Only for graphics.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30924 >
2024-08-30 18:02:22 +00:00
Samuel Pitoiset
2234e6d75a
radv: add a helper to store data to the DGC upload space
...
The offset is automatically incremented when something is stored.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30924 >
2024-08-30 18:02:22 +00:00
Samuel Pitoiset
330d6e0951
radv: stop passing the upload offset to dgc_emit_bind_pipeline()
...
This doesn't do anything.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30924 >
2024-08-30 18:02:22 +00:00
Samuel Pitoiset
e96be348f2
radv: move emitting the compute pipeline with DGC
...
Only compute is supported.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30924 >
2024-08-30 18:02:22 +00:00
Sai Teja
05f6e9f11e
ci: Disable angle jobs for GL changes
...
Mesa's GL stack changes doesn't affect angle in any
way for now. Thus, drop angle jobs for GL changes from
intel and amd CI.
Signed-off-by: Sai Teja <saiteja13427@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30943 >
2024-08-30 15:09:15 +00:00
Qiang Yu
588a65f29a
ac: do not lower some ops in nir_lower_packing
...
AMD does not implement nir_op_pack_32_4x8_split, others
are implemented, so don't lower them.
Fixes: 0f937426cc ("radeonsi: lower subgroup ops after wave size is known")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11781
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30885 >
2024-08-30 05:46:51 +00:00
Yinjie Yao
7f1c0fbe61
radeonsi/vcn: Rename transform_skip_disabled and remove hardcoded value for VCN5
...
This fix the HEVC encode corruption caused by mismatch between PPS
header and IB setting, the fix only apply for VCN5.
Rename from transform_skip_dicarded to transform_skip_disabled.
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/30930 >
2024-08-30 01:17:22 +00:00
Eric Engestrom
66bae75d47
radeonsi/ci: mark a bunch of subgroups tests as failing
...
Fixes: 48a49c4e04 ("radeonsi: enable KHR_shader_subgroup")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30928 >
2024-08-29 19:21:52 +00:00
Eric Engestrom
39d6251141
radeonsi/ci: bump timeout for nightly job glcts-vangogh-valve
...
It now takes ~45min (likely due to new failures being retried, itself
caused by KHR_shader_subgroup being added), but let's bump the timeout
a bit higher to avoid having to do this again soon.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30928 >
2024-08-29 19:21:52 +00:00
Valentine Burley
b37e06fd58
vulkan, radv: Add new common vk_format_get_plane_width/height helpers
...
Add new vk_format_get_plane_width/height helpers using ycbcr_info and use it to
replace RADV's ones which relied on util_format_get_plane_width/height.
We already have this data in the YCbCr table, so this avoids having the maintain the list
of pipe formats in util_format_get_plane_width/height.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30899 >
2024-08-29 15:57:51 +00:00
Faith Ekstrand
8c60f1461b
vulkan: Take a VkPipelineCreateFlags2KHR in vk_pipeline_*shader_stage*()
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876 >
2024-08-29 03:30:31 +00:00
Eric Engestrom
5434aa79f5
ci: run only one vkd3d test at a time
...
Both radv and nvk seem to be having a lot of random failures when there
are several tests running in parallel.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24739 >
2024-08-29 00:18:54 +00:00
Eric Engestrom
23e9cbc623
ci/vkd3d: use upstream test-runner.sh for process isolation
...
Once again, making sure the input (*-vkd3d-*.txt) have the same format
as deqp-runner so that users don't have to care which one they're using,
and the output is also in the same format so that tools automatically
handle everything.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24739 >
2024-08-29 00:18:54 +00:00
Faith Ekstrand
3e1d847d37
radv: Use the SPIR-V printer in spirv_to_nir
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30875 >
2024-08-28 21:52:59 +00:00
Samuel Pitoiset
7392e3306e
radv: remove useless check about non-indexed draws and DGC
...
The index buffer is only emitted inside the indexed draw path.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
0e1e5264b5
radv: specialize indirect command layout stride for DGC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
8edbfbfe68
radv: specialize push constant DGC token
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
7d0972711c
radv: simplify allocating push constants with DGC
...
Using a condition will allow to specialize it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
545949d12f
radv: specialize VBO DGC token
...
Can't really specialize more without rewriting VBO completely.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
64076c652c
radv: specialize pipeline DGC token
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
7270bf7aa3
radv: specialize index buffer DGC token
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
3128eca2d0
radv: specialize draw DGC token
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
ccd55b55da
radv: specialize dispatch DGC token
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
b4793400f3
radv: add a pointer to the DGC layout in dgc_cmdbuf
...
Will be useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Samuel Pitoiset
c7540d3fd6
radv: prepare for specialized DGC shaders
...
The DGC prepare shader is getting crazy and it takes a non-trivial
amount of time. Using specialized DGC shaders is cleaner and it's
faster than a pile of conditional SALU instructions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30852 >
2024-08-28 11:03:36 +00:00
Georg Lehmann
246e22ff4f
aco/tests: do not use mul with constant to tests neg modifier
...
The neg can be moved to the constant operand, which defeats the point
of the test.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30781 >
2024-08-27 20:41:10 +00:00
Georg Lehmann
bf67ac30fe
aco/tests: allow literals with resolved swizzles in vop3p test
...
My new optimizer code will resolve swizzles for constants.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30781 >
2024-08-27 20:41:09 +00:00
Georg Lehmann
6a18eb6afc
aco/tests: parse neg(constant) in vop3p test
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30781 >
2024-08-27 20:41:09 +00:00
Georg Lehmann
52465956ca
aco/print_ir: use neg() for constants
...
Otherwise, it's not clear if -1 is 0xffffffff or 0x80000001.
LLVM uses a similar logic.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30781 >
2024-08-27 20:41:09 +00:00