- Jan 11, 2023
-
-
Eric Engestrom authored
-
Eric Engestrom authored
-
In Vulkan this is expected to work with single sample scenarios too. Fixes new test in CTS main: dEQP-VK.pipeline.monolithic.multisample.alpha_to_one.samples_1 cc: mesa-stable Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <mesa/mesa!20634> (cherry picked from commit 09782e5e)
-
this otherwise re-creates swapchain surfaces on every frame and has a significant perf hit for no reason cc: mesa-stable Part-of: <mesa/mesa!20613> (cherry picked from commit b2739c9f)
-
The EXT_gpu_program_parameters spec says: <params> points to an array of 4*<count> values for both functions. Cc: mesa-stable Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!20603> (cherry picked from commit 1ab80eb0)
-
The EXT_gpu_program_parameters spec says: <params> points to an array of 4*<count> values Fixes: a4e935f2 ("mesa: add EXT_dsa + EXT_gpu_program_parameters functions") Closes: mesa/mesa#7943 Closes: mesa/mesa#8025 Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!20603> (cherry picked from commit 37dcd183)
-
I'm convinced that u_blitter interactions with fbfetch can't be handled in si_update_ps_colorbuf0_slot alone, so it has to be force-disabled by si_blitter_begin. Another reason why it has to be disabled for u_blitter and not ignored is because FBFETCH with MSAA enables sample shading regardless of context states, and we don't want that for u_blitter. Also, si_update_ps_colorbuf0_slot now disables FBFETCH explicitly before its own DCC and CMASK decompression because even though u_blitter can't do anything (due to blitter_running), si_blitter_end calls it too. The result is that no recursion can occur thanks to the blitter_running and suppress_update_ps_colorbuf0_slot flags, and FBFETCH is always force-disabled before those flags are set, which is the state we want to be in. Fixes: bc6d22b9 ("radeonsi: fix ps_uses_fbfetch value") Acked-by:
Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com> Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20318> (cherry picked from commit 3632d398)
-
Instead of replicating the lower half of the clear value, properly use the upper half to program the second clear value BLT state. CC: mesa-stable Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Part-of: <mesa/mesa!20586> (cherry picked from commit 03fdcbba)
-
tu6_vpc_varying_mode returned how many bits are consumed IF they are non-zero, for SMOOTH mode nothing is written and it was treated like no bits were consumed. When input with smooth interpolation was the last one and straddled the VPC_VARYING_INTERP_MODE regs, the last interp mode were not written. Fixes misrendering in "Psychonauts 2". Cc: mesa-stable Signed-off-by:
Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <mesa/mesa!20533> (cherry picked from commit a45d32b1)
-
this used to be fine back when there was only one thread doing cache management, but now the cache is used by precompile threads too, so let the driver do sync fixes #7660 Fixes: 41ffb15d ("zink: implement async gfx precompile") Part-of: <mesa/mesa!20519> (cherry picked from commit f18827e0)
-
As per the bug report the game does not correctly handle a uniform index of -1 being returned for the unused array element, which results in rendering issues. So here we skip the uniform array resizing optimisation. Closes: mesa/mesa#6397 Cc: mesa-stable Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20579> (cherry picked from commit ac5af6c0)
-
if the render area exceeds the attachment size, this is not only illegal, it will crash later cc: mesa-stable Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Brian Paul <brianp@vmware.com> Reviewed-by:
Roland Scheidegger <sroland@vmware.com> Part-of: <mesa/mesa!20583> (cherry picked from commit 847d198c)
-
Some binding table entries have been identify as unused in the shaders by the push constant analysis pass. We can just put the null entry in there. Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: b49b18f0 ("anv: reduce BT emissions & surface state writes with push descriptors") Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!20555> (cherry picked from commit 2d627f28)
-
Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: ff91c5ca ("anv: add analysis for push descriptor uses and store it in shader cache") Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!20555> (cherry picked from commit bbfca4eb)
-
We can't just check the load_ubo range is contained in the push entry, we also need to check that the push entry set/binding matches the load_ubo set/binding. Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: ff91c5ca ("anv: add analysis for push descriptor uses and store it in shader cache") Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!20555> (cherry picked from commit e2b0086b)
-
We'll use those to fill the push constant addresses, so we can't have them turned to null. Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: ff91c5ca ("anv: add analysis for push descriptor uses and store it in shader cache") Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!20555> (cherry picked from commit 48bb3df9)
-
Patch sets memory object external format (which is otherwise PIPE_FORMAT_NONE for memory objects) before main surface gets configured. With this we can add a check that when dealing with external resource that has no modifier set, we let isl figure out the tiling mode. Fixes memobj tests on DG2: piglit.spec.ext_external_objects.vk-image-display-muliple-textures piglit.spec.ext_external_objects.vk-image-display-overwrite piglit.spec.ext_external_objects.vk-depth-display piglit.spec.ext_external_objects.vk-image-display piglit.spec.ext_external_objects.vk-stencil-display v2: add assert and comment on tiling decision (Ken) Closes: mesa/mesa#7684 Cc: mesa-stable Signed-off-by:
Tapani Pälli <tapani.palli@intel.com> Reviewed-by:
Simon Zeni <simon@bl4ckb0ne.ca> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Part-of: <mesa/mesa!20473> (cherry picked from commit 319d4856)
-
Only ALU and ALU Small Imm instructions have input mux. Signed-off-by:
Qiu Wenbo <qiuwenbo@kylinos.com.cn> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> cc: mesa-stable Part-of: <mesa/mesa!20581> (cherry picked from commit ee32f387)
-
Signed-off-by:
Qiu Wenbo <qiuwenbo@kylinos.com.cn> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> cc: mesa-stable Part-of: <mesa/mesa!20581> (cherry picked from commit 7489c29a)
-
if the clear region is oob, this is illegal and may crash some drivers fixes (lavapipe): dEQP-EGL.functional.swap_buffers_with_damage.resize_before_swap.buffer_age_clear_render dEQP-EGL.functional.swap_buffers_with_damage.resize_before_swap.buffer_age_render_clear cc: mesa-stable Part-of: <mesa/mesa!20584> (cherry picked from commit 6f02fe88)
-
otherwise this might be randomly creating an unused framebuffer for dynamic render cc: mesa-stable Part-of: <mesa/mesa!20584> (cherry picked from commit 79a4d229)
-
The winding order can be different between pipelines. Fixes new dEQP-VK.pipeline.pipeline_library.dynamic_control_points.change_*_winding. Fixes: f2229094 ("radv: add support for dynamic tessellation domain origin") Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!20486> (cherry picked from commit f1b3e6ae)
-
Closes: mesa/mesa#7976 Cc: mesa-stable Reviewed-by:
Timothy Arceri <tarceri@itsqueeze.com> Tested-by:
Diego Viola <diego.viola@gmail.com> Part-of: <mesa/mesa!20548> (cherry picked from commit 6e24b76c)
-
Closes: mesa/mesa#7624 Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Tested-by:
Dan Johansen <strit@manjaro.org> Part-of: <mesa/mesa!20472> (cherry picked from commit 41eb491f)
-
The ordering of enum pipe_shader_type changed, but not all locations where the host uses the original ordering were changed to translate to the new ordering, namely reading the shader caps was not fixed up so do this now. v2: - inline virgl_shader_stage_convert (Corentin) - encapuslate use of host shader stage when reading array elements of host caps Fixes: a26543f6 gallium: reorder the shader stage enum to match Mesa Closes: mesa/mesa#8023 Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!20544> (cherry picked from commit c91a78c0)
-
Match ac_rtld_open(). Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Georg Lehmann <dadschoorse@gmail.com> Cc: 22.3 <mesa-stable> Part-of: <mesa/mesa!20536> (cherry picked from commit 9e55b3b7)
-
Eric Engestrom authored
Now that renderonly.h includes util/simple_mtx.h, which itself includes valgrind.h, dep_valgrind is required by any module that includes renderonly.h. In file included from ../src/gallium/auxiliary/renderonly/renderonly.h:33, from ../src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c:39: ../src/util/simple_mtx.h:34:12: fatal error: valgrind.h: No such file or directory 34 | # include <valgrind.h> | ^~~~~~~~~~~~ compilation terminated. dep_valgrind is part of idep_mesautil, which should be used instead of copying the list of deps for each util header included (which would have to be updated every time a util header changes its own includes), so let's add idep_mesautil everywhere that includes renderonly.h. Fixes: ad4d7ca8 ("kmsro: Fix renderonly_scanout BO aliasing") Tested-by:
Asahi Lina <lina@asahilina.net> Part-of: <mesa/mesa!20530> (cherry picked from commit aab4a260)
-
When VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED is set by the application, the driver should return VK_COMPILE_REQUIRED but this was broken for GPL (it returned VK_SUCCESS instead). Also, objects shouldn't be destroyed when creating the library failed because it's already handled in radv_graphics_lib_pipeline_create(). Cc: 22.3 mesa-stable Closes: mesa/mesa#7512 Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!20532> (cherry picked from commit 5757dbe1)
-
BOs can only have one handle. If renderonly_create_gpu_import_for_resource ends up importing a BO that was already mapped for scanout, it will get the same handle. This leaves us with two renderonly_scanout objects for one handle, and the first one to be destroyed will free it. Import the BO map tracking logic from asahi, to avoid aliasing renderonly_scanout objects. Each actual BO now is only represented by a single object instance, which is reference counted. Fixes KWin full-screen PipeWire capture breaking scanout entirely. Reviewed-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by:
Asahi Lina <lina@asahilina.net> Part-of: <mesa/mesa!20397> (cherry picked from commit ad4d7ca8)
-
This can happen when a context is created from loader_dri3_blit_context_get and glthread is enabled. Closes: mesa/mesa#7949 Closes: mesa/mesa#7960 Cc: mesa-stable Acked-by:
Eric Engestrom <eric@igalia.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!20479> (cherry picked from commit b111e8aa)
-
Currently, process_singlesync_signals() checks if fd == -1 to handle possible errors in the drmSyncobjExportSyncFile function. But, fd is not initialized, which means that drmSyncobjExportSyncFile might fail and the error will not be handled as fd might not be equal to -1. Therefore, initialize the fd variable with value -1 to ensure proper error handling. cc: mesa-stable Signed-off-by:
Maíra Canal <mcanal@igalia.com> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> Part-of: <mesa/mesa!20475> (cherry picked from commit a2252add)
-
Fixes: 3ac0706a ("zink: export PIPE_CAP_SHADER_ATOMIC_INT64") Part-of: <mesa/mesa!20506> (cherry picked from commit b8d9f860)
-
Drivers may expose the ext without the add capability, if they can load/store/exchange. Fixes: c32f046a ("zink: export PIPE_CAP_IMAGE_ATOMIC_FLOAT_ADD") Part-of: <mesa/mesa!20506> (cherry picked from commit 426cb025)
-
The game uses texture2D() in glsl 4.40 shaders, but texture2D() was moved to compat in 4.20. Cc: mesa-stable Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Acked-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!20511> (cherry picked from commit a4a1f954)
-
For INTEL_MEASURE, ensure all prior instructions completed before timestamp taken. Continue to support no CS flush case for Perfetto. CS stall was dropped from pipecontrol when adding u_trace support. Fixes: cc5843a5 ("anv: implement u_trace support") Reviewed-by:
José Roberto de Souza <jose.souza@intel.com> Part-of: <mesa/mesa!20502> (cherry picked from commit c1c81137)
-
For INTEL_MEASURE, ensure all prior instructions completed before timestamp taken. Continue to support no CS flush case for Perfetto. CS stall was dropped from pipecontrol when adding u_trace support. Fixes: cc5843a5 ("anv: implement u_trace support") Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!20502> (cherry picked from commit 7f6beb85)
-
If there is multiple resolves, the driver shouldn't always select the fragment path because it doesn't work for all images. Fixes dEQP-VK.pipeline.monolithic.multisample.misc.* Cc: 22.3 mesa-stable Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!19986> (cherry picked from commit 22543653)
-
Similar to 1387d1d4, this offset was being applied twice (once in translate_generic, and once when the buffer is mapped). This fixes 7972, which was initially thought to be an endianness specific issue. CC: mesa-stable Tested-by:
Filip Gawin <filip@gawin.net> Reviewed-by:
Karol Herbst <kherbst@redhat.com> Part-of: <mesa/mesa!20468> (cherry picked from commit 50972297)
-
This was found while debugging venus-lavapipe ci failure. It's a real bug though no tests have caught this yet, but fixing this would regress venus-lavapipe non-templated push tests if without the dependent lvp fix. The sampler in the descriptor write can be garbled if the binding has immutable samplers. cc: mesa-stable Signed-off-by:
Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by:
Corentin Noël <corentin.noel@collabora.com> Part-of: <!20471> (cherry picked from commit 33b778cc)
-
The issue is hidden due to a overly relaxed cts: dEQP-VK.binding_model.shader_access.primary_cmd_buf.with_push* that doesn't scrub the sampler from descriptor writes for immutable samplers. The issue is exposed via venus-lavapipe ci because venus must ignore the potentially garbled sampler. This change aligns the VK_DESCRIPTOR_TYPE_SAMPLER path with the VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER path by removing a false check against the provided sampler from push since the sampler can be null. An alternative is to also check against !binding->immutable_samplers there. Test: venus-lavapipe with venus push descriptor support cc: mesa-stable Signed-off-by:
Yiwei Zhang <zzyiwei@chromium.org> Acked-by:
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!20471> (cherry picked from commit 9a104f63)
-