Marek Olšák
4880c1e12e
amd: unify NIR options between RADV and radeonsi
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26917 >
2024-01-17 09:05:54 +00:00
Sviatoslav Peleshko
6b0bfdfa9e
nir: Use alu source components count in nir_alu_srcs_negative_equal
...
When we use source from ALU instruction directly, the default swizzle array
should be populated with the same amount of components as the src has.
Otherwise, if we use nir_ssa_alu_instr_src_components, it can return
the destination components count that is lower than component index
actually used in that source. This can lead to false equality
between 0 (uninitialized) and 0 (.x) in swizzle comparison below.
Fixes: c6ee46a7 ("nir: Add nir_alu_srcs_negative_equal")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8704
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22655 >
2024-01-17 08:05:30 +00:00
Samuel Pitoiset
e19ecf49ea
radv: remove an extra new line in radv_shader.h
...
To make clang-format CI job happy again.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
ee96de53e4
radv: remove the pipeline key for ray tracing pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
e799907071
radv: remove the pipeline key for compute pipelines
...
Eveyerthing needed is already in radv_shader_stage_key.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
e017eb3b58
radv: stop hashing radv_pipeline_key for compute/rt pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
739c8eb681
radv: hash radv_shader_stage_key
...
This will allow us to remove the pipeline key completely for compute/rt
pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
853298edb1
radv/rt: cleanup radv_parse_rt_stage()
...
To avoid calling radv_pipeline_stage_init() twice.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
ffe997d71d
radv: add radv_pipeline_get_shader_key()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
844004c335
radv: cleanup radv_generate_pipeline_key()
...
Move everything in the same loop to prepare for a new helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
3615bcdde3
radv: make sure to retain shaders key for imported shaders with GPL
...
Now that everything is moved to the per-stage key, this information
needs to be retained/loaded with GPL, otherwise some flags might be
missing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
082c524f86
radv: pass radv_shader_stage_key to radv_pipeline_stage_init()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
08b8356111
radv: add shader_version to radv_shader_stage_key
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
Samuel Pitoiset
20fdbc7a44
radv: add keep_statistic_info to radv_shader_stage_key
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27036 >
2024-01-17 07:25:49 +00:00
David Heidelberg
027363416b
ci/lima: update expectations, failing tests are being skipped
...
Multiple previously failing tests are skipped now.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26905 >
2024-01-17 06:21:10 +00:00
Yonggang Luo
616c0cd067
compiler/spirv: vtn_add_printf_string support for handling OpBitcast
...
specifically, it's handling
%48 = OpBitcast %_ptr_UniformConstant_uchar %_str
%49 = OpBitcast %_ptr_UniformConstant_uchar %_str_1
; SPIR-V
; Version: 1.4
; Generator: Khronos SPIR-V Tools Linker; 0
; Bound: 53
; Schema: 0
OpCapability Addresses
OpCapability Kernel
OpCapability Int64
OpCapability Int8
%1 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %2 "main_test" %_str %_str_1
%5 = OpString "kernel_arg_type.main_test.float*,uint*,"
%6 = OpString "kernel_arg_type_qual.main_test.,,"
OpSource OpenCL_C 102000
OpName %_str ".str"
OpName %_str_1 ".str.1"
OpName %main_test "main_test"
OpName %src "src"
OpName %dest "dest"
OpName %entry "entry"
OpName %src_addr "src.addr"
OpName %dest_addr "dest.addr"
OpName %arrayidx "arrayidx"
OpName %call "call"
OpName %src_0 "src"
OpName %dest_0 "dest"
OpModuleProcessed "Linked by SPIR-V Tools Linker"
OpDecorate %_str Constant
OpDecorate %_str Alignment 1
OpDecorate %_str_1 Constant
OpDecorate %_str_1 Alignment 1
OpDecorate %src Alignment 4
OpDecorate %dest Alignment 4
OpDecorate %src_addr Alignment 8
OpDecorate %dest_addr Alignment 8
OpDecorate %src_0 Alignment 4
OpDecorate %dest_0 Alignment 4
%ulong = OpTypeInt 64 0
%uchar = OpTypeInt 8 0
%uint = OpTypeInt 32 0
%ulong_7 = OpConstant %ulong 7
%uchar_37 = OpConstant %uchar 37
%uchar_115 = OpConstant %uchar 115
%uchar_58 = OpConstant %uchar 58
%uchar_32 = OpConstant %uchar 32
%uchar_102 = OpConstant %uchar 102
%uchar_0 = OpConstant %uchar 0
%ulong_5 = OpConstant %ulong 5
%uchar_84 = OpConstant %uchar 84
%uchar_101 = OpConstant %uchar 101
%uchar_116 = OpConstant %uchar 116
%ulong_0 = OpConstant %ulong 0
%_arr_uchar_ulong_7 = OpTypeArray %uchar %ulong_7
%_ptr_UniformConstant__arr_uchar_ulong_7 = OpTypePointer UniformConstant %_arr_uchar_ulong_7
%_arr_uchar_ulong_5 = OpTypeArray %uchar %ulong_5
%_ptr_UniformConstant__arr_uchar_ulong_5 = OpTypePointer UniformConstant %_arr_uchar_ulong_5
%void = OpTypeVoid
%float = OpTypeFloat 32
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
%40 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_uint
%_ptr_Function__ptr_CrossWorkgroup_float = OpTypePointer Function %_ptr_CrossWorkgroup_float
%_ptr_Function__ptr_CrossWorkgroup_uint = OpTypePointer Function %_ptr_CrossWorkgroup_uint
%_ptr_UniformConstant_uchar = OpTypePointer UniformConstant %uchar
%44 = OpConstantComposite %_arr_uchar_ulong_7 %uchar_37 %uchar_115 %uchar_58 %uchar_32 %uchar_37 %uchar_102 %uchar_0
%_str = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_7 UniformConstant %44
%45 = OpConstantComposite %_arr_uchar_ulong_5 %uchar_84 %uchar_101 %uchar_115 %uchar_116 %uchar_0
%_str_1 = OpVariable %_ptr_UniformConstant__arr_uchar_ulong_5 UniformConstant %45
%main_test = OpFunction %void DontInline %40
%src = OpFunctionParameter %_ptr_CrossWorkgroup_float
%dest = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%entry = OpLabel
%src_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function
%dest_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uint Function
OpStore %src_addr %src Aligned 8
OpStore %dest_addr %dest Aligned 8
%46 = OpLoad %_ptr_CrossWorkgroup_float %src_addr Aligned 8
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %46 %ulong_0
%47 = OpLoad %float %arrayidx Aligned 4
%48 = OpBitcast %_ptr_UniformConstant_uchar %_str
%49 = OpBitcast %_ptr_UniformConstant_uchar %_str_1
%call = OpExtInst %uint %1 printf %48 %49 %47
%50 = OpLoad %_ptr_CrossWorkgroup_uint %dest_addr Aligned 8
OpStore %50 %call Aligned 4
OpReturn
OpFunctionEnd
%2 = OpFunction %void DontInline %40
%src_0 = OpFunctionParameter %_ptr_CrossWorkgroup_float
%dest_0 = OpFunctionParameter %_ptr_CrossWorkgroup_uint
%51 = OpLabel
%52 = OpFunctionCall %void %main_test %src_0 %dest_0
OpReturn
OpFunctionEnd
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26775 >
2024-01-17 02:59:57 +00:00
Yonggang Luo
88c4de7e7b
compiler/spirv: There is not need unqualify const in function vtn_string_literal
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26775 >
2024-01-17 02:59:57 +00:00
Yonggang Luo
fd11818828
compiler/spirv: The spirv shader is binary, should write in binary mode
...
Fixes: 53265c8798 ("spirv: Add a mechanism for dumping failing shaders")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26775 >
2024-01-17 02:59:57 +00:00
Benjamin Lee
1593caf610
nak: implement FSWZADD on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27063 >
2024-01-16 23:46:19 +00:00
Faith Ekstrand
bb10f7f5da
nak: Implement nir_op_bfm
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26550 >
2024-01-16 23:32:13 +00:00
Faith Ekstrand
c14f4cc052
nak: Rename OpBrev to OpBRev
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26550 >
2024-01-16 23:32:13 +00:00
Faith Ekstrand
9b68c77abb
nak: Implement nir_op_ufind_msb_rev
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26550 >
2024-01-16 23:32:13 +00:00
Faith Ekstrand
a3bceafed5
nak: Implement nir_op_pack_half_2x16_rtz_split
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26550 >
2024-01-16 23:32:13 +00:00
Sil Vilerino
95a6165fac
d3d12: Do not assume multi-subregion support when querying for driver encode support
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27099 >
2024-01-16 21:41:48 +00:00
Eric Engestrom
e8c5a0485e
amd/ci: simplify deqp config
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27098 >
2024-01-16 21:21:26 +00:00
Eric Engestrom
6de31ef8a6
nouveau/ci: don't run nouveau (gl) tests on nvk changes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27096 >
2024-01-16 21:04:18 +00:00
Yiwei Zhang
dc5725ee29
vulkan/wsi/wayland: fix returns and avoid leaks for failed swapchain
...
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Tested-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27080 >
2024-01-16 20:38:56 +00:00
Konstantin Seurer
9eb48e8040
nak/repair_ssa: Remap PHI sources as well
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26371 >
2024-01-16 20:24:15 +00:00
Benjamin Lee
99720f0564
nak: fix frnd on SM50
...
Previously we weren't setting bit 42 when encoding frnd as f2f. This
causes it to ignore the rounding mode when src_type == dst_type.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27065 >
2024-01-16 19:05:40 +00:00
Thong Thai
df5203d631
radeonsi/vcn: remove EFC support for renoir
...
Renoir hardware has limited EFC support, so remove support for it from Mesa.
Thanks to @nyanmisaka for raising the issue.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9436
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27076 >
2024-01-16 18:42:42 +00:00
Benjamin Lee
ff84aef116
nak: support predicate sel on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27064 >
2024-01-16 18:28:22 +00:00
Benjamin Lee
9b6a39cfd4
nak: support predicate swaps on SM50
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27064 >
2024-01-16 18:28:22 +00:00
Eric Engestrom
9a6ac1dd2f
zink+anv/ci: add known failures
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27094 >
2024-01-16 15:52:34 +00:00
David Heidelberg
4ff77f08e4
ci/deqp: uprev deqp-runner for Linux too to 0.18.0
...
Previous commit upreved deqp only for the Android
Fixes: 1ff4687e86 ("ci: uprev deqp-runner from 0.16.1 to 0.18.0")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
[Eric]
- rename the deqp-runner version to DEQP_RUNNER_VERSION instead of DEQP_VERSION
- update image tags
- fix expectations lists
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27062 >
2024-01-16 15:14:20 +00:00
David Rosca
865abfde63
radeonsi/vcn: Fix H264 slice header when encoding I frames
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27029 >
2024-01-16 14:49:48 +00:00
Samuel Pitoiset
a5b21f7cf4
zink/ci: skip more arb_shader_image_load_store.* on Polaris10/Navi10
...
This subset seems to be the root cause of the recent GPU hangs that have
been uncovered since a077c14f15 ("zink: Fix resizable BAR detection
logic"). Skip it completely until the issue is correctly fixed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27077 >
2024-01-16 11:25:38 +00:00
Patrick Lerda
bacace8634
glsl/nir: fix gl_nir_cross_validate_outputs_to_inputs() memory leak
...
For instance, this issue is triggered with
vs-to-fs-overlap.shader_test -auto -fbo:
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7fe64f58e9a7 in calloc (/usr/lib64/libasan.so.6+0xb19a7)
#1 0x7fe642ca2839 in _mesa_symbol_table_ctor ../src/mesa/program/symbol_table.c:286
#2 0x7fe642ff003d in gl_nir_cross_validate_outputs_to_inputs ../src/compiler/glsl/gl_nir_link_varyings.c:728
#3 0x7fe642d7c7d8 in gl_nir_link_glsl ../src/compiler/glsl/gl_nir_linker.c:1357
#4 0x7fe642be6931 in st_link_glsl_to_nir ../src/mesa/state_tracker/st_glsl_to_nir.cpp:562
#5 0x7fe642be6931 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_nir.cpp:944
#6 0x7fe642acab55 in link_program ../src/mesa/main/shaderapi.c:1336
#7 0x7fe642acab55 in link_program_error ../src/mesa/main/shaderapi.c:1447
#8 0x7fe6424aa389 in _mesa_unmarshal_LinkProgram src/mapi/glapi/gen/marshal_generated2.c:1911
#9 0x7fe641fd912b in glthread_unmarshal_batch ../src/mesa/main/glthread.c:139
#10 0x7fe641f48d48 in util_queue_thread_func ../src/util/u_queue.c:309
#11 0x7fe641fa442a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
Fixes: 7d1948e9b5 ("glsl: implement cross_validate_outputs_to_inputs() in nir linker")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27071 >
2024-01-16 10:47:09 +00:00
Tatsuyuki Ishi
0a68a94a51
util: Optimize mesa_hex_to_bytes
...
This function ends up getting called an awful lot when loading a large
Fossilize cache db, so let's replace strtol with something more
reasonable.
For a game with 97k shaders, this reduces instance creation time from
203ms to 52ms.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27052 >
2024-01-16 02:15:22 +00:00
Dave Airlie
34e72579cd
vulkan/video: start deep copying the parameters structures
...
Joshua Ashton pointed out we aren't copying these deeply,
and we really should be.
This introduces deep copies of all the h264/h265 parameter sets.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27066 >
2024-01-16 00:54:35 +00:00
Dave Airlie
b4a6a876be
vulkan/video: start to wrap the video structs for deep copies.
...
This doesn't do any of the deep copies, it's just more non-functional changes
in preparation.
v2: fix alloc sizes
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27066 >
2024-01-16 00:54:35 +00:00
Dave Airlie
b72b4d8a0e
vulkan/video: rename some of the parameter tracking structs.
...
This will make it easier to add deep copy support.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27066 >
2024-01-16 00:54:35 +00:00
Dave Airlie
57d83cb99c
vulkan/video: drop unused function.
...
This looks to have been left over.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27066 >
2024-01-16 00:54:35 +00:00
Marek Olšák
7ed27bff0b
winsys/amdgpu: cosmetic touchups around IB sizes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
6e1dae77a9
winsys/amdgpu: represent max_ib_size_dw in bytes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
fd1e36a044
winsys/amdgpu: represent IB_MAX_SUBMIT_DWORDS in bytes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
a008a7dcdf
winsys/amdgpu: remove misplaced duplicated comment
...
The same comment is in the header file where it should be.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
b2b7603ecb
winsys/amdgpu: don't clear fence list elements after IB submission
...
Same idea as with the buffer lists.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
fb3171b653
winsys/amdgpu: add more fence_reference helpers
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
a94319d29b
winsys/amdgpu: don't clear buffer list elements after IB submission
...
amdgpu_winsys_bo_reference(dst, NULL) sets *dst to NULL, but we never read
*dst again because we set num_buffers to 0. So don't touch the buffer list
elements and only decrement the BO refcount. It makes a difference when you
have 10k BOs.
The CS thread overhead in VP2020/Catia1: 9.23% -> 8.74%
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00
Marek Olšák
2da16e9635
winsys/amdgpu: cosmetic touchups
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27060 >
2024-01-15 23:21:25 +00:00