Georg Lehmann
31c1cb06ad
radv: Use available dot product instructions on gfx11.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19114 >
2022-10-24 19:07:16 +00:00
Konstantin Seurer
ac01f09d57
radv/rt: Load instance id and custom index on demand
...
Stats for Quae II RTX:
57fps -> 57fps
Totals from 7 (14.00% of 50) affected shaders:
VGPRs: 800 -> 784 (-2.00%)
CodeSize: 217868 -> 218308 (+0.20%)
MaxWaves: 62 -> 63 (+1.61%)
Instrs: 40384 -> 40420 (+0.09%); split: -0.01%, +0.10%
Latency: 866315 -> 870692 (+0.51%)
InvThroughput: 199189 -> 196595 (-1.30%); split: -1.75%, +0.45%
VClause: 1058 -> 1077 (+1.80%)
SClause: 1126 -> 1130 (+0.36%)
Copies: 5787 -> 5772 (-0.26%); split: -0.40%, +0.14%
PreVGPRs: 764 -> 750 (-1.83%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19159 >
2022-10-24 14:39:25 +00:00
Samuel Pitoiset
cf7ada973a
radv: disable shaderBufferFloat64AtomicMinMax on GFX11
...
buffer_atomic_{fmin,fmax}_x2 aren't supported on this GPU apparently.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19268 >
2022-10-24 12:40:33 +00:00
Samuel Pitoiset
7298bc1810
radv: disable {shader,sparse}ImageFloat32AtomicMinMax on GFX11
...
image_atomic_{fmin,fmax} aren't supported on this GPU apparently.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19268 >
2022-10-24 12:40:33 +00:00
Bas Nieuwenhuizen
514a9b3b75
radv: Use correct primgrp size for gfx11.
...
From radeonsi, found by inspection.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19222 >
2022-10-24 09:08:42 +00:00
Bas Nieuwenhuizen
9d782e5294
radv: Improve gfx11 clear colors for DCC.
...
When I wrote the function I did unorms wrong. Let's copy radeonsi
harder.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19222 >
2022-10-24 09:08:42 +00:00
Samuel Pitoiset
152b90efcd
aco,radv/llvm: do not export parameters on GFX11
...
They will be exported through the attribute ring instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19216 >
2022-10-24 07:55:06 +02:00
Samuel Pitoiset
c5bf63753d
ac/nir,radv/llvm: add support for the attribute ring
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19216 >
2022-10-24 07:55:06 +02:00
Samuel Pitoiset
fee5e379f4
radv/llvm: do not set COMPR for exports on GFX11
...
Use 0x3 channel mask instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19216 >
2022-10-24 07:53:59 +02:00
Georg Lehmann
125741dbae
nir/opt_algebraic: Optimize various find_msb_rev patterns.
...
From dxvk, dxil-spirv, fxc, dxc and others.
Totals from 177 (0.13% of 134913) affected shaders:
CodeSize: 1079504 -> 1059872 (-1.82%)
Instrs: 195381 -> 192269 (-1.59%)
Latency: 3664137 -> 3631951 (-0.88%)
InvThroughput: 599479 -> 585675 (-2.30%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18951 >
2022-10-22 11:57:33 +02:00
Georg Lehmann
d57f5c9cac
radv,aco: Lower uclz in NIR.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18951 >
2022-10-22 11:57:23 +02:00
Konstantin Seurer
b5ecb5388e
radv/rt: Fix setting tmax for opaque AABBs
...
data->vars->tmax will be overwritten by inner_vars.tmax so we have to
set inner_vars.tmax instead. This probably doesn't affect anything in
practise.
cc: mesa-stable
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19207 >
2022-10-22 08:55:58 +00:00
Samuel Pitoiset
897adcf7d7
radv: disable AMD_shader_explicit_vertex_parameter on GFX11
...
Not supported by ACO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19230 >
2022-10-21 16:42:12 +00:00
Samuel Pitoiset
c18e39ebca
radv: disable VK_AMD_texture_gather_bias_lod on GFX11
...
image_gather4_b_o no longer exists apparently, so this is likely
broken.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19230 >
2022-10-21 16:42:12 +00:00
Samuel Pitoiset
59be3b8a8f
radv: advertise VK_EXT_extended_dynamic_state3
...
Some tricky dynamic states still need to be implemented for full ds3
support with Zink, I will implement them later.
Pass dEQP-VK.pipeline.*extended_dynamic_state* on NAVI21.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
e48c0fbd8f
radv: add support for dynamic depth clamp enable
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
31f946f4d2
radv: add support for dynamic provoking vertex mode
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
e26d3cd9e8
radv: add support for dynamic depth clip negative one to one
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
fbed3aed4a
radv: add support for dynamic conservative rasterization mode
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
96282ceb9a
radv: add support for dynamic depth clip enable
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
8682e09c33
radv: add support for dynamic sample mask
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
7c38d94261
radv: add support for dynamic alpha to coverage enable
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
6a98329b5e
radv: add support for dynamic line stipple enable
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
17b9aa92b7
radv: add support for dynamic logic op enable
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
f22290949d
radv: add support for dynamic tessellation domain origin
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
6bf34e9f36
radv: add support for dynamic polygon mode
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
e0b4b12066
radv: declare new dynamic states
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Pierre-Eric Pelloux-Prayer
f5abb7ce4c
ac/llvm: pass ac_llvm_ptr instead of separate type/ptr
...
This simplifies the API.
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
39fd373f81
radv/llvm: replace LLVMBuildLoad by LLVMBuildLoad2
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
b31affddf4
ac/llvm: remove gep_2 and others temporary functions
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
cb117cdc96
radv/llvm: use ac_build_gep0_type to get args types
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
0f00f74b20
ac/llvm: port functions to use ac_llvm_pointer
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Samuel Pitoiset
1f573c44ab
radv: advertise fragmentShadingRateWithShaderDepthStencilWrites on NAVI23+
...
It should work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19195 >
2022-10-21 06:45:21 +00:00
Samuel Pitoiset
61e54297cd
radv: allocate more space for pipeline statistics query on GFX11
...
There is 14 queries, including new queries for mesh/task shaders.
Ported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19199 >
2022-10-21 06:09:00 +00:00
Samuel Pitoiset
8bf1aa1b76
radv: add lowering for nir_intrinsic_load_ring_attr_{offset}_amd
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
46777e5544
radv: declare shader arguments for attributes via memory
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
bcf642c23e
radv: create and configure the ring BO for attributes
...
It currently uses a pretty large size but it will be tweaked later.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
f239d745d6
radv: add RADEON_FLAG_DISCARDABLE
...
For big pages.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
f8bf2a9a15
radv: drop the ES vertex count requirement on GFX11
...
Ported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19155 >
2022-10-20 08:55:04 +00:00
Samuel Pitoiset
bc19ffef27
radv: do not use memory for waiting for cache flushes on GFX11
...
There is a different mechanism with an internal counter.
Ported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19155 >
2022-10-20 08:55:04 +00:00
Samuel Pitoiset
39bdf17d19
radv: use correct VGT_TESS_DISTRIBUTION settings on GFX11
...
Ported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19155 >
2022-10-20 08:55:04 +00:00
Samuel Pitoiset
2a7e4dc8cb
radv: set SAMPLE_MASK_TRACKER_WATERMARK to 15 on GFX11
...
Ported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19155 >
2022-10-20 08:55:04 +00:00
Qiang Yu
97e1613b0e
ac/nir/ngg: use nir_load_provoking_vtx_in_prim_amd in ngg lower
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
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/19166 >
2022-10-20 06:53:56 +00:00
Qiang Yu
58e006b174
nir,ac/llvm,radv: add nir_intrinsic_load_provoking_vtx_in_prim_amd
...
For radeonsi which load this from arg.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
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/19166 >
2022-10-20 06:53:56 +00:00
Sergei Chernyadyev
c7e9268658
radv: fix setting results for initialization failures in thread trace and trap handler
...
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19083 >
2022-10-17 22:59:15 +00:00
Samuel Pitoiset
ca02da294a
radv: discard the PS epilog when the pipeline doesn't use a fragment shader
...
This makes no sense and this was broken.
Fixes dEQP-VK.mesh_shader.ext.smoke.*_lib.mesh_shader_triangle_rasterization_disabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19019 >
2022-10-17 08:13:26 +02:00
Samuel Pitoiset
7b3aae8912
radv: do not create a noop FS when the FS is imported from a library
...
The entrypoint can be NULL even if the FS is imported from a library,
but we shouldn't overwrite the pre-compiled FS by a noop.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19019 >
2022-10-17 08:13:24 +02:00
Konstantin Seurer
6905c25829
radv/rra: Use the accel struct type for header validation
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
43756a9f76
radv/rra: Continue dumping accel structs if validation fails
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
e8547392b0
radv/rra: Add basic header validation
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00