Samuel Pitoiset
d4b8abe511
radv: simplify radv_bind_dynamic_state() slightly
...
This adds RADV_CMP_COPY to compact copies. Based on ANV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17649 >
2022-08-08 14:59:47 +00:00
Samuel Pitoiset
18e9ba3e3b
radv: remove unused states parameter from some radv_emit_XXX() helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17649 >
2022-08-08 14:59:47 +00:00
Samuel Pitoiset
1f6e32ff7c
radv: simplify saving/restoring all dynamic states
...
Instead of copying every field individually, just use a whole memcpy.
This could be optimized but that's not the point here.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17649 >
2022-08-08 14:59:47 +00:00
Samuel Pitoiset
1d82ec1b3f
radv: remove RADV_META_SAVE_SAMPLE_LOCATIONS
...
We already save/restore all other dynamic states unconditionally, it's
not really useful to make an exception for sample locations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17649 >
2022-08-08 14:59:47 +00:00
Rhys Perry
bf0af80045
aco: improve VcmpxPermlaneHazard workaround
...
According to LLVM, we only need to care about VOPC which writes exec.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17697 >
2022-08-08 13:59:17 +00:00
Rhys Perry
5912c7d3fa
aco: only add vscnt wait when visiting VMEM/DS
...
This prevents issues where we insert a s_waitcnt_vscnt(0) at the start of
a block or very end of the shader because we're joining two blocks (for
example, one with has_VMEM=true and the other with
has_branch_after_DS=true).
fossil-db (navi10):
Totals from 2441 (1.51% of 161220) affected shaders:
Instrs: 1383964 -> 1384094 (+0.01%); split: -0.07%, +0.08%
CodeSize: 7438212 -> 7438760 (+0.01%); split: -0.05%, +0.06%
Latency: 13780665 -> 13679664 (-0.73%); split: -1.53%, +0.80%
InvThroughput: 2950835 -> 2921511 (-0.99%); split: -1.06%, +0.07%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17697 >
2022-08-08 13:59:17 +00:00
Rhys Perry
52156d6b26
aco: set has_VMEM,has_DS=false after a branch
...
fossil-db (navi10):
Totals from 161 (0.10% of 161220) affected shaders:
Instrs: 206726 -> 207179 (+0.22%); split: -0.02%, +0.24%
CodeSize: 1114152 -> 1116032 (+0.17%); split: -0.01%, +0.18%
Latency: 2119380 -> 2147403 (+1.32%); split: -0.16%, +1.48%
InvThroughput: 462960 -> 461922 (-0.22%); split: -0.42%, +0.19%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17697 >
2022-08-08 13:59:17 +00:00
Rhys Perry
b17e59a03b
aco: fix LdsBranchVmemWARHazard with 2+ branch chains
...
For example, "DS -> branch -> VMEM -> branch -> DS".
fossil-db (navi10):
Totals from 639 (0.40% of 161220) affected shaders:
Instrs: 629090 -> 628254 (-0.13%); split: -0.19%, +0.06%
CodeSize: 3410164 -> 3406748 (-0.10%); split: -0.14%, +0.04%
Latency: 7834755 -> 7821011 (-0.18%); split: -0.70%, +0.52%
InvThroughput: 1369698 -> 1374495 (+0.35%); split: -0.12%, +0.47%
A lot of the fossil-db changes are noise.
threekingdoms.8db138826c386a62.1.foz/0b222ed175eebad0 is an example of a
shader that actually has this issue.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: c037ba1bb7 ("aco/gfx10: Mitigate LdsBranchVmemWARHazard.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17697 >
2022-08-08 13:59:17 +00:00
Timur Kristóf
dccd6f495a
ac/nir/cull: Fix typo in bounding box culling.
...
Bounding box culling is only viable when the W of all
vertices are positive. Always accept triangles whose any
W is negative.
Fixes: 0d527bb1aa
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7018
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17929 >
2022-08-08 11:16:04 +00:00
Samuel Pitoiset
1fb12d2cce
radv: use ref counting for VS prologs and PS epilogs
...
With GPL, it will be possible to create VS prologs and PS epilogs
from libraries, so reference counting is useful here too.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17628 >
2022-08-08 10:52:31 +00:00
Samuel Pitoiset
a2b8a92c72
radv: rework shaders ref counting
...
Introduce helpers like for descriptor set layouts. This will also
help graphics pipeline libraries.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17628 >
2022-08-08 10:52:31 +00:00
Samuel Pitoiset
2012246075
radv: ignore out-of-order rasterization if stencil write mask is dynamic
...
This might break out-of-order rasterization on GFX8-GFX9 because it
relies on the stencil write mask which can be dynamic.
Found by inspection.
Cc: mesa-stable
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/17673 >
2022-08-08 08:49:19 +02:00
Konstantin Seurer
6b86c0ba90
radv: Switch to the GLSL leaf implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
e55c852600
radv: Add a GLSL leaf kernel implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
60a91dddf4
radv: Switch to the GLSL internal implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
f3a457656b
radv: Add a GLSL internal kernel implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
b1a8797de9
radv: Switch to the GLSL morton implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
f79fe32cdc
radv: Add a GLSL morton kernel implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
46c723c7c0
radv: Add the basics for GLSL bvh kerrnels
...
Adds a meson build file for compiling GLSL compute shaders and a file with helpers for common acceleration structure build functionality.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
83a59403ae
radv: Add create_build_pipeline_spv helper
...
Just a copy of the non SPIR-V version that creates the shader module from SPIR-V.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
dfa5612067
radv: Remove unused push constant structs
...
Those are left over from !15648 and were never used in the final version.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
de75d9d1d0
radv: Remove accel_struct_build
...
Now that we always use LBVH this is not useful anymore.
In the future, when we have more options, we will use a different approach.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
c39271bb4b
radv: Always emulate fmin/fmax
...
The native path is not faster and float atomics won't be supported by
ancient glslangValidator versions, so just get rid of it.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
4f5da7939c
radv: Remove acceleration structure host builds
...
This code path is unmaintained and barely used.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
d0e2013633
radv: Move radv_acceleration_structure
...
Moves radv_acceleration_structure from radv_private to radv_acceleration_structure.
If we already have a acceleration structure header, we can also use it instead of radv_private.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
0e48165411
radv: Move accel struct structs to bvh/bvh.h
...
Moves all the acceleration structure structs to bvh/bvh.h so that thay can be used in build kernels.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Timur Kristóf
e035c289b5
ac/nir/cull: Tweak phi for cull_small_primitive branch.
...
cull_small_primitive will now allow the caller to pass an
SSA def that it will use to determine if the primitive was
initially rejected.
This allows ACO to remove an s_branch instruction from every
NGG culling shader.
Fossil DB stats on Navi 21:
Totals from 60918 (45.16% of 134906) affected shaders:
CodeSize: 160086644 -> 159355824 (-0.46%); split: -0.46%, +0.00%
Instrs: 30477916 -> 30356092 (-0.40%); split: -0.40%, +0.00%
Latency: 139587915 -> 139611487 (+0.02%); split: -0.00%, +0.02%
InvThroughput: 21184261 -> 21184346 (+0.00%)
Copies: 2762930 -> 2702024 (-2.20%); split: -2.20%, +0.00%
Branches: 1236970 -> 1176052 (-4.92%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17919 >
2022-08-06 20:43:36 +00:00
Tatsuyuki Ishi
abc4eda846
radv: Implement radv_flush_before_query_copy to workaround UE Vulkan bugs.
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5740
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14208 >
2022-08-06 14:06:48 +00:00
Timur Kristóf
b731be2e96
aco: Remove branch instruction when exec is constant non-zero.
...
This mainly helps the "if (elect())" that is used in
NGG culling shaders, effectively removing a useless branch
from every culling shader.
Totals from 58346 (45.35% of 128653) affected shaders:
CodeSize: 153238668 -> 153005284 (-0.15%)
Instrs: 29066198 -> 29007852 (-0.20%)
Latency: 133626003 -> 133598182 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 20208765 -> 20208689 (-0.00%)
Branches: 1190209 -> 1131863 (-4.90%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13383 >
2022-08-05 23:58:57 +00:00
Timur Kristóf
baab6f18c9
aco: Optimize branching sequence during SSA elimination.
...
Totals from 63245 (49.16% of 128653) affected shaders:
CodeSize: 166703680 -> 166436164 (-0.16%)
Instrs: 31618383 -> 31551504 (-0.21%)
Latency: 149404811 -> 149337729 (-0.04%); split: -0.05%, +0.00%
InvThroughput: 23996388 -> 23994734 (-0.01%); split: -0.01%, +0.00%
Copies: 2794107 -> 2727228 (-2.39%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13383 >
2022-08-05 23:58:57 +00:00
Timur Kristóf
e4b0caae61
ac/nir/cull: Make cull functions more consistent.
...
Now they all return whether the primitive was rejected.
No Fossil DB changes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:28 +00:00
Timur Kristóf
c721f751f2
ac/nir/ngg: Move LDS store of accepted flag into the inner branch.
...
For primitives which are rejected based on only W and face, this
will reduce the number of executed branches.
Fossil DB stats on Navi 21:
Totals from 60918 (45.16% of 134906) affected shaders:
CodeSize: 160330564 -> 160086644 (-0.15%)
Instrs: 30477385 -> 30477916 (+0.00%); split: -0.00%, +0.00%
Latency: 139802763 -> 139587915 (-0.15%); split: -0.15%, +0.00%
InvThroughput: 21198444 -> 21184261 (-0.07%); split: -0.07%, +0.00%
SClause: 749811 -> 749810 (-0.00%)
Copies: 2701482 -> 2762930 (+2.27%); split: -0.00%, +2.28%
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:28 +00:00
Timur Kristóf
0d527bb1aa
ac/nir/cull: Change if condition for bounding box culling.
...
The previous code checked all_w_positive in the if condition.
Instead, always execute the bbox culling code and include
all_w_positive at the end.
We assume checking in the if is not beneficial because it's
very unlikely that there is no primitive in a wave whose W are
not all positive.
This allows moving other things to the condition
in the next commit.
Fossil DB stats on Navi 21:
Totals from 60918 (45.16% of 134906) affected shaders:
CodeSize: 160574204 -> 160330564 (-0.15%); split: -0.15%, +0.00%
Instrs: 30538297 -> 30477385 (-0.20%); split: -0.20%, +0.00%
Latency: 139810902 -> 139802763 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 21198449 -> 21198444 (-0.00%); split: -0.00%, +0.00%
SClause: 749810 -> 749811 (+0.00%)
Copies: 2701474 -> 2701482 (+0.00%); split: -0.00%, +0.00%
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:28 +00:00
Timur Kristóf
fb4e68b724
ac/nir/cull: Move the contents of cull_bbox into ac_nir_cull_triangle.
...
No Fossil DB changes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:28 +00:00
Timur Kristóf
e2ca24063a
ac/nir/cull: Move some code from cull_bbox into helper functions.
...
No Fossil DB changes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:27 +00:00
Samuel Pitoiset
239363f3c6
radv: implement VK_EXT_attachment_feedback_loop_layout
...
This extension introduces a new layout which allows applications
to both render and sample from the same image inside the same draw
(aka. feedback loops).
Previously, the GENERAL layout was used and this introduced some
rendering artifacts because the hw can't read&write DCC/HTILE for
the same image, and we try to keep it compressed on GFX10+.
This helps fixing corruption with D3D9 and RPCS3 games which
are candidate for feedback loops.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4411
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17883 >
2022-08-05 18:10:57 +00:00
Marek Olšák
0c1801706e
ac/llvm: handle external textures in ac_nir_lower_resinfo
...
Fixes: 4f622d62d0 - ac/nir: add ac_nir_lower_resinfo
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6993
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17902 >
2022-08-05 09:04:17 +00:00
Konstantin Seurer
12a4581a06
radv/nir_lower_abi: Use instructions_pass
...
nir_shader_instructions_pass is sufficient and it should be a bit faster
than nir_shader_lower_instructions.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17727 >
2022-08-04 21:22:29 +00:00
Constantine Shablya
d2754b12cd
radv: use nir_opt_uniform_access
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17558 >
2022-08-03 23:57:50 +00:00
Marek Olšák
098b9a8d02
ac/llvm: remove all resinfo code now that it's lowered
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
9c1014f312
radeonsi,radv: run ac_nir_lower_resinfo
...
Emulating image_get_resinfo should be faster than using the hw.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
4f622d62d0
ac/nir: add ac_nir_lower_resinfo
...
Emulating image_get_resinfo should be faster than using the hw.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
5f772a2b75
ac/llvm: implement nir_texop_descriptor_amd
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
995beca09e
ac/llvm: implement nir_intrinsic_image_deref_descriptor_amd
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
9a574d3802
ac/llvm: implement nir_intrinsic_image_deref_samples_identical
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
ea6993f9c7
nir: add nir_intrinsic_image_samples_identical
...
radeonsi will use it
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
f129db911b
radeonsi/gfx11: use a better workaround for the export conflict bug
...
This is recommended for better performance.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
2ed9eb1b63
radeonsi/gfx11: enable shader prefetch except for initial chip revisions
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
9e9cc62912
radeonsi: follow shader_info.float_controls_execution_mode (mostly)
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
5c0b0f0058
ac/surface: don't forbid 256KB swizzle modes on smaller gfx11 chips
...
let addrlib make the right choice
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00