Carsten Haitzler (Rasterman) [Mon, 19 Apr 2021 08:36:47 +0000 (09:36 +0100)]
panfrost: Fix Bo imports to not take the process down if fd is invalid
If the calling process happens to use an invalid bo (e.g. fd has been
closed), this led to lseek() returning -1 and this mmap trying to mmap
a buffer of size -1 (0xffffffffffffffff ...) which led to mmap
failing, which led to munmap failing which then led to the process
aborting.
This fixes that to gracefully handle the mmap failures and percolate
the failures back up through the API so eglCreateImage will not return
a valid image anymore, thus the error is detectable in the caller
process too.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10313>
Christian Gmeiner [Mon, 19 Apr 2021 07:00:41 +0000 (09:00 +0200)]
drm-shim: fix compile with glibc >= 2.33
Fixes compile of drm-shim with glibc 2.33.
Closes: #3782
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10309>
Dave Airlie [Tue, 20 Apr 2021 01:35:29 +0000 (11:35 +1000)]
llvmpipe: delay late screen creation until context init.
This avoids a problem with lavapipe where the screen hangs around in the
vulkan instance but is just wasting resources.
This was pointed out by Mike Blumenkrantz
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10338>
Dave Airlie [Tue, 20 Apr 2021 01:30:46 +0000 (11:30 +1000)]
llvmpipe: wrap late screen init with a mutex.
Next step can just move this into context init
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10338>
Dave Airlie [Tue, 20 Apr 2021 01:27:18 +0000 (11:27 +1000)]
llvmpipe: split screen init up.
Add a late init path for stuff that can be delayed.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10338>
Dave Airlie [Thu, 4 Mar 2021 05:49:51 +0000 (15:49 +1000)]
lavapipe: add support for non-dri loader on linux
If you build --glx=gallium-xlib then lavapipe will fail to
link this should let it use the non-dri paths on Linux in that
case
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Tested-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9400>
Jesse Natalie [Mon, 19 Apr 2021 17:09:12 +0000 (10:09 -0700)]
CI: Windows: Bump warning level to W3 (except for zlib)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Jesse Natalie [Mon, 19 Apr 2021 19:21:36 +0000 (12:21 -0700)]
xmlconfig: Fix MSVC warning C4334 (32bit shift cast to 64bit)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Jesse Natalie [Mon, 19 Apr 2021 19:21:27 +0000 (12:21 -0700)]
llvmpipe: Fix MSVC warning C4334 (32bit shift cast to 64bit)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Jesse Natalie [Mon, 19 Apr 2021 18:53:04 +0000 (11:53 -0700)]
gallium/aux: Fix MSVC warning C4334 (32bit shift cast to 64bit)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Jesse Natalie [Mon, 19 Apr 2021 18:52:12 +0000 (11:52 -0700)]
shader_enums: Fix MSVC warning C4334 (32bit shift cast to 64bit)
The warning is triggered when assigning into inputs_read, which is 64bit.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Jesse Natalie [Mon, 19 Apr 2021 17:08:52 +0000 (10:08 -0700)]
microsoft/compiler: Fix MSVC warning C4334 (32bit shift cast to 64bit)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Jesse Natalie [Mon, 19 Apr 2021 17:08:43 +0000 (10:08 -0700)]
microsoft/clc: Fix undeclared function warning
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Jesse Natalie [Mon, 19 Apr 2021 17:08:15 +0000 (10:08 -0700)]
microsoft/clc: Fix MSVC unreferenced variable warnings
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Jesse Natalie [Mon, 19 Apr 2021 17:07:40 +0000 (10:07 -0700)]
d3d12: Fix MSVC warning C4334 (32bit shift cast to 64bit)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Jesse Natalie [Mon, 19 Apr 2021 17:07:21 +0000 (10:07 -0700)]
nir: Fix MSVC warning C4334 (32bit shift cast to 64bit)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10331>
Erico Nunes [Tue, 13 Apr 2021 22:59:46 +0000 (00:59 +0200)]
gallium/hud: extend check for has_srgb
gallium hud checks for the PIPE_FORMAT_B8G8R8A8_SRGB format to set
has_srgb, but can then receive a different format such as
PIPE_FORMAT_B8G8R8X8 in hud_run.
If the driver supports PIPE_FORMAT_B8G8R8A8_SRGB but does not support
the other formats such as PIPE_FORMAT_B8G8R8X8_SRGB, that will break
rendering as gallium hud assumes srgb is also supported for that format.
Extend the check to set has_srgb to prevent that from happening.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10222>
Erico Nunes [Mon, 12 Apr 2021 08:05:43 +0000 (10:05 +0200)]
gallium/hud: create vs_text to match fs_text
gallium hud uses different tgsi fragment shaders for text and background
quads, which have different varying layouts. Since these are compiled
directly from tgsi they bypass some optimizations and may not work
properly on all backends.
A simple fix for the varying layout problem is to define a vs_text
shader to match the varyings in fs_text so the problem is avoided.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10222>
Lepton Wu [Mon, 19 Apr 2021 21:18:58 +0000 (14:18 -0700)]
virgl: move new added field to the end.
This field was introduced 2 months ago and it breaks virgl
compatibility between guest/host. Switch the new added field
to the end. We will still have compatibility issue but the
"bug window" is much smaller.
Fixes:
e778aceaae0 ("virgl: update headers")
Signed-off-by: Lepton Wu <lepton@chromium.org>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10333>
Francisco Jerez [Wed, 14 Apr 2021 22:01:24 +0000 (15:01 -0700)]
iris/gfx12: Invalidate ISP at the end of every batch.
As requested by Ken since we're now (after
20e2c7308f674122)
re-emitting constants at the beginning of every batch which may lead
to some redundant constant restore overhead. No statistically
significant performance changes observed with either change.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9903>
Dylan Baker [Fri, 16 Apr 2021 16:24:27 +0000 (09:24 -0700)]
meson: OpenMP is supposed to be optional
The code around it checks that it is found, so clearly it was meant to
be optional, not arequired.
Fixes:
cd2832ee5107201493d59f70983f162653e53c7d
("meson: add an optional OpenMP dependency for AMD tests")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10286>
Alejandro Piñeiro [Thu, 15 Apr 2021 23:06:34 +0000 (01:06 +0200)]
v3dv/pipeline: track descriptor maps per stage, not per pipeline
One of the conclusions of our recent clean up on the limits was that
the pipeline limits needed to be the per-stage limits multiplied by
the number of stages.
But until now we only have a set of descriptor maps for the full
pipeline. That would work if we could set the same limit per pipeline
that per stage, but that is not the case. So if, for example, we have
the fragment shader using V3D_MAX_TEXTURE_SAMPLERS textures, and then
the vertex shader, with a different descriptor set, using one texture,
we would get an index greater that V3D_MAX_TEXTURE_SAMPLERS. We assert
that index as an error on the vulkan backend, but fwiw, it would be
also asserted on the compiler.
With this commit we track and allocate a descriptor map per stage,
although we reuse the vertex shader descriptor map for the vertex bin.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10272>
Michel Zou [Sun, 18 Apr 2021 13:44:58 +0000 (15:44 +0200)]
meson: link vulkan_util with link_whole on mingw
It was missing for mingw.
Closes #4633
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: James Park <jpark37@lagfreegames.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10276>
Michel Zou [Thu, 15 Apr 2021 20:38:44 +0000 (22:38 +0200)]
gallium: fix uninitialized variable warning
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10276>
Michel Zou [Thu, 15 Apr 2021 20:38:24 +0000 (22:38 +0200)]
vulkan: fix duplicate win32 def
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10276>
Michel Zou [Thu, 15 Apr 2021 20:37:58 +0000 (22:37 +0200)]
lavapipe: fix unused variable warning
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10276>
Eric Anholt [Mon, 19 Apr 2021 18:49:14 +0000 (11:49 -0700)]
freedreno/a6xx: Don't try to do Z-as-RGBA blits for mismatched formats.
Fixes piglit crashes doing glCopyTexSubImage from (for example)
PIPE_FORMAT_Z24_UNORM_S8_UINT to PIPE_FORMAT_Z32_FLOAT_S8X24_UINT where,
in addition to reading the source Z values incorrectly, we would try to
dereference the missing separate stencil of the Z24S8 buffer.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10328>
Lionel Landwerlin [Mon, 19 Apr 2021 15:48:09 +0000 (18:48 +0300)]
spirv: fix uToAccelerationStructure handling
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
7f223a2329a7d3 ("spirv: Implement SpvOpConvertUToAccelerationStructureKHR")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10324>
Eric Anholt [Mon, 19 Apr 2021 19:15:06 +0000 (12:15 -0700)]
freedreno: Mark glsl-fs-fogscale as a Fail.
I have a note in -flakes.txt about how it can flake to being a Crash
instead of a Fail, but I haven't been able to reproduce that flake today.
It does always fail in the GS subtest, though, so quiet the flake spam in
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10330>
Billy Laws [Sun, 28 Mar 2021 15:17:26 +0000 (15:17 +0000)]
meson: Increase Android Platform SDK version limit
This is required to allow building with support for newer whitelisted
extensions such as VK_KHR_performance_query.
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9878>
Eric Anholt [Wed, 14 Apr 2021 18:28:54 +0000 (11:28 -0700)]
mapi: Respect MESA_DEBUG=silent for no-op debug output.
We set this in deqp-runner runs to disable Mesa debug/debugoptimized
builds printing to stderr for expected GL test behavior, and with the
addition of dEQP-EGL mapi got very verbose. Move it to a call_once() too
to avoid data races.
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10240>
Eric Anholt [Fri, 2 Apr 2021 17:38:53 +0000 (10:38 -0700)]
ci/freedreno: Test dEQP-EGL against Xorg.
This should help us be able to refactor core EGL code with more
confidence, and increase our confidence uprevving Mesa in ChromeOS.
Part of #1884
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10240>
Eric Anholt [Fri, 2 Apr 2021 17:37:24 +0000 (10:37 -0700)]
ci/llvmpipe: Test dEQP-EGL against Xvfb.
This should help us refactor EGL code with more confidence than just
relying on piglit. Reveals several llvmpipe EGL issues.
Part of #1884
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10240>
Eric Anholt [Fri, 2 Apr 2021 17:31:28 +0000 (10:31 -0700)]
ci: Build deqp-egl targeting x11_egl_glx
This will be used to test llvmpipe against Xvfb and freedreno against
Xorg. We keep the core deqp testing on surfaceless because
--deqp-surface-type=pbuffer fails on x11_egl_glx, =fbo has never worked in
VK-GL-CTS, and =window would increase test runtime for all the
swapbuffers.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10240>
Alyssa Rosenzweig [Thu, 15 Apr 2021 22:27:52 +0000 (18:27 -0400)]
panfrost: Allow FPK when there are no side effects
Enables FPK for most real content.
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/10271>
Alyssa Rosenzweig [Thu, 15 Apr 2021 22:25:54 +0000 (18:25 -0400)]
panfrost: Don't allow FPK if a RT is missing
A fragment shader that forgets to write to one of the bound render
targets (in the presence of MRT) invalidates a core FPK invariant. Check
for this and add it to the naughty list.
I don't think this needs a backport since FPK isn't really used yet.
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/10271>
Alyssa Rosenzweig [Thu, 15 Apr 2021 22:20:58 +0000 (18:20 -0400)]
panfrost: Invert blend_reads_dest logic
Easier to understand (and match to actual hardware behaviour) this way.
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/10271>
Alyssa Rosenzweig [Thu, 15 Apr 2021 22:13:38 +0000 (18:13 -0400)]
panfrost: Set clean_fragment_write for blits
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/10271>
Alyssa Rosenzweig [Thu, 15 Apr 2021 22:10:24 +0000 (18:10 -0400)]
panfrost: Set allow_forward_pixel_to_be_killed for blit
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/10271>
Alyssa Rosenzweig [Thu, 15 Apr 2021 22:09:19 +0000 (18:09 -0400)]
panfrost: Don't allow_forward_pixel_to_kill for Z/S blit
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/10271>
Alyssa Rosenzweig [Fri, 16 Apr 2021 23:40:14 +0000 (19:40 -0400)]
nir: Update some comments referring to imov
This was renamed when I was in high school. I remember updating the
Midgard compiler while sitting in AP Physics.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10296>
Eric Anholt [Fri, 9 Apr 2021 23:50:15 +0000 (16:50 -0700)]
zink: Enable PIPE_CAP_PACKED_UNIFORMS.
We already support everything necessary and just need to ask the frontend
to DTRT. This makes UBO0 get more tightly packed, saving upload space,
and allows for _mesa_optimize_state_parameters() as well.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10150>
Eric Anholt [Fri, 9 Apr 2021 23:32:48 +0000 (16:32 -0700)]
panfrost: Enable packed uniforms.
Since we can handle arbitrary offsets in the load_ubo paths, we can let
the GLSL compiler pack UBO 0 tighter, saving uniform uploads. This may
cause some straddling loads that could reduce performance for vec3s, but
those are rare in shader-db and we expect this to be outweighed by the
wins for normal float/vec2 packing.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10151>
Erik Faye-Lund [Mon, 19 Apr 2021 10:41:01 +0000 (12:41 +0200)]
zink: document requirement of VK_EXT_custom_border_color
Without this extension, we misrender when custom border colors are
used. Let's document this, and emit a warning when the extension is
missing.
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10316>
Bas Nieuwenhuizen [Mon, 19 Apr 2021 11:23:23 +0000 (13:23 +0200)]
radv: Fix memory leak on descriptor pool reset with layout_size=0.
Gotta track those sets too to free them. Alse changed the search
on destroy to check for set instead of offset since offset is not
necessarily unique anymore.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4652
CC: mesa-stable
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10317>
Mauro Rossi [Sat, 17 Apr 2021 11:41:10 +0000 (13:41 +0200)]
android: panfrost/lib: add pan_cs.c to Makefile.sources
Fixes the following building errors:
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
...
ld.lld: error: undefined symbol: pan_emit_tls
>>> referenced by pan_cmdstream.c:2279 (external/mesa/src/gallium/drivers/panfrost/pan_cmdstream.c:2279)
...
ld.lld: error: undefined symbol: pan_emit_fbd
>>> referenced by pan_cmdstream.c:2302 (external/mesa/src/gallium/drivers/panfrost/pan_cmdstream.c:2302)
...
ld.lld: error: undefined symbol: pan_emit_fragment_job
>>> referenced by pan_cmdstream.c:2382 (external/mesa/src/gallium/drivers/panfrost/pan_cmdstream.c:2382)
...
ld.lld: error: undefined symbol: pan_emit_bifrost_tiler_heap
>>> referenced by pan_job.c:718 (external/mesa/src/gallium/drivers/panfrost/pan_job.c:718)
...
ld.lld: error: undefined symbol: pan_emit_bifrost_tiler
>>> referenced by pan_job.c:723 (external/mesa/src/gallium/drivers/panfrost/pan_job.c:723)
...
ld.lld: error: undefined symbol: pan_fbd_has_zs_crc_ext
>>> referenced by pan_job.c:893 (external/mesa/src/gallium/drivers/panfrost/pan_job.c:893)
...
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
Cc: 21.1 <mesa-stable@lists.freedesktop.org>
Fixes:
387f8c037d38 ("panfrost: Add various helpers to simplify FB desc emission")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10299>
Chia-I Wu [Fri, 16 Apr 2021 17:34:15 +0000 (10:34 -0700)]
venus: refactor vn_queue_submission_count_semaphores
Add vn_queue_submission_count_batch_semaphores that works on a single
batch at a time. Also avoid code duplication.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10290>
Jesse Natalie [Sat, 17 Apr 2021 02:00:55 +0000 (19:00 -0700)]
gallium: Define PIPE_ARCH_AARCH64 for MSVC arm64 builds
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10014>
Eric Anholt [Mon, 5 Apr 2021 16:33:21 +0000 (09:33 -0700)]
util/format: Add some NEON intrinsics-based u_format_unpack.
In looking at the profile of dEQP, GLES3 was spending 5-10% of its time in
ReadPixels, and almost all of that is b8g8r8a8_unorm8. It's really slow
because we're getting about 47MB/s by doing uncached reads 32 bits at a
time in the code-generated unpack. If we use NEON to generate larger bus
transactions, we can speed things up to 136MB/s. In comparison, raw
ldr/str read/writes with no byte swapping can hit a max of 216MB/sec.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10014>
Eric Anholt [Fri, 2 Apr 2021 21:35:01 +0000 (14:35 -0700)]
util: Switch the non-block formats to unpacking rgba rows instead of rects.
We have only a few callers of unpack that do rects, so add a helper that
iterates over y adding the strides. This saves us 36kb of generated code
and means that adding cpu-specific variants for RGBA format unpack will be
much simpler.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10014>
Eric Anholt [Fri, 2 Apr 2021 23:32:22 +0000 (16:32 -0700)]
mesa: Remove dead _mesa_unpack_rgba_block().
Despite many changes over its lifetime, it appears to have been dead ever
since its introduction in 2011.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10014>
Drew Davenport [Tue, 9 Mar 2021 23:49:47 +0000 (16:49 -0700)]
radeonsi: Report multi-plane formats as unsupported
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6693 added
NV12 lowering to PIPE_FORMAT_R8_G8B8_420_UNORM, which regressed some
video decode use cases in radeonsi, for example CtsDecodeTestCases in
android CTS. There are also discolored frames in video playback use
cases (i.e. youtube).
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3632
previously fixed similar issues in radeonsi. This change takes that a
step further to report any multi-plane format as unsupported.
Fixes:
826a10255f5 ("st/mesa: Add NV12 lowering to PIPE_FORMAT_R8_G8B8_420_UNORM")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tested-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9490>
Danylo Piliaiev [Fri, 5 Mar 2021 18:28:54 +0000 (20:28 +0200)]
turnip: implement VK_KHR_shader_terminate_invocation
OpTerminateInvocation provides the behavior required by the GLSL
discard statement, which we already implement.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9460>
Danylo Piliaiev [Fri, 5 Mar 2021 18:01:34 +0000 (20:01 +0200)]
turnip: implement VK_EXT_shader_demote_to_helper_invocation
The "demote" intrinsic has the semantics of D3D discard, which means
it doesn't change the control flow, allowing derivatives to work.
On A6xx there is no known way to check whether invocation was demoted,
thus we use nir_lower_is_helper_invocation.
Add "logical" OPC_DEMOTE which is later translated to "kill".
Such separation is necessary to run "kill" specific optimizations
which are invalid for "demote".
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9460>
Danylo Piliaiev [Fri, 5 Mar 2021 17:58:25 +0000 (19:58 +0200)]
nir: add lowering pass for helperInvocationEXT()
Some hardware doesn't have a way to check if invocation was demoted,
in such case we have to track it ourselves.
OpIsHelperInvocationEXT is specified as:
"An invocation is currently a helper invocation if it was originally
invoked as a helper invocation or if it has been demoted to a helper
invocation by OpDemoteToHelperInvocationEXT."
Therefore we:
- Set gl_IsHelperInvocationEXT = gl_HelperInvocation
- Add "gl_IsHelperInvocationEXT = true" right before each demote
- Add "gl_IsHelperInvocationEXT = gl_IsHelperInvocationEXT || condition"
right before each demote_if
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9460>
Eric Anholt [Fri, 16 Apr 2021 21:47:14 +0000 (14:47 -0700)]
ci/lava: Point the shader cache at tmpfs.
We really don't want to be going out over NFS and back for our shader
cache references.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10297>
Eric Anholt [Fri, 16 Apr 2021 21:39:56 +0000 (14:39 -0700)]
ci/piglit: Always include the HTML summary in a run.
It's the best visualization for run results when using the piglit
framework, and now all the DUTs return artifacts.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10297>
Eric Anholt [Fri, 16 Apr 2021 21:18:07 +0000 (14:18 -0700)]
ci/lava: Return the run's results/ artifacts from the DUTs.
Finally LAVA users will be able to see deqp XMLs on failures from the
job's artifacts browser. This replaces a couple of one-off minio uploads
in the piglit runner.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10297>
Eric Anholt [Fri, 5 Feb 2021 22:46:48 +0000 (14:46 -0800)]
ci/lavapipe: Don't include deqp's shader_cache in the artifacts.
We don't care to look at it and we don't reuse it.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10297>
Samuel Pitoiset [Mon, 19 Apr 2021 11:47:14 +0000 (13:47 +0200)]
aco: fix opquantize2f16 on GFX6-7
Make sure to preserve signed zeroes.
Fixes dEQP-VK.spirv_assembly.instruction.compute.opquantize.flush_to_zero
on GFX6 (Pitcairn). Untested on GFX7.
Fixes:
54a09545ec6 ("aco: optimize a*0.0")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10319>
Connor Abbott [Fri, 16 Apr 2021 15:13:30 +0000 (17:13 +0200)]
ir3: Assemble and disassemble swz/gat/sct
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10291>
Connor Abbott [Fri, 16 Apr 2021 12:07:44 +0000 (14:07 +0200)]
ir3: Improve cat1 modifier disassembly
Remove bit that shouldn't be part of (rptN), and rewrite the handling of
(even) and (pos_infinity) to uncover a missing (neg_infinity) modifier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10291>
Connor Abbott [Fri, 16 Apr 2021 16:36:20 +0000 (18:36 +0200)]
ir3/parser: Fix oob write with immediates array
immediates_count and immediates_size are supposed to have the same
units, but it was only incrementing immediates_count by 1. While we're
here, also fix the case where constants are specified out-of-order.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10291>
Jesse Natalie [Sun, 18 Apr 2021 00:26:37 +0000 (17:26 -0700)]
microsoft/clc: If local size isn't specified either in the shader or at runtime, set it to (1,1,1)
Otherwise we can end up in situations like having divide-by-zero. If the optimization is smart enough
that we end up with a *constant* divide-by-zero, then the DXIL validator will fail to sign, which
can trigger fatal errors with CLOn12.
We want to run an initial translation of all kernels during program build, but at that point we don't
know the local size to be able to specify it through kernel specialization data.
v2: Metadata output of 0 is used to indicate that the size wasn't explicitly specific. Copy the
size to the metadata before overriding it to (1,1,1). If conf was explicitly specified,
update the metadata again (though nobody should be paying attention to it).
Closes: https://github.com/microsoft/OpenCLOn12/issues/20
Closes: https://github.com/darktable-org/darktable/issues/8700
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10303>
Stéphane Marchesin [Wed, 14 Apr 2021 06:05:24 +0000 (08:05 +0200)]
virgl: resources without any binding can be cached
Certain games create and destroy lots of resources without binding them.
This can take quite a bit of time and even create unneeded
synchronization. However, we know that if a resource was never bound to
anything, it can be cached. This change does that.
Counting the number of uncached allocation with a tabletop simulator trace:
Before: 2967 uncached allocations over the replay
After: 24 uncached allocations over the replay
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10225>
Erik Faye-Lund [Wed, 7 Apr 2021 17:29:40 +0000 (19:29 +0200)]
nir/lower_tex: do not stumble on 16-bit inputs
If a has been lowered to float16 here, then we end up trying to
construct a vector of mixed precision, which the validator asserts
about.
So let's make sure we use the same type for all arguments.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10201>
Erik Faye-Lund [Mon, 19 Apr 2021 11:30:22 +0000 (13:30 +0200)]
lavapipe: implement VK_EXT_custom_border_color
This fixes a bunch of piglit failures on Zink.
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10320>
Erik Faye-Lund [Mon, 19 Apr 2021 11:25:36 +0000 (13:25 +0200)]
lavapipe: resolve border-color when creating sampler
This is going to make it easier to implement the custom border-color
extension.
While we're moving the code, tweak the memset code a bit, so we don't do
any float-ism in the int-case. It doesn't change anything functionally,
just makes it slightly clearer what's going on here.
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10320>
Mike Blumenkrantz [Thu, 15 Apr 2021 16:50:19 +0000 (12:50 -0400)]
st/pbo: use cso_set_vertex_buffers_and_elements() for st_pbo_draw
this lets us use the more consistent codepath and ordering (buffers -> elems)
as well as set take_ownership=true to skip the unref
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10257>
Mike Blumenkrantz [Thu, 15 Apr 2021 14:20:29 +0000 (10:20 -0400)]
zink: fix tcs input reservation for user vars
tcs user vars are var_size[32], which isn't actually how many slots they need,
just how big the variable is (oops), so this needs to be divided
by MAX_PATCH_VERTICES to get the real slot count
slot mapping has always been broken for all tcs inputs, but this probably fixes
all of the related issues there, including unlimited crashes when playing Tomb Raider
Fixes:
2d98efd3232 ("zink: pre-populate locations in variables")
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10269>
Mike Blumenkrantz [Thu, 15 Apr 2021 14:23:21 +0000 (10:23 -0400)]
zink: fix tcs slot map eval for user vars
tcs user inputs need to have their size adjusted in order to determine whether
they'll overflow the existing slot map
Fixes:
5c5e1abea24 ("zink: evaluate existing slot map during program init and force new map as needed")
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10269>
Mike Blumenkrantz [Thu, 15 Apr 2021 14:24:33 +0000 (10:24 -0400)]
zink: always copy the nir shader before compiling
nir_convert_from_ssa and assign_io_locations both modify this unconditionally,
the latter of which possibly re-modifies variables in ways that can break the
slot map and cause stack overflows during vk driver pipeline compilation
Fixes:
2b4609b66cd ("zink: run nir_convert_from_ssa last during compile")
Fixes:
2d98efd3232 ("zink: pre-populate locations in variables")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10269>
Erik Faye-Lund [Thu, 15 Apr 2021 08:17:55 +0000 (10:17 +0200)]
zink: fix stencil-export cap emission
This cap should only ever be emitted for fragment-shaders, but we
accidentally emit it for all shaders. Let's tighten the check to avoid a
validator warning when emitting non-fragment shaders without support for
VK_EXT_shader_stencil_export.
Fixes:
8724d4fb361 ("zink: check shader stencil output")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10249>
Marek Olšák [Fri, 2 Apr 2021 15:27:31 +0000 (11:27 -0400)]
gallium/util: add easy profiling helpers using TIME_ELAPSED queries
There are no users and that's intentional.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10262>
Gert Wollny [Mon, 19 Apr 2021 07:42:00 +0000 (09:42 +0200)]
Revert "r600: don't set an index_bias for indirect draw calls"
This reverts commit
acdf1a123436cb3fa7d4bbc9cfbb9566c7693de4.
While this commit fixed the gles CTS regressions, it introduced
regressions that made the driver unusable, hence the revert.
Closes #4657
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10311>
Lionel Landwerlin [Sun, 18 Apr 2021 09:45:01 +0000 (12:45 +0300)]
vulkan/util: cast enums to int64_t in switch
With the new Vulkan Video extensions a bunch of enum values have been
added. The problem is that those are behind #ifdef so our generated
code complains that we using enum values not defined.
Since we're not using enum names but integer values, we can silence
all those by casting the enum type to int64_t.
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/10304>
Dave Airlie [Sun, 18 Apr 2021 23:36:19 +0000 (09:36 +1000)]
iris: move target to isl dim translate to inline.
This avoids a conflict in namespace when crocus wants to use the
same function.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10308>
Dave Airlie [Sun, 18 Apr 2021 23:30:49 +0000 (09:30 +1000)]
iris: move get_time into a static in bufmgr code.
This ends up polluting the namespace if you build iris/crocus
at once, just move it to where it's used for now.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10308>
Rob Clark [Fri, 16 Apr 2021 19:26:04 +0000 (12:26 -0700)]
freedreno/fdl: Re-indent
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10293>
Rob Clark [Fri, 16 Apr 2021 18:59:30 +0000 (11:59 -0700)]
freedreno/perfcntrs: Re-indent
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10293>
Rob Clark [Fri, 16 Apr 2021 18:34:25 +0000 (11:34 -0700)]
freedreno/ir2: Re-indent
clang-format -fallback-style=none --style=file -i src/freedreno/ir2/*.[ch]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10293>
Rob Clark [Fri, 16 Apr 2021 18:31:40 +0000 (11:31 -0700)]
freedreno/drm-shim: Re-indent
clang-format -fallback-style=none --style=file -i src/freedreno/drm-shim/*.[ch]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10293>
Rob Clark [Fri, 16 Apr 2021 18:25:06 +0000 (11:25 -0700)]
freedreno/decode: Re-indent
clang-format -fallback-style=none --style=file -i src/freedreno/decode/*.[ch]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10293>
Rob Clark [Fri, 16 Apr 2021 17:54:12 +0000 (10:54 -0700)]
freedreno/computerator: Re-indent
clang-format -fallback-style=none --style=file -i src/freedreno/computerator/*.[ch]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10293>
Rob Clark [Fri, 16 Apr 2021 17:51:51 +0000 (10:51 -0700)]
freedreno/common: Re-indent
clang-format -fallback-style=none --style=file -i src/freedreno/common/*.[ch]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10293>
Rob Clark [Fri, 16 Apr 2021 17:49:48 +0000 (10:49 -0700)]
freedreno/afuc: Re-indent
clang-format -fallback-style=none --style=file -i src/freedreno/afuc/*.[ch]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10293>
Rob Clark [Fri, 16 Apr 2021 17:42:48 +0000 (10:42 -0700)]
freedreno/drm: Re-indent
clang-format -fallback-style=none --style=file -i src/freedreno/drm/*.[ch]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10293>
Marek Olšák [Thu, 15 Apr 2021 00:08:03 +0000 (20:08 -0400)]
radeonsi: fix automatic DCC retiling after compute image stores
Only internal compute shaders use DCC stores, so the TODOs are not
critical yet.
Fixes:
1d64a1045ea - radeonsi: enable dcc image stores on gfx10+
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10261>
Marek Olšák [Thu, 15 Apr 2021 00:08:03 +0000 (20:08 -0400)]
radeonsi: fix automatic DCC retiling after DCC clear and DCC decompression
Fixes:
d4f7962d48b - radeonsi: Add displayable DCC flushing without explicit flushes.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10261>
Marek Olšák [Mon, 12 Apr 2021 01:57:10 +0000 (21:57 -0400)]
radeonsi: fix incorrect comments in culling code and NIR lowering
The lowering code removes the "VS inputs" item from the list because the hw
doesn't support indirect indexing of VS inputs.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10261>
Marek Olšák [Wed, 24 Mar 2021 00:49:18 +0000 (20:49 -0400)]
radeonsi: don't decompress DCC for float formats in si_compute_copy_image
Format reinterpretation disabled it.
Fixes:
1d64a1045ea205ee0297d2f741a824811570fc6d "radeonsi: enable dcc image stores on gfx10+"
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10261>
Marek Olšák [Sun, 28 Mar 2021 09:11:09 +0000 (05:11 -0400)]
amd/registers: rename IMG_FORMAT to GFX10_FORMAT to disambiguate the meaning
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10261>
Marek Olšák [Sun, 28 Mar 2021 04:42:13 +0000 (00:42 -0400)]
amd/registers: clean up gfx103.json
because gfx103.json is automatically generated and can't be changed
manually. This fixes the file generator without changing the generated
header.
Missing registers must be in registers-manually-defined.json, and
missing fields must be in parse_kernel_headers.py.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10261>
Marek Olšák [Sun, 28 Mar 2021 05:03:42 +0000 (01:03 -0400)]
amd/registers: fix the kernel header parser with latest headers
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10261>
Chia-I Wu [Fri, 16 Apr 2021 19:43:51 +0000 (12:43 -0700)]
venus: add vn_wsi_create_scanout_image
A helper called from vn_wsi_create_scanout_image to hijack wsi scanout
image creation.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10294>
Chia-I Wu [Fri, 16 Apr 2021 19:26:21 +0000 (12:26 -0700)]
venus: add vn_image_create
A helper called from vn_CreateImage to allocate and initialize vn_image.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10294>
Chia-I Wu [Fri, 16 Apr 2021 19:22:16 +0000 (12:22 -0700)]
venus: add vn_image_init_memory_requirements
A helper called from vn_CreateImage to initialize memory requirements.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10294>
Eric Anholt [Fri, 9 Apr 2021 23:10:30 +0000 (16:10 -0700)]
nir: Generate load_ubo_vec4 directly for !PIPE_CAP_NATIVE_INTEGERS
The prog_to_nir->NIR-to-TGSI change ended up causing regressions on r300,
and svga against r300-class hardware, because nir_lower_uniforms_to_ubo()
introduced shifts that nir_lower_ubo_vec4() tried to reverse, but that NIR
couldn't prove are no-ops (since shifting up and back down may drop bits),
and the hardware can't do the integer ops.
Instead, make it so that nir_lower_uniforms_to_ubo can generate
nir_intrinsic_load_ubo_vec4 directly for !INTEGER hardware.
Fixes:
cf3fc79cd0ab ("st/mesa: Replace mesa_to_tgsi() with prog_to_nir() and nir_to_tgsi().")
Closes: #4602
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10194>
Eric Anholt [Mon, 12 Apr 2021 18:47:45 +0000 (11:47 -0700)]
nir_to_tgsi: Use ARL instead of UARL in the !native_integers case.
Our "integer" index is stored as a float in this case, and we just need to
use teh right opcode for loading it, which will be the only one supported
by !native_integers hardware.
Fixes:
cf3fc79cd0ab ("st/mesa: Replace mesa_to_tgsi() with prog_to_nir() and nir_to_tgsi().")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10194>
Mike Blumenkrantz [Thu, 15 Apr 2021 19:46:36 +0000 (15:46 -0400)]
zink: compare against screen batch id when determining which semaphore to use
semaphores are per-screen now, so check the screen value
Fixes:
fa36a16c684 ("zink: make timeline semaphores per-screen")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10267>