- Jan 26, 2023
-
-
Eric Engestrom authored
-
Eric Engestrom authored
-
This is the Hasvk version of Anv's: 3d37950f ("anv: check the return value of anv_execbuf_add_bo_bitset()") Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Part-of: <mesa/mesa!20800> (cherry picked from commit 5039acfd)
-
This is the Hasvk version of Anv's: ad6a036a ("anv: don't leave undefined values in exec->syncobj_values") Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Part-of: <mesa/mesa!20800> (cherry picked from commit 80196aaa)
-
If a shader stage is already imported from a library it should be properly ignored. Fixes recent CTS dEQP-VK.pipeline.fast_linked_library.misc.unused_shader_stages*. Fixes: c8765c52 ("radv: ignore shader stages that don't need to be imported with GPL") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!20899> (cherry picked from commit b97fee43)
-
Some compositor like KWin do not return the render node. v2: Make sure we test if only drm_info.hasPrimary is true (Jason) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: db42ed1e ("vulkan/wsi/wl: correctly find whether the compositor uses the same GPU") Closes: mesa/mesa#8139 Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <mesa/mesa!20914> (cherry picked from commit e27d217f)
-
The ACP entries created by copy propagation to track the implied copies of LOAD_PAYLOAD instructions don't model the behavior of LOAD_PAYLOAD correctly, since (as of 41868bb6) header moves are implicitly retyped to UD and the destination of non-header copies implicitly uses the same type as the corresponding source, even though the ACP entries created for such copies could incorrectly represent a type conversion, which can lead to mis-optimization of the program. According to Marcin, this fixes the func.mesh.ext.workgroup_id.task.q0 crucible test. Fixes: 41868bb6 ("i965/fs: Rework the fs_visitor LOAD_PAYLOAD instruction") Reported-by: Marcin Ślusarz <marcin.slusarz@intel.com> Tested-by: Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <mesa/mesa!18980> (cherry picked from commit 7b5e9336)
-
add a special tracker here to set the state only when necessary Fixes: 659c39fa ("zink: rework primitive rasterization type logic") Part-of: <mesa/mesa!20886> (cherry picked from commit 06a12594)
-
`count` should not be incremented before the check, because it causes the modifiers array to be filled starting from position 1 instead of 0. This bug causes one less format modifier to be available than would otherwise be expected, which could then lead to a dmabuf query failing in situations where a supported modifier wouldn't be advertised. It also causes garbage data to be advertised as a modifier in position 0 of the array, although this is not very likely to cause issues. Fixes: 2a121751 ("panfrost: Implement panfrost_query_dmabuf_modifiers") Cc: mesa-stable Signed-off-by: Italo Nicola <italonicola@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <mesa/mesa!20879> (cherry picked from commit 6c446377)
-
gfx11 renamed PRIM_GRP_SIZE to VERTS_PER_SUBGRP but another change was was missed. Update our code based on PAL's UniversalCmdBuffer::CalcGeCntl function (especially useVgtOnchipCntlForTess being false for gfx11). Fixes: 25a66477 ("radeonsi/gfx11: register changes") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!20728> (cherry picked from commit f73cdda9)
-
Otherwise, the access chain you emitted last time may not dominate the current use. Fixes the following validation failure in dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample.multisample_texture_2: UNASSIGNED-CoreValidation-Shader-InconsistentSpirv(ERROR / SPEC): msgNum: 7060244 - Validation Error: [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = 0x55cf3cea2c60, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6bbb14 | SPIR-V module not valid: ID '67[%67]' defined in block '23[%23]' does not dominate its use in block '31[%31]' Fixes: 8899f6a1 ("zink: fix gl_SampleMaskIn spirv generation") Part-of: <mesa/mesa!20756> (cherry picked from commit 4286633e)
-
MemoryModelVulkan was left out for CSes using it. Cc: mesa-stable Part-of: <mesa/mesa!20756> (cherry picked from commit 1e4deb3b)
-
GL lets you set a silly state, so do something plausible instead of undefined. Cc: mesa-stable Part-of: <mesa/mesa!20756> (cherry picked from commit adf81044)
-
Fixes validation failures: Test case 'dEQP-GLES31.functional.android_extension_pack.shaders.es32.extension_directive.oes_sample_variables'.. MESA: error: Validation Error: [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = 0x563a1838b790, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6bbb14 | SPIR-V module not valid: [VUID-StandaloneSpirv-Flat-04744] Fragment OpEntryPoint operand 31 with Input interfaces with integer or float type must have a Flat decoration for Entry Point id 4. %gl_SampleId = OpVariable %_ptr_Input_uint Input Test case 'KHR-GL46.shader_ballot_tests.ShaderBallotAvailability'.. MESA: error: Validation Error: [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = 0x5558e12f17e0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6bbb14 | SPIR-V module not valid: [VUID-StandaloneSpirv-Flat-04744] Fragment OpEntryPoint operand 28 with Input interfaces with integer or float type must have a Flat decoration for Entry Point id 4. %gl_SubgroupLocalInvocationId = OpVariable %_ptr_Input_uint Input Cc: mesa-stable Part-of: <mesa/mesa!20756> (cherry picked from commit 2a33d509)
-
Started showing up when nir_opt_large_constants call was moved in 88756cee. Fixes dEQP-VK.mesh_shader.ext.smoke.monolithic.fullscreen_gradient* Suggested-by: Kenneth Graunke <kenneth@whitecape.org> Fixes: 88756cee ("intel/compiler: Run nir_opt_large_constants before scalarizing consts") Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!20876> (cherry picked from commit 536a2acf)
-
I've been running into failures with tests like : dEQP-VK.robustness.robustness2.bind.notemplate.rgba32i.unroll.nonvolatile.uniform_buffer_dynamic.no_fmt_qual.len_4.samples_1.1d.frag With the load_global_const_block_intel NIR intrinsic, you can load a vec8/vec16 with a predicate. The predicate is correctly uniformized to feed into the SEND instruction's flag register. The problem is that a series of optimization first remove the find_live_channel and then changes the broadcast into a simple MOV instruction, on the assumption that the first channel is always active if there is not control flow. This is correct. But after that the cmod optimzation will remove this instruction : mov.nz.f0.0(16) null:D, vgrf16+0.0<0>:D NoMask because it seems to be equivalent to : cmp.g.f0.0(16) vgrf16:D, vgrf12:D, 63d In this case vgrf16 is the predicate to the load block SEND instruction. Since the execution mask is different between both, some of the channels of the SEND instruction end up not being loaded or loaded with the wrong predication and we end up with incorrect UBO data. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <mesa/mesa!20852> (cherry picked from commit a50d2fdb)
-
the outer swapchain object is persistent, which means checking it will never yield an update after the first check fixes #8122 Fixes: b2739c9f ("zink: set surface->dt when updating swapchain" Part-of: <mesa/mesa!20814> (cherry picked from commit 474ed4b8)
-
When this was last changed, the smoothing_enabled flag seems to have been forgotten about, breaking line-smoothing (and probably also polygon smoothing). Fixes: 4147add2 ("radeonsi: update db_eqaa even if msaa is disabled") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!20810> (cherry picked from commit 9f4f131f)
-
unlocks were incorrectly added to paths using dri2_egl_display() as well as those using dri2_egl_display_lock() pthread_mutex_unlock() when unlocked is documented by posix as being undefined behaviour. On OpenBSD pthread_mutex_unlock() will call abort(3) if this happens. Fixes: f1efe037 ("egl/dri2: Add display lock") Reviewed-by: Rob Clark <robclark@freedesktop.org> Part-of: <!20712> (cherry picked from commit 0594b3c1)
-
Surprisingly, the GL compatibility profile allows these in both glEnableClientState and glEnable. Fixes: 0b1dd185 - glthread: track which vertex array attribs are enabled Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20824> (cherry picked from commit 777166cc)
-
This wasn't implemented, but the spec requires it. Fixes: 1fe7b1f9 - mesa: implement ARB_bindless_texture Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20824> (cherry picked from commit 72152622)
-
It was wrong. For example, if the draw vertex count was 10 and the upload vertex count was 150, u_vbuf wouldn't unroll the draw and would instead memcpy 150 vertices. This fixes that case. Fixes: 068a3bf0 - util: move and adjust the vertex upload heuristic equation from u_vbuf Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20824> (cherry picked from commit 4f6e7858)
-
Fixes: befbd548 - glthread: don't use atomics for refcounting to decrease overhead on AMD Zen Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20804> (cherry picked from commit 4d4995b3)
-
this is illegal and causes validation errors cc: mesa-stable Part-of: <mesa/mesa!20799> (cherry picked from commit 5d443185)
-
this is an artifact of very old code before the dynamic state was set for all graphics pipelines now the checks only cause blend constants to not be updated, which triggers bugs and validation failures cc: mesa-stable Part-of: <mesa/mesa!20799> (cherry picked from commit b4d18f2a)
-
makes encoded videos resemble the input again :) Closes: mesa/mesa#7992 Fixes: c4482a3c ("radeonsi/vcn: enable multi-slice encoding") Reviewed-by: Ruijing Dong <ruijing.dong@amd.com> Part-of: <mesa/mesa!20714> (cherry picked from commit e8a60633)
-
Field must be disabled if any render targets have integer format, additionally for Gfx12+ field must be disabled when num multisamples > 1 or forced multisample count > 1. Cc: mesa-stable Closes: mesa/mesa#7892 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <mesa/mesa!20671> (cherry picked from commit 247c06d4)
-
Field must be disabled if any render targets have integer format. Cc: mesa-stable Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!20671> (cherry picked from commit 58dd9d51)
-
Field must be disabled if any render targets have integer format, additionally for Gfx12+ field must be disabled when num multisamples > 1 or forced multisample count > 1. Cc: mesa-stable Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!20671> (cherry picked from commit 9b37ef40)
-
offset field in kgsl_command_object is NOT used by KGSL, so we should offset directly to iova. Fixes weird hangs on KGSL. E.g. fixes the hang in: dEQP-VK.memory.pipeline_barrier.transfer_dst_storage_texel_buffer.1024 cc: mesa-stable Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <mesa/mesa!20795> (cherry picked from commit 926f626b)
-
ensure that these have a lifetime great enough to be presented fixes #7781 cc: mesa-stable Part-of: <mesa/mesa!20793> (cherry picked from commit 020db793)
-
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x01 has been incidently the correct memory type index, but isn't guaranteed to be, which is why it hasn't caused issues yet Fixes: f9515d93 ("zink: allocate/place memory using memoryTypeIndex directly") Part-of: <mesa/mesa!20264> (cherry picked from commit c71287e7)
-
Trival renames to correctly identify vulkan memory type indices aren't the same as zink heaps Part-of: <mesa/mesa!20264> (cherry picked from commit e20e8f22)
-
Clarify the relationship between zink heaps and vulkan memory type indices, and resolve the issues from mixing the two up. Closes: #7588, #7813 Part-of: <mesa/mesa!20264> (cherry picked from commit f6d3a575)
-
this just returns the number of planes in the base format as a default, which matches the behavior of other drivers cc: mesa-stable Part-of: <mesa/mesa!20753> (cherry picked from commit 6ff334e5)
-
internal_format is the "real" format of a resource, and the "real" format of imported resources is the external-facing format, not the pipe format this ensures the correct format is available for internal ops, such as nplanes queries Fixes: 2e2775c1 ("zink: fix PIPE_RESOURCE_PARAM_NPLANES with format modifier") Part-of: <mesa/mesa!20753> (cherry picked from commit 072e29a2)
-
When the base array layer of the image view is > 0, addrlib computes the offset (in HwlComputeSubResourceOffsetForSwizzlePattern) which is then added to the base VA in RADV. But if the driver doesn't reset the base array layer, the hw will compute incorrect addressing (ie. base array will be added twice). This also matches AMDVLK. This fixes a VM fault followed by a GPU hang on RDNA2 when trying to join a multiplayer game with medium settings in Halo Infinite. Fixes: 98ba1e0d ("radv: Fix mipmap views on GFX10+") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!20761> (cherry picked from commit 8d191b2c)
-
The color surface descriptor needs to be adjusted, otherwise addressing is wrong. Fixes tests performed on the graphics queue from dEQP-VK.api.copy_and_blit.*.image_to_buffer.2d_images.mip_copies_*. Closes: mesa/mesa#7900 Fixes: 98ba1e0d ("radv: Fix mipmap views on GFX10+") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!20761> (cherry picked from commit 18aaa373)
-
MAX_MIP should always be the number of levels minus one from the hw perspective. This doesn't fix anything known. Fixes: 98ba1e0d ("radv: Fix mipmap views on GFX10+") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!20761> (cherry picked from commit aff5fe3f)
-
This must be marshalled synchronously or the attrib pointers' content might change by the time we use them. Cc: mesa-stable Closes: mesa/mesa#8068 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!20748> (cherry picked from commit ddc721e1)
-