platform/upstream/mesa.git
3 years agodocs: remove out-of-date gles info
Erik Faye-Lund [Thu, 15 Apr 2021 13:49:02 +0000 (15:49 +0200)]
docs: remove out-of-date gles info

This info is no longer true, so let's delete it.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10281>

3 years agoradv: re-introduce missing skip list for Polaris10
Samuel Pitoiset [Mon, 26 Apr 2021 06:43:13 +0000 (08:43 +0200)]
radv: re-introduce missing skip list for Polaris10

The list shouldn't have been removed but replaced.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10448>

3 years agomesa: fix incomplete GL_NV_half_float implementation
Timothy Arceri [Fri, 23 Apr 2021 10:39:50 +0000 (20:39 +1000)]
mesa: fix incomplete GL_NV_half_float implementation

All of the VertexAttrib* functions were missing.

Fixes: ef66e02a408c ("src/mesa: add GL_NV_half_float extension support (v2)")

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10431>

3 years agodocs/lima: add an initial page for Lima
Erico Nunes [Wed, 21 Apr 2021 23:15:06 +0000 (01:15 +0200)]
docs/lima: add an initial page for Lima

This is a cleaned up and updated version of the readme page for Lima
that was until now being maintained separately.
Let's move it in-tree so it is maintained along with the pages for
other similar drivers.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Andreas Baierl <ichgeh@imkreisrum.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10406>

3 years agomicrosoft/spirv_to_dxil: Treat read-only storage images as SRVs
Jesse Natalie [Tue, 20 Apr 2021 15:24:33 +0000 (08:24 -0700)]
microsoft/spirv_to_dxil: Treat read-only storage images as SRVs

Reviewed-by: Enrico Galli <enrico.galli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10356>

3 years agomicrosoft/compiler: Treat read-only SSBOs as SRVs
Jesse Natalie [Tue, 20 Apr 2021 15:23:20 +0000 (08:23 -0700)]
microsoft/compiler: Treat read-only SSBOs as SRVs

Reviewed-by: Enrico Galli <enrico.galli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10356>

3 years agonir_lower_readonly_images_to_tex: Use nir_shader_lower_instructions
Jesse Natalie [Wed, 21 Apr 2021 14:40:04 +0000 (07:40 -0700)]
nir_lower_readonly_images_to_tex: Use nir_shader_lower_instructions

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10356>

3 years agonir_lower_readonly_images_to_tex: Support non-CL semantics
Jesse Natalie [Tue, 20 Apr 2021 15:08:32 +0000 (08:08 -0700)]
nir_lower_readonly_images_to_tex: Support non-CL semantics

For non-CL, intrinsic access isn't set, because the image type doesn't
have access qualifier. Instead, the access qualifier is set on the variable.

So, add a mode to this pass which can chase back to the variable in addition
to the intrinsic access. Also, update the variable type and the deref chain
types so everything is consistent, that the tex is accessing a sampler. Note
we can't do this for CL, because void-typed samplers don't exist.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10356>

3 years agonir: Rename nir_lower_cl_images_to_tex, replace 'cl' with 'readonly'
Jesse Natalie [Tue, 20 Apr 2021 14:43:18 +0000 (07:43 -0700)]
nir: Rename nir_lower_cl_images_to_tex, replace 'cl' with 'readonly'

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10356>

3 years agovtn: Propagate access data from UBO/SSBO/push constant types to variables of that...
Jesse Natalie [Tue, 20 Apr 2021 00:32:55 +0000 (17:32 -0700)]
vtn: Propagate access data from UBO/SSBO/push constant types to variables of that type, not just their pointers

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10356>

3 years agovtn: Propagate access data that's present on all struct members to the struct itself
Jesse Natalie [Mon, 19 Apr 2021 23:04:14 +0000 (16:04 -0700)]
vtn: Propagate access data that's present on all struct members to the struct itself

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10356>

3 years agotgsi_exec: Fix NaN behavior of min and max
Ian Romanick [Fri, 23 Apr 2021 00:46:39 +0000 (17:46 -0700)]
tgsi_exec: Fix NaN behavior of min and max

Modern shader APIs, like DX10 and GLSL 1.30, want min() and max() to
"cleanse" NaN.  If one source is NaN, the other value should be chosen.
If both sources are NaN, the result may be either.

There are many cases where TGSI is generate from NIR, and many
optimizations in NIR expect this behavior.  Not meeting these
expectations can lead to unexpected results.

Reviewed-by: Eric Anholt <eric@anholt.net>
Fixes: ffe58739da9 ("Softpipe: import TGSI tree. Not hooked-up yet.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10419>

3 years agotgsi_exec: Fix NaN behavior of saturate
Ian Romanick [Fri, 23 Apr 2021 00:41:57 +0000 (17:41 -0700)]
tgsi_exec: Fix NaN behavior of saturate

Modern shader APIs, like DX10 and GLSL 1.30, want saturate or
clamp(..., 0.0, 1.0) to "cleanse" NaN.  If the source is NaN, the
result should be zero.

There are many cases where TGSI is generate from NIR, and many
optimizations in NIR expect this behavior.  Not meeting these
expectations can lead to unexpected results.

Reviewed-by: Eric Anholt <eric@anholt.net>
Fixes: 56c30bf17b9 ("tgsi: Saturate modifier obeys ExecMask. Implement NVIDIA [-1;+1] saturate mode.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10419>

3 years agoradv: Merge dEQP default skips into all generation-specific skip lists
Charlie Turner [Thu, 22 Apr 2021 15:17:28 +0000 (16:17 +0100)]
radv: Merge dEQP default skips into all generation-specific skip lists

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8147
obsoleted
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4656 so the
default skips are not being used.

Instead, merge the defaults into each generation's skip list. Also
remove the "Fixed by CTS 3dddaeca8 ("Fix source blit image size")",
since the VK-GL-CTS has been updated to vulkan-cts-1.2.6.0 already,
which includes 3dddaeca8

Nowadays, the only option is to have default skips per GPU
version (c.f. GPU_VERSION variable in deqp-runner), since the runner
doesn't have a "skip list merge" feature.

v2.
  - Removed deqp-radv-polaris10-skips.txt in response to Samuel's feedback.

v3.
  - Add review tags.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10413>

3 years agoci: Remove obsolete reference to DEQP_SKIPS
Charlie Turner [Tue, 6 Apr 2021 18:18:04 +0000 (19:18 +0100)]
ci: Remove obsolete reference to DEQP_SKIPS

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8147 didn't
remove all the incidences.

v2.
  - Add review tags.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10413>

3 years agoglx: Implement GLX_EXT_no_config_context
Adam Jackson [Tue, 14 Nov 2017 20:13:06 +0000 (15:13 -0500)]
glx: Implement GLX_EXT_no_config_context

This is the GLX counterpart to EGL_KHR_no_config_context. Contexts may
now be created without reference to an fbconfig, in which case it is
treated as compatible with any fbconfig (and thus any GLX drawable).

Khronos: https://github.com/KhronosGroup/OpenGL-Registry/pull/102

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8999>

3 years agoci/radeonsi: Mark a glx_arb_sync_control/timing flake.
Eric Anholt [Thu, 22 Apr 2021 22:02:20 +0000 (15:02 -0700)]
ci/radeonsi: Mark a glx_arb_sync_control/timing flake.

I've seen this one happen at least twice today. Log shows something like:

    Wallclock time between MSCs 16982.888889us does not match
    glXGetMscRateOML 16668.071966us

or

    Wallclock time between MSCs 16500.333333us does not match
    glXGetMscRateOML 16668.071966us

Incidentally, both runs I've looked into had one run too fast and one run
too slow.

Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10414>

3 years agod3d12: Switch to nir_lower_fragcolor
Alyssa Rosenzweig [Thu, 22 Apr 2021 15:29:51 +0000 (11:29 -0400)]
d3d12: Switch to nir_lower_fragcolor

Does everything your pass did, with some bug fixes.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10411>

3 years agonir/lower_fragcolor: Take max cbufs as argument
Alyssa Rosenzweig [Thu, 22 Apr 2021 15:28:42 +0000 (11:28 -0400)]
nir/lower_fragcolor: Take max cbufs as argument

One step closer to generalizing this pass to more drivers.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10411>

3 years agonir/lower_fragcolor: Fix driver_location assignment
Alyssa Rosenzweig [Thu, 22 Apr 2021 15:23:39 +0000 (11:23 -0400)]
nir/lower_fragcolor: Fix driver_location assignment

Fixes crash in
dEQP-GLES31.functional.shaders.framebuffer_fetch.basic.last_frag_data
when using this pass.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10411>

3 years agoradv: enable DCC stores with the LLVM backend
Samuel Pitoiset [Fri, 23 Apr 2021 13:06:27 +0000 (15:06 +0200)]
radv: enable DCC stores with the LLVM backend

Just to make it consistent compared to ACO.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10436>

3 years agoradv/llvm: implement the image load DCC bug
Samuel Pitoiset [Fri, 23 Apr 2021 13:06:10 +0000 (15:06 +0200)]
radv/llvm: implement the image load DCC bug

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10436>

3 years agoradv: remove warnings about RADV_PERFTEST=aco,llvm
Samuel Pitoiset [Fri, 23 Apr 2021 12:11:33 +0000 (14:11 +0200)]
radv: remove warnings about RADV_PERFTEST=aco,llvm

These warnings have been introduced after switching ACO by default
for Mesa 20.2. I think it's time to remove them for 21.2.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10435>

3 years agoradv: Remove assert about pDepthStencilState
Tony Wasserka [Fri, 23 Apr 2021 14:56:52 +0000 (16:56 +0200)]
radv: Remove assert about pDepthStencilState

RenderDoc's serialization code replaces unused references with NULL
pointers, which caused this assert to fire when the NULL state wasn't
really dereferenced.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8860>

3 years agopanfrost/ci: Skip draw_indirect.compute_interop.large.*
Boris Brezillon [Fri, 23 Apr 2021 07:46:01 +0000 (09:46 +0200)]
panfrost/ci: Skip draw_indirect.compute_interop.large.*

Some of the dEQP-GLES31.functional.draw_indirect.compute_interop.large
tests create heavy compute jobs which might takes more than the
maximum allowed by the kernel driver (0.5s). Skip them for now.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10425>

3 years agopan/decode: Print errors when closing dump file
Icecream95 [Fri, 23 Apr 2021 05:34:41 +0000 (17:34 +1200)]
pan/decode: Print errors when closing dump file

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10422>

3 years agopan/decode: Allow frame shader DCDs to be in another BO than the FBD
Icecream95 [Wed, 21 Apr 2021 23:08:49 +0000 (11:08 +1200)]
pan/decode: Allow frame shader DCDs to be in another BO than the FBD

Fixes: 96b71a59c0a ("panfrost: Decode pre/post frame DCDs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10422>

3 years agopanfrost: Fix shader texture count
Icecream95 [Wed, 21 Apr 2021 19:13:39 +0000 (07:13 +1200)]
panfrost: Fix shader texture count

Instead of using num_textures, determine the texture count from the
last bit set in textures_used.

Fixes ADDR_RANGE_FAULTs when draw_textured_quad writes only stencil.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10422>

3 years agopanfrost: Fix formats converting uninit from AFBC
Alyssa Rosenzweig [Thu, 22 Apr 2021 23:14:47 +0000 (19:14 -0400)]
panfrost: Fix formats converting uninit from AFBC

If no slices were valid (the resource is uninitialized), we were reading
a bogus PIPE_FORMAT_NONE format from the blit.dst.format. Fix this --
and guard against scope similar issues -- by hoisting the blit
assignments out of the loop so they're valid.

Fixes: 9d0ad7fd2e1 ("panfrost: Patch the gallium driver to use pan_image_layout_init()")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10415>

3 years agoradv: make sure CP DMA is idle before executing secondary command buffers
Samuel Pitoiset [Fri, 23 Apr 2021 09:54:22 +0000 (11:54 +0200)]
radv: make sure CP DMA is idle before executing secondary command buffers

Buffer copies with CP DMA aren't synced.

Fix dEQP-VK.memory.pipeline_barrier.transfer_src_transfer_dst.65536
flakes on GFX10+.

Fixes: e8707961134 ("radv: prefer CP DMA for GTT buffer copies/clears on dGPUs due to slow PCIe")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10427>

3 years agoradv/winsys: fix resetting the number of padded IB words
Samuel Pitoiset [Wed, 21 Apr 2021 14:06:30 +0000 (16:06 +0200)]
radv/winsys: fix resetting the number of padded IB words

The number of padded words is per IB, so it should be reset.

Found with Valgrind and dEQP-VK.api.command_buffers.record_many_draws*

Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10376>

3 years agoradv/winsys: fix allocating the number of CS in the sysmem path
Samuel Pitoiset [Wed, 21 Apr 2021 13:58:27 +0000 (15:58 +0200)]
radv/winsys: fix allocating the number of CS in the sysmem path

Found with Valgrind and dEQP-VK.api.command_buffers.record_many_draws*.

Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10376>

3 years agoradv: remove RADV_DEBUG=nothreadllvm
Samuel Pitoiset [Fri, 23 Apr 2021 10:16:40 +0000 (12:16 +0200)]
radv: remove RADV_DEBUG=nothreadllvm

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10429>

3 years agodocs: list more vulkan extensions
Michel Zou [Mon, 19 Apr 2021 21:36:19 +0000 (23:36 +0200)]
docs: list more vulkan extensions

Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10334>

3 years agoci: Update Windows image to build RADV
James Park [Fri, 29 Jan 2021 21:06:04 +0000 (13:06 -0800)]
ci: Update Windows image to build RADV

Add AMDGPU to LLVM_TARGETS_TO_BUILD.

Remove explicit CMAKE_CXX_COMPILER from libclc to dodge regression from
newer CMake. The potential range seems like (3.19.7, 3.20.1].

Add -Dc_std=c17 to support static_assert.

Add -Dcpp_std=vc++latest to support designated initializers.

Add -Dvulkan-drivers=amd for RADV.

Add -Dlibelf:warning_level=1 because of warnings as error.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6162>

3 years agollvmpipe: Remove stray ## operator for MSVC
James Park [Thu, 22 Apr 2021 20:40:15 +0000 (13:40 -0700)]
llvmpipe: Remove stray ## operator for MSVC

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6162>

3 years agodraw/clip: Use NAN to make MSVC happy
James Park [Thu, 22 Apr 2021 20:38:14 +0000 (13:38 -0700)]
draw/clip: Use NAN to make MSVC happy

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6162>

3 years agoradv: Add <io.h> on WIndows for missing close()
James Park [Thu, 22 Apr 2021 20:13:29 +0000 (13:13 -0700)]
radv: Add <io.h> on WIndows for missing close()

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6162>

3 years agoradv: Fix unused label warning on Windows
James Park [Thu, 22 Apr 2021 20:12:19 +0000 (13:12 -0700)]
radv: Fix unused label warning on Windows

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6162>

3 years agoradv: Add _WIN32 guard in radv_check_gpu_hangs
James Park [Thu, 22 Apr 2021 20:11:31 +0000 (13:11 -0700)]
radv: Add _WIN32 guard in radv_check_gpu_hangs

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6162>

3 years agoamd: Fix warnings around variable sizes
James Park [Thu, 22 Apr 2021 20:09:20 +0000 (13:09 -0700)]
amd: Fix warnings around variable sizes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6162>

3 years agoradv: cleanup LLVM related includes
Samuel Pitoiset [Thu, 22 Apr 2021 13:59:22 +0000 (15:59 +0200)]
radv: cleanup LLVM related includes

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10403>

3 years agoac: move ac_lower_indirect_derefs() outside of the LLVM dir
Samuel Pitoiset [Thu, 22 Apr 2021 14:14:32 +0000 (16:14 +0200)]
ac: move ac_lower_indirect_derefs() outside of the LLVM dir

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10403>

3 years agoradv: remove old comment about LLVM <= 8
Samuel Pitoiset [Thu, 22 Apr 2021 08:15:46 +0000 (10:15 +0200)]
radv: remove old comment about LLVM <= 8

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10403>

3 years agoradv/winsys: remove set but never used use_llvm
Samuel Pitoiset [Thu, 22 Apr 2021 08:13:24 +0000 (10:13 +0200)]
radv/winsys: remove set but never used use_llvm

It's no longer necessary since LLVM version has been bumped.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10403>

3 years agoradv: fix emitting default depth bounds state on GFX6
Samuel Pitoiset [Tue, 20 Apr 2021 11:09:09 +0000 (13:09 +0200)]
radv: fix emitting default depth bounds state on GFX6

GFX6 has no CLEAR_STATE.

One step towards Vulkan conformance on these old chips.

Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10347>

3 years agozink: when performing an implicit reset, sync qbos
Mike Blumenkrantz [Thu, 15 Apr 2021 19:13:02 +0000 (15:13 -0400)]
zink: when performing an implicit reset, sync qbos

resetting a query pool+qbo dumpsters the existing qbo results,
so these need to be copied to the new qbo if they exist, and then the query
id needs to be updated to match the expected result offset so everything
keeps working as expected

Fixes: 00fc85a0119 ("zink: reset queries when suspending if >50% of total pool is used")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10268>

3 years agozink: only reset query on suspend if the query has previously been stopped
Mike Blumenkrantz [Thu, 15 Apr 2021 19:10:30 +0000 (15:10 -0400)]
zink: only reset query on suspend if the query has previously been stopped

if the query has never been stopped, then doing an implicit reset here does
nothing except give the gpu more work

Fixes: 00fc85a0119 ("zink: reset queries when suspending if >50% of total pool is used")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10268>

3 years agozink: init timeline semaphore on screen creation, not first batch creation
Mike Blumenkrantz [Tue, 13 Apr 2021 13:14:34 +0000 (09:14 -0400)]
zink: init timeline semaphore on screen creation, not first batch creation

this is less racy

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10214>

3 years agozink: use cached memory for staging resources
Mike Blumenkrantz [Mon, 19 Apr 2021 22:28:13 +0000 (18:28 -0400)]
zink: use cached memory for staging resources

I think at one point before staging resource flagging was less reliable
this method made sense, but now it's worse

Fixes: 6ff6d01c377 ("zink: don't use cached mem for staging resources")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10363>

3 years agozink: restore previous semaphore (prev_sem) handling
Mike Blumenkrantz [Fri, 23 Apr 2021 03:04:47 +0000 (23:04 -0400)]
zink: restore previous semaphore (prev_sem) handling

this was accidentally lost during refactoring

Fixes: fa36a16c684 ("zink: make timeline semaphores per-screen")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10421>

3 years agozink: track persistent resource objects, not resources
Mike Blumenkrantz [Thu, 15 Apr 2021 12:40:34 +0000 (08:40 -0400)]
zink: track persistent resource objects, not resources

this is broken after the backing object split because resources themselves
no longer have guaranteed lifetimes

Fixes: 616720d6aec ("zink: track resource_object usage instead of resource usage")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10270>

3 years agosoftpipe: ci updates
Mike Blumenkrantz [Thu, 22 Apr 2021 13:05:46 +0000 (09:05 -0400)]
softpipe: ci updates

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10398>

3 years agosoftpipe: fix streamout queries
Mike Blumenkrantz [Thu, 22 Apr 2021 12:44:53 +0000 (08:44 -0400)]
softpipe: fix streamout queries

these need to always use the query index in order to access the correct
vertex stream

Fixes: ddb9ad363d9 ("softpipe: add support for indexed queries.")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10398>

3 years agosoftpipe: fix render condition checking
Mike Blumenkrantz [Wed, 21 Apr 2021 23:50:23 +0000 (19:50 -0400)]
softpipe: fix render condition checking

always casting this to a u64 is invalid if the value is just a bool,
and it even generates ASAN/valgrind errors about uninitialized reads

Fixes: 41450b03a8e ("softpipe: implement conditional rendering")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10398>

3 years agopan/bi: Skip nir_opt_move/sink for blend shaders
Icecream95 [Wed, 7 Apr 2021 11:43:05 +0000 (23:43 +1200)]
pan/bi: Skip nir_opt_move/sink for blend shaders

Otherwise the dual-source input load is moved further down in the
shader, so the registers can get clobbered before then.

Fixes text not being visible in Alacritty.

Fixes: 52863f2e60f ("pan/bi: Enable all nir_opt_move/sink optimizations")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10089>

3 years agopanfrost/ci: Enable some dEQP 3.1 tests on Mali T860
Tomeu Vizoso [Mon, 7 Sep 2020 06:49:43 +0000 (08:49 +0200)]
panfrost/ci: Enable some dEQP 3.1 tests on Mali T860

We have now enough machines in the lab for the extra job.

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10375>

3 years agopanfrost/ci: Test GLES 3.1 on Bifrost
Boris Brezillon [Wed, 21 Apr 2021 09:10:46 +0000 (11:10 +0200)]
panfrost/ci: Test GLES 3.1 on Bifrost

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10375>

3 years agoci: Update to a kernel that has the panfrost MMU fixes
Boris Brezillon [Wed, 21 Apr 2021 12:57:05 +0000 (14:57 +0200)]
ci: Update to a kernel that has the panfrost MMU fixes

Needed for dEQP-GLES31.functional.draw_indirect, otherwise we end up
with GPU faults.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10375>

3 years agopanfrost: Only advertise INDIRECT_DRAW if the kernel supports HEAP BOs
Boris Brezillon [Wed, 21 Apr 2021 16:04:34 +0000 (18:04 +0200)]
panfrost: Only advertise INDIRECT_DRAW if the kernel supports HEAP BOs

The indirect draw implementation uses a HEAP pool to allocate varyings.
Don't advertise INDIRECT_DRAW if the kernel doesn't support allocating
HEAP BOs.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10375>

3 years agofrontends/va: add VASurfaceAttribUsageHint attribute
Leo Liu [Thu, 22 Apr 2021 18:32:48 +0000 (14:32 -0400)]
frontends/va: add VASurfaceAttribUsageHint attribute

Chrome browser has been calling this attribute to give driver the surface
usage hint. The hints include:
   VA_SURFACE_ATTRIB_USAGE_HINT_GENERIC
   VA_SURFACE_ATTRIB_USAGE_HINT_DECODER
   VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER
   VA_SURFACE_ATTRIB_USAGE_HINT_VPP_READ
   VA_SURFACE_ATTRIB_USAGE_HINT_VPP_WRITE
   VA_SURFACE_ATTRIB_USAGE_HINT_DISPLAY
   VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT

The surface allocation are generic for us, and we don't need to specify
it. To add the attribute here is because we don't want application which
is calling this attribute to end up returning error and getting no surface
allocated.

Fixes: ebab310987 ("frontends/va: improve surface attribs processing")

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: James Zhu <James.Zhu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10353>

3 years agor600: don't set an index_bias for indirect draw calls
Gert Wollny [Sun, 28 Mar 2021 08:27:20 +0000 (10:27 +0200)]
r600: don't set an index_bias for indirect draw calls

The bug #4657 mixed up which commit was actually responsible for
the regression, so re-apply this patch.

The indirect draw call already encodes the index bias so that no
additional encoding in the hardware is needed in this case.

This fixes a regression with a number of tests from
   dEQP-GLES31.functional.draw_indirect.random.*

Fixes: c6c532faa8cf172715b38783ec7175b626a63944
  "gallium/u_vbuf: use updated pipe_draw_start_count while using draw_vbo"

Closes #4671

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10388>

3 years agoRevert "r600: Don't advertise support for scaled int16 vertex formats"
Gert Wollny [Tue, 20 Apr 2021 21:57:12 +0000 (23:57 +0200)]
Revert "r600: Don't advertise support for scaled int16 vertex formats"

This reverts commit 00a1521529ccb4f7527c6d55a471ef18d1b000d1.

While the commit fixed some GLES cts tests it introduced heavy regressions
that made the driver unusable.

Closes #4680

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10388>

3 years agoglx: Remove unused debugging printfs
Adam Jackson [Tue, 20 Apr 2021 02:35:43 +0000 (22:35 -0400)]
glx: Remove unused debugging printfs

There's better ways to do that, if that's what you need.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10381>

3 years agoglx: Convert undocumented LIBGL_DIAGNOSTIC to LIBGL_DEBUG=verbose
Adam Jackson [Tue, 20 Apr 2021 02:59:56 +0000 (22:59 -0400)]
glx: Convert undocumented LIBGL_DIAGNOSTIC to LIBGL_DEBUG=verbose

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10381>

3 years agoglx: Add and use DebugMessageF convenience macro
Adam Jackson [Tue, 20 Apr 2021 02:53:38 +0000 (22:53 -0400)]
glx: Add and use DebugMessageF convenience macro

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10381>

3 years agoglx: s/dri_message/glx_message/
Adam Jackson [Tue, 20 Apr 2021 02:43:46 +0000 (22:43 -0400)]
glx: s/dri_message/glx_message/

Move this up to the generic glx code, there's nothing DRI-specific about
this and it'll let us clean up some ad-hockery elsewhere.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10381>

3 years agoglx: Return the right GLX opcode in synthetic MakeCurrent errors
Adam Jackson [Fri, 16 Apr 2021 18:25:16 +0000 (14:25 -0400)]
glx: Return the right GLX opcode in synthetic MakeCurrent errors

If you're trying to figure out why an operation failed it helps if
the error matches the function you thought you called.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10381>

3 years agodri: Try harder to infer the drawable fbconfig if needed
Adam Jackson [Fri, 16 Apr 2021 17:59:29 +0000 (13:59 -0400)]
dri: Try harder to infer the drawable fbconfig if needed

This code would work for GLXWindows but not for bare Windows, which I
guess you could argue is a server bug but which we can fix on the client
side with a little effort. We change __glXGetDrawableAttribute to
additionally return false if we failed to find the requested attribute
(which is safe, all the other callers discard the return value). Then
when inferring the fbconfig, if the attribute wasn't found, we ask for
the window attributes to find the visual ID and use that to find the
fbconfig.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10381>

3 years agointel/compiler: Don't insert barriers for NULL sources
Jason Ekstrand [Thu, 22 Apr 2021 14:21:59 +0000 (09:21 -0500)]
intel/compiler: Don't insert barriers for NULL sources

Normally, we never see NULL in a source.  However, starting with
eab1c55590b1, we can with a SHADER_OPCODE_SEND if it only has the first
payload.  We were inserting barriers which adds unnecessary scheduling
dependencies and takes a lot of compile time because inserting a single
barrier is an O(n) operation.

All the extra O(n) can have a surprisingly large effect.  This cuts the
runtime of dEQP-VK.binding_model.buffer_device_address.set3.depth3.
basessbo.convertcheckuv2.store.single.std140.frag by a factor of 20x for
a debug build.

Shader-db results on ICL:

    total instructions in shared programs: 19918983 -> 19921610 (0.01%)
    instructions in affected programs: 884074 -> 886701 (0.30%)
    helped: 1688
    HURT: 817
    helped stats (abs) min: 1 max: 163 x̄: 4.23 x̃: 1
    helped stats (rel) min: 0.02% max: 12.50% x̄: 1.08% x̃: 0.61%
    HURT stats (abs)   min: 1 max: 2674 x̄: 11.95 x̃: 2
    HURT stats (rel)   min: 0.11% max: 70.22% x̄: 1.71% x̃: 1.03%
    95% mean confidence interval for instructions value: -1.97 4.06
    95% mean confidence interval for instructions %-change: -0.28% -0.06%
    Inconclusive result (value mean confidence interval includes 0).

    total cycles in shared programs: 976503324 -> 975884809 (-0.06%)
    cycles in affected programs: 82581703 -> 81963188 (-0.75%)
    helped: 4144
    HURT: 5010
    helped stats (abs) min: 1 max: 79294 x̄: 311.31 x̃: 8
    helped stats (rel) min: <.01% max: 53.69% x̄: 2.00% x̃: 0.51%
    HURT stats (abs)   min: 1 max: 92266 x̄: 134.04 x̃: 8
    HURT stats (rel)   min: <.01% max: 218.09% x̄: 3.25% x̃: 0.53%
    95% mean confidence interval for cycles value: -119.85 -15.29
    95% mean confidence interval for cycles %-change: 0.68% 1.07%
    Inconclusive result (value mean confidence interval and %-change mean confidence interval disagree).

    total spills in shared programs: 10659 -> 12014 (12.71%)
    spills in affected programs: 441 -> 1796 (307.26%)
    helped: 7
    HURT: 12

    total fills in shared programs: 11551 -> 14429 (24.92%)
    fills in affected programs: 993 -> 3871 (289.83%)
    helped: 8
    HURT: 11

    total sends in shared programs: 1025832 -> 1025353 (-0.05%)
    sends in affected programs: 2241 -> 1762 (-21.37%)
    helped: 105
    HURT: 1
    helped stats (abs) min: 1 max: 87 x̄: 4.57 x̃: 2
    helped stats (rel) min: 5.56% max: 54.72% x̄: 11.37% x̃: 10.00%
    HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
    HURT stats (rel)   min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
    95% mean confidence interval for sends value: -7.39 -1.65
    95% mean confidence interval for sends %-change: -12.95% -7.70%
    Sends are helped.

    LOST:   93
    GAINED: 109

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4648
Fixes: eab1c55590b1 "intel/fs: Support SENDS in SHADER_OPCODE_SEND"
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10412>

3 years agozink: do not read outside of array
Erik Faye-Lund [Wed, 21 Apr 2021 08:14:13 +0000 (10:14 +0200)]
zink: do not read outside of array

We need to bounds-check *before* we index the array, otherwise we peek
beyond the end of it.

Caught by Valgrind.

Fixes: dd29a7e5b0e ("zink: move descriptor barrier handling to main update function")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10367>

3 years agopanfrost: Hook-up indirect dispatch support
Boris Brezillon [Mon, 19 Apr 2021 15:58:36 +0000 (17:58 +0200)]
panfrost: Hook-up indirect dispatch support

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10332>

3 years agopanfrost: Add helpers to emit indirect dispatch jobs
Boris Brezillon [Mon, 19 Apr 2021 15:57:12 +0000 (17:57 +0200)]
panfrost: Add helpers to emit indirect dispatch jobs

Indirect dispatch is implemented using an extra compute job patching
the compute job header to apply the final num_workgroup values. Add
helpers to simplify emission of the such jobs.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10332>

3 years agopanfrost: Make sure pack_work_groups_compute() is passed valid dimensions
Boris Brezillon [Mon, 19 Apr 2021 15:54:11 +0000 (17:54 +0200)]
panfrost: Make sure pack_work_groups_compute() is passed valid dimensions

Make sure size_{x,y,z} and num_{x,y,s} are positive, otherwise we end
up with an integer underflow.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10332>

3 years agopan/midg: Make sure the constant offset is in range in mir_match_iadd()
Boris Brezillon [Thu, 22 Apr 2021 14:02:36 +0000 (16:02 +0200)]
pan/midg: Make sure the constant offset is in range in mir_match_iadd()

The offset field is an 18-bit signed integer, if the offset is bigger
than that we can get rid of the intermediate iadd.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10332>

3 years agopan/midg: Fix midgard_pack_common_store_mask()
Boris Brezillon [Thu, 22 Apr 2021 10:21:31 +0000 (12:21 +0200)]
pan/midg: Fix midgard_pack_common_store_mask()

st_u64() gets an invalid mask when component Y is written.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10332>

3 years agopan/bi: Expand pseudo instructions when nosched is set
Boris Brezillon [Mon, 19 Apr 2021 15:51:41 +0000 (17:51 +0200)]
pan/bi: Expand pseudo instructions when nosched is set

Pseudo instruction might expend to 2 instructions (one in the FMA slot
and one in the ADD slot), we need to expand those even if nosched is
set.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10332>

3 years agogallium: Fix PIPE_BIND_SAMPLER_REDUCTION_MINMAX definition to be unique
Adam Jackson [Wed, 21 Apr 2021 22:26:23 +0000 (18:26 -0400)]
gallium: Fix PIPE_BIND_SAMPLER_REDUCTION_MINMAX definition to be unique

This accidentally collided with PIPE_BIND_SCANOUT.

Fixes: 59ad872458c gallium: add PIPE_BIND_SAMPLER_REDUCTION_MINMAX
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10397>

3 years agozink: Fix format query for minmax reduction support
Adam Jackson [Wed, 21 Apr 2021 22:22:37 +0000 (18:22 -0400)]
zink: Fix format query for minmax reduction support

All the rest of the filters here are written as "if asking for this
feature and it's not there, return false", with an implicit fallthrough
to the next test. There's no good reason to treat minmax differently.

Fixes: 22e1ed57221 zink: support format queries for VK_EXT_sampler_filter_minmax
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10397>

3 years agoradeonsi: implement pipe_context.create_video_buffer_with_modifiers
Simon Ser [Fri, 9 Apr 2021 08:31:44 +0000 (10:31 +0200)]
radeonsi: implement pipe_context.create_video_buffer_with_modifiers

Just pass down the modifier list to vl_video_buffer_create_as_resource,
filtering out DCC modifiers because we don't support these for now.

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10237>

3 years agogallium, va: add support for VASurfaceAttribDRMFormatModifiers
Simon Ser [Fri, 9 Apr 2021 08:25:11 +0000 (10:25 +0200)]
gallium, va: add support for VASurfaceAttribDRMFormatModifiers

This new surface attribute can be supplied by the client to indicate
a list of modifiers that the driver can choose from for buffer
allocation. This is useful to make sure the buffers allocated via libva
are compatible with the intended usage (e.g. can be scanned out via KMS
or can be imported to EGL).

Introduce a new Gallium pipe_context.create_video_buffer_with_modifiers
hook that drivers can implement if they are modifiers-aware. Add a
modifiers argument to vlVaHandleSurfaceAllocate so that the
user-supplied list of modifiers can be passed down from vaCreateSurfaces
to the Gallium driver.

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10237>

3 years agoanv: reuse define for number of render target assert
Lionel Landwerlin [Wed, 31 Mar 2021 20:35:19 +0000 (23:35 +0300)]
anv: reuse define for number of render target assert

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10206>

3 years agoanv: implement VK_EXT_color_write_enable
Lionel Landwerlin [Wed, 31 Mar 2021 16:40:21 +0000 (19:40 +0300)]
anv: implement VK_EXT_color_write_enable

v2: Add missing gfx 7/7.5 dynamic state emission

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10206>

3 years agoanv: prepare pipeline for delayed emission of color writes
Lionel Landwerlin [Wed, 31 Mar 2021 15:50:00 +0000 (18:50 +0300)]
anv: prepare pipeline for delayed emission of color writes

Namely we want to be able to emit the following dynamically :

  * On Gfx 7/7.5 : 3DSTATE_VM, 3DSTATE_BLEND_STATE_POINTERS

  * On Gfx 8+ : 3DSTATE_VM, 3DSTATE_BLEND_STATE_POINTERS,
    3DSTATE_PS_BLEND

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10206>

3 years agoanv: drop extension check for dynamic state
Lionel Landwerlin [Thu, 22 Apr 2021 10:32:08 +0000 (13:32 +0300)]
anv: drop extension check for dynamic state

Following 505d176a8ebf ("anv: disable baked in pipeline bits from
dynamic emission path") dynamic bits of extensions that are not
enabled should not be there.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10206>

3 years agovulkan: bump headers/registry to version 1.2.175
Lionel Landwerlin [Wed, 31 Mar 2021 14:49:38 +0000 (17:49 +0300)]
vulkan: bump headers/registry to version 1.2.175

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10206>

3 years agopan/midg: Fix 2 memory leaks
Boris Brezillon [Thu, 22 Apr 2021 14:14:41 +0000 (16:14 +0200)]
pan/midg: Fix 2 memory leaks

The ssa_constants hash table and its elements are leaked. Pass the
context to the allocator to avoid that.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10408>

3 years agoaco: Mark VCC clobbered for iadd8 and iadd16 reductions on GFX6-7.
Timur Kristóf [Tue, 20 Apr 2021 11:55:23 +0000 (13:55 +0200)]
aco: Mark VCC clobbered for iadd8 and iadd16 reductions on GFX6-7.

On GFX6-7, the 8 and 16-bit integer add reductions use the 32-bit v_add
instruction, which clobbers the VCC register.

Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10346>

3 years agogallium/u_threaded: offload begin/end_intel_perf_query
Marcin Ślusarz [Fri, 16 Apr 2021 17:07:15 +0000 (19:07 +0200)]
gallium/u_threaded: offload begin/end_intel_perf_query

Fixes: 206495cac4e ("iris: Enable u_threaded_context")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9922>

3 years agogallium/u_threaded: implement INTEL_performance_query hooks
Marcin Ślusarz [Fri, 16 Apr 2021 17:07:12 +0000 (19:07 +0200)]
gallium/u_threaded: implement INTEL_performance_query hooks

Fixes: 206495cac4e ("iris: Enable u_threaded_context")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4528

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9922>

3 years agointel/perf: move calculation of period_exponent to perf ctx init
Marcin Ślusarz [Fri, 16 Apr 2021 17:07:09 +0000 (19:07 +0200)]
intel/perf: move calculation of period_exponent to perf ctx init

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9922>

3 years agoiris: fully populate perf_config before using it to initialize perf_context
Marcin Ślusarz [Fri, 16 Apr 2021 17:07:07 +0000 (19:07 +0200)]
iris: fully populate perf_config before using it to initialize perf_context

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9922>

3 years agoi965: fully populate perf_config before using it to initialize perf_context
Marcin Ślusarz [Fri, 16 Apr 2021 17:07:01 +0000 (19:07 +0200)]
i965: fully populate perf_config before using it to initialize perf_context

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9922>

3 years agomeson: Disable MSVC warning 5105
James Park [Thu, 28 Jan 2021 16:34:35 +0000 (08:34 -0800)]
meson: Disable MSVC warning 5105

Older versions of the Windows SDK are not compliant when the new
preprocessor is active, which is the default when C17 is enabled.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10202>

3 years agomeson: Disable libdrm for RADV on Windows
James Park [Tue, 13 Apr 2021 07:47:02 +0000 (00:47 -0700)]
meson: Disable libdrm for RADV on Windows

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10202>

3 years agomeson: Add wrap for libelf on Windows
James Park [Tue, 13 Apr 2021 07:43:13 +0000 (00:43 -0700)]
meson: Add wrap for libelf on Windows

Uses release from Lag Free Games GitHub, which applies Windows build
fixes to FreeBSD libelf.

The amd_common library uses libelf.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10202>

3 years agov3dv/pipeline_cache: bail out in case of error
Juan A. Suarez Romero [Thu, 22 Apr 2021 08:43:13 +0000 (10:43 +0200)]
v3dv/pipeline_cache: bail out in case of error

Currently, in GetPipelineCacheData() function, in several cases if
there is an error the blob is finished and cache unlocked, but code
continues executing, which can lead to multiple
`pthread_mutex_unlock()` calls.

Instead, if there's an error just bail out to finish the blob and unlock
the cache directly.

Fixes CID#1468147 "Double unlock (LOCK)".

v2:
 - Rename "bail_out" by "done" (apinheiro)

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10404>

3 years agoradv: Use ac_drm_fourcc.h
James Park [Fri, 19 Mar 2021 08:47:26 +0000 (01:47 -0700)]
radv: Use ac_drm_fourcc.h

Allows compilation on Windows.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9709>

3 years agoac/surface: Move drm_fourcc.h to common header
James Park [Thu, 22 Apr 2021 07:48:31 +0000 (00:48 -0700)]
ac/surface: Move drm_fourcc.h to common header

Useful for including from RADV without copy/paste.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9709>

3 years agoci/v3d: execute all piglit tests
Juan A. Suarez Romero [Wed, 21 Apr 2021 09:28:25 +0000 (11:28 +0200)]
ci/v3d: execute all piglit tests

Most of the regressions we found are with the piglit testsuite. The
difference between executing all tests versus quick_gl + quick_shader
are minimal, in the sense that we would need the same number of jobs to
execute and be in the 10 minutes budget.

Hence replace "quick_gl" + "quick_shader" by "all".

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10378>