Daniel Schürmann
3806cd83f2
radv: skip pipeline caching with RADV_DEBUG=shaders
...
in order to create reproducible cache entries.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029 >
2023-03-24 19:03:29 +00:00
Daniel Schürmann
493d93f26c
radv: refactor shader_compile()
...
- change the return type to radv_shader_binary *
- setup options at the caller side
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029 >
2023-03-24 19:03:29 +00:00
Daniel Schürmann
5051980ff8
radv: remove radv_create_gs_copy_shader()
...
We can replace the call with radv_shader_nir_to_asm().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029 >
2023-03-24 19:03:29 +00:00
Daniel Schürmann
55caea6453
radv: move gl_shader_stage from radv_binary to radv_shader_info
...
This way, both radv_shader and radv_shader_binary, provide the stage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029 >
2023-03-24 19:03:29 +00:00
Daniel Schürmann
2c8d101c71
radv: separate radv_capture_shader_executable_info() from radv_shader_create()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029 >
2023-03-24 19:03:29 +00:00
Daniel Schürmann
43ad3d3917
radv: inline radv_postprocess_config()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029 >
2023-03-24 19:03:29 +00:00
Daniel Schürmann
13c55a8e86
radv: remove unnecessary copy of binary->config
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029 >
2023-03-24 19:03:29 +00:00
Daniel Schürmann
fe716c2428
radv: separate radv_postprocess_binary_config() from radv_shader_create()
...
The goal is to make radv_shader_create() a function that creates a shader
from a binary without any additional information.
Postprocessing the config is only needed after compilation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029 >
2023-03-24 19:03:29 +00:00
Daniel Schürmann
0fec7819f4
radv: remove unused parameter from radv_open_rtld_binary()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22029 >
2023-03-24 19:03:29 +00:00
Samuel Pitoiset
879ddf9720
radv: rework binding shaders to cmdbuf by introducing new helpers
...
For future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22101 >
2023-03-24 16:21:49 +00:00
Samuel Pitoiset
af1bc7f4ce
radv: remove radv_pipeline::device completely
...
This is unecessary and this prevents using a ton of functions without
a radv_pipeline object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22090 >
2023-03-24 13:48:40 +00:00
Samuel Pitoiset
d9e68f4e40
radv: pass a radv_shader to radv_emit_dispatch_packets()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22102 >
2023-03-24 12:43:51 +00:00
Samuel Pitoiset
d07c81d87e
radv: move cs_regalloc_hang_bug to radv_shader_info
...
This is more like a shader property.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22102 >
2023-03-24 12:43:51 +00:00
Georg Lehmann
48ba17b823
amd: remove duplicate from .clang-format
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22077 >
2023-03-24 10:56:31 +00:00
Georg Lehmann
687b756073
aco: remove duplicates from .clang-format
...
The latest clang-format doesn't support this anymore.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22077 >
2023-03-24 10:56:31 +00:00
Timur Kristóf
e743ddbbb4
radv: Enable mesh shading on GFX11.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
59a4fb6af7
ac/nir/ngg: Store special MS outputs in attribute ring for PS to read.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
b2a71c56d9
ac/nir/ngg: Fix mesh shader layer on GFX11.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
9d2f5a4ada
ac/nir/ngg: Split legacy workgroup index function.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
240e16fc8e
ac/nir/ngg: Use attribute ring for mesh shader params.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
0af22af548
ac/nir/ngg: Clarify mesh shader scratch ring.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
36edbebe8b
radv: Adjust mesh draw packets for GFX11.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
9c1571bc56
radv: Include per-prim params in NUM_INTERP on GFX11.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
500f3e0bde
radv: Use PRIM_ATTR for PS inputs on GFX11.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
09b81c7570
radv: Add extra offset to per-prim params.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
552614e15a
radv: Use per-prim params in has_param_exports.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
d0f25109f6
radv: Add per-prim attributes to ring_attr stride.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
7cc9a72913
radv: Use new mesh shading packet defines.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Timur Kristóf
da3eb6e6a5
ac: Add more defines for mesh shading packets.
...
Add some set macro defines for mesh shading packets.
The naming convention is:
S_(packet opcode)(dword index)_FIELD_NAME
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21409 >
2023-03-23 11:49:35 +00:00
Qiang Yu
0cd89a27ed
ac/llvm: add missing type convert for nir_load_buffer_amd
...
Fixes: afcbccb078 ("ac/llvm: implement ACCESS_USE_FORMAT_AMD as buffer_load/store_format")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22043 >
2023-03-23 01:55:20 +00:00
Qiang Yu
5ddb46e963
ac/llvm: respect channel_type when ac_build_buffer_load
...
Mainly for nir_load_smem_buffer_amd which pass i32 for this parameter.
Fixes: 8030fbcf16 ("nir,ac/llvm: add nir_load_smem_buffer_amd")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22043 >
2023-03-23 01:55:20 +00:00
Martin Roukala (né Peres)
09ea80466a
radv/ci: update the navi10 expectations
...
As part of https://gitlab.freedesktop.org/tanty/mesa-valve-ci/-/jobs/38416444 ,
we saw the following flakes:
- dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.2_cmdbuffers_resuming
- dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.contents_secondary_2_primary_cmdbuffers_resuming
- dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.two_draws_static.topology_line
And the following failure (seen 4/4 times in the run):
- dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_2_samples,Fail
Samuel told me that these are usual flakes, so let's document all of them.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22055 >
2023-03-22 16:42:29 +00:00
Samuel Pitoiset
d4bce9508b
radv: use common GetBufferMemoryRequirements2()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22047 >
2023-03-22 07:50:04 +00:00
Alyssa Rosenzweig
968c5c6334
radv: Use umod_imm
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010 >
2023-03-22 06:18:18 +00:00
David Heidelberg
7dcd02bd32
aco: drop leftover variable
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8652
Fixes: 44fdd2ebcb ("aco: end reduce tmp after control flow, when used within control flow")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22011 >
2023-03-22 03:39:56 +00:00
Samuel Pitoiset
cb5701eed9
radv: implement VK_KHR_map_memory2
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22032 >
2023-03-21 23:08:03 +00:00
Samuel Pitoiset
cd59db8c46
radv: pass radv_shader to radv_shader_need_indirect_descriptor_sets()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:13 +00:00
Samuel Pitoiset
0d95660a03
radv: pass radv_ray_tracing_pipeline to radv_rt_pipeline_compile()
...
The base.base is redundant but this will allow us to move the shaders
array out of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:13 +00:00
Samuel Pitoiset
88137cd710
radv: rework dumping shaders when a GPU hang is reported
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:13 +00:00
Samuel Pitoiset
444c5887c2
radv: pass radv_shader to radv_dump_shader_stats()
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:13 +00:00
Samuel Pitoiset
0514c015e6
radv: use a separate compute path in radv_flush_constants()
...
radv_get_shader() will be a radv_graphics_pipeline only function.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
e7bbd610b8
radv: pass shader/base_reg to radv_emit_userdata_address()
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
1e3cac8d5e
radv: pass shader/base_reg to radv_emit_inline_push_consts()
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
c2e71729af
radv: pass shader/base_reg to radv_emit_descriptor_pointers()
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
d7c5b6fb94
radv: replace radv_lookup_user_sgpr() by radv_get_user_sgpr()
...
radv_get_user_sgpr() no longer relies on radv_pipeline which is
another step for moving the shaders array outside of it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
4066e3a951
radv: stop using radv_get_shader_shader() for task shaders
...
radv_get_shader() should only be used for VS or TES, no need to add
another indirection for task shaders. While we are at it, rename
compute_shader to task_shader.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Timur Kristóf
d044eeb658
ac/nir/ngg: Rename repacked variables to clarify their name.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
5b50b9631c
ac/nir/ngg: Create separate variable for repacked rel_patch_id.
...
This should be handled separately from the other repacked
variables, because it doesn't use a dword.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
30ce47cc00
ac/nir/ngg: Remove some superfluous variables.
...
These mostly existed because of the long name of the state variable
and are not really necessary.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
c22f9442f6
ac/nir/ngg: Rename state variables to "s".
...
It was a bad idea to give them a long name, let's correct it.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00