- Mar 18, 2022
-
-
Eric Engestrom authored
-
Eric Engestrom authored
-
- Mar 10, 2022
-
-
this enables better elimination of operations fixes: dEQP-VK.graphicsfuzz.spv-stable-mergesort-flatten-selection-dead-continues fixes #5458 cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15322> (cherry picked from commit cf5c32a4)
-
we can effectively skip any kind of checks here and just assume that one of two scenarios is in effect: * the user is about to attempt some incredibly illegal behavior that VVL will catch * the user is about to attempt a pro gamer move and we'll be fine in either case, it's EXTENDED_USAGE, so hopefully we're about to make a texture view from a compatible and supported format cc: mesa-stable fixes: dEQP-VK.image.extended_usage_bit_compatibility.image_format_properties* Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15320> (cherry picked from commit 6a4c7ef7)
-
Cc: mesa-stable Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!15297> (cherry picked from commit 938488f4)
-
Since spir-v only has single channel depth sampling, it breaks with the old school GL_ALPHA depth mode swizzle, so just detect that case and smash all the channels. Cc: mesa-stable Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!15297> (cherry picked from commit 30cb63be)
-
Fixes: b3b03e33 ("util/bitset: add BITSET_SET_RANGE(..)") Part-of: <mesa/mesa!14107> (cherry picked from commit 410e7461)
-
For pcopies we only care about the register's type, i.e. whether its a half-register and whether it's an array (plus its size). Copying over other flags like IR3_REG_RELATIV just leads to sadness and validator assertions. Fixes: 0ffcb19b ("ir3: Rewrite register allocation") Part-of: <mesa/mesa!14107> (cherry picked from commit ab0ed4ff)
-
We delete all the command buffers but they're still in the list so future allocations may try to re-use them post-free and another trim will re-delete them. Fixes: b38879f8 ("vallium: initial import of the vulkan frontend") Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Part-of: <mesa/mesa!15311> (cherry picked from commit 66cb64c8)
-
GL is annoying when it comes to having different enums for winsys vs fbo. Note that the issue this closes was only accidentially exposed by a change the resulted in sysmem vs GMEM path taken. Fixes: db2ae511 ("mesa: Skip partial InvalidateFramebuffer of packed depth/stencil.") Closes: mesa/mesa#6103 Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!15308> (cherry picked from commit f4ec9009)
-
this hardware won't return the correct value from dmod instructions, so lower it to ensure that cts passes nobody else will ever hit this, so perf isn't an issue and regular fmod can be left alone fixes (amd): KHR-GL46.gpu_shader_fp64.builtin.mod_d* Fixes: 5fae35fb ('zink: fix 64bit float shader ops ') Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!15306> (cherry picked from commit c24bca2d)
-
The multiViewport feature isn't required for GL 4.3, it's required for GL 4.1. Technically speaking, we could have just dropped it because we already list the maxViewports requirement. But it seems better to be very clear here to me. Fixes: 29f8f21b ("docs: document zink GL 4.3 requirements") Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!15300> (cherry picked from commit e6661349)
-
Otherwise this causes trouble with unitialized memory, eg with: struct si_transfer { struct threaded_transfer b; struct si_resource *staging; }; 'staging' will not be initialized and this causes #6109. Closes: mesa/mesa#6109 Cc: mesa-stable Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Part-of: <mesa/mesa!15298> (cherry picked from commit 3c3a8f85)
-
A a variant that clears the allocated object to 0. Cc: mesa-stable Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Part-of: <mesa/mesa!15298> (cherry picked from commit caeec626)
-
this has problems if pointers are garbage cc: mesa-stable Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!14854> (cherry picked from commit 8142fc5a)
-
null blend pipeline state will zero the blend struct, which would cause values set here to be overwritten cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15282> (cherry picked from commit 71144901)
-
avoid oob writes to avoid crashing cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!14655> (cherry picked from commit 165a880f)
-
this would potentially access garbage memory by checking the existing state using the incoming state's iterator values cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!14857> (cherry picked from commit 4c76a19c)
-
this was being set from back before zink actually supported 64bit natively and only 32bit was functional, but it breaks 64bit support cc: mesa-stable fixes (lavapipe): KHR-GL46.gpu_shader_fp64.builtin.mod_dvec2 KHR-GL46.gpu_shader_fp64.builtin.mod_dvec3 KHR-GL46.gpu_shader_fp64.builtin.mod_dvec4 Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15274> (cherry picked from commit 5fae35fb)
-
When using indirect textures, some lanes may not be active, particularly in a loop, so as with some other areas, extracting the correct lane is needed here. This extracts the last valid one. KHR-GL45.texture_barrier.* on zink. Fixes: e168d148 ("gallivm/nir: handle non-uniform texture offsets") Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <mesa/mesa!15259> (cherry picked from commit 83469837)
-
Use ROUND_TO_EVEN instead of TRUNCATE; this matches what pal and radv do. This fixes the spec@ext_framebuffer_multisample@turn-on-off tests. Cc: mesa-stable Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Mihai Preda <mhpreda@gmail.com> Part-of: <mesa/mesa!15240> (cherry picked from commit 9c495501)
-
these sets may contain refs from the descriptors which need to be removed to avoid invalid memory access if the ref is leaked cc: mesa-stable Acked-by: Emma Anholt <emma@anholt.net> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15226> (cherry picked from commit e0030bc3)
-
when migrating a recycled set here, the set was previously invalid and in the recycled table, meaning it can be reused directly so long as it's first invalidated the previous code would instead pop a different set off the allocation array, leaking this one cc: mesa-stable Acked-by: Emma Anholt <emma@anholt.net> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15226> (cherry picked from commit d63f3c31)
-
these can't be cached, so ensure the value isn't uninitialized Test case 'KHR-GL46.blend_equation_advanced.blend_all.GL_HARDLIGHT_KHR_all_qualifier'.. ==1193311== Conditional jump or move depends on uninitialised value(s) ==1193311== at 0x634EF05: update_push_ubo_descriptors (zink_descriptors.c:1230) ==1193311== by 0x634FCC5: zink_descriptors_update (zink_descriptors.c:1412) ==1193311== by 0x63A5EA1: void zink_draw<(zink_multidraw)1, (zink_dynamic_state)3, true, false>(pipe_context*, pipe_draw_info const*, unsigned int, pipe_draw_indirect_info const*, pipe_draw_start_count_bias const*, unsigned int, pipe_vertex_state*, unsigned int) (zink_draw.cpp:788) ==1193311== by 0x635A0AF: void zink_draw_vbo<(zink_multidraw)1, (zink_dynamic_state)3, true>(pipe_context*, pipe_draw_info const*, unsigned int, pipe_draw_indirect_info const*, pipe_draw_start_count_bias const*, unsigned int) (zink_draw.cpp:907) ==1193311== by 0x6174397: tc_call_draw_single (u_threaded_context.c:3150) ==1193311== by 0x616C403: tc_batch_execute (u_threaded_context.c:211) ==1193311== by 0x616CA44: _tc_sync (u_threaded_context.c:362) ==1193311== by 0x61725E9: tc_texture_map (u_threaded_context.c:2274) ==1193311== by 0x5A9DAE9: pipe_texture_map_3d (u_inlines.h:572) ==1193311== by 0x5A9EB80: st_ReadPixels (st_cb_readpixels.c:530) ==1193311== by 0x5A0647A: read_pixels (readpix.c:1178) ==1193311== by 0x5A0647A: _mesa_ReadnPixelsARB (readpix.c:1195) ==1193311== by 0x5A06517: _mesa_ReadPixels (readpix.c:1210) cc: mesa-stable Acked-by: Emma Anholt <emma@anholt.net> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15226> (cherry picked from commit 9a91a520)
-
this got mixed up during some refactor and started indexing based on the number of bindings instead of the number of descriptors, which means that array descriptor bindings would have overlapping array memory cc: mesa-stable Acked-by: Emma Anholt <emma@anholt.net> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15226> (cherry picked from commit ab3725f5)
-
if these still have outstanding cache jobs, deleting the object now will cause a crash maybe fixes some cts flakiness? cc: mesa-stable Acked-by: Emma Anholt <emma@anholt.net> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15226> (cherry picked from commit c5f585f4)
-
otherwise there's nothing to wait on cc: mesa-stable Acked-by: Emma Anholt <emma@anholt.net> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15226> (cherry picked from commit 382798dd)
-
the variant data may have changed in the meanwhile, so do a pass to ensure that the correct variant is used cc: mesa-stable fixes caselist: dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples.multisample_texture_4 dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples.singlesample_rbo Acked-by: Emma Anholt <emma@anholt.net> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!15226> (cherry picked from commit 9a6c58b2)
-
Roughly use the freedreno logic to handle all the extra things that will come up in our Piglit sooner than later. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Cc: mesa-stable Part-of: <mesa/mesa!13203> (cherry picked from commit 30485142)
-
BITSET_MASK returns ~0 when given an input of zero, when we need it to return 0 instead. Fixes shaders with only sysvals but no UBOs when push constants are disabled. This breaks when 31 or 32 UBOs are used, but PAN_MAX_CONST_BUFFERS is currently set to 16. Fixes: c246af0d ("panfrost: Only upload UBOs when needed") Part-of: <mesa/mesa!15250> (cherry picked from commit 9d4441c7)
-
Cc: mesa-stable Part-of: <mesa/mesa!15250> (cherry picked from commit 42caddcf)
-
This could be made slightly more efficient by only setting the dirty state that is needed, but eventually you reach a point where it's cheaper to re-emit everything than work out what can or can't be kept. Fixes rendering issues in Duckstation. Fixes: cd2c1ef9 ("panfrost: Dirty track textures/samplers") Part-of: <mesa/mesa!15250> (cherry picked from commit d6c431c2)
-
Otherwise the pointer (which is uploaded as a sysval) won't be updated when a new SSBO is bound. Fixes: c34b760b ("panfrost: Dirty track constant buffers") Part-of: <mesa/mesa!15250> (cherry picked from commit b164ee0d)
-
TEXC can have two destinations; the value for neither of them can be used in the same bundle, so extend the code to check for this to iterate over both destinations. Fixes artefacts in the game "LIMBO". Fixes: a303076c ("pan/bi: Add bi_instr_schedulable predicate") Part-of: <mesa/mesa!15250> (cherry picked from commit cb8c47b1)
-
Fixes arb-provoking-vertex-render Piglit test. Cc: mesa-stable Part-of: <mesa/mesa!15250> (cherry picked from commit d54efebf)
-
this is illegal and produces NaNs which blow up the sample instr cc: mesa-stable fixes (llvmpipe and zink): KHR-GL45.incomplete_texture_access.sampler dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct.sampler2D_samplerCube_both dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct.sampler2D_samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct.sampler2D_samplerCube_vertex dEQP-GLES31.functional.program_uniform.by_pointer.render.basic.samplerCube_both dEQP-GLES31.functional.program_uniform.by_pointer.render.basic.samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_pointer.render.basic.samplerCube_vertex dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct.sampler2D_samplerCube_both dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct.sampler2D_samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_both dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_vertex dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array.sampler2D_samplerCube_both dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array.sampler2D_samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array.sampler2D_samplerCube_vertex dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct.sampler2D_samplerCube_both dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct.sampler2D_samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct.sampler2D_samplerCube_vertex dEQP-GLES31.functional.program_uniform.by_value.render.basic.samplerCube_both dEQP-GLES31.functional.program_uniform.by_value.render.basic.samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_value.render.basic.samplerCube_vertex dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct.sampler2D_samplerCube_both dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct.sampler2D_samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays.sampler2D_samplerCube_both dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays.sampler2D_samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays.sampler2D_samplerCube_vertex dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array.sampler2D_samplerCube_both dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array.sampler2D_samplerCube_fragment dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array.sampler2D_samplerCube_vertex Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <mesa/mesa!15246> (cherry picked from commit c82dcdf5)
-
Fixes potential pipeline caching bug. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Cc: mesa-stable Part-of: <mesa/mesa!15175> (cherry picked from commit feb7e30e) [Eric: the disable_aniso_single_level part of the original commit was dropped in the backport as it didn't apply]
-
The problem is that dirty_states must be 0 for any state that is NULL in "queued". This code was flagging dirty_states for such states because it was only looking at "emitted". It should have been looking at "queued". Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!15209> (cherry picked from commit a02dd17c)
-
Also Starcraft 2 and The Force Unleashed II. These games are known to be affected by the feedback loop issue. We will fix this properly soon but as a hotfix disabling DCC should be enough. Closes: mesa/mesa#4424 Cc: mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!15203> (cherry picked from commit 4380916b)
-
Because we have to maintain two different packages of Mesa, one specific to RADV and another one for RadeonSI and such, it's a bit annoying to have to synchronize the drirc entries. Currently, only our Mesa package installs 00-mesa-defaults.conf which means we have to backport the drirc RADV changes. This splits 00-mesa-defaults.conf in two to move the drirc RADV entries to src/amd/vulkan/00-radv-defaults.conf. Meson will install the file only if RADV is built. There is still a caveat for common drirc workarounds like for WSI but they are rare enough and we could still duplicate them if needed. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Part-of: <mesa/mesa!15152> (cherry picked from commit 53ca85ac)
-