platform/upstream/mesa.git
2 years agoinclude: drop c99_math.h
Erik Faye-Lund [Wed, 1 Jun 2022 12:46:46 +0000 (14:46 +0200)]
include: drop c99_math.h

Since we now depend on C11, we know that we have support for the C99
math functionality. So let's drop the c99_math.h compatibility wrapper,
and just include <math.h> directly.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agovulkan/device_select: remove needless c99_compat.h includes
Erik Faye-Lund [Wed, 1 Jun 2022 12:22:19 +0000 (14:22 +0200)]
vulkan/device_select: remove needless c99_compat.h includes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agointel/isl: remove needless c99_compat.h includes
Erik Faye-Lund [Wed, 1 Jun 2022 12:21:51 +0000 (14:21 +0200)]
intel/isl: remove needless c99_compat.h includes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agoinclude: remove needless c99_compat.h includes
Erik Faye-Lund [Wed, 1 Jun 2022 12:21:31 +0000 (14:21 +0200)]
include: remove needless c99_compat.h includes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agogallium: remove needless c99_compat.h includes
Erik Faye-Lund [Wed, 1 Jun 2022 12:20:58 +0000 (14:20 +0200)]
gallium: remove needless c99_compat.h includes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agomapi: remove needless c99_compat.h includes
Erik Faye-Lund [Wed, 1 Jun 2022 12:20:27 +0000 (14:20 +0200)]
mapi: remove needless c99_compat.h includes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agogallium/util: remove needless c99_compat.h includes
Erik Faye-Lund [Wed, 1 Jun 2022 12:19:59 +0000 (14:19 +0200)]
gallium/util: remove needless c99_compat.h includes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agoegl: remove needless c99_compat.h includes
Erik Faye-Lund [Wed, 1 Jun 2022 12:19:02 +0000 (14:19 +0200)]
egl: remove needless c99_compat.h includes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agoutil: remove needless c99_compat.h includes
Erik Faye-Lund [Wed, 1 Jun 2022 12:17:43 +0000 (14:17 +0200)]
util: remove needless c99_compat.h includes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agoutil: add missing c99_compat.h includes
Erik Faye-Lund [Wed, 1 Jun 2022 12:04:53 +0000 (14:04 +0200)]
util: add missing c99_compat.h includes

These headers use the "restrict" keyword, so they need to include
c99_compat.h in case they get included from C++.

Right now, we include c99_compat.h in many needless places, which saves
us. But we're about to stop doing that.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agoc99_compat.h: remove inline and __func__ shims
Erik Faye-Lund [Wed, 1 Jun 2022 11:33:48 +0000 (13:33 +0200)]
c99_compat.h: remove inline and __func__ shims

We're requiring C11 now, and both "inline" and __func__ is supported
in C++ code as well. So no need for these compatibility-shims anymore.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agomeson: modernize win_flex stdint.h logic
Erik Faye-Lund [Wed, 1 Jun 2022 11:14:27 +0000 (13:14 +0200)]
meson: modernize win_flex stdint.h logic

Since this logic was written, we've moved to require C11, so this can
now be simplified. First of all, we no longer need to set
__STDC_VERSION__ for C code at all, because the issue that MSVC doesn't
set __STDC_VERSION__ for C99 is longer a concern. Second, we can make
the C++ check unconditional.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812>

2 years agointel: remove stale makefile
Erik Faye-Lund [Tue, 31 May 2022 06:54:30 +0000 (08:54 +0200)]
intel: remove stale makefile

When this landed, the Autotools build system was already removed. Why
was this file added in the first place? Probably a rebase-mistake...

Fixes: 134e750e16b ("i965: extract performance query metrics")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16790>

2 years agofreedreno: remove stale makefile
Erik Faye-Lund [Tue, 31 May 2022 05:27:42 +0000 (07:27 +0200)]
freedreno: remove stale makefile

We don't use this makefile, so there's no point in keeping it in the
repo. It's also a generated one, so it contains a lot of... mess.

Fixes: 536f43cb96b ("freedreno: slurp in afuc")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16790>

2 years agoradeonsi: port amdgcn_glslc build to meson
Erik Faye-Lund [Tue, 31 May 2022 07:03:19 +0000 (09:03 +0200)]
radeonsi: port amdgcn_glslc build to meson

Seems nice to reduce the number of old-fashioned build systems we have
in-tree.

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

2 years agoradv/ci: try to guess failure expectations for Fiji/Raven/Navi14/Navi22
Martin Roukala (né Peres) [Thu, 2 Jun 2022 05:42:29 +0000 (08:42 +0300)]
radv/ci: try to guess failure expectations for Fiji/Raven/Navi14/Navi22

The guesses are based on other gpus from the same gfx version. We will
need actual runs on the GPUs to confirm this.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16810>

2 years agoradv/ci: remove an expected fail from all families
Martin Roukala (né Peres) [Thu, 2 Jun 2022 05:25:13 +0000 (08:25 +0300)]
radv/ci: remove an expected fail from all families

dEQP-VK.glsl.builtin.precision_double.determinant.compute.mat3 was
failing because of a CTS bug, which got fixed in the latest update for
all our CI machines.

This commit assumes this got fixed for all families, even the ones we
did not try to run on.

Fixes: 836ce97f5e (ci: bump VK-GL-CTS to 1.3.2.0)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16810>

2 years agoradv/ci: update the vkcts expectations for the CI machines
Martin Roukala (né Peres) [Wed, 1 Jun 2022 11:37:24 +0000 (14:37 +0300)]
radv/ci: update the vkcts expectations for the CI machines

Fixes: 836ce97f5e (ci: bump VK-GL-CTS to 1.3.2.0)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16810>

2 years agoradv/ci: bump the timeout of vangogh/renoir
Martin Roukala (né Peres) [Wed, 1 Jun 2022 11:43:03 +0000 (14:43 +0300)]
radv/ci: bump the timeout of vangogh/renoir

The execution time of vkcts has drastically changed with the latest
update, especially for APUs. This commit bumps the timeout to give
them a chance to finish.

Fixes: 836ce97f5e (ci: bump VK-GL-CTS to 1.3.2.0)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16810>

2 years agoradv: fix lowering GS intrinsics if NGG is disabled per pipeline
Samuel Pitoiset [Tue, 12 Apr 2022 10:38:24 +0000 (12:38 +0200)]
radv: fix lowering GS intrinsics if NGG is disabled per pipeline

If NGG is disabled per pipeline for extreme (or suboptimal) geometry
or with transform feedback, make sure to not lower GS intrinsics that
are only needed for NGG GS. This means we have to lower GS intrinsics
later in the compilation process to effectively know if the pipeline
uses NGG.

fossils-db (Navi21):
Totals from 8 (0.01% of 134913) affected shaders:
VGPRs: 512 -> 520 (+1.56%)
CodeSize: 58180 -> 65080 (+11.86%); split: -0.04%, +11.90%
MaxWaves: 128 -> 126 (-1.56%)
Instrs: 10525 -> 11779 (+11.91%); split: -0.05%, +11.96%
Latency: 62941 -> 49428 (-21.47%); split: -21.59%, +0.12%
InvThroughput: 16121 -> 12950 (-19.67%); split: -19.96%, +0.29%
VClause: 122 -> 123 (+0.82%); split: -0.82%, +1.64%
SClause: 130 -> 143 (+10.00%)
Copies: 566 -> 596 (+5.30%); split: -0.35%, +5.65%
Branches: 200 -> 208 (+4.00%)
PreSGPRs: 424 -> 422 (-0.47%)
PreVGPRs: 430 -> 424 (-1.40%); split: -1.63%, +0.23%

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

2 years agodocs: update calendar and link releases notes for 22.0.5
Dylan Baker [Wed, 1 Jun 2022 23:55:26 +0000 (16:55 -0700)]
docs: update calendar and link releases notes for 22.0.5

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

2 years agodocs: update sha256 for 22.0.5
Dylan Baker [Wed, 1 Jun 2022 23:54:36 +0000 (16:54 -0700)]
docs: update sha256 for 22.0.5

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

2 years agodocs: add release notes for 22.0.5
Dylan Baker [Wed, 1 Jun 2022 21:52:05 +0000 (14:52 -0700)]
docs: add release notes for 22.0.5

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

2 years agodocs: update calendar and link releases notes for 22.1.1
Dylan Baker [Wed, 1 Jun 2022 23:55:17 +0000 (16:55 -0700)]
docs: update calendar and link releases notes for 22.1.1

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

2 years agodocs: Add sh256sums for 22.1.1
Dylan Baker [Wed, 1 Jun 2022 21:48:35 +0000 (14:48 -0700)]
docs: Add sh256sums for 22.1.1

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

2 years agodocs: add release notes for 22.1.1
Dylan Baker [Wed, 1 Jun 2022 21:09:10 +0000 (14:09 -0700)]
docs: add release notes for 22.1.1

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

2 years agowgl, d3d12: Handle front buffer writes for double-buffered MSAA surfaces backed by...
Jesse Natalie [Thu, 28 Apr 2022 20:53:58 +0000 (13:53 -0700)]
wgl, d3d12: Handle front buffer writes for double-buffered MSAA surfaces backed by swapchains

We don't need to go as far as the fake front thing when MSAA is being used, because the
swapchain (single-sampled) is already decoupled from the app render buffers. But we do
need to direct the frontbuffer flush to the single-sampled back buffer, and then present
the back buffer. We also need to swap the buffers when we do this, so the next blit
targets the former front buffer.

Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16227>

2 years agofreedreno/ir3: Fold 16-bit conversions into image load/store src/dsts.
Emma Anholt [Thu, 19 May 2022 20:41:34 +0000 (13:41 -0700)]
freedreno/ir3: Fold 16-bit conversions into image load/store src/dsts.

Shaves 5 instructions off of one manhattan31 shader.

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

2 years agofreedreno/ir3: Fix validation of half-precision image store values.
Emma Anholt [Tue, 31 May 2022 19:49:27 +0000 (12:49 -0700)]
freedreno/ir3: Fix validation of half-precision image store values.

ce1a381e57d2 ("turnip: enable VK_KHR_16bit_storage on A650") determined
that the type of the instr decided the type of the value being stored in
the ".b" case.  But it would be surprising if image stores had the type
determine the coordinates' precision instead of the value's, and once we
turned on image instruction precision lowering we ran into asserts.

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

2 years agofreedreno/ir3: Pass 16-bit sampler coordinates when possible.
Matt Turner [Mon, 22 Feb 2021 20:11:14 +0000 (20:11 +0000)]
freedreno/ir3: Pass 16-bit sampler coordinates when possible.

shader-db highlights from Rob's android shaders:

total instructions in shared programs: 769641 -> 767536 (-0.27%)
instructions in affected programs: 151139 -> 149034 (-1.39%)
total last-baryf in shared programs: 55908 -> 55607 (-0.54%)
last-baryf in affected programs: 35219 -> 34918 (-0.85%)
total sstall in shared programs: 67074 -> 65767 (-1.95%)
total full in shared programs: 36115 -> 36080 (-0.10%)
full in affected programs: 203 -> 168 (-17.24%)
sstall in affected programs: 9510 -> 8203 (-13.74%)
total (ss) in shared programs: 14380 -> 14239 (-0.98%)
(ss) in affected programs: 2965 -> 2824 (-4.76%)
total systall in shared programs: 92425 -> 91522 (-0.98%)
systall in affected programs: 13146 -> 12243 (-6.87%)
total (sy) in shared programs: 4330 -> 4314 (-0.37%)
(sy) in affected programs: 167 -> 151 (-9.58%)
total waves in shared programs: 71580 -> 71584 (<.01%)
waves in affected programs: 12 -> 16 (33.33%)

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

2 years agofreedreno/ir3: Make the types of tex coord padding match.
Emma Anholt [Tue, 31 May 2022 21:35:58 +0000 (14:35 -0700)]
freedreno/ir3: Make the types of tex coord padding match.

Required for lowering of coords to be 16-bit.

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

2 years agofreedreno/ir3: Move the texture array coord fixup to nir
Matt Turner [Fri, 19 Feb 2021 20:30:05 +0000 (20:30 +0000)]
freedreno/ir3: Move the texture array coord fixup to nir

We're going to optimize sampler coordinates to FP16, so we'll need to
add the appropriately typed 0.5. Move this to NIR where that information
is readily available.

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

2 years agofreedreno/ir3: Enable load/store vectorization for SSBO access, too.
Emma Anholt [Thu, 19 May 2022 19:40:18 +0000 (12:40 -0700)]
freedreno/ir3: Enable load/store vectorization for SSBO access, too.

Saves a few ldib/stib instructions in gfxbench vk-5-normal compute shaders
by grouping vec4 accesses together.

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

2 years agonir_lower_mediump: Drop assertion about not containing movs.
Emma Anholt [Thu, 19 May 2022 20:26:33 +0000 (13:26 -0700)]
nir_lower_mediump: Drop assertion about not containing movs.

A 1D texture operation may need to do a mov to turn a reference to a
channel of an SSA value into a scalar value to be passed as the texture
coordinate (since texture srcs can't do swizzles).  Seen in
amnesia-the-dark-descent/low/46.shader_test() for example, where a 1D
texture is used to remap each of r,g,b from a previous texture result.

Besides, the nir_op_is_vec() case will (perhaps surprisingly) look through
a mov, anyway.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616>

2 years agoci/turnip: Add missing xfails for a618 full VK run
Emma Anholt [Wed, 1 Jun 2022 22:15:24 +0000 (15:15 -0700)]
ci/turnip: Add missing xfails for a618 full VK run

Fixes: 836ce97f5ea8 ("ci: bump VK-GL-CTS to 1.3.2.0")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616>

2 years agovenus: resolve AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 to external format
Yiwei Zhang [Fri, 27 May 2022 23:02:49 +0000 (23:02 +0000)]
venus: resolve AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 to external format

This is to work around ANGLE yuv support.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16759>

2 years agopan/bi: Respect swizzles in nir_op_pack_64_2x32_split
Alyssa Rosenzweig [Thu, 26 May 2022 16:09:54 +0000 (12:09 -0400)]
pan/bi: Respect swizzles in nir_op_pack_64_2x32_split

Triggered a BIR validation error, which made debugging a breeze. That validation
pass (dimensionality checks) gets a lot of use, it seems :-)

Fixes:

   dEQP-VK.ssbo.layout.2_level_array.std430.row_major_mat4x2_comp_access_store_cols

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16724>

2 years agopanvk: Use vk_image_subresource_*_count for clears
Alyssa Rosenzweig [Thu, 26 May 2022 16:29:06 +0000 (12:29 -0400)]
panvk: Use vk_image_subresource_*_count for clears

This handles VK_REMAINING_* for us, instead of underflowing and clearing no
levels/layers.

Fixes dEQP-VK.api.image_clearing.core.clear_color_image.2d.linear.single_layer.*

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

2 years agopanfrost: Allow 2D AFBC on Valhall
Alyssa Rosenzweig [Tue, 17 May 2022 15:13:59 +0000 (11:13 -0400)]
panfrost: Allow 2D AFBC on Valhall

2D AFBC should be working now, flip the switch. 3D AFBC needs more research to
get right, honestly it's not clear how 3D AFBC on Bifrost is working...

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800>

2 years agopanfrost: Handle texturing from AFBC on Valhall
Alyssa Rosenzweig [Tue, 17 May 2022 18:27:44 +0000 (14:27 -0400)]
panfrost: Handle texturing from AFBC on Valhall

We need to pack special AFBC-specific plane descriptors instead of the generic
plane descriptor. Nothing too fancy here, though.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800>

2 years agopanfrost: Support rendering to AFBC on Valhall
Alyssa Rosenzweig [Tue, 17 May 2022 18:27:09 +0000 (14:27 -0400)]
panfrost: Support rendering to AFBC on Valhall

Add the required handling when packing render target and depth buffer
descriptors on Valhall. This is mostly equivalent to Bifrost.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800>

2 years agopanfrost: Add pan_afbc_compression_mode on Valhall
Alyssa Rosenzweig [Tue, 17 May 2022 18:25:58 +0000 (14:25 -0400)]
panfrost: Add pan_afbc_compression_mode on Valhall

Map a canonical format (a hardware-independent pipe_format) to a compression
mode (Valhall-specific hardware enum defined in GenXML). To be used for packing
plane descriptors and render target descriptors when AFBC is in use on Valhall.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800>

2 years agopanfrost: Pass arch instead of dev into afbc_format
Alyssa Rosenzweig [Tue, 17 May 2022 18:22:09 +0000 (14:22 -0400)]
panfrost: Pass arch instead of dev into afbc_format

For callers that have a device object, it's easy to pass dev->arch instead of
dev. But this requires callers to have a reference to the device, which is
tricky for callers that only have the arch via PAN_ARCH. Pass dev->arch instead
of dev to accommodate them.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800>

2 years agopanfrost: Fix XML for AFBC header on v9
Alyssa Rosenzweig [Wed, 1 Jun 2022 18:34:08 +0000 (14:34 -0400)]
panfrost: Fix XML for AFBC header on v9

Misnamed field due to copy/paste fail from Bifrost.

Fixes: c011ea6c265 ("panfrost: Shuffle render target AFBC for Valhall")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800>

2 years agopan/mdg: Print outmods when printing IR
Alyssa Rosenzweig [Tue, 31 May 2022 13:18:46 +0000 (09:18 -0400)]
pan/mdg: Print outmods when printing IR

In particular, this lets us distinguish mul_high from regular mul.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>

2 years agopan/mdg: Distinguish SSA vs reg when printing IR
Alyssa Rosenzweig [Tue, 31 May 2022 13:08:23 +0000 (09:08 -0400)]
pan/mdg: Distinguish SSA vs reg when printing IR

This makes it easy to match the printed IR with the indices in the NIR.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>

2 years agopan/mdg: Only print 1 source for moves
Alyssa Rosenzweig [Tue, 31 May 2022 12:43:33 +0000 (08:43 -0400)]
pan/mdg: Only print 1 source for moves

This makes the printed IR easier to read at a glance.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>

2 years agopan/mdg: Only print 2 sources for ALU
Alyssa Rosenzweig [Tue, 31 May 2022 12:41:03 +0000 (08:41 -0400)]
pan/mdg: Only print 2 sources for ALU

..and assert the other sources are null. The one place this might fail in the
future is for real FMA, but we don't support that for GL.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>

2 years agopan/mdg: Only print masked components of swizzle
Alyssa Rosenzweig [Tue, 31 May 2022 12:37:33 +0000 (08:37 -0400)]
pan/mdg: Only print masked components of swizzle

This matches the IR printer with the disassembler, making the output of the IR
printer much easier to parse at a glance.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>

2 years agopan/mdg: Use "<<" instead of "lsl"
Alyssa Rosenzweig [Thu, 19 May 2022 16:11:32 +0000 (12:11 -0400)]
pan/mdg: Use "<<" instead of "lsl"

Easier to read and consistent with C code.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>

2 years agopan/mdg: Remove uppercase write masks
Alyssa Rosenzweig [Thu, 19 May 2022 16:08:46 +0000 (12:08 -0400)]
pan/mdg: Remove uppercase write masks

These do not convey any additional information, and fail to account for
shrinking. In particular, a 64-bit writemask with .keephi would fail to
disassemble and instead trip the assertion, since that would be the ZW
components. Just delete the broken code.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>

2 years agopan/mdg: Scalarize with 64-bit sources
Alyssa Rosenzweig [Thu, 19 May 2022 16:29:01 +0000 (12:29 -0400)]
pan/mdg: Scalarize with 64-bit sources

Otherwise, we can get vec3 with u2u32 with 64-bit sources which we need lowered.
Since our current approach is "scalarize all 64-bit ops", we need to check for
conversions too.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>

2 years agoradv, aco: Packed usub_sat/isub_sat.
Georg Lehmann [Thu, 20 Jan 2022 19:50:15 +0000 (20:50 +0100)]
radv, aco: Packed usub_sat/isub_sat.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoradv: Enable VK_INTEL_shader_integer_functions2.
Georg Lehmann [Sat, 20 Nov 2021 16:18:28 +0000 (17:18 +0100)]
radv: Enable VK_INTEL_shader_integer_functions2.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoradv: Lower 8bit isub_sat/usub_sat.
Georg Lehmann [Sat, 20 Nov 2021 13:33:20 +0000 (14:33 +0100)]
radv: Lower 8bit isub_sat/usub_sat.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoradv: Lower hadd/hradd.
Georg Lehmann [Fri, 19 Nov 2021 13:56:07 +0000 (14:56 +0100)]
radv: Lower hadd/hradd.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoradv: Lower mul_32x16.
Georg Lehmann [Fri, 19 Nov 2021 21:58:41 +0000 (22:58 +0100)]
radv: Lower mul_32x16.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agonir: Add optional lowering for mul_32x16.
Georg Lehmann [Fri, 19 Nov 2021 21:38:30 +0000 (22:38 +0100)]
nir: Add optional lowering for mul_32x16.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoac/llvm: Implement uclz.
Georg Lehmann [Sat, 20 Nov 2021 20:11:57 +0000 (21:11 +0100)]
ac/llvm: Implement uclz.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoac/llvm: Implement usub_sat and isub_sat.
Georg Lehmann [Sat, 20 Nov 2021 19:45:57 +0000 (20:45 +0100)]
ac/llvm: Implement usub_sat and isub_sat.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoaco: Implement isub_sat.
Georg Lehmann [Fri, 19 Nov 2021 15:43:31 +0000 (16:43 +0100)]
aco: Implement isub_sat.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoaco: Implement usub_sat.
Georg Lehmann [Fri, 19 Nov 2021 15:28:52 +0000 (16:28 +0100)]
aco: Implement usub_sat.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoaco: Implement uclz.
Georg Lehmann [Fri, 19 Nov 2021 13:27:06 +0000 (14:27 +0100)]
aco: Implement uclz.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895>

2 years agoir3: Force late-z if FS has global store/atomic
Danylo Piliaiev [Wed, 1 Jun 2022 15:32:27 +0000 (18:32 +0300)]
ir3: Force late-z if FS has global store/atomic

No known tests are fixed.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16816>

2 years agopan/bi: Use flow control lowering on Valhall
Alyssa Rosenzweig [Thu, 19 May 2022 20:10:44 +0000 (16:10 -0400)]
pan/bi: Use flow control lowering on Valhall

Logically at the same part of the compile pipeline as clause scheduling on
Bifrost. Lots of similarities, too. Now that we generate flow control only as a
late pass, various hacks in the compiler are no longer necessary and are
dropped.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/va: Unit test flow control merging
Alyssa Rosenzweig [Fri, 20 May 2022 16:30:59 +0000 (12:30 -0400)]
pan/va: Unit test flow control merging

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/va: Unit test flow control insertion
Alyssa Rosenzweig [Thu, 19 May 2022 20:58:36 +0000 (16:58 -0400)]
pan/va: Unit test flow control insertion

Test that we correctly track the scoreboard, helper invocations, reconvergence,
and ends and insert NOPs to effect this expected flow control.

As the pass inserts NOPs but does not otherwise modify the shader, this is easy
to test with well-defined behaviour of the pass.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/va: Respect assigned slots
Alyssa Rosenzweig [Wed, 25 May 2022 13:40:02 +0000 (09:40 -0400)]
pan/va: Respect assigned slots

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/va: Assign slots roundrobin
Alyssa Rosenzweig [Wed, 25 May 2022 13:39:44 +0000 (09:39 -0400)]
pan/va: Assign slots roundrobin

This should reduce false dependencies with asynchronous instructions.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/va: Add flow control merging pass
Alyssa Rosenzweig [Fri, 20 May 2022 16:31:12 +0000 (12:31 -0400)]
pan/va: Add flow control merging pass

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/va: Terminate helper threads
Alyssa Rosenzweig [Tue, 31 May 2022 19:12:13 +0000 (15:12 -0400)]
pan/va: Terminate helper threads

On Bifrost, to terminate helper threads we set the td bit on the clause. On
Valhall, we need to use the .discard flow control. Extend the flow control NOP
insertion to insert NOP.discard where necessary to terminate helper threads.
This should reduce wasted work in fragment shaders.

This requires fairly involved data flow analysis, but the handling here should
be optimal.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/va: Do scoreboard analysis
Alyssa Rosenzweig [Thu, 19 May 2022 23:08:23 +0000 (19:08 -0400)]
pan/va: Do scoreboard analysis

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/va: Add pass to insert flow control
Alyssa Rosenzweig [Thu, 19 May 2022 20:57:31 +0000 (16:57 -0400)]
pan/va: Add pass to insert flow control

To set flow control modifiers correctly and efficiently, we need a pass that
runs after register allocation and scheduling, but before packing. Add such a
pass.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/bi: Print flow control on instructions
Alyssa Rosenzweig [Wed, 1 Jun 2022 15:37:48 +0000 (11:37 -0400)]
pan/bi: Print flow control on instructions

This helps debug the flow control lowering passes on Valhall.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/bi: Export helper termination analysis
Alyssa Rosenzweig [Fri, 20 May 2022 13:31:29 +0000 (09:31 -0400)]
pan/bi: Export helper termination analysis

The current helper termination analysis code is hardwired for clauses, so it
won't work for Valhall. However, the bulk of it is dataflow analysis which is
portable between Bifrost and Valhall. Export the interesting bits so we can
reuse them on Valhall.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/bi: Export bi_block_add_successor
Alyssa Rosenzweig [Fri, 20 May 2022 15:10:11 +0000 (11:10 -0400)]
pan/bi: Export bi_block_add_successor

For use in unit tests that need to create blocks.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/bi: Extract bit_block helper
Alyssa Rosenzweig [Fri, 20 May 2022 15:09:43 +0000 (11:09 -0400)]
pan/bi: Extract bit_block helper

Convenience for unit tests which need to create multiple blocks, to test global
passes.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/bi: Add a trivial ctx->inputs for unit tests
Alyssa Rosenzweig [Thu, 19 May 2022 20:58:51 +0000 (16:58 -0400)]
pan/bi: Add a trivial ctx->inputs for unit tests

So we can unit test the flow control insertion which needs to gate some
behaviour on not being in a blend shader.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/bi: Add ASSERT_SHADER_EQUAL macro
Alyssa Rosenzweig [Thu, 19 May 2022 20:11:24 +0000 (16:11 -0400)]
pan/bi: Add ASSERT_SHADER_EQUAL macro

Useful for whole-program unit tests.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/bi: Preserve flow control for non-psiz variant
Alyssa Rosenzweig [Fri, 20 May 2022 19:46:54 +0000 (15:46 -0400)]
pan/bi: Preserve flow control for non-psiz variant

Otherwise we will get INSTR_INVALID_ENC faults when deleting the final STORE.end
instruction, after we rework our flow control code.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/bi: Add slot to bi_instr
Alyssa Rosenzweig [Wed, 25 May 2022 13:38:48 +0000 (09:38 -0400)]
pan/bi: Add slot to bi_instr

For better handling of message-passing instructions.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agopan/bi: Extend bi_scoreboard_state for finer tracking
Alyssa Rosenzweig [Fri, 27 May 2022 16:02:37 +0000 (12:02 -0400)]
pan/bi: Extend bi_scoreboard_state for finer tracking

We need to insert dependencies for varyings and memory access. Currently, the
Bifrost scoreboarding pass just treats these as barriers, but this is too heavy
handed. Extend the scoreboard data structure so we can do better.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804>

2 years agotu: Implement VK_EXT_image_2d_view_of_3d
Connor Abbott [Wed, 1 Jun 2022 03:56:06 +0000 (05:56 +0200)]
tu: Implement VK_EXT_image_2d_view_of_3d

This is already allowed by the gallium driver, which uses the same code
for image layout and image views, so everything Just Works and the tests
pass. radv doesn't enable the sampler feature, but I don't see any
reason it wouldn't work and the tests pass.

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

2 years agoanv: mask out not applicable state flags when setting up mesh pipeline
Marcin Ślusarz [Wed, 1 Jun 2022 13:48:45 +0000 (15:48 +0200)]
anv: mask out not applicable state flags when setting up mesh pipeline

Fixes tests matching:
dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.*unused_ms
These tests bind mesh pipeline, immediately after that bind non-mesh
pipeline and expect that binding mesh pipeline was a no-op.

v2: do it in one place & add comment (Lionel)

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

2 years agoradv/ci: allow polaris10 to retry more times
Martin Roukala (né Peres) [Tue, 31 May 2022 06:19:56 +0000 (09:19 +0300)]
radv/ci: allow polaris10 to retry more times

The Polaris10 in CI has been getting insta-hangs when starting dEQP.
Let's give it 5 attempts to get its act together, as it won't affect
the run time dramatically (max 5 minutes), but will provide more
reliable results for developers.

Tracking of hangs (and many other issues) is done through scrapping the
execution logs, processing them to find these issues, then pushing the
data to influxdb. This allows us to plot the failure rate over time,
and see if the situation is getting better or worse.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16793>

2 years agonir: introduce new nir_alu_alu_width() with nir_vectorize_cb callback
Daniel Schürmann [Tue, 6 Jul 2021 17:08:04 +0000 (19:08 +0200)]
nir: introduce new nir_alu_alu_width() with nir_vectorize_cb callback

This function allows to only scalarize instructions down to a desired
vectorization width. nir_lower_alu_to_scalar() was changed to use the
new function with a width of 1.

Swizzles outside vectorization width are considered and reduce
the target width.

This prevents ending up with code like
  vec2 16 ssa_2 = iadd ssa_0.xz, ssa_1.xz

which requires to emit shuffle code in backends
and usually is not beneficial.

Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13080>

2 years agonir/opt_vectorize: add callback for max vectorization width
Daniel Schürmann [Fri, 18 Dec 2020 18:05:47 +0000 (19:05 +0100)]
nir/opt_vectorize: add callback for max vectorization width

The callback allows to request different vectorization factors
per instruction depending on e.g. bitsize or opcode.

This patch also removes using the vectorize_vec2_16bit option
from nir_opt_vectorize().

Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13080>

2 years agopanfrost: always print the bad ALU op if we're failing to translate.
Emma Anholt [Tue, 10 May 2022 18:32:40 +0000 (11:32 -0700)]
panfrost: always print the bad ALU op if we're failing to translate.

CI failure could have told me what needed fixing, but no...

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16437>

2 years agoglsl,nir: Move i/umulExtended lowering to NIR.
Emma Anholt [Tue, 10 May 2022 17:31:07 +0000 (10:31 -0700)]
glsl,nir: Move i/umulExtended lowering to NIR.

NIR already has the necessary lowering, and the GLSL lowering violates
GLSL IR validation rules.  Once quadop lowering was turned off, the IR
validation at the end of the compile path on DEBUG builds caught the
problem.

In order to move the lowering to NIR, though, we need to make sure that
drivers supporting these functions actually have the lowering flag set.

xfails added for t860, where apparently this tickles a variety of existing
64-bit bugs in the backend.

Fixes: #6461
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16437>

2 years agomesa/st: Only scalarize for doubles lowering if we're lowering doubles.
Emma Anholt [Tue, 10 May 2022 19:13:17 +0000 (12:13 -0700)]
mesa/st: Only scalarize for doubles lowering if we're lowering doubles.

lower_int64 doesn't need it, and the scalarizing ended up tickling some
bug in virgl once I started using lower_int64.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16437>

2 years agoanv: Disable storage image compression for possible atomic ops
Sagar Ghuge [Thu, 4 Nov 2021 01:20:58 +0000 (18:20 -0700)]
anv: Disable storage image compression for possible atomic ops

It looks like atomics are slow on compressed surfaces so when enabling
compression for storage images that can be possibly used for atomic
operation hinders performance. Lets just disable compression in this
scenario.

v2: Reword comment (Ken)
    Allow mutable with 16/32/64 bits (Ken)

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14712>

2 years agoisl: Add an isl_format_supports_typed_atomics() helper.
Kenneth Graunke [Tue, 13 Oct 2020 20:58:20 +0000 (13:58 -0700)]
isl: Add an isl_format_supports_typed_atomics() helper.

v2: Add a fields in isl_format with per gen support (Lionel)

v3: Fixup R32_FLOAT from 80 to 90
    Fixup R32_[SU]INT from 80 to 70 (Ken)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14712>

2 years agoaco: fix spilling of phis without temp operands
Daniel Schürmann [Wed, 25 May 2022 14:12:19 +0000 (16:12 +0200)]
aco: fix spilling of phis without temp operands

These were spilled unconditionally.

Cc: mesa-stable
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16708>

2 years agoeditorconfig: remove pl-rule
Erik Faye-Lund [Tue, 31 May 2022 05:20:55 +0000 (07:20 +0200)]
editorconfig: remove pl-rule

Fixes: 721b880e4cf ("script: drop get_reviewer.pl")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16786>

2 years agoeditorconfig: remove m4-rule
Erik Faye-Lund [Tue, 31 May 2022 05:19:27 +0000 (07:19 +0200)]
editorconfig: remove m4-rule

Fixes: 95aefc94a94 ("Delete autotools")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16786>

2 years agoeditorconfig: remove html-rule
Erik Faye-Lund [Tue, 31 May 2022 05:17:20 +0000 (07:17 +0200)]
editorconfig: remove html-rule

Fixes: 44a4e34d52e ("docs: remove doxygen support")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16786>

2 years agoeditorconfig: remove scons-ism
Erik Faye-Lund [Tue, 31 May 2022 05:15:37 +0000 (07:15 +0200)]
editorconfig: remove scons-ism

Fixes: 6e6cd7d93cc ("scons: Remove.")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16786>

2 years agodzn: add debug option to redirect stdout/stderr
Erik Faye-Lund [Thu, 19 May 2022 12:47:31 +0000 (14:47 +0200)]
dzn: add debug option to redirect stdout/stderr

For applications that doesn't have a terminal, it's useful to get output
like nir_log etc output somewhere.

This outputs these to stderr.txt and stdout.txt in the current user's
home directory, typically in C:\Users\my-user\.

Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16640>

2 years agodzn: add a debug-flag to wait for the debugger
Erik Faye-Lund [Thu, 19 May 2022 12:06:42 +0000 (14:06 +0200)]
dzn: add a debug-flag to wait for the debugger

It's geneunely useful to wait for the debugger to attach in some cases.
So let's add a debug-flag and staill untik the debugger has attached.

Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16640>

2 years agotests/graw: rename shaders from .sh to .txt
Erik Faye-Lund [Tue, 31 May 2022 07:28:21 +0000 (09:28 +0200)]
tests/graw: rename shaders from .sh to .txt

The vertex and fragment shaders are named foo.sh, while the geometry
shaders are named foo.txt. Since .sh can easily be confused with shell
scripts, let's rename the vertex and fragment shaders to .txt to match
the geometry shaders.

These tests aren't hooked up to run automatically, so there's no need to
update references to the file names.

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