- Oct 27, 2021
-
-
Eric Engestrom authored
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
-
The original implementation in os_memory_fd.c always uses memfds. Replace this by using the already existing os_create_anonymous_file in order to support older systems or systems without memfd. Fixes: 1166ee9c ("gallium: add utility and interface for memory fd allocations") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!13331> (cherry picked from commit 4856586a)
-
We don't support multiple devices so this is a nop. However, Baldurs Gate 3 enables this and with the new more complete checks this causes device creation to fail. Fixes: 2e5718c9 ("vulkan: provide common functions to check device features") Gitlab: mesa/mesa#5509 Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!13482> (cherry picked from commit 1fe375e7)
-
"I think we want to lower them." -Jason "And I do know how the pass works" Ekstrand fixes #5540 cc: mesa-stable Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!13489> (cherry picked from commit b0c40bc9)
-
the fs samplemask needs to be updated on framebuffer rebind and on fs bind to ensure that the key gets updated in time for the pipeline change fixes #5559 cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13531> (cherry picked from commit c9ce151f)
-
the uint[1] -> uint dance is only relevant on the first load, so move the variable type shuffling inside the create block to avoid breaking successive loads fixes #5543 cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13488> (cherry picked from commit 8899f6a1)
-
adding the states requires that vertex attribs be bound, but it's illegal to bind 0 attribs cc: mesa-stable fixes #5558 Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13519> (cherry picked from commit 90228a80)
-
spirv doesn't support this fixes #5561 cc: mesa-stable Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!13530> (cherry picked from commit c13da989)
-
Fixes: b47090c5 ("spirv: Always declare FragCoord as a sysval") Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <mesa/mesa!13276> (cherry picked from commit 30945246)
-
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: 9fa1cdfe ("intel/rt: Implement push constants as global memory reads") Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!13529> (cherry picked from commit a6031cd9)
-
zink_resource_has_binds() only checks descriptor binds, and this doesn't include streamout or fb bindings, so call these functions from the specific rebind points to ensure those cases are also checked fixes #5541 cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13490> (cherry picked from commit 0a6f5ec9)
-
otherwise this is going to randomly modify some image properties cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13490> (cherry picked from commit 1a68f2eb)
-
a resource can be bound to multiple fb attachments, each with its own clear, so ensure that all of these are applied fixes #5542 cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13491> (cherry picked from commit dabe477b)
-
u_reduced_prim() can't determine the output primitive when vs isn't the last vertex stage, so store this from the appropriate shader info and use it when it's available fixes #5547 cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13487> (cherry picked from commit 2a91e83b)
-
Depending on whether an application creates a swapchain with VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR or not, we might use 2 different formats with the compositor. This change makes sure that we support all the underlying formats before exposing the corresponding VkFormat to the application. v2: Don't forget get_formats2() (Ivan) v3: Replace formats with availability boolean (Simon) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: 151b65b2 ("vulkan/wsi/wayland: generalize modifier handling") Closes: mesa/mesa#5522 Reviewed-by: Ivan Briano <ivan.briano@intel.com> (v2) Reviewed-by: Simon Ser <contact@emersion.fr> Part-of: <mesa/mesa!13453> (cherry picked from commit d944136f)
-
When compiling for x86 with MSVC, Vulkan API entry points follow the __stdcall convention (VKAPI_CALL maps to __stdcall), which uses the following name mangling: _<function_name>@<arguments_size> Fix the vk_entrypoint_stub()/alternatename definitions accordingly. Fixes: 6d44b21d ("vulkan: Fix weak symbol emulation when compiling with MSVC") Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <mesa/mesa!13516> (cherry picked from commit 1813bb59)
-
The streamout_config SGPR is used to determine if streamout is enabled. This fixes a GPU hang with various transform feedback tests: - dEQP-GLES3.functional.transform_feedback.* - KHR-GL46.transform_feedback.api_errors_test - KHR-GL46.draw_indirect.basic-draw*-xfbPaused - KHR-GL46.geometry_shader.api.draw_calls_while_tf_is_paused Cc: 21.3 mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <mesa/mesa!13514> (cherry picked from commit dc74285d)
-
Fixes: 49c3a88f ("radv: implement VK_KHR_format_feature_flags2") Closes: mesa/mesa#5518 Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!13450> (cherry picked from commit 4765edb4)
-
The bugs blocking this have been resolved, so flip on AFBC again and get moar fps. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Cc: mesa-stable Part-of: <mesa/mesa!13205> (cherry picked from commit 2526f6f2)
-
AFBC is keyed to the format. Depending on the hardware, we'll get an Invalid Data Fault or a GPU timeout if we attempt to sample from an AFBC-compressed RGBA8 texture as R32F (for example). Fixes Piglit ./bin/arb_texture_view-rendering-formats_gles3 with AFBC. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Cc: mesa-stable Part-of: <mesa/mesa!13205> (cherry picked from commit 789601a1)
-
We need to know the internal (physical) formats used for AFBC of a given logical format, in order to check format compatibility and determine if we need to decompress AFBC for conformance. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Cc: mesa-stable Part-of: <mesa/mesa!13205> (cherry picked from commit 93c9123c)
-
According to mali_kbase, all Bifrost and Valhall GPUs are affected by issue TSIX_2033. This hardware bug breaks the INTERSECT frame shader mode when forcing clean_tile_writes. What does that mean? The hardware considers a tile "clean" if it has been cleared but not drawn to. Setting clean_tile_write forces the hardware to write back such "clean" tiles to main memory. Bifrost hardware supports frame shaders, which insert a rectangle into every tile according to a configured rule. Frame shaders are used in Panfrost to implement tile reloads (i.e. LOAD_OP_LOAD). Two modes are relevant to the current discussion: ALWAYS, which always inserts a frame shader, and INTERSECT, which tries to only insert where there is geometry. Normally, we use INTERSECT for tile reloads as it is more efficient than ALWAYS-- it allows us to skip reloads of tiles that are discarded and never written back to memory. From a software perspective, Panfrost's current logic is correct: if we clear, we set clean_tile_writes, else we use an INTERSECT frame shader. There is no software interaction between the two. Unfortunately, there is a hardware interaction. The hardware forces clean_tile_writes in certain circumstances when AFBC is used. Ordinarily, this is a hardware implementation detail and invisible to software. Unfortunately, this implicit clean tile write is enough to trigger the hardware bug when using INTERSECT. As such, we need to detect this case and use ALWAYS instead of INTERSECT for correct results. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Cc: mesa-stable Part-of: <mesa/mesa!13205> (cherry picked from commit 342ed490)
-
The gl_FragColor lowering in the fragment shader depends on the number of render targets, which can change every set_framebuffer_state. set_framebuffer_state thus needs to force a rebind of the fragment shader. Fixes a regression in Piglit fbo-drawbuffers-none gl_FragColor -auto -fbo from enabling AFBC on Mali G52. Fixes: 28ac4d1e ("panfrost: Call nir_lower_fragcolor based on key") Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <mesa/mesa!13498> (cherry picked from commit e0335ad8)
-
This uses the new property for AFBC we've added. The AFBC quirk is applied only to v4, and we only set dev->has_afbc on v5+ so this is not a regression. It now respects the hardware-specific AFBC disable. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Cc: mesa-stable Part-of: <mesa/mesa!13497> (cherry picked from commit 68a7fafe)
-
AFBC is an optional feature on Bifrost. If it is missing, a bit will be set in the poorly named AFBC_FEATURES register. Check this so we can act appropriately. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Cc: mesa-stable Part-of: <mesa/mesa!13497> (cherry picked from commit 3e168b97)
-
Fixes: 22f6624e - gallium: separate indirect stuff from pipe_draw_info Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <mesa/mesa!13471> (cherry picked from commit 520300ad)
-
This fixes dEQP-EGL.functional.sharing.gles2.multithread.* tests that are hitting: "iris: Failed to submit batchbuffer: Invalid argument" error. v2: clear on reset rather than clear 'on-the-fly' (Kenneth Graunke) Closes: mesa/mesa#5537 Fixes: e4c3d3ef ("iris: Defer construction of the validation (exec_object2) list") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <mesa/mesa!13464> (cherry picked from commit 1465ec8c)
-
If the application first uses nontrivial divisors, the driver emits the vertex shader VA to the upload BO rather than directly via the user SGPRs locations. But, if the vertex input dynamic state changes, the driver might select a different VS prolog that no longer needs nontrivial divisors. In this case, the driver needs to re-emit the prolog inputs because otherwise the VS prolog will jump to the PC that is emitted via the user SGPR locations, and the previous one was somewhere in the upload BO... This fixes a GPU hang with Bioshock and Zink. Fixes: d9c7a175 ("radv: enable VK_EXT_vertex_input_dynamic_state") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <mesa/mesa!13377> (cherry picked from commit b6a69dbb)
-
This was not considering the possibility that the driver has called nir_before_block() or nir_after_block() to update the cursor, in which case the cursor link points to the instruction list header and not to an actual instruction. Fixes incorrect debug-assert crash in: dEQP-VK.graphicsfuzz.cov-increment-vector-component-with-matrix-copy Fixes: 265515fa ("broadcom/compiler: check instruction belongs to current block") Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Part-of: <mesa/mesa!13467> (cherry picked from commit 1561d012)
-
Fixes a bunch of 64-bit IO tests with piglit and Zink. Cc: 21.3 mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <mesa/mesa!13454> (cherry picked from commit 996e81fb)
-
Fix defect reported by Coverity Scan. Resource leak (RESOURCE_LEAK) leaked_storage: Variable prolog going out of scope leaks the storage it points to Fixes: 80841196 ("radv: implement dynamic vertex input state using vertex shader prologs") Suggested-by: Rhys Perry <pendingchaos02@gmail.com> Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!13402> (cherry picked from commit 670fd812)
-
hybrid mode is controlled by the caching manager, so state tracking is irrelevant Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13350> (cherry picked from commit dfd0f5db)
-
no point in generating pools/sets that won't be used here Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13350> (cherry picked from commit 140d3ea8)
-
this was a bit confusing to read, and I originally left it in the hybrid path to enable fallbacks to push descriptors in hybrid mode. the problem with that idea is that it's impossible: the constant buffer set is the one set that will never, ever trigger a fallback, so leaving it there just leaves room for error and confusion Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13350> (cherry picked from commit 7c840f51)
-
I'm not 100% sure how, but this breaks tomb raider Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13350> (cherry picked from commit b140d58b)
-
Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13350> (cherry picked from commit 75e51138)
-
the bo here can only ever be destroyed before it gets reused, so prune it from the descriptor cache immediately Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13350> (cherry picked from commit 497ce3c3)
-
Eric Engestrom authored
-
- Oct 20, 2021
-
-
Eric Engestrom authored
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
-
this is a wild race condition, but it's possible for these to get their final unref, enter their destructor, and then get a cache hit while waiting on the lock to remove themselves from the cache in such a scenario, a second, normal check of the refcount will suffice, as the increment is atomic, and the value will otherwise be zero fixes crashes in basemark cc: mesa-stable Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!13442> (cherry picked from commit 86b3d8c6)
-