Mike Blumenkrantz [Mon, 7 Mar 2022 20:32:40 +0000 (15:32 -0500)]
zink: force disable rasterization discard if primgen query is active
this query requires rasterization to pass the clipping invocations stage,
which means discard is impossible
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15392>
Mike Blumenkrantz [Sun, 13 Mar 2022 16:11:10 +0000 (12:11 -0400)]
zink: hook up EXT_color_write_enable
no functional changes
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15392>
Qiang Yu [Fri, 11 Mar 2022 10:14:57 +0000 (18:14 +0800)]
nir/linker: set varying from uniform as flat
Flat varying can save some rasterization compute cost
and register needed by shader.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15341>
Qiang Yu [Fri, 11 Mar 2022 06:04:31 +0000 (14:04 +0800)]
lima: enable nir lower_varying_from_uniform
Mali GPU pass varying by memory, so enable this optimization.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15341>
Qiang Yu [Fri, 11 Mar 2022 05:55:02 +0000 (13:55 +0800)]
nir/linker: disable varying from uniform lowering by default
This fixes performance regression for Specviewperf/Energy
on AMD GPU. Other GPUs passing varying by memory may choose
to re-enable it as need.
Fixes:
26046250437 ("nir/linker: support uniform when optimizing varying")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15341>
Alyssa Rosenzweig [Mon, 21 Mar 2022 01:03:00 +0000 (21:03 -0400)]
asahi: Port driver to macOS 12.x ABI
There's lots of reshuffling required. Nothing "interesting", though.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Tue, 22 Feb 2022 01:22:49 +0000 (20:22 -0500)]
asahi: Don't clobber clear colours
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Tue, 22 Feb 2022 01:19:44 +0000 (20:19 -0500)]
asahi: Handle flushes of depth-only rendering
Not totally right but this should be a start.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Tue, 22 Feb 2022 00:51:51 +0000 (19:51 -0500)]
asahi: Wire in u_transfer_helper
We need it for emulating packed depth/stencil as separate depth/stencil
resources, populating separate_stencil for us as required.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Tue, 22 Feb 2022 00:29:16 +0000 (19:29 -0500)]
asahi: Generate IOGPU attachments dynamically
Take a pipe_framebuffer_state and go from there. We need some care to
handle separate stencil, but the logic is largely routine.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Tue, 22 Feb 2022 00:28:43 +0000 (19:28 -0500)]
asahi: Add separate_stencil, internal_format fields
Currently unused, but will be set when u_transfer_helper is integrated
for emulating packed depth/stencil.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Tue, 22 Feb 2022 00:28:13 +0000 (19:28 -0500)]
asahi: Add size field to slices
Needed to size attachments for the kernel... for some reason. We already
compute this; just save it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Mon, 21 Feb 2022 18:09:36 +0000 (13:09 -0500)]
asahi: Identify IOGPU_MISC data structure
This will be elaborated upon soon.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Mon, 21 Feb 2022 17:45:41 +0000 (12:45 -0500)]
asahi: Add stencil buffer attachment type
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Mon, 21 Feb 2022 17:22:11 +0000 (12:22 -0500)]
asahi: Identify IOGPU Internal Pipelines structure
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Mon, 21 Feb 2022 17:05:00 +0000 (12:05 -0500)]
asahi: Identify aux framebuffer data structure
Total guess at the name.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Alyssa Rosenzweig [Mon, 21 Feb 2022 16:41:39 +0000 (11:41 -0500)]
asahi: Identify IOGPU Clear Z/S structure
Not sure on the details yet but identify and dump the data structure to start.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15482>
Yonggang Luo [Fri, 18 Mar 2022 05:14:55 +0000 (13:14 +0800)]
util: trim trailing space for files src/util/**/*
Using the following bash script doing that
```
cd src/util
find . -type f -print0 | xargs -0 -n1 sed -i 's/[ \t]*$//'
```
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15093>
Nanley Chery [Fri, 18 Mar 2022 22:06:44 +0000 (15:06 -0700)]
ci/anv: Changes from enabling 8/16bpp CCS more
- Fixes in dEQP-VK.dynamic_rendering.suballocation.multisample_resolve.*
- Fails in dEQP-VK.drm_format_modifiers.export_import.*
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15420>
Nanley Chery [Wed, 16 Mar 2022 21:25:28 +0000 (14:25 -0700)]
Revert "anv: Disable CCS_E for some 8/16bpp copies on TGL+"
This reverts commit
d68b2db89ca38f3f6c0d3ebd65945c471d864d58.
With this change, no regressions have been observed with the
dEQP-VK.synchronization* test group. There are regressions with
dEQP-VK.drm_format_modifiers.export_import.*, but those have been
root-caused to be test issues (see 3575).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6125
Fixes:
57445adc891 ("anv: Re-enable CCS_E on TGL+")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15420>
Dylan Baker [Fri, 18 Mar 2022 21:05:05 +0000 (14:05 -0700)]
gallium/opencl: set OCL_ICD_FILENAMES with devenv
So that `meson devenv` also sets up OpenCL.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15471>
Pavel Ondračka [Fri, 4 Mar 2022 09:27:54 +0000 (10:27 +0100)]
r300: set PVS_LAST_VTX_SRC_INST properly to last input read
From docs:
The PVS Instruction which uses the Input Vertex Memory for the last
time. This value is used to free up the Input Vertex Slots ASAP.
This field must be set to a valid instruction.
Right now it is set to the last instruction. When the last read is
inside a loop, set it on the outhermost ENDLOOP. This could in theory
help performance, but none of my usual benchmarks including GLmark,
Unigine Sanctuary or Lightsmark show any measurable performance difference.
Suggested in: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6045
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15252>
Karol Herbst [Sat, 19 Mar 2022 15:36:46 +0000 (16:36 +0100)]
nir: fix nir_sweep for printf
I hit a memory corruption trying to implement printf for Rusticl
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15474>
Lionel Landwerlin [Thu, 18 Nov 2021 11:32:31 +0000 (13:32 +0200)]
ci: enable intel-clc on some platforms
We'll have to figure out the cross compiling strategy, in particular
for Android. But as it stands we can't have the target & host llvm
packages installed at the same time so we can't really compile it.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Lionel Landwerlin [Thu, 18 Nov 2021 13:04:50 +0000 (15:04 +0200)]
ci: enable llvm on debian-release build
Needed for intel-clc.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Lionel Landwerlin [Thu, 18 Nov 2021 13:04:31 +0000 (15:04 +0200)]
ci: add clang/spirv-tools/llvm-spirv packages to fedora container
Needed for intel-clc.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Lionel Landwerlin [Fri, 30 Jul 2021 13:25:23 +0000 (16:25 +0300)]
intel/clc: disable tool prior to Gfx12.5 platforms
This tool is currently only aimed at Gfx version 12.5+ with
COMPUTE_WALKER. We could make it work on earlier platforms but they
require pushing gl_SubgroupInvocation and the CLC code is missing the
back-end compiler set-up bits for that.
v2: Commit description by Jason
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Lionel Landwerlin [Fri, 30 Jul 2021 11:06:05 +0000 (14:06 +0300)]
intel/clc: specify supported extensions
Having everything ever known to man is confusing our SPIRV parser.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Lionel Landwerlin [Thu, 6 May 2021 19:22:44 +0000 (22:22 +0300)]
intel/clc: allow producing SPIRV files
Useful to debug the parser.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Lionel Landwerlin [Thu, 6 May 2021 14:10:27 +0000 (17:10 +0300)]
intel/clc: allow multiple CL files to be compiled together
v2: use util_dynarray_append() (Jason)
identation fixes (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Jason Ekstrand [Fri, 19 Feb 2021 16:34:49 +0000 (10:34 -0600)]
intel: Add a little OpenCL C compiler binary
v2: Fix up indentation (Marcin)
s/gen/gfx/ (Marcin)
Deal with fd closing in success/fail cases (Marin)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Lionel Landwerlin [Thu, 18 Nov 2021 15:24:46 +0000 (17:24 +0200)]
meson: try to find clang-cpp before going through each module
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Lionel Landwerlin [Mon, 4 Oct 2021 10:58:07 +0000 (13:58 +0300)]
intel/fs: handle inline data on OpenCL style kernels
This is for Gfx12.5 with the COMPUTE_WALKER::Inline Data payload. We
do this in a similar way to the compute kernels.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Jason Ekstrand [Tue, 2 Mar 2021 21:06:40 +0000 (15:06 -0600)]
intel/kernel: Implement some Intel built-in functions
v2: Document mangled function names (Marcin)
Fixup progress & metadata (Marcin)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Jason Ekstrand [Thu, 18 Feb 2021 22:09:31 +0000 (16:09 -0600)]
intel/compiler: Add code for compiling CL-style SPIR-V kernels
v2: simplify INTEL_DEBUG expressions (Marcin)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Jason Ekstrand [Thu, 29 Oct 2020 14:44:30 +0000 (09:44 -0500)]
intel/debug: Dump KERNEL source when INTEL_DEBUG=cs
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Jason Ekstrand [Mon, 28 Sep 2020 14:11:39 +0000 (09:11 -0500)]
intel/nir: Add optimizations to help OpenCL-style kernels
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Lionel Landwerlin [Mon, 18 Oct 2021 12:24:23 +0000 (15:24 +0300)]
intel/nir/fs: replace COMPUTE || KERNEL by gl_shader_stage_is_compute()
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Jason Ekstrand [Sat, 15 Aug 2020 05:28:55 +0000 (00:28 -0500)]
nir/print: Add support for generic pointers
The way they're handled is that deref->modes is treated as a bitfield of
possible modes. Variables are required to have a specific mode and
derefs with deref_type_var are as well.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13171>
Yonggang Luo [Sun, 20 Mar 2022 00:01:24 +0000 (08:01 +0800)]
glx/egl: improve dri null screen related error messages.
Convert from `failed to create dri screen` to more exact error message
for easier debugging
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15480>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:56:46 +0000 (11:56 +0100)]
crocus: replace opencoded slab_zalloc
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:56:31 +0000 (11:56 +0100)]
d3d12: replace opencoded slab_zalloc
Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:56:13 +0000 (11:56 +0100)]
etnaviv: replace opencoded slab_zalloc
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:56:00 +0000 (11:56 +0100)]
freedreno: replace opencoded slab_zalloc
Reviewed-by: Rob Clark <robdclark@chromium.org>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:55:45 +0000 (11:55 +0100)]
lima: replace opencoded slab_zalloc
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:55:33 +0000 (11:55 +0100)]
iris: replace opencoded slab_zalloc
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:47:28 +0000 (11:47 +0100)]
v3d: replace opencoded slab_zalloc
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:47:17 +0000 (11:47 +0100)]
vc4: replace opencoded slab_zalloc
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:47:01 +0000 (11:47 +0100)]
virgl: replace opencoded slab_zalloc
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:46:38 +0000 (11:46 +0100)]
zink: replace opencoded slab_zalloc
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:55:10 +0000 (11:55 +0100)]
r600: replace opencoded slab_zalloc
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Pierre-Eric Pelloux-Prayer [Tue, 8 Mar 2022 10:47:50 +0000 (11:47 +0100)]
radeonsi: replace opencoded slab_zalloc
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15277>
Mike Blumenkrantz [Wed, 16 Mar 2022 17:59:52 +0000 (13:59 -0400)]
lavapipe: KHR_synchronization2
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15413>
Mike Blumenkrantz [Wed, 16 Mar 2022 17:58:46 +0000 (13:58 -0400)]
lavapipe: add QueueSubmit2 implementation
this converts the existing code to use VkSubmitInfo2 structs and adds
a new QueueSubmit wrapper which generates these structs from VkSubmitInfo
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15413>
Mike Blumenkrantz [Wed, 16 Mar 2022 17:58:15 +0000 (13:58 -0400)]
lavapipe: add sync2 cmdbuf method implementations
nothing special here
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15413>
Mike Blumenkrantz [Wed, 16 Mar 2022 13:04:53 +0000 (09:04 -0400)]
lavapipe: fix typo in set_event execution
Fixes:
eb7eccc76f0 ("lavapipe: Use generated command queue code")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15413>
Mike Blumenkrantz [Mon, 21 Mar 2022 04:22:08 +0000 (00:22 -0400)]
docs: update lavapipe features and relnotes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15463>
Mike Blumenkrantz [Fri, 18 Mar 2022 12:51:44 +0000 (08:51 -0400)]
lavapipe 1.3
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15463>
Mike Blumenkrantz [Fri, 18 Mar 2022 17:25:56 +0000 (13:25 -0400)]
lavapipe: add a GetPhysicalDeviceToolPropertiesEXT stub
when no tools are loaded, this will otherwise crash
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15463>
Mike Blumenkrantz [Fri, 11 Mar 2022 16:13:57 +0000 (11:13 -0500)]
lavapipe: EXT_subgroup_size_control
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15354>
Mike Blumenkrantz [Fri, 11 Mar 2022 23:08:38 +0000 (18:08 -0500)]
llvmpipe: fix variable naming insanity in cs generator
in the top part of this function, the x/y/z size variables are used to
represent the loop iterator limits
in the bottom part, they change to represent the loop iterator values
my brain.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15354>
Mike Blumenkrantz [Fri, 11 Mar 2022 22:03:30 +0000 (17:03 -0500)]
llvmpipe: fix subgroup id construction
the coroutine idx is based on the number of x loops, but the subgroup id
is based on the coroutine's total loops
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15354>
Mike Blumenkrantz [Fri, 11 Mar 2022 16:10:56 +0000 (11:10 -0500)]
llvmpipe: fix gl_NumSubgroups
this is (x * y * z) / subgroup_size, not num_x_loops
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15354>
Mike Blumenkrantz [Fri, 18 Mar 2022 14:00:44 +0000 (10:00 -0400)]
lavapipe: EXT_inline_uniform_block
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457>
Mike Blumenkrantz [Fri, 18 Mar 2022 13:56:31 +0000 (09:56 -0400)]
lavapipe: implement EXT_inline_uniform_block
this is a lot of machinery to propagate the block sizes down from the
descriptor layout to the pipeline layout to the rendering_state
block data is appended to ubo0 immediately following push constant
data (if it exists), which requires that a new buffer be created and
filled any time either type of data changes
shader handling is done by propagating the offset of each block relative
to the start of its descriptor set, then accumulating the sizes of
every uniform block in each preceding descriptor set into the offset,
then adding on the push constant size, and finally adding that on to
the existing load_ubo deref offset
update-after-bind is no longer an issue since each instance of pc+block
data is its own immutable buffer that can never be modified
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457>
Mike Blumenkrantz [Fri, 18 Mar 2022 13:55:06 +0000 (09:55 -0400)]
lavapipe: remove unused struct member
this was used at some point I think?
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457>
Mike Blumenkrantz [Fri, 18 Mar 2022 13:50:36 +0000 (09:50 -0400)]
lavapipe: use stream uploader for push constant upload
now instead of having static per-stage buffer regions and letting llvmpipe
do the upload, lavapipe creates a new pipe_resource and chucks it away
with take_ownership=true to allow it to be destroyed once it's no longer
in use
this also alters ubo0 mechanics such that the buffer is now sized exactly to
the size of the push constants in the pipeline and push constants are only
updated when the appropriate shader stage is flagged
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457>
Mike Blumenkrantz [Fri, 18 Mar 2022 13:48:16 +0000 (09:48 -0400)]
lavapipe: save pipeline stages that push constants are active on
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457>
Mike Blumenkrantz [Fri, 18 Mar 2022 13:47:26 +0000 (09:47 -0400)]
lavapipe: add a stream uploader to rendering_state and queue objects
not currently used
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457>
Mike Blumenkrantz [Fri, 18 Mar 2022 13:45:56 +0000 (09:45 -0400)]
lavapipe: zalloc pipeline layout structs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457>
Mike Blumenkrantz [Fri, 18 Mar 2022 02:44:16 +0000 (22:44 -0400)]
lavapipe: don't emit compute states during draw
there's a separate function for this
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457>
Mike Blumenkrantz [Mon, 14 Mar 2022 20:25:29 +0000 (16:25 -0400)]
lavapipe: KHR_shader_terminate_invocation
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402>
Mike Blumenkrantz [Mon, 14 Mar 2022 20:25:14 +0000 (16:25 -0400)]
lavapipe: extend demote->discard pass to handle terminate
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402>
Mike Blumenkrantz [Mon, 14 Mar 2022 19:47:53 +0000 (15:47 -0400)]
lavapipe: EXT_shader_demote_to_helper_invocation
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402>
Mike Blumenkrantz [Mon, 14 Mar 2022 19:47:03 +0000 (15:47 -0400)]
lavapipe: run some shader passes for demote handling
pipe internals already support discard, so as long as everything is
rewritten to use discard, we don't need any further changes
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402>
Mike Blumenkrantz [Mon, 14 Mar 2022 19:45:17 +0000 (15:45 -0400)]
nir/lower_is_helper_invocation: create load_helper_invocation instr with bitsize=1
the specification stipulates that this is a bool value, so don't load it as an int
or else nir_validate explodes
Fixes:
f17b41ab4f0 ("nir: add lowering pass for helperInvocationEXT()")
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15402>
Mike Blumenkrantz [Tue, 8 Mar 2022 22:40:22 +0000 (17:40 -0500)]
zink: handle conversion for vertices statistics query with LINE_LOOP draws
the converted number of vertices is 2x that of the "real" number of vertices,
so divide the results by 2
this works nicely since zink performs cpu readback for all queries, and shader
aggregation should be simple in the future as well
fixes:
KHR-GL46.pipeline_statistics_query_tests_ARB.functional_primitives_vertices_submitted_and_clipping_input_output_primitives
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15401>
Mike Blumenkrantz [Tue, 8 Mar 2022 22:39:40 +0000 (17:39 -0500)]
zink: store vertices statistics query to context
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15401>
M Henning [Sun, 20 Mar 2022 04:23:46 +0000 (00:23 -0400)]
nouveau: Fix out-of-bounds access in AlgebraicOpt
for cases where we calculate the absolute value of the result
of a unary operation
We can remove this problematic check since it's redundant with
the one several lines down.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15476>
M Henning [Sun, 7 Nov 2021 01:33:34 +0000 (21:33 -0400)]
nouveau: Handle unaligned tlsBase during spills
Without this, 128-bit or 64-bit register spills can generate unaligned
loads and stores if tlsBase is unaligned.
Fixes glsl-1.50/execution/variable-indexing/gs-input-array-vec3-index-rd
with NV50_PROG_USE_NIR=1 on kepler
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13693>
Kenneth Graunke [Fri, 4 Mar 2022 07:57:13 +0000 (23:57 -0800)]
iris: Fix MOCS for copy regions
These were, unfortunately, backwards. The source is the texture.
The destination is the render target.
Fixes:
d8cb76211c5 ("iris: Fix MOCS for buffer copies")
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15473>
Andrey Konovalov [Thu, 3 Feb 2022 19:30:17 +0000 (19:30 +0000)]
ir3: set local_size for shaders of MESA_SHADER_KERNEL type
ir3_compile_shader_nir() should set local_size[] and local_size_variable
fields not only for compute shaders, but for the OpenCL kernels too.
v2: use gl_shader_stage_is_compute() instead of explicit comparison with
MESA_SHADER_[COMPUTE,KERNEL].
Signed-off-by: Andrey Konovalov <andrey.konovalov@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14863>
Emma Anholt [Thu, 17 Mar 2022 22:35:56 +0000 (15:35 -0700)]
ci/traces: Make sure we have no pre-existing traces-db before starting.
bare-metal can reboot boards into an existing rootfs on intermittent
device failure, but traces-db doesn't do any sanity-checking of the local
downloads of traces and would proceed to just trying to replay them.
Nuke any existing trace db so that it re-downloads every time, same as
LAVA or docker container tests do.
Fixes: #5585
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15440>
Michel Zou [Fri, 18 Mar 2022 19:07:21 +0000 (20:07 +0100)]
lavapipe: fix i686 mingw build
Fixes:
987e8a5a
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15464>
Mike Blumenkrantz [Tue, 22 Feb 2022 20:26:06 +0000 (15:26 -0500)]
lavapipe: zalloc lvp_image_view structs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15462>
Mike Blumenkrantz [Fri, 18 Feb 2022 16:55:17 +0000 (11:55 -0500)]
lavapipe: break out resolves into separate functions
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15462>
Mike Blumenkrantz [Tue, 25 Jan 2022 14:27:22 +0000 (09:27 -0500)]
lavapipe: store number of immutable samplers to pipeline layout
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15462>
Jason Ekstrand [Fri, 18 Mar 2022 20:47:50 +0000 (15:47 -0500)]
spirv: Properly mangle generic pointers
Fixes:
a8e53a772f61 ("spirv: Add generic pointer support")
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15470>
Eric Engestrom [Fri, 18 Mar 2022 19:28:14 +0000 (19:28 +0000)]
docs: update calendar and link releases notes for 21.3.8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15466>
Eric Engestrom [Fri, 18 Mar 2022 19:26:42 +0000 (19:26 +0000)]
docs: add release notes for 21.3.8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15466>
Emma Anholt [Wed, 16 Mar 2022 22:50:00 +0000 (15:50 -0700)]
ci/turnip: Increase the hangcheck timer to 2 seconds.
We get a lot of useful coverage from running graphicsfuzz with spilling
enabled, but it's also pretty slow and can cause intermittent hangcheck
failures. I thought I'd categorized them when merging !14839 (device loss
on reset), but it looks like not all of them and we're now more likely to
have flakes take out the whole test run when a single flake makes the rest
of the caselist a flake.
This is a little unfortunate in that it means our test environment is not
the same as a stock system you would want to run deqp on to submit
conformance, but I think it's an improvement in the test maintenance work
vs needing to fix things up later.
We have some other tests besides turnip that can trigger hangchecks which
we might also like this increase for (some disabled traces, for example).
However, freedreno GL has a 5-second timeout waiting for idle when
mapping, and a couple of 2-second timeouts in a row can result in spurious
failures in other tests!
Fixes: #6163
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15435>
Alyssa Rosenzweig [Sun, 13 Mar 2022 23:59:58 +0000 (19:59 -0400)]
pan/bi: Use bi_dontcare for ZS_EMIT
This is more portable and avoids special casing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15461>
Alyssa Rosenzweig [Tue, 21 Dec 2021 21:55:05 +0000 (16:55 -0500)]
pan/bi: Emit arch-specific code for bi_dontcare
We use bi_dontcare() to specify any encoding where we don't care about
the value, with a preference for power-efficient encodings. On Bifrost,
a (possibly nonexistant) FAU read is the best encoding. On Valhall, that
encoding doesn't exist so just use a zero. That should be good enough in
practice.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15461>
Alyssa Rosenzweig [Thu, 3 Mar 2022 01:49:20 +0000 (20:49 -0500)]
pan/bi: Model Valhall action on bi_instr
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15461>
Alyssa Rosenzweig [Tue, 21 Dec 2021 22:18:28 +0000 (17:18 -0500)]
pan/bi: Add Valhall-specific zero builder
When emitting code during or after register allocation, we need to be able to
emit constants without running the constant->{LUT, move, uniform} pass running
after. In particular, we need to access the constant 0 to implement spill code.
Add a Valhall-specific zero for this purpose.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15461>
Alyssa Rosenzweig [Sun, 13 Mar 2022 23:43:18 +0000 (19:43 -0400)]
pan/bi: Don't analyze helper reqs in !frag shaders
Waste of time, and possibly invalid too.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15461>
Alyssa Rosenzweig [Thu, 17 Mar 2022 16:14:55 +0000 (12:14 -0400)]
pan/bi: Print Valhall-specific FAU indices
We'll emit these shortly, prepare the printer.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15461>
Alyssa Rosenzweig [Sun, 13 Mar 2022 22:54:50 +0000 (18:54 -0400)]
pan/bi: Use vertex/instance ID helpers
Enables portability to Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15461>
Alyssa Rosenzweig [Sun, 13 Mar 2022 22:53:32 +0000 (18:53 -0400)]
pan/bi: Add helpers to get vertex/instance ID
These are preloaded in different places across Bifrost and Valhall. Abstract
that away so code using the builder isn't littered with "is Valhall?" checks.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15461>
Alyssa Rosenzweig [Thu, 17 Mar 2022 20:47:00 +0000 (16:47 -0400)]
pan/va: Fix ST_CVT definitions
They are basicallly just STORE with an extra source and the memory access
modifier in a different place.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15461>