- Jul 22, 2020
-
-
Eric Engestrom authored
-
Eric Engestrom authored
-
Consider the following case: if ssa_1 { block block_2: /* succs: block_4 */ } else { block block_3: ... break /* succs: block_5 */ } block block_4: vec1 32 ssa_100 = phi block_2: ssa_2 After block_3 extraction and reinsertion, phi->pred becomes invalid and isn't updated by reinsertion since it is unreachable from block_3. Call nir_opt_remove_phis_block before moving block to eliminate single source phis after the if. Closes: mesa/mesa#3282 Fixes: e3e929f8 Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <mesa/mesa!5945> (cherry picked from commit 6f94b3da)
-
When creating a sampler-type, we need to pass the correct vaclue for the "is_shadow"-parameter to glsl_sampler_type(), otherwise the compiler backend will have no clue about this being a shadow-sampler. Fixes: 1c0f92d8 ("nir: Create sampler variables in prog_to_nir.") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5986> (cherry picked from commit c33e8d7d)
-
Fixes: e44089b2 ("nvc0: add initial support for nve4+ (Kepler) chipsets") Signed-off-by: Rhys Kidd <rhyskidd@gmail.com> Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <mesa/mesa!5982> (cherry picked from commit 203d565b)
-
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: 43e8808b ("anv: Add support for the SYNC_FD handle type for fences") Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Part-of: <mesa/mesa!5964> (cherry picked from commit 3a4024e7)
-
Fixes: 606dff1b "vulkan/overlay: Add support for a control socket." Reviewed-by: Dylan Baker <dylan.c.baker@intel.com> Part-of: <mesa/mesa!6019> (cherry picked from commit 323d5bbf)
-
This change mostly touches error handling code paths, where a bug was found when the DRI driver failed to bind a new DRI context. Specifically, the reason for it to fail was the window system unable (for whatever reason) to provide the DRI drawable with a buffer. In this instance, Mesa un-does the EGL bindings, but doesn't restore the old DRI context, hence remaining in a funny state. It's worth mentioning that despite trying, there is no guarantee that the old DRI context can be restored, depending on the runtime. Before this change, if bindContext() failed then dri2_make_current() would rebind the old EGL context and surfaces and return EGL_BAD_MATCH. However, it wouldn't rebind the DRI context and surfaces, thus leaving it in an inconsistent and unrecoverable state. After this change, dri2_make_current() tries to bind the old DRI context and surfaces when bindContext() failed. If unable to do so, it leaves EGL and the DRI driver in a consistent state, it reports an error and returns EGL_BAD_MATCH. Fixes: 4e8f95f6 ("egl_dri2: Always unbind old contexts") Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Eric Engestrom <eric@engestrom.ch> Part-of: <mesa/mesa!5707> (cherry picked from commit 2907faee)
-
dri2_make_current() has become hard to follow, address this by splitting the semantic of needing a call to bindContext() and its failure. Cc: mesa-stable Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Part-of: <mesa/mesa!5707> (cherry picked from commit 8b0b6f90)
-
dri2_make_current() has become long and convoluted. Address this by folding together multiple if blocks checking for the same variable. Cc: mesa-stable Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Part-of: <mesa/mesa!5707> (cherry picked from commit 6b12999e)
-
Detroit: Become Human uses dFdx/dFdy immediately after a quad-divergent discard, which can cause the image to become white. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Cc: <mesa-stable@lists.freedesktop.org> Closes: mesa/mesa#3212 Part-of: <mesa/mesa!5991> (cherry picked from commit d9072a11)
-
Fixes an issue with Renderdoc's shader debugging with ACO. If nir_opt_algebraic isn't called in-between nir_lower_explicit_io and nir_lower_int64, we can end up with 64-bit multiplications. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Fixes: 6320e37d ('nir: add amul instruction') Part-of: <mesa/mesa!5709> (cherry picked from commit 0868638a)
-
Fixes: e644ed46 "intel/fs: Implement nir_intrinsic_global_atomic_*" Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!5992> (cherry picked from commit 675d7b19)
-
Otherwise we might get VM_L2_PROTECTION_FAULT_STATUS errors. Fixes: 8275dc1e ("ac/surface: fix epitch when modifying surf_pitch") Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5841> (cherry picked from commit 87ecfdfb)
-
It's invalid and the temporary syncobj was never actually destroyed. Cc: 20.1 <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!5921> (cherry picked from commit 8aa9d0ac)
-
This reverts commit 4fee7b30, which was intended to be a temporary workaround for a leak introduced in a65e29cc ("gallium: simplify throttle implementation"). However, that leak was then fixed in 023282a4 and we forgot to revert this hack. Closes: #2108 Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Cc: mesa-stable Part-of: <mesa/mesa!5858> (cherry picked from commit 40b99bb7)
-
No clue how this worked before. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Fixes: 82f18b71 ("panfrost: Keep track of active BOs") Cc: mesa-stable Part-of: <mesa/mesa!5859> (cherry picked from commit 37d89e0f)
-
When overwriting the writer, we need to release the old reference. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Fixes: 2dad9fde ("panfrost: Start tracking inter-batch dependencies") Cc: mesa-stable Part-of: <mesa/mesa!5859> (cherry picked from commit 20dd3702)
-
Whenever a struct type is decorated Block or BufferBlock we turn that into a GLSL_TYPE_INTERFACE. Since these decorations can end up random places, we should allow them for constants. Closes: #3252 Fixes: 9d0ae777 "spirv: Use interface type for block and buffer..." Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <mesa/mesa!5855> (cherry picked from commit 351b5137)
-
Closes: #3253 Fixes: 22fdb2f8 "nir/spirv: Update to the latest revision" Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <mesa/mesa!5855> (cherry picked from commit 81773b4b)
-
The helper we use to query the kernel returns -1 if the getparam is not supported. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: f402b7c5 ("iris: fail screen creation when kernel support is not there") Closes: mesa/mesa#3188 Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com> Part-of: <mesa/mesa!5838> (cherry picked from commit e3ddba73)
-
Reported-by: Karol Herbst <kherbst@redhat.com> Fixes: b6db703e ("st/mesa: make texture views inherit compressed_data storage") Reviewed-by: Karol Herbst <kherbst@redhat.com> Tested-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!5821> (cherry picked from commit 51bdaf0b)
-
EXT_shader_image_load_store says: The format of the image unit must be in the "1x32" equivalence class otherwise the atomic operation is invalid. ARB_shader_image_load_store says: We will only support 32-bit atomic operations on images Fixes: fc0a2e5d ("glsl: add EXT_shader_image_load_store new image functions") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5688> (cherry picked from commit 1e3aeda5)
-
The spec says that it's only allowed for unsigned ones. Same from imageAtomicDecWrap. Fixes: fc0a2e5d ("glsl: add EXT_shader_image_load_store new image functions") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5688> (cherry picked from commit 233af4a4)
-
Fixes: 8d07d661 ("glsl,nir: Switch the enum representing shader image formats to PIPE_FORMAT.") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5688> (cherry picked from commit 0c8873d8)
-
Two problems: * Multiply has higher priority than shift * rsc->layout.format isn't initialized for a2xx Fixes: 5a8718f0 ("freedreno: Make the slice pitch be bytes, not pixels.") Signed-off-by: Jonathan Marek <jonathan@marek.ca> Part-of: <mesa/mesa!5796> (cherry picked from commit 344e764b)
-
Eric Engestrom authored
-
- Jul 08, 2020
-
-
Eric Engestrom authored
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
-
Eric Engestrom authored
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
-
Eric Engestrom authored
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
-
Coincidentally got a bugreport of a game that is broken without the import fix below, but it turns out I made a copy-paste error as well .. In good news it is clearly tested now. Fixes: ad151499 "radv: Set handle types in Android semaphore/fence import." Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!5783> (cherry picked from commit ffb8020f)
-
ntq_setup_fs_inputs and ntq_setup_gs_inputs sort the inputs according to the driver location. This input array is then used to calculate the VPM offset for the outputs in the previous stage. However, it wasn’t taking into account variables that are packed into a single varying slot. In that case they would have the same driver_location and are distinguished by location_frac. This patch makes it additionally sort by location_frac when the driver locations are equal. This can happen when the compiler packs varyings that are sized less than vec4. Without this fix, when the VPM is used to transmit data free-form between the stages (such as VS->GS) then it would end up writing to inconsistent locations. Fixes dEQP tests such as: dEQP-GLES31.functional.primitive_bounding_box.lines.global_state. vertex_geometry_fragment.default_framebuffer_bbox_equal Fixes: 5d578c27 ("v3d: add initial compiler plumbing for geometry shaders") Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com> Part-of: <mesa/mesa!5787> (cherry picked from commit deefebc5)
-
This is not used anywhere so maybe we should just drop it instead. Fixes: 639b673f ("radeonsi: don't use an indirect table for state atoms") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5766> (cherry picked from commit bba766d8)
-
Fixes various artifacts with Detroit: Become Human. This assumes other Vulkan games using the same engine could have the same issues. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Cc: <mesa-stable@lists.freedesktop.org> Part-of: <mesa/mesa!5710> (cherry picked from commit e4654a35)
-
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Ivan Briano <ivan.briano@intel.com> Part-of: <mesa/mesa!5792> (cherry picked from commit 1d5e1882)
-
If we clear depth only texture via glClearTex(Sub)Image it may cause: ../src/intel/blorp/blorp_genX_exec.h:1554: blorp_emit_surface_states: Assertion `params->depth.enabled || params->stencil.enabled' failed. due to clear_depth_stencil calling blorp_clear_depth_stencil when depth is already fast-cleared and there is no stencil. Fixes piglit test: arb_clear_texture-depth Fixes: 51638cf1 Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!5770> (cherry picked from commit 77844690)
-
If we don't garbage collect the timeline, the value never progresses even though work completed. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Closes: mesa/mesa#3226 Fixes: 34f32a6d ("anv: implement VK_KHR_timeline_semaphore") Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!5774> (cherry picked from commit edc8119d)
-
The offset for the VPM write for storing outputs from the geometry shader isn’t necessarily uniform across all the lanes. This can happen if some of the lanes don’t emit some of the vertices. In that case the offset for the subsequent vertices will be different in each lane. In that case we need to use the stvpmd instruction instead of stvpmv because it will scatter the values out. Closes: mesa/mesa#3150 Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <mesa/mesa!5621> (cherry picked from commit 3b1c511b)
-
stvpmd is like stvpmv but it scatters the output. It can be used with non-dynamically uniform offsets. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <mesa/mesa!5621> (cherry picked from commit dab8a916)
-
As we do not support stream output buffers we only count the primitives processed by the pipeline. Use the correct query type. Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Part-of: <mesa/mesa!5754> (cherry picked from commit 01a1926f)
-