Commit graph

138371 commits

Author SHA1 Message Date
Michel Zou
7257be4d70 lavapipe: fix unused variable warning
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
(cherry picked from commit 45f32ce239)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10379>
2021-05-10 21:44:58 +02:00
Michel Zou
0fff844cf9 gallium: fix uninitialized variable warning
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
(cherry picked from commit 54deb1010f)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10379>
2021-05-10 21:43:56 +02:00
Eric Engestrom
19ed21fba9 VERSION: bump for 21.1.0 final 2021-05-05 19:05:43 +02:00
Eric Engestrom
df37cbfab6 docs: add release notes for 21.1.0 2021-05-05 19:05:16 +02:00
Marek Olšák
3707ffe7bc util: fix (re-enable) L3 cache pinning
cores_per_L3 was uninitialized, so it was always disabled.
Remove the variable and do it differently.

Fixes: 11d2db17c5 - util: rework AMD cpu L3 cache affinity code.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10526>
(cherry picked from commit 48d2ac4e88)
2021-05-04 21:09:08 +02:00
Jason Ekstrand
8f8ce535ef intel/nir: Set lower txs with non-zero LOD
There's a recently discovered HW bug affecting hardware at least as far
back as Skylake where, if the LOD is out-of-bounds for any SIMD lane,
then garbage may be returned in all SIMD lanes.  The easy solution is to
set lower_txs_lod so that we always have a constant LOD of 0 which we
know a priori is always in-bounds.  Fortunately, not many shaders
actually use textureSize() with LOD.

Shader-db results on Ice Lake:

    total instructions in shared programs: 19948537 -> 19948564 (<.01%)
    instructions in affected programs: 3859 -> 3886 (0.70%)
    helped: 0
    HURT: 7

One of the shaders is in Civilization: Beyond Earth, and the rest are
all in Civilization VI.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10538>
(cherry picked from commit 05a37e2422)
2021-05-04 21:09:08 +02:00
Connor Abbott
31836d7f11 ir3/postsched: Fix dependencies for a0.x/p0.x
a0.x is written as a half-reg, but just interpreting it as "hr61.x" will
result in it overlapping with r30.z in merged mode, which is not what
the hardware does at all. This introduced a spurious dependency on
a write to r30.z which resulted in an assert tripping. Just pretend it's
a full reg instead.

This fixes
spec@arb_tessellation_shader@execution@variable-indexing@vs-output-array-vec3-index-wr-before-tcs
with the new RA.

Fixes: 0f78c32 ("freedreno/ir3: post-RA sched pass")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10591>
(cherry picked from commit e597f8b122)
2021-05-04 21:09:08 +02:00
Eric Engestrom
b0f5108c84 .pick_status.json: Update to 1d418e79b8 2021-05-04 21:09:08 +02:00
Tapani Pälli
010f9027f2 glx: revert "Downgrade sRGB-ful fbconfigs"
This reverts f0861c80 which causes regression on multiple apps that
require a sRGB capable visual.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4690
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/10498>
(cherry picked from commit fc40854937)
2021-05-03 23:55:02 +02:00
Rhys Perry
4255942654 radv,ac/llvm: use a dword alignment for descriptor loads
RADV doesn't try to keep anything 16 or 32 byte aligned. RADV also seems
to create better code for some reason.

fossil-db (Sienna Cichlid):
Totals from 37693 (30.93% of 121873) affected shaders:
SGPRs: 1762792 -> 1785504 (+1.29%); split: -1.01%, +2.30%
VGPRs: 1761032 -> 1760808 (-0.01%); split: -0.09%, +0.07%
SpillSGPRs: 55793 -> 56011 (+0.39%); split: -3.49%, +3.88%
SpillVGPRs: 16766 -> 16387 (-2.26%); split: -3.99%, +1.73%
CodeSize: 82902228 -> 82781608 (-0.15%); split: -0.29%, +0.14%
Scratch: 3024896 -> 2987008 (-1.25%); split: -3.08%, +1.83%
MaxWaves: 919794 -> 920302 (+0.06%); split: +0.09%, -0.03%

shader-db (Sienna Cichlid):
Totals from affected shaders:
SGPRS: 3976 -> 3976 (0.00 %)
VGPRS: 3392 -> 3392 (0.00 %)
Spilled SGPRs: 0 -> 0 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 178792 -> 178980 (0.11 %) bytes
Max Waves: 1389 -> 1389 (0.00 %)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4715
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10543>
(cherry picked from commit d918a59d15)
2021-05-03 23:55:02 +02:00
Connor Abbott
ccef1f34ae tu: Fix SP_GS_PRIM_SIZE for large sizes
Based on the previous commit.

Fixes: 012773b ("turnip: Configure VPC for geometry shaders")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10551>
(cherry picked from commit 3d5c1c4989)
2021-05-03 23:55:02 +02:00
Bas Nieuwenhuizen
42b5f56583 radv: Only require DRM 3.23.
Turns out kernel 4.15 only goes up to amdgpu 3.23 . 3.35 is way
too new. Too new for e.g. ChromeOS.

Fixes: 1df4f11eb5 ("radv: require DRM 3.35+")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4728
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10576>
(cherry picked from commit edc600d025)
2021-05-03 21:52:11 +02:00
Samuel Pitoiset
5f48cd7041 radv/winsys: fix executing huge secondary command buffers on GFX6
If the secondary has a list of CS buffers, it should be copied to
the primary.

Fixes dEQP-VK.api.command_buffers.record_many_draws_secondary_2.

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/10547>
(cherry picked from commit 12a00da800)
2021-05-03 21:52:10 +02:00
Tony Wasserka
37c88be5ea aco/spill: Fix improper handling of exec phis
The "continue" was placed in the wrong loop, leading to exec being
counted as a spilled register when it wasn't.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: a56ddca4e8 ('aco: make all exec accesses non-temporaries')
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4533
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10486>
(cherry picked from commit 741e84f554)
2021-05-03 21:52:09 +02:00
Samuel Pitoiset
7c2ee1d626 radv: check if DCC is enabled when resolving different levels
Fixes an assertion triggered by new CTS:
dEQP-VK.renderpass2.suballocation.multisample_resolve.*_resolve_level_*

Looks like the driver should pass a range to radv_layout_dcc_compressed().

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/10502>
(cherry picked from commit 80f55e5163)
2021-05-03 21:52:08 +02:00
Timothy Arceri
be5cc7cdd9 util: disable glthread in CSGO
Users have reported a rise in trust factor problems [1] since using
mesa builds containing 6f2017205e. Until we confirm its not a problem
disable glthread.

[1] https://github.com/ValveSoftware/csgo-osx-linux/issues/2630

Fixes: 6f2017205e ("dri: enable glthread + radeonsi workaround for CS:GO")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4710

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10540>
(cherry picked from commit 40c93e2f45)
2021-05-03 21:52:07 +02:00
Eric Engestrom
d6c5525526 .pick_status.json: Update to f5d6a1b916 2021-05-03 21:52:02 +02:00
Bastian Beranek
c269aa387f glx: Assign unique serial number to GLXBadFBConfig error
Since commit f39fd3dce7 a new GLX error is issued in case context creation
fails. This broke wine on certain hardware: While wine installs an error handler
to ignore this kind of error, it does not function because it expects the
dpy->request serial number of the error to be incremented since the installation
of the handler.

Workaround this by artificially increasing the request number. This also
guarantees a unique serial number for the error.

Fixes: f39fd3dce7
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3969
Signed-off-by: Bastian Beranek <bastian.beischer@rwth-aachen.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10565>
(cherry picked from commit 960c86d678)
2021-05-02 21:00:34 +02:00
Icecream95
3f78ccb7ba panfrost: Fix viewport scissor for preload draws
The max values are inclusive, so add 1 before aligning. This means
that a max of 32 will be aligned up to 64 then be decremented to 63.

Add a comment to the pan_fb_info struct to document maxx and maxy as
inclusive.

Fixes: 8ba2f9f698 ("panfrost: Create a blitter library to replace the existing preload helpers")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10542>
(cherry picked from commit ab8e531cf0)
2021-05-02 21:00:33 +02:00
Eric Engestrom
f53f73b8df .pick_status.json: Update to f3d2fade82 2021-05-02 21:00:31 +02:00
Jason Ekstrand
dd20621ac3 intel/isl: Fix isl_color_value_unpack to match the prototype
The prototype uses a pointer and the actual function definition had an
array.  For some reason, GCC never complained about this until GCC 11.
This fixes a compile warning when building with GCC 11.

Fixes: 09ced65420 "intel/isl: Add format conversion code"
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10537>
(cherry picked from commit b80720acb1)
2021-04-30 10:23:41 -07:00
Icecream95
4c0b3b5d9e pan/mdg: Fix calculation of available work registers
Make the rmu variable signed; otherwise the MAX2 has no effect and
work_count can end up being larger than 16.

Fixes INSTR_OPERAND_FAULTs in SuperTuxKart.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4707
Fixes: c6ed8bf77c ("panfrost: Fix uniform_count on Midgard")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10507>
(cherry picked from commit f85b7aa5d4)
2021-04-30 10:23:40 -07:00
Jordan Justen
baaf7cfb82 intel/compiler: Fix INTEL_DEBUG=hex
With the missing else, this prints the compacted hex followed by hex
for an uncompacted version of the compacted instruction. It also
doesn't print hex for instructions that are not compacted.

Fixes: bc4a127d6e ("intel/disasm: Label support in shader disassembly for UIP/JIP")
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4245
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10535>
(cherry picked from commit 3f04383521)
2021-04-30 10:23:40 -07:00
Jose Maria Casanova Crespo
f5ce440e1b v3d: DRM_FORMAT_MOD_BROADCOM_SAND128 only available for NV12 format.
We were exposing as available DRM_FORMAT_MOD_BROADCOM_SAND128 for
any format.

Fixes: 95c4f0f910 "v3d: Enables DRM_FORMAT_MOD_BROADCOM_SAND128 support"
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524>
(cherry picked from commit 5a503727f2)
2021-04-30 10:23:39 -07:00
Jose Maria Casanova Crespo
563c41a44a v3d: YUV formats at query_dmabuf_modifiers are external_only
This fixes Issue https://github.com/Igalia/meta-webkit/issues/185
"Issue Raspberry 4-64 + Mesa VC4 driver + Gstreamer = red Label on video"

Fixes: 95c4f0f910 "v3d: Enables DRM_FORMAT_MOD_BROADCOM_SAND128 support"
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524>
(cherry picked from commit 9094ad7c6a)
2021-04-30 10:23:39 -07:00
Jose Maria Casanova Crespo
e633a4a3a8 v3d: YUV formats at is_dmabuf_modifier_supported are external_only
This fixes Issue https://github.com/Igalia/meta-webkit/issues/185
"Issue Raspberry 4-64 + Mesa VC4 driver + Gstreamer = red Label on video"

Fixes: 6ee10ab3de "gallium: Add pipe_screen::is_dmabuf_modifier_supported"
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10524>
(cherry picked from commit 3d7b378980)
2021-04-30 10:23:38 -07:00
Dylan Baker
4496db61e9 .pick_status.json: Update to b80720acb1 2021-04-30 10:23:37 -07:00
Juan A. Suarez Romero
df0202feaf util/hash_table: do not leak u64 struct key
For non 64bit devices the key stored in hash_table_u64 is wrapped in
hash_key_u64 structure, which is never free.

This commit fixes this issue by just removing the user-defined
`delete_function` parameter in hash_table_u64_{destroy,clear} (which
nobody is using) and using instead a delete function to free this
structure.

Fixes: 608257cf82 ("i965: Fix INTEL_DEBUG=bat")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10480>
(cherry picked from commit e532a47f76)

 Conflicts:
	src/microsoft/compiler/dxil_nir.c
2021-04-29 10:19:26 -07:00
Rhys Perry
2c8eba7188 radv: fix use-after-free upon GS copy shader cache hits
If radv_pipeline_cache_insert_shaders() finds a GS copy shader in the
cache, it will free the variant in gs_variants and replace it with the one
in the cache.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10433>
(cherry picked from commit d6894b643b)
2021-04-29 10:15:53 -07:00
Rhys Perry
5ddac7c5e7 vulkan: fix use-after-free in vk_common_DestroyDebugReportCallbackEXT
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes: bd1705a480 ("vulkan: Make vk_debug_report_callback derive from vk_object_base")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10433>
(cherry picked from commit 32ebbd8c23)
2021-04-29 10:15:52 -07:00
Samuel Pitoiset
a3237b0dd3 radv: fix computation of the number of user SGPRS for NGG GS state
The NGG GS state uses one user SGPR.

Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10485>
(cherry picked from commit c425b67c76)
2021-04-29 10:15:51 -07:00
Pierre-Eric Pelloux-Prayer
d0fa20ba17 driconf: add workaround for Golf With Friends
The game has a shader that uses texture functions that rely on implicit
derivatives after a discard.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4547

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10278>
(cherry picked from commit 0477fbc655)
2021-04-29 10:15:51 -07:00
Dylan Baker
5440acb8fc .pick_status.json: Update to ede0b3c643 2021-04-29 10:15:26 -07:00
Lionel Landwerlin
0d5e73d205 i965/bufmgr: fix invalid assertion
The idea behind this assert is that if a buffer is in
bufmgr->handle_table it's because it has been shared from i965 to the
outside. This is when we add the drm FD associated to this BO to
bo->exports.

But we also import buffer from the outside into i965 and those buffers
don't have an associated drm FD added to bo->exports.

If you import the same buffer more than once, you'll run into this
assert.

v2: Also drop assert from brw_bo_gem_create_from_name() (Ian)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 57e4d0aa1c ("i965: fix export of GEM handles")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10386>
(cherry picked from commit 03e97e94e7)
2021-04-28 09:36:09 -07:00
Lionel Landwerlin
6b1197e728 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>
(cherry picked from commit 6b61fbca8b)
2021-04-28 09:36:09 -07:00
Dylan Baker
d501b039cc .pick_status.json: Update to cbd6e5f2e5 2021-04-28 09:36:07 -07:00
Dylan Baker
5eb41d49a6 VERSION: bump for 21.1.0-rc3 2021-04-28 09:12:23 -07:00
Erik Faye-Lund
fb4d89a85e 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: 341332b23a ("zink: correct image cap checks")
Fixes: ecac7f3da1 ("docs: add missing zink-requirement")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10463>
(cherry picked from commit 4ec8533f69)

Conflicts:
	docs/drivers/zink.rst
2021-04-27 09:40:36 -07:00
Samuel Pitoiset
dff02e24c4 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>
(cherry picked from commit a854a9fa62)
2021-04-27 09:39:37 -07:00
Marek Olšák
7ba683d490 radeonsi: make the gfx9 DCC MSAA clear shader depend on the number of samples
because different DCC equations are used.

Fixes: 3120113ee7 - 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>
(cherry picked from commit 1f8fa96412)
2021-04-27 09:39:37 -07:00
Mauro Rossi
c575dae37a 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>
(cherry picked from commit a02328395d)
2021-04-27 09:39:36 -07:00
Mauro Rossi
734c940bb4 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: 1c702a8239 ("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>
(cherry picked from commit e213bfd330)
2021-04-27 09:39:36 -07:00
Connor Abbott
a840d01c57 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>
(cherry picked from commit 77fcb01f7f)
2021-04-27 09:39:35 -07:00
Connor Abbott
0a1b6f7cc4 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>
(cherry picked from commit decfea2f4e)
2021-04-27 09:39:34 -07:00
Dylan Baker
269e8b5ff5 .pick_status.json: Update to ee9b744cb5 2021-04-27 09:39:32 -07:00
Jason Ekstrand
891eeea222 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: 36ee2fd61c "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>
(cherry picked from commit 22b8bcda2c)
2021-04-26 20:32:29 +02:00
Erik Faye-Lund
e8d30fa9ec 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: 3f9a6d333b ("zink: export shader image caps using features")
Fixes: 5282210c0b ("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>
(cherry picked from commit 341332b23a)
2021-04-26 20:32:28 +02:00
Erik Faye-Lund
5edae4604e zink: do not require vulkan memory model for shader-images
The claim that we require vulkan memory model's MakeAvailable and
MakeVisible semantics for image writes isn't accurate. This would be
required *if* we were already using the Vulkan memory model.

But we're using the GLSL450 memory model in those cases, which has no
such requirements.

This means that any problems on RADV due to the lack of these semantics
are RADV bugs, and should be fixed in RADV instead.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10345>
(cherry picked from commit 95d9d811c9)
2021-04-26 20:32:25 +02:00
Rhys Perry
5dfe95bb25 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>
(cherry picked from commit 816ec3ecb4)
2021-04-26 19:05:43 +02:00
Timothy Arceri
00f2f212b1 mesa: fix incomplete GL_NV_half_float implementation
All of the VertexAttrib* functions were missing.

Fixes: ef66e02a40 ("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>
(cherry picked from commit a02a0df2a2)
2021-04-26 19:05:42 +02:00