platform/upstream/mesa.git
3 years agomicrosoft/compiler: Handle unbounded arrays
Jesse Natalie [Sat, 17 Apr 2021 03:55:45 +0000 (20:55 -0700)]
microsoft/compiler: Handle unbounded arrays

Note that it's no longer sufficient to check for >=1 sampler/image
in a potential array, because unbounded arrays have 0 of them.

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

3 years agomicrosoft/compiler: Map descriptor set -> binding space
Jesse Natalie [Sat, 17 Apr 2021 03:09:34 +0000 (20:09 -0700)]
microsoft/compiler: Map descriptor set -> binding space

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

3 years agomicrosoft/compiler: Fix function signature for bufferStore to support overloads
Jesse Natalie [Sat, 17 Apr 2021 03:00:45 +0000 (20:00 -0700)]
microsoft/compiler: Fix function signature for bufferStore to support overloads

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

3 years agomicrosoft/compiler: Rewrite sampler splitting pass to be smarter and handle derefs
Jesse Natalie [Fri, 16 Apr 2021 18:41:01 +0000 (11:41 -0700)]
microsoft/compiler: Rewrite sampler splitting pass to be smarter and handle derefs

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

3 years agod3d12, microsoft/compiler: Use SRV/sampler variable binding data
Jesse Natalie [Fri, 16 Apr 2021 18:40:35 +0000 (11:40 -0700)]
d3d12, microsoft/compiler: Use SRV/sampler variable binding data

For GL, we've previously mostly ignored the binding property for sampler variables
during the shader compilation step. For CL, our image bindings were always 0-based as well.

Now, for Vulkan, we are going to be getting explicit bindings and need to emit DXIL that
respects those bindings. Since Vulkan can also have both split and combined images and samplers,
we now need to be smarter about recognizing when NIR is trying to use a "sampler" as *both* an
image and sampler (in deref mode, the same variable will be deref'd as both image and sampler).

That "being smarter" bit comes next, but first, let's prep GL for building correct root
signatures and binding the resources correctly.

Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10298>

3 years agoci: Add timeout for traces jobs
Rob Clark [Sat, 24 Apr 2021 15:37:13 +0000 (08:37 -0700)]
ci: Add timeout for traces jobs

Otherwise it is next to impossible to figure out *which* trace is
hanging (because you don't get artifact upload if the CI job hits the
overall 60min timeout).

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10490>

3 years agoci: Update kernel with a few freedreno related fixes
Rob Clark [Tue, 27 Apr 2021 16:51:02 +0000 (09:51 -0700)]
ci: Update kernel with a few freedreno related fixes

40abe2528d16 HACK: iommu/arm-smmu/qcom: Set SCTLR.HUPCF for everything
7c165f82b28b drm/msm: Fix a5xx/a6xx timestamps
0d6e0765f2de drm/msm: Fix legacy relocs path

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10490>

3 years agovulkan/wsi/display: don't report support if there is no drm fd
Lionel Landwerlin [Fri, 23 Apr 2021 10:26:46 +0000 (13:26 +0300)]
vulkan/wsi/display: don't report support if there is no drm fd

This partially deals with
https://gitlab.freedesktop.org/mesa/mesa/-/issues/4688

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10430>

3 years agoci: Add missing vulkan dep for freedreno (turnip) and v3dv test jobs.
Eric Anholt [Fri, 23 Apr 2021 20:34:29 +0000 (13:34 -0700)]
ci: Add missing vulkan dep for freedreno (turnip) and v3dv test jobs.

We might miss testing core vk changes without this.

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10472>

3 years agovulkan/wsi/x11: lower resize events to VK_SUBOPTIMAL_KHR
Niklas Haas [Sun, 22 Dec 2019 02:28:15 +0000 (03:28 +0100)]
vulkan/wsi/x11: lower resize events to VK_SUBOPTIMAL_KHR

Currently, a resized window results in an VK_ERROR_OUT_OF_DATE_KHR. But,
this seems to go against the spec, which suggests returning
VK_SUBOPTIMAL_KHR if the surface extent no longer matches the window
extent. (It does not *require* the WSI actually scale the contents, only
encourages doing so "if possible")

More to the point, VK_SUBOPTIMAL_KHR is the correct status to return if
the client *can* continue presenting to this swapchain, even if the
result will look wrong / "suboptimal". It's the client's decision on
when exactly to recreate the swapchain in this case, and the client may
very well end up wanting to continue presenting for a frame or two, to
prevent flooding the driver with swapchain recreations (which can result
in the window appearing visually "frozen" while resizing).

This change makes live resizing *significantly* smoother in e.g. mpv.

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

3 years agovulkan/wsi/x11: return VK_SUBOPTIMAL_KHR on mismatched swapchain
Niklas Haas [Sun, 22 Dec 2019 01:58:39 +0000 (02:58 +0100)]
vulkan/wsi/x11: return VK_SUBOPTIMAL_KHR on mismatched swapchain

If the swapchain already does not match the current geometry at the time
of creation, set the initial status to VK_SUBOPTIMAL_KHR as a way to
inform clients to please resize the swapchain.

This solves a race condition where users have no way of knowing if the
surface extent changed in between the user querying the current extent
and creating the swapchain, and might end up missing a resize event
because of it, since XCB_PRESENT_CONFIGURE_NOTIFY is not yet being
handled.

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

3 years agogallium: Add a transcode_astc driconf option
Jason Ekstrand [Mon, 26 Apr 2021 23:01:16 +0000 (18:01 -0500)]
gallium: Add a transcode_astc driconf option

This is similar to the transcode_etc flag in that it changes the ASTC
fallback (when present) to use DXT5 instead of RGBA8888.  This reduces
the memory footprint of the app at the expense of a bit of correctness.
Because it's not quite correct, it's hidden behind a driconf option.

Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10476>

3 years agoturnip: Only write the tu_RegisterDeviceEXT() out fence on success.
Eric Anholt [Mon, 26 Apr 2021 21:10:42 +0000 (14:10 -0700)]
turnip: Only write the tu_RegisterDeviceEXT() out fence on success.

Fixes a double-free in dEQP-VK.wsi.display_control.register_device_event
where the fence that we destroyed got destroyed again.  Leaving it unset
in the error path leaves the test's NULL in place.

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

3 years agoradv,aco: use nir_address_format_vec2_index_32bit_offset
Rhys Perry [Wed, 10 Mar 2021 15:47:40 +0000 (15:47 +0000)]
radv,aco: use nir_address_format_vec2_index_32bit_offset

The vec2 index helps the compiler make use of SMEM's SOFFSET field when
loading descriptors.

fossil-db (GFX10.3):
Totals from 126326 (86.37% of 146267) affected shaders:
VGPRs: 4898704 -> 4899088 (+0.01%); split: -0.02%, +0.03%
SpillSGPRs: 13490 -> 14404 (+6.78%); split: -1.10%, +7.87%
CodeSize: 306442996 -> 302277700 (-1.36%); split: -1.36%, +0.01%
MaxWaves: 3277108 -> 3276624 (-0.01%); split: +0.01%, -0.02%
Instrs: 58301101 -> 57469370 (-1.43%); split: -1.43%, +0.01%
VClause: 1208270 -> 1199264 (-0.75%); split: -1.02%, +0.28%
SClause: 2517691 -> 2432744 (-3.37%); split: -3.75%, +0.38%
Copies: 3518643 -> 3161097 (-10.16%); split: -10.45%, +0.29%
Branches: 1228383 -> 1228254 (-0.01%); split: -0.12%, +0.11%
PreSGPRs: 3973880 -> 4031099 (+1.44%); split: -0.19%, +1.63%
PreVGPRs: 3831599 -> 3831707 (+0.00%)
Cycles: 1785250712 -> 1778222316 (-0.39%); split: -0.42%, +0.03%
VMEM: 52873776 -> 50663317 (-4.18%); split: +0.18%, -4.36%
SMEM: 8534270 -> 8361666 (-2.02%); split: +1.79%, -3.82%

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

3 years agonir/lower_non_uniform: allow lowering with vec2 handles
Rhys Perry [Mon, 22 Mar 2021 11:23:29 +0000 (11:23 +0000)]
nir/lower_non_uniform: allow lowering with vec2 handles

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9523>

3 years agoradv: implement vulkan_resource_reindex
Rhys Perry [Wed, 10 Mar 2021 16:47:15 +0000 (16:47 +0000)]
radv: implement vulkan_resource_reindex

Fixes dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.dynamic_offset.select_descriptor_array

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

3 years agoradv: cleanup LLVM implementation of vulkan_descriptor_index
Rhys Perry [Wed, 10 Mar 2021 14:44:52 +0000 (14:44 +0000)]
radv: cleanup LLVM implementation of vulkan_descriptor_index

Make it create a vec2 instead of a pointer, like what the NIR expects.

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

3 years agozink: correct an extension-link
Erik Faye-Lund [Tue, 27 Apr 2021 08:07:12 +0000 (10:07 +0200)]
zink: correct an extension-link

Fixing the fix, I guess I was a bit too quick last time ;)

Fixes: 0747fb546c7 ("docs: fixup link to extension")

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10478>

3 years agozink: fix shader-image requirements
Erik Faye-Lund [Mon, 26 Apr 2021 15:35:21 +0000 (17:35 +0200)]
zink: fix shader-image requirements

I mixed up the EXT and ARB version of the extensions; we actually do
require shaderStorageImageWriteWithoutFormat as well here.

Thanks to Ilia Mirkin for pointing this out.

It also seems I got really confused about what was required when writing
the docs, so let's fix that as well.

Fixes: 341332b23af ("zink: correct image cap checks")
Fixes: ecac7f3da1a ("docs: add missing zink-requirement")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10463>

3 years agodocs: remove out-of-date versions doc
Erik Faye-Lund [Mon, 26 Apr 2021 11:00:51 +0000 (13:00 +0200)]
docs: remove out-of-date versions doc

It seems nobody is interested in maintaining this info, and nobody seems
to complain. We already have more or less the same information in our
release-notes, so let's just redirect users there instead.

Users interested in archeology can look through the git history for the
information that's missing.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4222
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10451>

3 years agoglsl: ignore interface precision qualifier on desktop GL
Tapani Pälli [Wed, 21 Apr 2021 06:54:38 +0000 (09:54 +0300)]
glsl: ignore interface precision qualifier on desktop GL

This fixes linking failures with new GL45 linkage tests, no
regressions spotted on existing tests.

v2: add spec reference (Samuel)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10373>

3 years agozink: fixup bad indentation
Erik Faye-Lund [Wed, 21 Apr 2021 14:08:41 +0000 (16:08 +0200)]
zink: fixup bad indentation

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10466>

3 years agozink: remove stray semicolons
Erik Faye-Lund [Wed, 21 Apr 2021 13:42:37 +0000 (15:42 +0200)]
zink: remove stray semicolons

Sometimes, there's a surplus of semicolons, and there's enough to go
around for everyone. So maybe you'll save a few away for later. But in
the big pictures, it seems better to get rid of these so we don't
overrun the semicolon quota.

Or whatever, I'm just cleaning up here.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10466>

3 years agozink: make zink_binding private
Erik Faye-Lund [Wed, 21 Apr 2021 13:43:49 +0000 (15:43 +0200)]
zink: make zink_binding private

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10466>

3 years agoradv: implement VK_EXT_provoking_vertex
Samuel Pitoiset [Wed, 21 Apr 2021 06:59:21 +0000 (08:59 +0200)]
radv: implement VK_EXT_provoking_vertex

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10449>

3 years agoaco: adjust NGG if provoking vertex mode is last
Samuel Pitoiset [Wed, 21 Apr 2021 07:40:24 +0000 (09:40 +0200)]
aco: adjust NGG if provoking vertex mode is last

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10449>

3 years agoradv/llvm: adjust NGG if provoking vertex mode is last
Samuel Pitoiset [Tue, 20 Apr 2021 15:36:39 +0000 (17:36 +0200)]
radv/llvm: adjust NGG if provoking vertex mode is last

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10449>

3 years agoradv: add the provoking vertex mode to the pipeline/shader keys
Samuel Pitoiset [Wed, 21 Apr 2021 06:57:26 +0000 (08:57 +0200)]
radv: add the provoking vertex mode to the pipeline/shader keys

It might change the NGG code on GFX10+.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10449>

3 years agopan/mdg: improve tex opcode decoding and add missing ops
Italo Nicola [Thu, 1 Apr 2021 12:05:38 +0000 (12:05 +0000)]
pan/mdg: improve tex opcode decoding and add missing ops

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

3 years agopan/mdg: properly encode/decode ldst instructions
Italo Nicola [Fri, 16 Apr 2021 10:23:48 +0000 (10:23 +0000)]
pan/mdg: properly encode/decode ldst instructions

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

3 years agopan/mdg: print names of non-work registers
Italo Nicola [Thu, 11 Mar 2021 16:31:18 +0000 (16:31 +0000)]
pan/mdg: print names of non-work registers

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

3 years agopan/mdg: improve ldst opcode names and add missing ops
Italo Nicola [Fri, 16 Apr 2021 10:28:48 +0000 (10:28 +0000)]
pan/mdg: improve ldst opcode names and add missing ops

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

3 years agopan/mdg: add helpers for load/store special read regs
Italo Nicola [Tue, 20 Apr 2021 19:40:27 +0000 (19:40 +0000)]
pan/mdg: add helpers for load/store special read regs

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

3 years agopan/mdg: misc cleanups
Italo Nicola [Thu, 4 Mar 2021 06:11:20 +0000 (06:11 +0000)]
pan/mdg: misc cleanups

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

3 years agopan/mdg: print special alu arg outmods
Italo Nicola [Thu, 11 Mar 2021 14:14:56 +0000 (14:14 +0000)]
pan/mdg: print special alu arg outmods

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

3 years agopan/mdg: remove register prefixes
Italo Nicola [Thu, 11 Mar 2021 13:50:42 +0000 (13:50 +0000)]
pan/mdg: remove register prefixes

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

3 years agopan/mdg: improve mask decoding
Italo Nicola [Fri, 5 Mar 2021 06:27:20 +0000 (06:27 +0000)]
pan/mdg: improve mask decoding

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

3 years agopan/mdg: fix midgard.h indentation
Italo Nicola [Wed, 3 Mar 2021 17:42:01 +0000 (17:42 +0000)]
pan/mdg: fix midgard.h indentation

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

3 years agopan/mdg: stop using size disambiguation suffixes
Italo Nicola [Thu, 4 Mar 2021 05:27:03 +0000 (05:27 +0000)]
pan/mdg: stop using size disambiguation suffixes

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

3 years agopan/mdg: print input data type for ALU opcodes
Italo Nicola [Tue, 2 Mar 2021 12:00:35 +0000 (12:00 +0000)]
pan/mdg: print input data type for ALU opcodes

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

3 years agopan/mdg: stop querying datatype by reading opcode name
Italo Nicola [Thu, 11 Mar 2021 02:41:04 +0000 (02:41 +0000)]
pan/mdg: stop querying datatype by reading opcode name

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

3 years agopan/mdg: fix/change ALU opcodes descriptions and add some missing ops
Italo Nicola [Thu, 11 Mar 2021 04:23:06 +0000 (04:23 +0000)]
pan/mdg: fix/change ALU opcodes descriptions and add some missing ops

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

3 years agopan/mdg: improve swizzle decoding
Italo Nicola [Tue, 2 Mar 2021 16:29:28 +0000 (16:29 +0000)]
pan/mdg: improve swizzle decoding

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

3 years agopan/mdg: improve input modifier printing
Italo Nicola [Tue, 2 Mar 2021 11:27:06 +0000 (11:27 +0000)]
pan/mdg: improve input modifier printing

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

3 years agopan/mdg: add midgard_src_expand_mode validation
Italo Nicola [Fri, 5 Mar 2021 12:19:59 +0000 (12:19 +0000)]
pan/mdg: add midgard_src_expand_mode validation

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

3 years agopan/mdg: encode/decode expand_mode properly
Italo Nicola [Fri, 19 Mar 2021 11:31:45 +0000 (11:31 +0000)]
pan/mdg: encode/decode expand_mode properly

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

3 years agopan/mdg: add proper expand_mode enum
Italo Nicola [Tue, 2 Mar 2021 11:58:47 +0000 (11:58 +0000)]
pan/mdg: add proper expand_mode enum

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

3 years agopan/mdg: refactor mir_pack_swizzle
Italo Nicola [Wed, 17 Mar 2021 20:59:32 +0000 (20:59 +0000)]
pan/mdg: refactor mir_pack_swizzle

This commit makes mir_pack_swizzle set rep_low, rep_high and half in a
more explicit way, helping in the transition to a unified expand_mode
enum in the following commit.

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

3 years agopan/mdg: improve outmod printing
Italo Nicola [Tue, 2 Mar 2021 10:53:35 +0000 (10:53 +0000)]
pan/mdg: improve outmod printing

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

3 years agopan/mdg: rename dest_override to shrink_mode
Italo Nicola [Tue, 2 Mar 2021 11:14:24 +0000 (11:14 +0000)]
pan/mdg: rename dest_override to shrink_mode

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

3 years agopan/mdg: clean up redundant/unused variables in disassemble.c
Italo Nicola [Thu, 4 Mar 2021 06:10:48 +0000 (06:10 +0000)]
pan/mdg: clean up redundant/unused variables in disassemble.c

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

3 years agoutil: add util_sign_extend
Italo Nicola [Mon, 19 Apr 2021 09:43:30 +0000 (09:43 +0000)]
util: add util_sign_extend

This code is taken from src/freedreno/isa/decode.c.
Since we need a similar function in panfrost, it's probably good to move
it to utils.

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9461>

3 years agoradv: fix various CMASK regressions on GFX9
Samuel Pitoiset [Wed, 21 Apr 2021 12:11:44 +0000 (14:11 +0200)]
radv: fix various CMASK regressions on GFX9

This fixes a bunch of MSAA related CTS regressions. This restores
previous behaviour on GFX9 but it should be fixed properly.

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/10374>

3 years agov3dv: implement wsi hook to decide if we can present directly on device
Iago Toral Quiroga [Mon, 26 Apr 2021 06:13:53 +0000 (08:13 +0200)]
v3dv: implement wsi hook to decide if we can present directly on device

This will prevent the driver to take the prime blit path for presentation
in scenarios where it can avoid it, which can substantially improve
performance, particularly at high resolutions.

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

3 years agovulkan/wsi: give drivers the option to decide if they need to blit
Iago Toral Quiroga [Wed, 4 Nov 2020 08:36:02 +0000 (09:36 +0100)]
vulkan/wsi: give drivers the option to decide if they need to blit

Until now, the WSI code would rely on VK_EXT_pci_bus_info to check if the
WSI device matched the DRM device used for display. If they matched, then
it would allow direct presentation of the swapchain images, otherwise
it would fallback to a blit path through a linear buffer.

Unfortunately, this only works for PCI devices, so embedded GPUs would
always fail the test and fallback to the prime blit path, incurring in a
performance penalty due to the extra blit.

With this change driver backends have the possibility to attach a
callback to the WSI device to take control over that decision and have
freedom to make that choice according to their own platform particularities.

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

3 years agoglx: fix compilation error when function name not found
Tapani Pälli [Mon, 26 Apr 2021 05:34:27 +0000 (08:34 +0300)]
glx: fix compilation error when function name not found

Patch workarounds the problem like commit eec904d29c0 did, this fixes
compilation on older distributions that still use old header.

Fixes: 01ba8a8d02b ("glx: Implement GLX_EXT_no_config_context")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10447>

3 years agoci: Use the caching proxy for Mesa artifacts
Corentin Noël [Fri, 16 Apr 2021 13:55:55 +0000 (15:55 +0200)]
ci: Use the caching proxy for Mesa artifacts

Allows to reduce the load and latency when getting artifacts.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10285>

3 years agomicrosoft/compiler: zero out unused WebGPU system values
Enrico Galli [Sat, 24 Apr 2021 01:27:44 +0000 (18:27 -0700)]
microsoft/compiler: zero out unused WebGPU system values

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

3 years agovenus: use VK_EXT_image_drm_format_modifier
Yiwei Zhang [Thu, 22 Apr 2021 21:01:44 +0000 (21:01 +0000)]
venus: use VK_EXT_image_drm_format_modifier

This commit contains a hack to retrieve extended buffer info, which will
be fixed by moving the logic into gralloc HAL implementation.

With this hack, the rendering result is correct.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10259>

3 years agovenus: implement VK_ANDROID_native_buffer v7
Yiwei Zhang [Mon, 12 Apr 2021 01:33:05 +0000 (01:33 +0000)]
venus: implement VK_ANDROID_native_buffer v7

1. Android native buffer import
2. vkGetSwapchainGrallocUsage2ANDROID
3. vkAcquireImageANDROID
4. vkQueueSignalReleaseImageANDROID
5. not advertise shared presentable image support

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10259>

3 years agovenus: update venus-protocol headers
Yiwei Zhang [Sun, 25 Apr 2021 19:33:37 +0000 (19:33 +0000)]
venus: update venus-protocol headers

1. hide git hash from most generated files
2. fix VkImportMemoryResourceInfoMESA definition

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10259>

3 years agovenus: set bo->size to 0 for classic resource
Yiwei Zhang [Tue, 27 Apr 2021 00:03:21 +0000 (00:03 +0000)]
venus: set bo->size to 0 for classic resource

bo->size is not used for classic resource since mapping is not allowed.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10259>

3 years agoamd: addrlib update for April
Marek Olšák [Sun, 25 Apr 2021 18:40:17 +0000 (14:40 -0400)]
amd: addrlib update for April

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10445>

3 years agoradeonsi: remove the separate DCC optimization for Stoney
Marek Olšák [Mon, 5 Apr 2021 14:06:27 +0000 (10:06 -0400)]
radeonsi: remove the separate DCC optimization for Stoney

This removes some complexity from the driver.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10343>

3 years agoradeonsi: make the gfx9 DCC MSAA clear shader depend on the number of samples
Marek Olšák [Tue, 20 Apr 2021 09:40:46 +0000 (05:40 -0400)]
radeonsi: make the gfx9 DCC MSAA clear shader depend on the number of samples

because different DCC equations are used.

Fixes: 3120113ee77 - radeonsi: implement DCC MSAA 4x/8x fast clear using DCC equations on gfx9

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10343>

3 years agoac/surface: document more meta equation dependencies
Marek Olšák [Tue, 20 Apr 2021 09:39:30 +0000 (05:39 -0400)]
ac/surface: document more meta equation dependencies

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10343>

3 years agozink: use non-atomic load/store ops if intrinsic is not actually coherent
Mike Blumenkrantz [Tue, 6 Apr 2021 18:03:20 +0000 (14:03 -0400)]
zink: use non-atomic load/store ops if intrinsic is not actually coherent

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10475>

3 years agonir/gl_lower_buffers: set access for ssbo load/store instrs
Mike Blumenkrantz [Tue, 6 Apr 2021 19:19:44 +0000 (15:19 -0400)]
nir/gl_lower_buffers: set access for ssbo load/store instrs

this is the last place where the information is available, so set the info before
it gets lost

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

3 years agoandroid: amd/common: add nir include path
Mauro Rossi [Sun, 25 Apr 2021 09:49:26 +0000 (11:49 +0200)]
android: amd/common: add nir include path

$(MESA_TOP)/src/compiler/nir include path is added
for both clarity and build errors preventive reasons

Cc: 21.0 21.1 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10443>

3 years agoandroid: gallium/radeonsi: add nir include path
Mauro Rossi [Sun, 25 Apr 2021 13:48:28 +0000 (15:48 +0200)]
android: gallium/radeonsi: add nir include path

Since generated nir headers are included, it makes sense to include nir path

Fixes the following building error:

FAILED: out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_pipe_radeonsi_intermediates/si_shader_nir.o
...
In file included from external/mesa/src/gallium/drivers/radeonsi/si_shader_nir.c:26:
external/mesa/src/amd/common/ac_nir.h:29:10: fatal error: 'nir.h' file not found
         ^~~~~~~
1 error generated.

Cc: 21.0 21.1 <mesa-stable@lists.freedesktop.org>
Fixes: 1c702a82397b ("ac: move ac_lower_indirect_derefs() outside of the LLVM dir")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10443>

3 years agozink: update docs
Mike Blumenkrantz [Mon, 26 Apr 2021 19:29:15 +0000 (15:29 -0400)]
zink: update docs

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

3 years agozink: ci updates
Mike Blumenkrantz [Mon, 26 Apr 2021 15:43:08 +0000 (11:43 -0400)]
zink: ci updates

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10458>

3 years agozink: implement VK_EXT_provoking_vertex
Mike Blumenkrantz [Tue, 20 Apr 2021 21:04:02 +0000 (17:04 -0400)]
zink: implement VK_EXT_provoking_vertex

this only needs to be set if the mode is LAST, otherwise the normal
pipeline state can be used and this one can be omitted

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10458>

3 years agozink: hook up VK_EXT_provoking_vertex
Mike Blumenkrantz [Tue, 20 Apr 2021 20:32:50 +0000 (16:32 -0400)]
zink: hook up VK_EXT_provoking_vertex

ideally we would want to require transformFeedbackPreservesTriangleFanProvokingVertex,
but as there is no fallback path, any amount of provoking vertex support
is still better than none, so tests related to this will continue to fail
for that hardware (intel)

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10458>

3 years agolavapipe: implement VK_EXT_provoking_vertex
Mike Blumenkrantz [Tue, 20 Apr 2021 21:19:05 +0000 (17:19 -0400)]
lavapipe: implement VK_EXT_provoking_vertex

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10458>

3 years agovulkan/x11: Mark present complete using serial instead of MSC
Keith Packard [Sat, 24 Apr 2021 22:35:34 +0000 (15:35 -0700)]
vulkan/x11: Mark present complete using serial instead of MSC

Present operations do not necessarily complete after the requested
time; if the CRTC has been blanked, they will complete
immediately. This means we cannot use the MSC value to tell when a
present has finished.

Instead of using MSC, track whether each present is complete by serial
number, which is the low 32-bits of the SBC value. This value is
provided in the present_pixmap request and returned in the present
complete notify event.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
3 years agor600: update pipe_draw_info::restart_index only when primitive_restart is enabled
Gert Wollny [Sun, 25 Apr 2021 10:22:20 +0000 (12:22 +0200)]
r600: update pipe_draw_info::restart_index only when primitive_restart is enabled

This avoids the use of uninitialized memory:

Conditional jump or move depends on uninitialised value(s)
   at 0x5EDBF87: r600_draw_vbo (r600_state_common.c:2232)
   by 0x5DEFA00: u_vbuf_draw_vbo (u_vbuf.c:1329)
   by 0x5D990EF: cso_multi_draw (cso_context.c:1445)
   by 0x59B7EF4: _mesa_draw_arrays (draw.c:1346)

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10442>

3 years agovirgl: use pipe_draw_info::restart_index only when primitive_restart is enabled
Gert Wollny [Fri, 23 Apr 2021 10:14:05 +0000 (12:14 +0200)]
virgl: use pipe_draw_info::restart_index only when primitive_restart is enabled

Closes #5651

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10442>

3 years agofreedreno: Don't lower indirects in GLSL IR
Connor Abbott [Thu, 22 Oct 2020 13:26:21 +0000 (15:26 +0200)]
freedreno: Don't lower indirects in GLSL IR

nir_lower_io_to_temporaries should generate better code.

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

3 years agoir3, tu: Cleanup indirect i/o lowering
Connor Abbott [Thu, 22 Oct 2020 12:58:01 +0000 (14:58 +0200)]
ir3, tu: Cleanup indirect i/o lowering

Do all the necessary lowering in one place, during finalization, and
stop uselessly calling nir_lower_indirect_derefs in turnip. Splitting
i/o to elements should no longer be necessary since we use the i/o
semantics instead of variables now.

This has the side effect that we no longer generate enormous if-ladders
for tess/GS shaders with turnip.

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

3 years agonir/lower_clip_disable: Fix store writemask
Connor Abbott [Thu, 22 Apr 2021 09:58:35 +0000 (11:58 +0200)]
nir/lower_clip_disable: Fix store writemask

We're storing into the array element, not the whole variable.

Fixes: fb2fe80 ("nir: add lowering pass for clip plane enabling")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7274>

3 years agoir3: Prevent oob writes to inputs/outputs array
Connor Abbott [Thu, 22 Apr 2021 13:52:05 +0000 (15:52 +0200)]
ir3: Prevent oob writes to inputs/outputs array

Don't setup inputs and outputs if we aren't using
load_input/store_output intrinsics. While it's mostly harmless, there
may be more outputs than expected which would lead to an oob write of
the outputs array when setting the register id to INVALID_REG.

Also be more paranoid with asserts to catch this.

Fixes: a6291b1 ("freedreno/ir3: rework setup_{input,output} to make struct varyings work")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7274>

3 years agozink: enable required instance ext
Erik Faye-Lund [Mon, 26 Apr 2021 14:33:08 +0000 (16:33 +0200)]
zink: enable required instance ext

VK_KHR_swapchain requires VK_KHR_surface in the instance to be enabled.

This fixes a validation-error.

Fixes: bbeee415eeb ("zink: Learn about VK_KHR_swapchain")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10461>

3 years agodocs: someome -> someone
Erik Faye-Lund [Mon, 26 Apr 2021 15:43:04 +0000 (17:43 +0200)]
docs: someome -> someone

A typo in the section about choice of language is a bit funny, but
let's fix it anyway ;)

Thanks to Ilia Mirkin for pointing this out.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10464>

3 years agoanv: Implement VK_EXT_provoking_vertex
Jason Ekstrand [Fri, 10 Jul 2020 19:09:48 +0000 (14:09 -0500)]
anv: Implement VK_EXT_provoking_vertex

Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10460>

3 years agovulkan: Update the XML and headers to 1.2.177
Jason Ekstrand [Mon, 26 Apr 2021 14:02:07 +0000 (09:02 -0500)]
vulkan: Update the XML and headers to 1.2.177

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10460>

3 years agoanv: Use the same re-order mode for streamout as for GS
Jason Ekstrand [Fri, 10 Jul 2020 18:26:16 +0000 (13:26 -0500)]
anv: Use the same re-order mode for streamout as for GS

This makes the vertex order of TRISTRIP and TRISTRIP_ADJ primitves
consistent between XFB output and GS input.  Technically, the Vulkan
spec allows us to XFB out in whatever order we want but being consistent
with GS inputs is probably nicer to apps.

Fixes: 36ee2fd61c8 "anv: Implement the basic form of VK_EXT_transform_feedback"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10460>

3 years agodocs: add missing zink-requirement
Erik Faye-Lund [Mon, 26 Apr 2021 12:11:56 +0000 (14:11 +0200)]
docs: add missing zink-requirement

We need this feature in order to enable OpenGL 4.2 on Zink.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10456>

3 years agozink: correct image cap checks
Erik Faye-Lund [Wed, 21 Apr 2021 13:37:59 +0000 (15:37 +0200)]
zink: correct image cap checks

PIPE_CAP_IMAGE_LOAD_FORMATTED doesn't depend on
shaderStorageImageExtendedFormats or
shaderStorageImageWriteWithoutFormat.

PIPE_SHADER_CAP_MAX_SHADER_IMAGES enables
GL_EXT_shader_image_load_store, which *does* require
shaderStorageImageExtendedFormats. Having
shaderStorageImageWriteWithoutFormat and
shaderStorageImageReadWithoutFormat isn't enough to support this.

It *might* be possible to lower extended formats to format-less
reads or writes, but we don't currently do that, so we should
just correct the test for now.

Fixes: 3f9a6d333b3 ("zink: export shader image caps using features")
Fixes: 5282210c0b9 ("zink: check correct caps for PIPE_CAP_IMAGE_LOAD_FORMATTED")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10456>

3 years agomesa: fix _mesa_add_state_reference() declaration mismatch
Timothy Arceri [Mon, 26 Apr 2021 06:39:06 +0000 (16:39 +1000)]
mesa: fix _mesa_add_state_reference() declaration mismatch

Fixed gcc warnings.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10446>

3 years agomesa: fix _mesa_add{_typed}_unnamed_constant() declarations
Timothy Arceri [Mon, 26 Apr 2021 06:37:01 +0000 (16:37 +1000)]
mesa: fix _mesa_add{_typed}_unnamed_constant() declarations

The function may be passed in a single float or a vec4. Fixes
gcc warnings.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10446>

3 years agomesa: make _mesa_find_temp_intervals() a static function
Timothy Arceri [Mon, 26 Apr 2021 06:35:05 +0000 (16:35 +1000)]
mesa: make _mesa_find_temp_intervals() a static function

It is no longer used externally.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10446>

3 years agodocs: fix quoting around a few limits
Erik Faye-Lund [Mon, 26 Apr 2021 12:11:01 +0000 (14:11 +0200)]
docs: fix quoting around a few limits

These two were quoted differently than the other limits in this
document. Let's fix that to be consistent.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10455>

3 years agodocs: fixup link to extension
Erik Faye-Lund [Mon, 26 Apr 2021 12:09:49 +0000 (14:09 +0200)]
docs: fixup link to extension

I accidentally missed the actual link-definition here, so let's add
that.

Fixes: ff007afce25 ("zink: document requirement of VK_EXT_custom_border_color")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10455>

3 years agozink: remove memory-model leftovers
Erik Faye-Lund [Wed, 21 Apr 2021 14:08:41 +0000 (16:08 +0200)]
zink: remove memory-model leftovers

We also need to stop emitting these details, otherwise we need to answer
to the validator!

Fixes: 95d9d811c91 ("zink: do not require vulkan memory model for shader-images")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10377>

3 years agoradv: disable VK_FORMAT_R64_SFLOAT
Rhys Perry [Mon, 26 Apr 2021 10:45:32 +0000 (11:45 +0100)]
radv: disable VK_FORMAT_R64_SFLOAT

This format was enabled by accident, isn't useful, and doesn't work.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4701
Cc: 21.1 <mesa-stable>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10450>

3 years agozink: only emit extended-formats cap if needed
Erik Faye-Lund [Wed, 21 Apr 2021 09:53:40 +0000 (11:53 +0200)]
zink: only emit extended-formats cap if needed

We do not require the extended formats feature to enable shader-images,
so we can end up accidentally enabling the cap even when we don't need
to, which can lead to validation issues.

This also prepares us for the SPV_EXT_shader_image_int64 extension, if
we ever want to support that.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10370>

3 years agodocs: use code-block for ini
Erik Faye-Lund [Thu, 15 Apr 2021 13:47:08 +0000 (15:47 +0200)]
docs: use code-block for ini

These code-blocks are close enough to INI-files to parse that way, so
let's use that for some syntax-coloring :)

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

3 years agodocs: use code-block for c
Erik Faye-Lund [Thu, 15 Apr 2021 14:08:52 +0000 (16:08 +0200)]
docs: use code-block for c

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

3 years agodocs: use code-block for glsl
Erik Faye-Lund [Thu, 15 Apr 2021 12:51:15 +0000 (14:51 +0200)]
docs: use code-block for glsl

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