- 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>
-
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)
-
Previously we would match the start of the compatible string, in a couple of cases, in order to match compatible strings like "qcom,adreno-630.2". But these cases would always list a more generic compatible (ie. "qcom,adreno") as a later choice. So if we parse all the compatible strings, we can do a more precise exact match. This avoids us accidentially matching on "qcom,adreno-smmu" and the hilarity that ensues. Fixes: 5a135071 ("freedreno/perfcntrs: add fdperf") Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <mesa/mesa!5762> (cherry picked from commit 385d036f)
-
This was causing vkAcquireNextImageKHR to not signal the fences and semaphores. In the case where the semaphore was brand new, this could cause an unsignalled syncobj to be passed into execbuffer2 which it will reject with -EINVAL leading to VK_ERROR_DEVICE_LOST. Thanks to Henrik Rydgård who works on the PPSSPP project for helping me figure this out. Fixes: ca3cfbf6 "vk: Add an initial implementation of the actual..." Fixes: 778b51f4 "vulkan/wsi: Add a hooks for signaling semaphores..." Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!5672> (cherry picked from commit b0bbb623)
-
We have an issue with early depth testing and discard, where non-perfect counts count the tile if the early depth test succeeds. We could spend a lot of effort to set this conditionally based on the presence of the two conditions, but in the presence of inherited queries let's try this first. Changing PERFECT_ZPASS_COUNTS since I'm pretty sure this has a lower performance impact than always using late depth testing. CC: <mesa-stable@lists.freedesktop.org> Closes: mesa/mesa#3218 Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!5757> (cherry picked from commit ad913a18)
-
Seems like we forgot to set it all this time ... Fixes: b1444c9c "radv: Implement VK_ANDROID_native_buffer." Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!5759> (cherry picked from commit ad151499)
-
Fixes: 96063100 "radv: enable shaderStorageImageMultisample feature on GFX8+" Closes: mesa/mesa#3219 Closes: mesa/mesa#855 Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!3165> (cherry picked from commit 7b21ce40)
-
glGetPerfMonitorCounterInfoAMD(..., ..., GL_COUNTER_RANGE_AMD, ...) returned NAN (binary representation of uint64_t(-1) as float) as a max value. Fixes: 0fd43597 ("iris/perf: implement routines to return counter info") Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!5473> (cherry picked from commit 00d3b138)
-
Some Piglit tests (rightfully) fail because of min >= max when exposed to perf counters that do not explicitly define their max value. Failing tests: spec/amd_performance_monitor/api/test_counter_info spec/amd_performance_monitor/vc4/test_counter_info u32/u64 changes are no-ops. Fixes: 4cd1cfb9 ("st/mesa: implement GL_AMD_performance_monitor") Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5473> (cherry picked from commit 2f4a112e)
-
Fixes: e630271e ("mesa: don't ever set NullBufferObj in gl_vertex_array_binding") Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <mesa/mesa!5730> (cherry picked from commit ec8fdf85)
-
Some rare headers like ipc/shm and pthread_np cause machine/param.h to be included which defines a macro called ALIGN. Signed-off-by: Matt Turner <mattst88@gmail.com> Part-of: <mesa/mesa!3559> (cherry picked from commit 29e2a3b8)
-
In FreeBSD x86 and aarch64 __u64 is typedef to unsigned long and is the same size as unsigned long long. Since we are explicitly specifying the format, cast the value to the proper type. Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Emmanuel <manu@FreeBSD.org> Part-of: <mesa/mesa!3559> (cherry picked from commit f678811b)
-
In FreeBSD x86 and aarch64 __u64 is typedef to unsigned long and is the same size as unsigned long long. Since we are explicitly specifying the format, cast the value to the proper type. Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Emmanuel <manu@FreeBSD.org> Part-of: <mesa/mesa!3559> (cherry picked from commit 565a8045)
-
Compiling with this option result in too much TLS usage and FreeBSD cannot handle that. Reviewed-by: Eric Engestrom <eric@engestrom.ch> Signed-off-by: Emmanuel <manu@FreeBSD.org> Part-of: <mesa/mesa!3559> (cherry picked from commit 708db983)
-
The xvmc tracker used to be versionned with autotool but this seems to have been lost in the meson switch. Fixes: 22a817af ("meson: build gallium xvmc state tracker") Reviewed-by: Eric Engestrom <eric@engestrom.ch> Signed-off-by: Emmanuel Vadot <manu@FreeBSD.org> Part-of: <mesa/mesa!5708> (cherry picked from commit 02d0b2d5)
-
Fixes: 08fae07f ("mesa: Handle GL_TEXTURE_GEN_STR_OES in _mesa_Enable()") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5705> (cherry picked from commit dfb9be69)
-
Before 908f8179 this would fallthrough to GL_INVALID_OPERATION if the validation condition was not met. But since that change it will now only return GL_INVALID_OPERATION if !_mesa_has_EXT_texture_compression_bptc(ctx) is true. This seems unintended. Here we fix up the fallthrough and add the fallthrough comment so this doesn't happen again. Fixes: 908f8179 ("mesa: expose EXT_texture_compression_bptc in GLES") Closes: mesa/mesa#3005 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5705> (cherry picked from commit 040b07c7)
-
Dot product is multiplication followed by addition, and absolute value does not distribute into addition. Only vec4 platforms are affected by this change as scalar-only platforms never have any of the fdot_replicated instructions. In the shader-db results, below, shaders in MANY different applications are affected. Trine, Doom3, Enemy Territory: Quake Wars, Counter Strike: Global Offensive, Mad Max, Metro Last Light, and on and on... I'm really shocked that there were no test regressions! All Haswell and earlier platforms had similar results. (Haswell shown) total instructions in shared programs: 16219743 -> 16219820 (<.01%) instructions in affected programs: 12171 -> 12248 (0.63%) helped: 1 HURT: 78 helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 helped stats (rel) min: 0.78% max: 0.78% x̄: 0.78% x̃: 0.78% HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 HURT stats (rel) min: 0.35% max: 2.38% x̄: 0.91% x̃: 1.06% 95% mean confidence interval for instructions value: 0.92 1.03 95% mean confidence interval for instructions %-change: 0.78% 1.00% Instructions are HURT. total cycles in shared programs: 538481383 -> 538491045 (<.01%) cycles in affected programs: 470796 -> 480458 (2.05%) helped: 149 HURT: 142 helped stats (abs) min: 1 max: 1338 x̄: 71.13 x̃: 4 helped stats (rel) min: 0.06% max: 40.99% x̄: 2.76% x̃: 0.67% HURT stats (abs) min: 1 max: 2092 x̄: 142.68 x̃: 12 HURT stats (rel) min: 0.07% max: 55.38% x̄: 5.07% x̃: 1.07% 95% mean confidence interval for cycles value: -5.28 71.69 95% mean confidence interval for cycles %-change: -0.07% 2.19% Inconclusive result (value mean confidence interval includes 0). Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Fixes: 62795475 ("nir/algebraic: Distribute source modifiers into instructions") Closes: #3129 Part-of: <mesa/mesa!5581> (cherry picked from commit 8591adea)
-
DOOM Eternal happily creates a swapchain with 2 images for IMMEDIATE. This fixes a 10% performance issue with RADV. 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!5704> (cherry picked from commit ab9ecb60)
-
This breaks some games like Wolfenstein Youngblood or Wolfenstein 2 that crash at launch if the number of images is more than what they expected. We could add vk_x11_strict_image_count to fix these game bugs but it seems more conservative to revert that change and add a new wsi drirc workaround for Doom Eternal. This reverts commit 5f97dfc4. 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!5704> (cherry picked from commit 311b9f25)
-
Fixes: f2d0e48d ("glsl/nir: Add optimization pass for access flags") Reviewed-by: Connor Abbott <cwabbott0@gmail.com> Part-of: <mesa/mesa!5714> (cherry picked from commit d55aa786)
-
Fixes: 26c5ae80 ("llvmpipe: enable ARB_shader_group_vote") Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!5714> (cherry picked from commit 06dc2f3f)
-
Fixes: 085aa7f9 ("st/mesa: don't update atomic, SSBO, UBO and TBO states that have no effect") Closes: mesa/mesa#2951 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5660> (cherry picked from commit 5f1a16d0)
-
This label was removed a long time ago, let's also remove the reference to it. Fixes: 3acd7a34 ("st/vega: Remove.") Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Acked-by: Eric Engestrom <eric@engestrom.ch> Part-of: <mesa/mesa!5691> (cherry picked from commit 686f6c72)
-
Fixes: 0caf74bb ("gallium: add PIPE_CAP_FRAMEBUFFER_MSAA_CONSTRAINTS") Fixes: 8632626c ("gallium: add pipe_resource::nr_storage_samples, and set it same as nr_samples") Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Acked-by: Eric Engestrom <eric@engestrom.ch> Part-of: <mesa/mesa!5691> (cherry picked from commit 686cf8ea)
-
This code was broken, but it worked by accident, as the pad and the edgeflag were reversed, however when Roland removed the cliptest field back in 2015, he stopped copying the pad which actually stopped copy the edgeflag. Fix the function to actually copy the edgeflag. Fixes: 1b22815a ("draw: don't pretend have_clipdist is per-vertex") Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <mesa/mesa!5679> (cherry picked from commit 2bf2e6c8)
-
These values were getting casted up to 32-bit, but then extracted via 16-bit pointer later. Just store via 16-bit. Fixes a lot of piglit on s390 Fixes: f96a69f9 ("mesa: replace GLenum with GLenum16 in common structures (v4)"); Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5679> (cherry picked from commit 0e6dfd11)
-
Casting to u8 arrays and picking the lowest byte is fairly LE specific grab the other byte. Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <mesa/mesa!5679> (cherry picked from commit b743c9bf)
-
The shuffles need to be swapped to do this properly on big-endian Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <mesa/mesa!5679> (cherry picked from commit 3aeb61da)
-
In a piglit run on s390 a lot of double tests fail, explicitly packing/shifting things rather than using memcpy seems to help Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <mesa/mesa!5679> (cherry picked from commit 92866052)
-