-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding support building Gallium VA drivers #9
Open
hmtheboy154
wants to merge
358
commits into
waydroid:lineage-18.1
Choose a base branch
from
hmtheboy154:gallium_va
base: lineage-18.1
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Fix crashes for piglit alpha-to-coverage tests when VK_EXT_extended_dynamic_state3 is not supported (like on Venus) Fixes: 7365778 ("zink: check for cbuf0 writes before setting A2C") Signed-off-by: Mary Guillemard <[email protected]> Reviewed-by: Antonino Maniscalco <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26003> (cherry picked from commit fe159c8)
set_foreach_remove assumes no entries have been removed. That assumption only holds if no errors occur, since pipeline cache objects can get removed if an error occurs during deserialization. This fixes dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic crashing on RADV. Cc: mesa-stable Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Faith Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26164> (cherry picked from commit 8ffdad7)
On Blitter engine, we don't support PIPE_CONTROL, we have to update memory locations using the MI_FLUSH_DW command. v2: - Handle video queue (Lionel) Fixes: 056b0cb ("anv: add video engine support in various places") Fixes: 5112b42 ("anv: Handle end of pipe with MI_FLUSH_DW on transfer queue") Signed-off-by: Sagar Ghuge <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26121> (cherry picked from commit 8c9a7f7)
This fixes various failing Piglit tests on DG2. Cc: mesa-stable Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Sagar Ghuge <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22717> (cherry picked from commit e4db19a)
Patch fxes ESO shadow pass ground corruption on Arc A750. In the colour pass where the rendering corruption first appears, the depth resource was used as a "PS - Texture". Immediately afterwards there's a Barrier where it goes from VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL => VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL immediately following that there's a Clear from vkCmdBeginRendering which appears to be a HiZ clear. Things work when using AUX_USAGE_HIZ but AUX_USAGE_HIZ_CCS_WT (XXX: and AUX_USAGE_HIZ_CCS?) doesn't work. current thinking is this is related to 14015264727 where we had to add HDC and DC flushes to CCS and MCS fast clears. Maybe HiZ clears with CCS also have similar problems? The docs don't appear to indicate that but the docs were also wrong for color clears until recently... Cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9277 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9444 Signed-off-by: Sagar Ghuge <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22717> (cherry picked from commit 648c0c1)
Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Fixes: dbab98d ("radv: enable RADV_THREAD_TRACE_CACHE_COUNTERS by default") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26193> (cherry picked from commit c4ee639)
…res as atomics The code here handled stores of actual 3-byte values (8-bit, 3-component), but didn't correctly handle stores of larger 8-bit vectors that were constrained by write mask to just 3 bytes. In that case, the pad-to-vec4 step was unnecessary and problematic. Seen in CL CTS test_basic vector_swizzle test group for char3 with CLOn12. Fixes: c70d94a ("nir_lower_mem_access_bit_sizes: Support unaligned stores via a pair of atomics") Reviewed-by: Faith Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26034> (cherry picked from commit cd0cff9)
Fixes: a6a4396 ("gallium/auxiliary/vl: Clamp coordinates in compute shaders") Acked-by: Thong Thai <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26123> (cherry picked from commit ef05461)
Fixes: 7c8e159 ("gallium/auxiliary: Fix util_compute_blit half texel offset with scaling") Acked-by: Thong Thai <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26123> (cherry picked from commit e9091b1)
This fixes incorrect chroma plane position when x0/y0 is not zero. Fixes: 001358a ("vl/compositor: add a new function for YUV deint") Acked-by: Thong Thai <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26123> (cherry picked from commit 35b0ccd)
Bug: https://bugs.gentoo.org/917116 Fixes: 3ab51c7 ("r600: Add callbacks for get_driver_uuid and get_device_uuid") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26195> (cherry picked from commit b66b299)
This crashes if the graphics queue isn't created. Fixes: 930e77e ("radv/sqtt: add support for queue info") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10136 Signed-off-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26183> (cherry picked from commit 627d593)
Unreal Engine seems to rely on uninitialized memory and RADV_DEBUG=zerovram fixes a bunch of issues. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9025 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9380 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9026 Cc: mesa-stable Signed-off-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26188> (cherry picked from commit bb92c34)
Cc: mesa-stable Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26163> (cherry picked from commit 509ce19)
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/8080#note_2154467 Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8080 Cc: mesa-stable Signed-off-by: David Heidelberg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26199> (cherry picked from commit 1eff68d)
ApiRayTracingSeparateCompiled can only used by trace commands. Fixes: bfb55d0 ("ac/sqtt,radv/sqtt: Add and use marker for separate RT compilation") Reviewed-by: Friedrich Vock <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26158> (cherry picked from commit b6e09dd)
There are rendering issues with FCV on DG2 and Unreal engine 5.1, patch adds option to disable fcv in drirc. Cc: mesa-stable Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26169> (cherry picked from commit 01046cd)
When doing ASTC decoding, the image has format VK_FORMAT_ASTC_*, the internal plane 1 has format VK_FORMAT_R8G8B8A8_UNORM, and the view has format VK_FORMAT_R8G8B8A8_UINT. It does not need the override for compressed formats. Fixes: f97b449 ("radv: integrate meta astc compute decoder to radv") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26106> (cherry picked from commit 2533d0a)
… set vk_object_base_finish() needs to be called on the descriptor set in order to free the debug names. Cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10098 Signed-off-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26088> (cherry picked from commit 4239e13)
After digging into PAL code again, I figured that Tonga/Iceland are both affected by a hw bug related to async compute dispatches. The solution is to change the "threadgroup" dimension mode to the "thread" dimension mode unconditionally. This should fix a bunch of issues related to RADV_DEBUG=nocompute on these GPUs. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7551 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6334 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4679 Cc: mesa-stable Signed-off-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26207> (cherry picked from commit ec82b42)
The `sv->image_view` pointer is dereference before checking whether it's NULL or not. Check for NULL before dereferencing it to avoid a possible crash. Fixes: 9de455b ("zink: check for sampler view existence during zink_rebind_all_images()") Reviewed-by: Dave Airlie <[email protected]> Signed-off-by: José Expósito <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26140> (cherry picked from commit 83ed419)
goto oopsies. Fixes: d1456a6 ("zink: add semaphore handling for sparse binds") Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26171> (cherry picked from commit 3ee283e)
The commit was always being treated as failed... Fixes: d1456a6 ("zink: add semaphore handling for sparse binds") Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26171> (cherry picked from commit 94e867e)
They will be handy for drivers supporting multi-planar formats. Cc: mesa-stable Reviewed-by: Italo Nicola <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26109> (cherry picked from commit d679154)
In order to return correct offsets, strides and possibly other parameters. This is relevant for formats like NV12 and P010 where the second plane, when produced by the V4L2 decoder, uses the same FD like the first one, but with an offset. Analogous to 7a7e577. Also use the new helper to get the number of planes. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10094 Cc: mesa-stable Reviewed-by: Italo Nicola <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26109> (cherry picked from commit 5f4253e)
In environments where 3D acceleration is not available, like in a VM, the behavior before commit 8cd44b8 ("egl: add automatic zink fallback loading between hw and sw drivers") was to fallback to swrast. This was the output of `eglinfo` in that situation: $ eglinfo [...] Wayland platform: EGL driver name: swrast OpenGL core profile renderer: llvmpipe (LLVM 17.0.4, 256 bits) However, after commit 8cd44b8 ("egl: add automatic zink fallback loading between hw and sw drivers") Zink support is tested before falling back to swrast. Since the system doesn't support 3D acceleration, Zink + software rendering is used instead of swrast causing issues like the ones described in #10146. In this case, `eglinfo` prints: $ eglinfo [...] Wayland platform: EGL driver name: zink OpenGL core profile renderer: zink Vulkan 1.3(llvmpipe (LLVM 17.0.4, 256 bits) (MESA_LLVMPIPE)) This patch ensures that Zink + software rendering is used only when the user opts-in by setting `LIBGL_ALWAYS_SOFTWARE` or `D3D_ALWAYS_SOFTWARE` and swrast is used otherwise. After the patch, the output of `eglinfo` is identical to the one before the regression: $ eglinfo [...] Wayland platform: EGL driver name: swrast OpenGL core profile renderer: llvmpipe (LLVM 17.0.4, 256 bits) Resolves: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10146 Fixes: 8cd44b8 ("egl: add automatic zink fallback loading between hw and sw drivers") Reviewed-by: Michel Dänzer <[email protected]> Signed-off-by: José Expósito <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26220> (cherry picked from commit 2a71f06)
Update the sampler views with the color channels, that fixes the issue caused by: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20815 It fixes the case: `gst-launch-1.0 -v -v filesrc location=file.jpg ! jpegparse ! vaapijpegdec ! imagefreeze ! vaapisink` Fixes: dc2119b ("util/format: Fix wrong colors when importing YUYV and UYVY") Cc: mesa-stable Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Sathishkumar S <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26911> (cherry picked from commit 9eac065)
…bgroup operations Fixes: b447f50 ('nir: Add a discard optimization pass') Reviewed-by: Georg Lehmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18249> (cherry picked from commit d434a12)
This is broken for games that rely on invariant geometry since the usage of matrices can affect how gl_Position is computed. The fdot fastpath relied on if and how fdot is lowered for correctness. Totals from 6578 (7.73% of 85071) affected shaders: MaxWaves: 147190 -> 147170 (-0.01%) Instrs: 4451406 -> 4438140 (-0.30%); split: -0.31%, +0.01% CodeSize: 23553020 -> 23541772 (-0.05%); split: -0.07%, +0.03% VGPRs: 302304 -> 302328 (+0.01%) SpillSGPRs: 1309 -> 1329 (+1.53%) Latency: 22509985 -> 22177164 (-1.48%); split: -1.48%, +0.00% InvThroughput: 4862795 -> 4842951 (-0.41%); split: -0.41%, +0.01% VClause: 85035 -> 84998 (-0.04%); split: -0.06%, +0.02% SClause: 131008 -> 131055 (+0.04%); split: -0.02%, +0.05% Copies: 298935 -> 298060 (-0.29%); split: -0.71%, +0.41% PreSGPRs: 266833 -> 267292 (+0.17%); split: -0.85%, +1.03% PreVGPRs: 249511 -> 249601 (+0.04%) Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9562 cc: mesa-stable Reviewed-by: Georg Lehmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26821> (cherry picked from commit 4d02543)
…nto lineage-18.1 mesa-23.3.2
Cc: mesa-stable Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26919> (cherry picked from commit a90d154)
Only emit this on the gfx/ace rings. Fixes hangs with CTS on video decode with navi3x. Reviewed-by: Samuel Pitoiset <[email protected]> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26945> (cherry picked from commit 71bd479)
../src/amd/common/ac_rgp.c:119:48: warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion] 119 | header->flags.is_semaphore_queue_timing_etw = 1; | ^ ~ Fixes: ed0c852 ("radv: add initial SQTT files generation support") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26839> (cherry picked from commit 568f617)
If ANV_VIDEO_DECODE, ANV_VIDEO_DECODE and INTEL_COPY_CLASS are enabled it is possible to have 5 different queues, so here increasing ANV_MAX_QUEUE_FAMILIES. Fixes: 17b8b2c ("anv: Add support for a transfer queue on Alchemist") Signed-off-by: José Roberto de Souza <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26882> (cherry picked from commit 0997766)
> Result Type must not equal the type of Operand (see OpCopyObject), > but Result Type must logically match the Operand type. Allow for this by setting the expected type and making sure, that both types match. cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10163 Reviewed-by: Georg Lehmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26252> (cherry picked from commit 4c363ac)
When mesa is built without support for X11 Zink will always refuse to start unless `LIBGL_KOPPER_DRI2` is set. Only perform this check on X11 where it is relevant. Fixes: cedb534 ("egl/glx: don't load non-sw zink without dri3 support") Reviewed-by: Daniel Stone <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26929> (cherry picked from commit 0fd066a)
mesa-23.3.3
video use vaapi decodec/encodec in android. aosp build add va lib need add BOARD_MESA3D_GALLIUM_VA := enabled BOARD_MESA3D_VIDEO_CODES := h264dec,h264enc,h265dec,h265enc,vc1dec Signed-off-by: cheyang <[email protected]>
Signed-off-by: hmtheboy154 <[email protected]>
Signed-off-by: hmtheboy154 <[email protected]>
aleasto
force-pushed
the
lineage-18.1
branch
from
February 18, 2024 17:11
138a2af
to
83be4b2
Compare
aleasto
pushed a commit
that referenced
this pull request
Mar 7, 2024
For instance, this issue is triggered with "piglit/bin/ext_framebuffer_multisample-accuracy all_samples color depthstencil -auto -fbo": Direct leak of 1160 byte(s) in 1 object(s) allocated from: #0 0x7fbe8897d7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef) #1 0x7fbe7e7abfcc in rc_constants_copy ../src/gallium/drivers/r300/compiler/radeon_code.c:47 #2 0x7fbe7e7ec902 in r3xx_compile_fragment_program ../src/gallium/drivers/r300/compiler/r3xx_fragprog.c:174 #3 0x7fbe7e7e1b22 in r300_translate_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:516 #4 0x7fbe7e7e6373 in r300_pick_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:591 #5 0x7fbe7e75456e in r300_create_fs_state ../src/gallium/drivers/r300/r300_state.c:1073 #6 0x7fbe7cd2ebe5 in st_create_fp_variant ../src/mesa/state_tracker/st_program.c:1070 #7 0x7fbe7cd374b5 in st_get_fp_variant ../src/mesa/state_tracker/st_program.c:1116 #8 0x7fbe7cd38273 in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:1281 #9 0x7fbe7cd38273 in st_finalize_program ../src/mesa/state_tracker/st_program.c:1345 #10 0x7fbe7d798ca8 in st_link_glsl_to_nir ../src/mesa/state_tracker/st_glsl_to_nir.cpp:724 #11 0x7fbe7d798ca8 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_nir.cpp:952 #12 0x7fbe7d6790d5 in link_program ../src/mesa/main/shaderapi.c:1336 #13 0x7fbe7d6790d5 in link_program_error ../src/mesa/main/shaderapi.c:1447 ... SUMMARY: AddressSanitizer: 2528456 byte(s) leaked in 1057 allocation(s). Fixes: 54f6e72 ("r300: better register allocator for vertex shaders") Signed-off-by: Patrick Lerda <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27792> (cherry picked from commit 4d00edd)
aleasto
pushed a commit
that referenced
this pull request
Mar 19, 2024
For instance, this issue is triggered with "piglit/bin/object-namespace-pollution glBitmap program -auto -fbo": Direct leak of 112 byte(s) in 7 object(s) allocated from: #0 0x7f472540e7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef) #1 0x7f471a9ce18f in rc_remove_unused_constants ../src/gallium/drivers/r300/compiler/radeon_remove_constants.c:101 #2 0x7f471a9b0836 in rc_run_compiler_passes ../src/gallium/drivers/r300/compiler/radeon_compiler.c:476 #3 0x7f471a9b0ad5 in rc_run_compiler ../src/gallium/drivers/r300/compiler/radeon_compiler.c:498 #4 0x7f471a9ec862 in r3xx_compile_fragment_program ../src/gallium/drivers/r300/compiler/r3xx_fragprog.c:172 #5 0x7f471a9e1ab2 in r300_translate_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:516 #6 0x7f471a9e6303 in r300_pick_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:591 #7 0x7f471a9544fe in r300_create_fs_state ../src/gallium/drivers/r300/r300_state.c:1073 #8 0x7f4718f2ebe5 in st_create_fp_variant ../src/mesa/state_tracker/st_program.c:1070 #9 0x7f4718f374b5 in st_get_fp_variant ../src/mesa/state_tracker/st_program.c:1116 #10 0x7f4718f38273 in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:1281 #11 0x7f4718f38273 in st_finalize_program ../src/mesa/state_tracker/st_program.c:1345 #12 0x7f4718f389e9 in st_program_string_notify ../src/mesa/state_tracker/st_program.c:1378 #13 0x7f47199d9f99 in set_program_string ../src/mesa/main/arbprogram.c:413 Fixes: 1c2c4dd ("r300g: copy the compiler from r300c") Signed-off-by: Patrick Lerda <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27957> (cherry picked from commit 29df857)
aleasto
pushed a commit
that referenced
this pull request
Apr 5, 2024
…rors For instance, this issue is triggered with "piglit/bin/glslparsertest tests/spec/arb_bindless_texture/compiler/images/arith-bound-image.frag pass 3.30 GL_ARB_bindless_texture GL_ARB_shader_image_load_store": Direct leak of 176 byte(s) in 1 object(s) allocated from: #0 0x7f84c3fbe9a7 in calloc (/usr/lib64/libasan.so.6+0xb19a7) #1 0x7f84ba7e0801 in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4391 #2 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759 #3 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836 #4 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874 #5 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176 #6 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309 #7 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67 #8 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a) Direct leak of 136 byte(s) in 1 object(s) allocated from: #0 0x7f84c3fbff57 in operator new(unsigned long) (/usr/lib64/libasan.so.6+0xb2f57) #1 0x7f84b1a5f749 in LLVMCreateBuilderInContext (/usr/local/lib64/libLLVM-17.so+0xc84749) #2 0x7f84ba7817b0 in ac_llvm_context_init ../src/amd/llvm/ac_llvm_build.c:54 #3 0x7f84ba542b7a in si_llvm_context_init ../src/gallium/drivers/radeonsi/si_shader_llvm.c:120 #4 0x7f84ba542b7a in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:832 #5 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874 #6 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176 #7 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309 #8 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67 #9 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a) Indirect leak of 176 byte(s) in 1 object(s) allocated from: #0 0x7f84c3fbe7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef) #1 0x7f84b81b9b3f in ralloc_size ../src/util/ralloc.c:118 #2 0x7f84b81b9fee in rzalloc_size ../src/util/ralloc.c:152 #3 0x7f84b81b9fee in rzalloc_array_size ../src/util/ralloc.c:232 #4 0x7f84b81b05c7 in _mesa_hash_table_init ../src/util/hash_table.c:163 #5 0x7f84b81b05c7 in _mesa_hash_table_create ../src/util/hash_table.c:186 #6 0x7f84ba7e06ae in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4381 #7 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759 #8 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836 #9 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874 #10 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176 #11 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309 #12 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67 #13 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a) Indirect leak of 176 byte(s) in 1 object(s) allocated from: #0 0x7f84c3fbe7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef) #1 0x7f84b81b9b3f in ralloc_size ../src/util/ralloc.c:118 #2 0x7f84b81b9fee in rzalloc_size ../src/util/ralloc.c:152 #3 0x7f84b81b9fee in rzalloc_array_size ../src/util/ralloc.c:232 #4 0x7f84b81b05c7 in _mesa_hash_table_init ../src/util/hash_table.c:163 #5 0x7f84b81b05c7 in _mesa_hash_table_create ../src/util/hash_table.c:186 #6 0x7f84ba7e06e4 in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4382 #7 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759 #8 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836 #9 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874 #10 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176 #11 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309 #12 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67 #13 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a) Indirect leak of 128 byte(s) in 1 object(s) allocated from: #0 0x7f84c3fbe7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef) #1 0x7f84b81b9b3f in ralloc_size ../src/util/ralloc.c:118 #2 0x7f84b81b046c in _mesa_hash_table_create ../src/util/hash_table.c:182 #3 0x7f84ba7e06e4 in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4382 #4 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759 #5 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836 #6 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874 #7 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176 #8 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309 #9 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67 #10 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a) Indirect leak of 128 byte(s) in 1 object(s) allocated from: #0 0x7f84c3fbe7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef) #1 0x7f84b81b9b3f in ralloc_size ../src/util/ralloc.c:118 #2 0x7f84b81b046c in _mesa_hash_table_create ../src/util/hash_table.c:182 #3 0x7f84ba7e06ae in ac_nir_translate ../src/amd/llvm/ac_nir_to_llvm.c:4381 #4 0x7f84ba53fdf4 in si_llvm_translate_nir ../src/gallium/drivers/radeonsi/si_shader_llvm.c:759 #5 0x7f84ba542bb7 in si_llvm_compile_shader ../src/gallium/drivers/radeonsi/si_shader_llvm.c:836 #6 0x7f84ba337b8e in si_compile_shader ../src/gallium/drivers/radeonsi/si_shader.c:2874 #7 0x7f84ba43a7c1 in si_init_shader_selector_async ../src/gallium/drivers/radeonsi/si_state_shaders.cpp:3176 #8 0x7f84b81c3448 in util_queue_thread_func ../src/util/u_queue.c:309 #9 0x7f84b821ea6a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67 #10 0x7f84c2fea38a (/lib64/libc.so.6+0x8438a) SUMMARY: AddressSanitizer: 920 byte(s) leaked in 6 allocation(s). Fixes: d92d35c ("ac/llvm: add a return value to ac_nir_translate") Signed-off-by: Patrick Lerda <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28099> (cherry picked from commit 0fd907f)
aleasto
pushed a commit
that referenced
this pull request
May 8, 2024
…er path A last memory leak related to constants_remap_table is happening. This memory leak is triggered by two deqp-gles2 tests. For instance, this issue is triggered with "deqp-gles2 --deqp-case=dEQP-GLES2.functional.uniform_api.random.13": Direct leak of 336 byte(s) in 1 object(s) allocated from: #0 0x7f1b4a5de7ef in __interceptor_malloc (/usr/lib64/libasan.so.6+0xb17ef) #1 0x7f1b401a2cdf in rc_remove_unused_constants ../src/gallium/drivers/r300/compiler/radeon_remove_constants.c:101 #2 0x7f1b40185386 in rc_run_compiler_passes ../src/gallium/drivers/r300/compiler/radeon_compiler.c:476 #3 0x7f1b40185625 in rc_run_compiler ../src/gallium/drivers/r300/compiler/radeon_compiler.c:498 #4 0x7f1b401c14d2 in r3xx_compile_fragment_program ../src/gallium/drivers/r300/compiler/r3xx_fragprog.c:172 #5 0x7f1b401b669a in r300_translate_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:516 #6 0x7f1b401baf73 in r300_pick_fragment_shader ../src/gallium/drivers/r300/r300_fs.c:592 #7 0x7f1b40128db7 in r300_create_fs_state ../src/gallium/drivers/r300/r300_state.c:1071 #8 0x7f1b3e67799d in st_create_fp_variant ../src/mesa/state_tracker/st_program.c:1073 #9 0x7f1b3e680285 in st_get_fp_variant ../src/mesa/state_tracker/st_program.c:1119 #10 0x7f1b3e6812fa in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:1284 #11 0x7f1b3e6812fa in st_finalize_program ../src/mesa/state_tracker/st_program.c:1363 #12 0x7f1b3f13d501 in st_link_glsl_to_nir ../src/mesa/state_tracker/st_glsl_to_nir.cpp:754 #13 0x7f1b3f13d501 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_nir.cpp:990 #14 0x7f1b3efeef75 in link_program ../src/mesa/main/shaderapi.c:1336 #15 0x7f1b3efeef75 in link_program_error ../src/mesa/main/shaderapi.c:1445 Fixes: 29df857 ("r300: fix constants_remap_table memory leak") Signed-off-by: Patrick Lerda <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28522> (cherry picked from commit 24a5165)
aleasto
pushed a commit
that referenced
this pull request
May 8, 2024
The pointer "xfb" is allocated with a clone of "so->nir" and lost without further processing. The function panfrost_shader_compile() was the one processing "xfb". The call of this function was removed with the commit 40372bd. This makes "xfb" not required anymore. For instance, this issue is triggered on a Mali-T820 with "piglit/bin/arb_transform_feedback2-change-objects-while-paused -auto": Indirect leak of 32776 byte(s) in 1 object(s) allocated from: #0 0xf78f30a6 in malloc (/usr/lib/libasan.so.6+0x840a6) #1 0xee9cd4ee in ralloc_size ../src/util/ralloc.c:118 #2 0xee9cf7ae in create_slab ../src/util/ralloc.c:801 #3 0xee9cf7ae in gc_alloc_size ../src/util/ralloc.c:840 #4 0xef74ab82 in nir_undef_instr_create ../src/compiler/nir/nir.c:888 #5 0xef76212c in clone_ssa_undef ../src/compiler/nir/nir_clone.c:328 #6 0xef76212c in clone_instr ../src/compiler/nir/nir_clone.c:438 #7 0xef7642d8 in clone_block ../src/compiler/nir/nir_clone.c:501 #8 0xef7642d8 in clone_cf_list ../src/compiler/nir/nir_clone.c:555 #9 0xef7657dc in clone_function_impl ../src/compiler/nir/nir_clone.c:632 #10 0xef766cb8 in nir_shader_clone ../src/compiler/nir/nir_clone.c:743 #11 0xf007673e in panfrost_create_shader_state ../src/gallium/drivers/panfrost/pan_shader.c:434 #12 0xeeb6766c in st_create_common_variant ../src/mesa/state_tracker/st_program.c:781 #13 0xeeb71d1c in st_get_common_variant ../src/mesa/state_tracker/st_program.c:834 #14 0xeeb72ea2 in st_precompile_shader_variant ../src/mesa/state_tracker/st_program.c:1320 #15 0xeeb72ea2 in st_finalize_program ../src/mesa/state_tracker/st_program.c:1421 #16 0xef3806ec in st_link_glsl_to_nir ../src/mesa/state_tracker/st_glsl_to_nir.cpp:748 #17 0xef3806ec in st_link_shader ../src/mesa/state_tracker/st_glsl_to_nir.cpp:984 #18 0xef2992f6 in link_program ../src/mesa/main/shaderapi.c:1336 #19 0xef2992f6 in link_program_error ../src/mesa/main/shaderapi.c:1445 Fixes: 40372bd ("panfrost: Implement a disk cache") Signed-off-by: Patrick Lerda <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28743> (cherry picked from commit 4f5e9a2)
Needs a rebase it seems |
Kaz205
pushed a commit
to Kaz205/android_external_mesa3d
that referenced
this pull request
Jun 25, 2024
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) waydroid#1 0x7fe642ca2839 in _mesa_symbol_table_ctor ../src/mesa/program/symbol_table.c:286 waydroid#2 0x7fe642ff003d in gl_nir_cross_validate_outputs_to_inputs ../src/compiler/glsl/gl_nir_link_varyings.c:728 waydroid#3 0x7fe642d7c7d8 in gl_nir_link_glsl ../src/compiler/glsl/gl_nir_linker.c:1357 waydroid#4 0x7fe642be6931 in st_link_glsl_to_nir ../src/mesa/state_tracker/st_glsl_to_nir.cpp:562 waydroid#5 0x7fe642be6931 in st_link_shader ../src/mesa/state_tracker/st_glsl_to_nir.cpp:944 waydroid#6 0x7fe642acab55 in link_program ../src/mesa/main/shaderapi.c:1336 waydroid#7 0x7fe642acab55 in link_program_error ../src/mesa/main/shaderapi.c:1447 waydroid#8 0x7fe6424aa389 in _mesa_unmarshal_LinkProgram src/mapi/glapi/gen/marshal_generated2.c:1911 waydroid#9 0x7fe641fd912b in glthread_unmarshal_batch ../src/mesa/main/glthread.c:139 waydroid#10 0x7fe641f48d48 in util_queue_thread_func ../src/util/u_queue.c:309 waydroid#11 0x7fe641fa442a in impl_thrd_routine ../src/c11/impl/threads_posix.c:67 Fixes: 7d1948e ("glsl: implement cross_validate_outputs_to_inputs() in nir linker") Signed-off-by: Patrick Lerda <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27071> (cherry picked from commit bacace8)
aleasto
pushed a commit
that referenced
this pull request
Jul 25, 2024
This change handles the case when "vertex_fetch_shader.cso" is null, it implements the previous behavior in this specific case. This situation is happening with clover. For instance, this issue is triggered with "piglit/bin/cl-custom-buffer-flags": ==6467==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000000c (pc 0x7ff92908fe6e bp 0x7ffe86ae5ad0 sp 0x7ffe86ae5a30 T0) ==6467==The signal is caused by a READ memory access. ==6467==Hint: address points to the zero page. #0 0x7ff92908fe6e in evergreen_emit_vertex_buffers ../src/gallium/drivers/r600/evergreen_state.c:2123 #1 0x7ff92908444b in r600_emit_atom ../src/gallium/drivers/r600/r600_pipe.h:627 #2 0x7ff92908444b in compute_emit_cs ../src/gallium/drivers/r600/evergreen_compute.c:798 #3 0x7ff92908444b in evergreen_launch_grid ../src/gallium/drivers/r600/evergreen_compute.c:927 #4 0x7ff9349f9350 in clover::kernel::launch(clover::command_queue&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&) ../src/gallium/frontends/clover/core/kernel.cpp:105 #5 0x7ff9349c331d in std::function<void (clover::event&)>::operator()(clover::event&) const /usr/include/c++/11.4.0/bits/std_function.h:590 #6 0x7ff9349c331d in clover::event::trigger() ../src/gallium/frontends/clover/core/event.cpp:54 #7 0x7ff9349c82f1 in clover::hard_event::hard_event(clover::command_queue&, unsigned int, clover::ref_vector<clover::event> const&, std::function<void (clover::event&)>) ../src/gallium/frontends/clover/core/event.cpp:138 #8 0x7ff9348daa47 in create<clover::hard_event, clover::command_queue&, int, clover::ref_vector<clover::event>&, clEnqueueNDRangeKernel(cl_command_queue, cl_kernel, cl_uint, const size_t*, const size_t*, const size_t*, cl_uint, _cl_event* const*, _cl_event**)::<lambda(clover::event&)> > ../src/gallium/frontends/clover/util/pointer.hpp:241 #9 0x7ff9348daa47 in clEnqueueNDRangeKernel ../src/gallium/frontends/clover/api/kernel.cpp:334 Fixes: 659b7eb ("r600: better tracking for vertex buffer emission") Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10079 Signed-off-by: Patrick Lerda <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29163> (cherry picked from commit f8a1d9f)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.