Samuel Pitoiset [Thu, 7 Jan 2021 15:18:31 +0000 (16:18 +0100)]
ac/surface: initialize dcc_slice_size on GFX9+
Will be used by RADV to implement DCC layers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8368>
Michel Dänzer [Fri, 8 Jan 2021 17:45:33 +0000 (18:45 +0100)]
wsi/x11: Make sure wsi_x11_connection::is_xwayland is always initialized
We wouldn't initialize it if the X server didn't support the RANDR
extension (though that's unlikely these days).
Fixes:
b5268d532a01 "wsi/x11: Detect Xwayland"
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8393>
Michel Dänzer [Fri, 8 Jan 2021 17:54:09 +0000 (18:54 +0100)]
wsi/x11: Always free randr_reply in wsi_x11_connection_create
Fixes memory leak.
Fixes:
b5268d532a01 "wsi/x11: Detect Xwayland"
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8393>
Michel Dänzer [Fri, 8 Jan 2021 17:49:20 +0000 (18:49 +0100)]
wsi/x11: Use wsi_x11_get_connection in x11_present_to_x11_dri3
Instead of creating a new wsi_x11_connection every time.
Fixes memory leak and bad performance.
Fixes:
4292fb213928 "wsi/x11: Use PresentOptionAsync for MAILBOX present mode with Xwayland"
Reported-by: Chris Rankin <rankincj@yahoo.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8393>
Erico Nunes [Sun, 30 Aug 2020 13:07:23 +0000 (15:07 +0200)]
nir/lower_vec_to_movs: don't vectorize unsupports ops
If the instruction being coalesced would be vectorized but the target
doesn't support vectorizing that op, skip coalescing.
Reuse the callbacks from alu_to_scalar to describe which ops should not
be vectorized.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6506>
Timur Kristóf [Wed, 25 Nov 2020 19:05:25 +0000 (20:05 +0100)]
aco: Spill more optimally before loops.
This further reduces the dead code emitted by the spiller.
Some minimal amount of dead IR is still emitted sometimes,
but that doesn't generate any compiled code at the end.
Totals from 1953 (1.40% of 139391) affected shaders:
VGPRs: 206980 -> 206588 (-0.19%)
SpillSGPRs: 24719 -> 16423 (-33.56%); split: -33.58%, +0.02%
CodeSize:
28448516 ->
28343836 (-0.37%); split: -0.38%, +0.01%
MaxWaves: 8960 -> 8992 (+0.36%)
Instrs: 5422049 -> 5408334 (-0.25%); split: -0.26%, +0.01%
Cycles:
511240864 ->
512460764 (+0.24%); split: -0.02%, +0.26%
VMEM: 346681 -> 346468 (-0.06%); split: +0.27%, -0.33%
SMEM: 124160 -> 122802 (-1.09%); split: +0.33%, -1.42%
VClause: 81102 -> 81163 (+0.08%); split: -0.01%, +0.09%
SClause: 174404 -> 174237 (-0.10%); split: -0.23%, +0.13%
Copies: 530216 -> 532961 (+0.52%); split: -0.90%, +1.42%
Branches: 189114 -> 189221 (+0.06%); split: -0.13%, +0.18%
PreSGPRs: 206017 -> 206526 (+0.25%); split: -0.08%, +0.33%
PreVGPRs: 183103 -> 182964 (-0.08%)
Co-authored-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8026>
Timur Kristóf [Wed, 25 Nov 2020 18:57:05 +0000 (19:57 +0100)]
aco: Keep live-though variables and constants spilled.
This noticably reduces the amount of dead code emitted by our
spiller, when eg. previously a constant was spilled then
rematerialized before a loop, but then spilled again inside the loop.
Fossil DB changes on Navi 10:
Totals from 263 (0.19% of 139391) affected shaders:
VGPRs: 30044 -> 30028 (-0.05%)
SpillSGPRs: 8800 -> 4948 (-43.77%)
CodeSize: 4496040 -> 4335448 (-3.57%); split: -3.57%, +0.00%
Instrs: 843942 -> 819219 (-2.93%); split: -2.93%, +0.00%
Cycles:
76485744 ->
73549080 (-3.84%); split: -4.04%, +0.20%
VMEM: 38204 -> 38147 (-0.15%); split: +0.08%, -0.23%
SMEM: 17872 -> 17959 (+0.49%)
SClause: 24298 -> 24012 (-1.18%)
Copies: 98023 -> 82960 (-15.37%); split: -15.38%, +0.01%
Branches: 29074 -> 27632 (-4.96%)
PreVGPRs: 25291 -> 25241 (-0.20%)
Co-authored-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8026>
Bas Nieuwenhuizen [Tue, 24 Nov 2020 22:02:54 +0000 (23:02 +0100)]
radv: Enable sparse buffer and image support.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Bas Nieuwenhuizen [Sun, 6 Dec 2020 20:42:35 +0000 (21:42 +0100)]
radv: Add sparse image queries.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Bas Nieuwenhuizen [Sun, 6 Dec 2020 18:17:03 +0000 (19:17 +0100)]
radv: Add image sparse memory update implementation.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Bas Nieuwenhuizen [Sat, 28 Nov 2020 01:56:20 +0000 (02:56 +0100)]
radv: Create sparse images.
Disable all metadata for now.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Bas Nieuwenhuizen [Fri, 8 Jan 2021 23:39:51 +0000 (00:39 +0100)]
radv/winsys: Fix offset in range merging.
If we change the virtual address we also have to change the offset in the buffer
to be mapped.
Fixes:
715df30a4e2 "radv/amdgpu: Add winsys implementation of virtual buffers."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Bas Nieuwenhuizen [Sun, 6 Dec 2020 15:05:41 +0000 (16:05 +0100)]
radv/winsys: Fix inequality for sparse buffer remapping.
Found a case where we mapped a range too many.
Per the comment the constraint is:
/* [first, last] is exactly the range of ranges that either overlap the
* new parent, or are adjacent to it. This corresponds to the bind ranges
* that may change.
*/
So that means that after the ++last we the ranges[last] should still
be adjacent. So we need to test the post-increment value to see whether
it is adjacent.
Failure case:
ranges:
0: 0 - ffff
1: 10000 - 1ffff
2: 20000 - 2ffff
3: 30000 - 3ffff
new range: 10000 - 1ffff
wrong first, last: 0,3
However range 3 clearly isn't adjacent at all.
Fixes:
715df30a4e2 "radv/amdgpu: Add winsys implementation of virtual buffers."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Bas Nieuwenhuizen [Wed, 23 Dec 2020 20:07:38 +0000 (21:07 +0100)]
ac/surf: Use correct tilemodes on GFX8 for PRT.
Otherwise addrlib will assign the non-PRT tiling indices anyway ...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Bas Nieuwenhuizen [Sun, 6 Dec 2020 18:13:53 +0000 (19:13 +0100)]
ac/surf: Add sparse texture info to radeon_surf.
For GFX9 I didn't reuse the existing mipmap offset/pitch because
last time we did that there was a revert request from Marek.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Bas Nieuwenhuizen [Sat, 28 Nov 2020 01:51:05 +0000 (02:51 +0100)]
ac/surf: Implement PRT layout.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Bas Nieuwenhuizen [Sat, 28 Nov 2020 01:46:29 +0000 (02:46 +0100)]
ac/surf: Prepare for 64-bit flags.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
Samuel Pitoiset [Fri, 8 Jan 2021 13:39:40 +0000 (14:39 +0100)]
radv: only re-initialize HTILE after ds compute resolves if compressed
If the current layout isn't compressed we don't have to re-initialize
the HTILE metadata.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8389>
Samuel Pitoiset [Fri, 8 Jan 2021 13:35:36 +0000 (14:35 +0100)]
radv: re-initialize HTILE properly after depth/stencil compute resolves
This was added to workaround some CTS failures which no longer happen.
Note that radv_clear_htile() will only clear the depth or stencil
bytes of the HTILE buffer based on the aspect.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8389>
Samuel Pitoiset [Thu, 7 Jan 2021 07:38:01 +0000 (08:38 +0100)]
radv: disable TC-compat HTILE in GENERAL for Detroit: Become Human
The game has invalid usage of render loops and enabling TC-compat
HTILE in GENERAL introduces rendering issues.
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3063
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8359>
Samuel Pitoiset [Mon, 11 Jan 2021 08:20:48 +0000 (09:20 +0100)]
radv: fix crashes when fast-clearing in a secondary command buffer
iview can be NULL inside a secondary command buffer.
Fixes:
00064713a30 ("radv: determine at creation if an image view can be fast cleared")
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/8408>
Erik Faye-Lund [Sun, 10 Jan 2021 12:57:15 +0000 (13:57 +0100)]
zink: use hardware int64 when supported
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8403>
Erik Faye-Lund [Sun, 10 Jan 2021 12:58:26 +0000 (13:58 +0100)]
zink: add missing 64-bit integer ops
This seems to be all that's missing to support hardware int64 instead of
lowering it.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8403>
Erik Faye-Lund [Sun, 10 Jan 2021 12:52:41 +0000 (13:52 +0100)]
zink: add missing opcodes
This fixes a bunch of conversion-tests in the arb_gpu_shader_int64
piglit test-suite for me.
Fixes:
55e2d836f37 ("zink: enable 64bit pipe caps")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8403>
Pierre-Eric Pelloux-Prayer [Fri, 8 Jan 2021 12:17:42 +0000 (13:17 +0100)]
dri: enable glthread + radeonsi workaround for CS:GO
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4021
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8383>
Pierre-Eric Pelloux-Prayer [Fri, 8 Jan 2021 09:51:37 +0000 (10:51 +0100)]
ac/rgp: add missing include
The build would fail without this include if -std=gnu17 is used.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4057
Fixes:
ffdfe136e67 ("ac/sqtt: move rgp/sqtt def to ac")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8376>
Samuel Pitoiset [Fri, 8 Jan 2021 12:09:59 +0000 (13:09 +0100)]
ci: re-mark some depth/stencil resolve CTS as expected failures
They were removed during the last update but they still fail.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8385>
Samuel Pitoiset [Tue, 5 Jan 2021 13:28:53 +0000 (14:28 +0100)]
radv: do not predicate FMASK decompression when DCC+MSAA is used
Even if the FCE predicate is FALSE, we might still need to decompress
FMASK if compressed rendering was used. FMASK decompressions should
never been predicated.
This fixes a ton of CTS failures and a rendering issue with Control
when DCC+MSAA is force-enabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8331>
Samuel Pitoiset [Thu, 7 Jan 2021 19:37:05 +0000 (20:37 +0100)]
radv: determine at creation if an image view can be fast cleared
This can be determined earlier than every time a clear is performed
by the driver, it probably saves a bunch of CPU cycles.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8370>
Adam Jackson [Fri, 8 Jan 2021 15:10:53 +0000 (10:10 -0500)]
ci: Add a few more drivers to the cross builds
This is mostly to get additional -Werror coverage to avoid introducing
unforced ILP32 or big-endian errors. i386 adds lavapipe, r600, nouveau,
zink, and all the classic drivers. ppc64le adds lavapipe and zink, and
also adds -Werror for symmetry with the other cross builds. s390x also
adds lavapipe and zink.
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8394>
Adam Jackson [Fri, 8 Jan 2021 19:45:31 +0000 (14:45 -0500)]
zink: Fix VK_FORMAT_A8B8G8R8_SRGB_PACK32 mapping on big-endian
The PACK32 Vulkan formats need to map to the corresponding XYZWxxxx pipe
formats, since the latter take endianness into account.
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8394>
Adam Jackson [Fri, 8 Jan 2021 16:59:12 +0000 (11:59 -0500)]
nouveau: pacify gcc on ILP32
The gcc we're using (and quite possibly newer ones) throws a really
stupid error:
../src/gallium/drivers/nouveau/nouveau_buffer.c:765:22: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
buffer->address = (uint64_t)user_ptr;
Which... address is a uint64_t, and user_ptr is a void *, so this is
completely unambiguously safe to do. Apparently casting to uintptr_t
squelches this, so do that instead.
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8394>
Christian Gmeiner [Fri, 8 Jan 2021 12:01:56 +0000 (13:01 +0100)]
etnaviv: add set_stream_output_targets(..) stub
When running gles3 deqp's with ETNA_MESA_DEBUG=deqp we fake streamout support.
CSO thinks that streamout is supported and calls ctx->pipe->set_stream_output_targets(..)
in cso_destroy_context(..) which results in a null-pointer access.
Add a stub to make development easier.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8382>
Erik Faye-Lund [Wed, 6 Jan 2021 08:57:49 +0000 (09:57 +0100)]
zink: setup compiler options during init
This avoids duplicating the options just to change a single one.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8402>
Erik Faye-Lund [Wed, 6 Jan 2021 08:44:14 +0000 (09:44 +0100)]
zink: rename zink vs pipe variables
The general convention we use is "pscreen" for the pipe_screen, and
"screen" for the zink_screen, so let's stick with that here also.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8402>
X512 [Tue, 5 Jan 2021 14:34:15 +0000 (08:34 -0600)]
util/u_thread: Disable pthread_barrier_t on Haiku
* Causes a lockup on SMP systems
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Tue, 5 Jan 2021 06:12:38 +0000 (00:12 -0600)]
hgl: Major refactor and cleanup
* Drop old-timey GLDisplatcher
* Refactor haiku-softpipe fixing some hacks
* Bubble BBitmap up to winsys
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Sat, 22 Feb 2020 05:31:18 +0000 (14:31 +0900)]
targets/haiku-softpipe: Restore GalliumContext
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Tue, 5 Jan 2021 04:20:06 +0000 (22:20 -0600)]
aux/driver_ddebug: Normalize pid type from Haiku
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Tue, 5 Jan 2021 04:18:17 +0000 (22:18 -0600)]
frontends/hgl: set framebuffer id
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Tue, 5 Jan 2021 04:16:11 +0000 (22:16 -0600)]
frontends/hgl: set state_manager
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Mon, 27 Jan 2020 08:26:10 +0000 (17:26 +0900)]
hgl: use local headers instead of system header
* We should choose the header we're building with
and not the one installed by a previous mesa install
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Mon, 27 Jan 2020 05:40:06 +0000 (14:40 +0900)]
include: fix export in Haiku OpenGL kit headers
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Tue, 5 Jan 2021 04:13:09 +0000 (22:13 -0600)]
meson: fix Haiku EGL build; no dri requirement
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Mon, 27 Jan 2020 04:22:25 +0000 (13:22 +0900)]
hgl/meson: add version to libGL.so
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Mon, 27 Jan 2020 02:55:41 +0000 (11:55 +0900)]
targets/haiku-softpipe/meson: add libswpipe.so to install directory
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Tue, 5 Jan 2021 04:10:08 +0000 (22:10 -0600)]
util/meson: Add libnetwork dependency for Haiku
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
X512 [Tue, 5 Jan 2021 04:04:39 +0000 (22:04 -0600)]
util: implement GET_PROGRAM_NAME for Haiku
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8323>
Rhys Perry [Fri, 8 Jan 2021 15:23:07 +0000 (15:23 +0000)]
nir/opt_vectorize: fix srcs_equal() with two different non-const
To match hash_alu_src(), this should return false if both are different
non-const ssa defs.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8391>
Rhys Perry [Fri, 8 Jan 2021 15:13:44 +0000 (15:13 +0000)]
nir/opt_vectorize: fix typo in instr_can_rewrite()
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8391>
Mauro Rossi [Thu, 7 Jan 2021 21:59:53 +0000 (22:59 +0100)]
android: ac/radv: fix typo in ac_rgp.h listed in Makefile.sources
Fixes the following building error:
error: external/mesa/src/amd/Android.mk: libmesa_amd_common: Unused source files: common/ac_rgph.
Fixes:
4ec5cf5318f4 ("ac/radv: move radv_rgp.c to ac")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8371>
Marek Olšák [Wed, 6 Jan 2021 04:14:55 +0000 (23:14 -0500)]
gallium/u_threaded: skip draws if user index buffer size has size == 0
This happens when all draws have count == 0.
Fixes:
85b6ba136bdc2db5 "st/mesa: implement Driver.DrawGallium callbacks
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8345>
Marek Olšák [Wed, 6 Jan 2021 04:14:08 +0000 (23:14 -0500)]
vbo: fix a index buffer map failure with size = 0 in get_minmax_indices_gallium
Fixes:
85b6ba136bdc2db5 "st/mesa: implement Driver.DrawGallium callbacks
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8345>
Marek Olšák [Wed, 6 Jan 2021 04:11:38 +0000 (23:11 -0500)]
mesa: skip draws w/ count == 0 and instance_count == 0 in draw_gallium_fallback
Fixes:
85b6ba136bdc2db5 "st/mesa: implement Driver.DrawGallium callbacks
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8345>
Marek Olšák [Wed, 6 Jan 2021 04:07:46 +0000 (23:07 -0500)]
gallium: skip draws with count == 0 or instance_count == 0 in drivers
Fixes:
85b6ba136bdc2db5 "st/mesa: implement Driver.DrawGallium callbacks"
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8345>
nia [Sun, 6 Dec 2020 13:47:53 +0000 (14:47 +0100)]
util: Avoid pthread_setaffinity_np on NetBSD
NetBSD's variant has a different prototype from the Linux version
the code expects. It might make sense to add support for NetBSD's
version, however, since NetBSD defaults to not allowing non-root
users to set processor affinity, there would be little gain here.
This is a build fix for NetBSD.
Signed-off-by: Nia Alarie <nia@NetBSD.org>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
CC: 20.3 <mesa-stable@lists.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7947>
Vinson Lee [Tue, 5 Jan 2021 04:27:42 +0000 (20:27 -0800)]
clover: Add constructor for clover::module.
Fix defect reported by Coverity Scan after commit
95527fe2292
("clover/module: add a printf support to module (v5)").
Uninitialized scalar variable (UNINIT)
uninit_use_in_call: Using uninitialized value
m.printf_strings_in_buffer when calling module.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8322>
Nanley Chery [Tue, 24 Nov 2020 22:18:31 +0000 (14:18 -0800)]
iris: Drop fast_clear_color's blorp_flags param
Now that conditional fast clears are disabled, the blorp_flags parameter
is unused.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7762>
Nanley Chery [Tue, 24 Nov 2020 22:17:49 +0000 (14:17 -0800)]
iris: Delete iris_resolve_conditional_render
This function has no more users.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7762>
Nanley Chery [Fri, 8 Jan 2021 17:43:52 +0000 (09:43 -0800)]
iris: Disable conditional fast clears
For color buffers, conditional fast clears can cause aux-state tracking
to lose information necessary for resolves later on.
For depth buffers, they never actually worked because they occurred
unconditionally. Even if they were conditional, they would suffer from
the same issues as color buffers.
Enables iris to pass the nv_conditional_render-clear-bug piglit test.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3565
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7762>
Nanley Chery [Thu, 19 Nov 2020 00:17:42 +0000 (16:17 -0800)]
iris: Make can_fast_clear_depth return constants
Make can_fast_clear_depth more consistent with can_fast_clear_color.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7762>
Nanley Chery [Fri, 8 Jan 2021 18:18:28 +0000 (10:18 -0800)]
iris: Explain how conditional aux accesses work
Apart from an issue with fast clears that will be addressed soon,
aux-state tracking with conditional rendering works because the
aux-state info needed for performing required resolves is never lost.
Add comments explaining how this works. Assertions are omitted to avoid
having to pass render_condition variables into
iris_resource_prepare_access and iris_resource_finish_write.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7762>
Jason Ekstrand [Fri, 8 Jan 2021 18:37:31 +0000 (12:37 -0600)]
anv: Bump maxGeometryInputComponents to 128 on Gen8+
See
8e627af59d5bd416 and
1e3e72e3054de for why this may not be a good
idea on Gen7.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8397>
Eric Anholt [Thu, 7 Jan 2021 00:08:43 +0000 (16:08 -0800)]
nir/lower_locals_to_regs: Use the imul_imm helper instead of forcing it.
Cleaned up a bit of addressing math in the shader I just had to debug.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8373>
Eric Anholt [Thu, 7 Jan 2021 00:05:59 +0000 (16:05 -0800)]
gallium/ntt: Work around virglrenderer UIF handling bug.
Until just recently ("vrend: Fix TGSI UIF/IF behavior"), virgl does "if
(any(bvec4(src0)))" instead of "if (src0.x != 0)", despite the tgsi.rst
documentation and tgsi_exec agreeing on the second form. It's harmless to
work around it, since apparently NTT was the only one to not have scalar
swizzled the if condition.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8373>
Eric Anholt [Fri, 11 Dec 2020 22:59:37 +0000 (14:59 -0800)]
gallium/ntt: Drop comment about needing array_id for svga tess.
The svga tess stuff is about internally making a temp array, not arrayid
of the outputs.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8373>
Eric Anholt [Fri, 11 Dec 2020 22:36:47 +0000 (14:36 -0800)]
gallium/ntt: Drop comment about needing loop label setup.
BRK/CONT don't take a label, as shown by tgsi_opcode_tmp.h and the lack of
any users of a label on those instructions in tree. I can't find any user
of ENDLOOP's label. Additionally, GLSL-to-TGSI apparently never set up
the BGNLOOP label, so even nvfx's usage probably wants us to not set it.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8373>
Eric Anholt [Fri, 11 Dec 2020 21:40:31 +0000 (13:40 -0800)]
gallium/ntt: Add support for emitting TXF_LZ.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8373>
Eric Anholt [Fri, 11 Dec 2020 21:31:33 +0000 (13:31 -0800)]
gallium/ntt: Emit sample index when necessary for image load/store.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8373>
Eric Anholt [Fri, 11 Dec 2020 21:14:05 +0000 (13:14 -0800)]
gallium/ntt: Emit SSBO buffer declarations.
This doesn't set the atomic flag the way the old TGSI path used to,
leaving us with a possible delta in caching modes on nv50 tgsi.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8373>
Eric Anholt [Thu, 10 Dec 2020 20:08:13 +0000 (12:08 -0800)]
gallium/ntt: Drop XXX comment about supporting carry opcodes.
The GLSL-to-NIR path didn't do carry, so we don't need to.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8373>
Eric Anholt [Fri, 8 Jan 2021 18:32:37 +0000 (10:32 -0800)]
ci: Disable the freedreno farm, which went down last night.
We're debugging it now, but let merges flow until then.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8395>
Ilia Mirkin [Wed, 6 Jan 2021 05:48:23 +0000 (00:48 -0500)]
nv50: fake enough resume support pre-nva0 to pass gles3 requirements
GLES3 supports pause/resume of xfb. However since there's no geometry
shader support in ES3, it's a lot easier to figure out the offsets to
use. This makes it work for the dEQP tests at least.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8346>
Ilia Mirkin [Wed, 6 Jan 2021 05:46:49 +0000 (00:46 -0500)]
nv50: only support 4 components in separate xfb mode
This is consistent with what the blob reports.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8346>
Chia-I Wu [Fri, 25 Dec 2020 20:30:26 +0000 (12:30 -0800)]
virgl: fix modifier truncation
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8372>
Rhys Perry [Fri, 8 Jan 2021 15:44:15 +0000 (15:44 +0000)]
radv/winsys: set has_packed_math_16bit in null winsys
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8392>
Erik Faye-Lund [Wed, 6 Jan 2021 07:47:50 +0000 (08:47 +0100)]
microsoft/compiler: do not lower away 64-bit ffma
In DXIL, the FMA instruction only supports 64-bit operations. However,
back when we implemented support for this, there were only a single
switch for lowering all ffma instructions, so we couldn't easily use it.
But now that there's separate flags to lower ffma on 16, 32 and 64 bit,
we can lower 16 and 32 bit ffmas, and leave 64 bit ffmas alone.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8349>
Erik Faye-Lund [Wed, 6 Jan 2021 07:51:18 +0000 (08:51 +0100)]
microsoft/compiler: correct dxil fma opcode
When I originally added the FFMA opcode here, I added the FMAD opcode
instead of the FMA opcode. The reason for this is that it works on
32-bit values as well, so that seemed like a better fit.
But that's not correct, as the FMA opcode isn't a fused operation, so
let's correct the opcode.
This isn't currently in use, because we currently lower away all ffma
opcodes on the NIR level, but that's about to change.
While we're at it, let's also update the opcode name to match the DXIL
documentation.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8349>
Erik Faye-Lund [Fri, 8 Jan 2021 08:50:02 +0000 (09:50 +0100)]
zink: disable render_condition_enable during blit
We don't support stencil-exports yet, and even when we will, we might
not support it on all hardware. So we really need an alternative plan
here, even when render_condition_enable is true.
Fixing this properly is much more involved, and depends on reworking
render-condition along the lines that we do in !7746 to support pausing
and resuming properly first. So let's do the minimal thing, which is to
allow this to work in cases where no render-condition is active.
Fixes:
767f70dfe13 ("gallium/util: fix util_can_blit_via_copy_region for conditional rendering")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4056
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8379>
Simon Ser [Fri, 11 Dec 2020 11:56:28 +0000 (12:56 +0100)]
radv: only set BO metadata for the first plane
To properly support multi-planar images, we don't want to set metadata
on anything other than the first plane. To achieve this radv currently
checks for the image TILING and assumes LINEAR means it's not the first
plane.
However this doesn't account for images with a single LINEAR plane. We
still want to set metadata on those, e.g. to properly set the scanout
bit in the tiling flags.
Instead of checking for LINEAR, check if the offset is zero. Only the
first plane has a zero offset on AMD.
This mirrors the radeonsi logic [1].
While at it, move the metadata declaration into the if block.
[1]: https://gitlab.freedesktop.org/mesa/mesa/-/blob/
6fecdc6dda6da15d616a31900508214c81cd256e/src/gallium/drivers/radeonsi/si_texture.c#L710
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8086>
Mike Blumenkrantz [Mon, 4 Jan 2021 20:28:13 +0000 (15:28 -0500)]
zink: clamp shader input/output max values
some vulkan drivers (e.g., amdvlk) advertise absolutely huge values here,
resulting in bitmask overflows everywhere since gallium assumes a max of
32 for vertex inputs and nir uses 64bit types for others
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8318>
Rhys Perry [Mon, 23 Nov 2020 14:14:57 +0000 (14:14 +0000)]
radv: support SpvCapabilitySparseResidency
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Wed, 9 Dec 2020 15:47:00 +0000 (15:47 +0000)]
radv: implement is_sparse_texels_resident and sparse_residency_code_and
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Mon, 23 Nov 2020 15:02:28 +0000 (15:02 +0000)]
ac/nir: implement sparse image/texture loads
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Thu, 7 Jan 2021 13:29:35 +0000 (13:29 +0000)]
ac/nir: implement nir_op_vec5
Since sparse fetch/load uses vec5 destinations, it may be possible that we
encounter nir_op_vec5.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Mon, 23 Nov 2020 12:51:15 +0000 (12:51 +0000)]
aco: form sparse load clauses
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Fri, 20 Nov 2020 16:14:37 +0000 (16:14 +0000)]
aco: implement sparse image loads
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Fri, 20 Nov 2020 15:11:16 +0000 (15:11 +0000)]
aco: implement sparse texture fetches
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Mon, 23 Nov 2020 13:15:20 +0000 (13:15 +0000)]
aco: implement nir_op_vec5
Since sparse fetch/load uses vec5 destinations, it may be possible that we
encounter nir_op_vec5.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Thu, 19 Nov 2020 17:13:56 +0000 (17:13 +0000)]
aco: move MIMG VDATA to its own operand
We will want both a VDATA operand and a sampler for some TFE/LWE MIMG
instructions.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Thu, 19 Nov 2020 16:42:17 +0000 (16:42 +0000)]
aco: fix MIMG_instruction::lwe comment
The ISA docs were inconsistent about what this flag does, but that seems
fixed in the RDNA doc.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7775>
Rhys Perry [Fri, 8 Jan 2021 11:44:33 +0000 (11:44 +0000)]
aco: fix unreachable() for uniform 8/16-bit nir_op_mov from VGPR
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes:
d20a752c0de ("aco: use Builder::copy more")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8380>
Michel Dänzer [Thu, 7 Jan 2021 09:38:26 +0000 (10:38 +0100)]
ci: Add *ignore_scheduled_pipelines to mesa/gallium rules templates
These are currently not used directly, but maybe this can prevent copy
and paste accidents.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8360>
Michel Dänzer [Thu, 7 Jan 2021 09:30:58 +0000 (10:30 +0100)]
ci: Rule out scheduled pipelines in .windows-build-rules
The lack of this broke scheduled pipelines, because they attempted
to create a meson-windows-vs2019 job, which couldn't work (because the
windows_build_vs2019 job doesn't exist in scheduled pipelines).
Fixes:
84c8a35aa2ca "CI: Add Windows source dependency map"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8360>
James Park [Wed, 30 Dec 2020 13:23:10 +0000 (05:23 -0800)]
util: Disable memstream for Apple builds
Not all SDK versions support open_memstream. Maybe some other day.
Fixes:
af8d488ea5e ("util,ac,aco,radv: Cross-platform memstream API")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8269>
Samuel Pitoiset [Wed, 6 Jan 2021 15:19:21 +0000 (16:19 +0100)]
radv: fix performance regression by restoring TC-compat HTILE in GENERAL
This fixes a performance regression for games (eg. Youngblood) that
declare all images as concurrent. This is likely buggy for compute
queues but this just restores the previous behaviour for now.
Fixes:
f4f096805b0 ("radv: fix TC-compat HTILE images with DST_OPTIMAL on the compute queue")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8351>
Samuel Pitoiset [Wed, 6 Jan 2021 16:54:08 +0000 (17:54 +0100)]
radv: fix enabling TC-compat HTILE in GENERAL for writes on GFX10+
It wasn't expected to also enable inside render loops.
Fixes:
4bb92d9145f ("radv: enable TC-compat HTILE in GENERAL on GFX10+")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8351>
Samuel Pitoiset [Wed, 6 Jan 2021 08:12:43 +0000 (09:12 +0100)]
radv: configure the texture descriptor for TC-compat CMASK on GFX10+
This was missing, it can be enabled with RADV_PERFTEST=tccompatcmask.
Note that this feature is still experimental.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8350>
Vinson Lee [Sun, 3 Jan 2021 01:11:56 +0000 (17:11 -0800)]
r300: Fix typos.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8296>
Erik Faye-Lund [Thu, 7 Jan 2021 15:54:18 +0000 (16:54 +0100)]
gallium/ntt: lower uniforms to ubo
NTT doesn't handle uniforms, and requires them to have been lowered to
UBOs. But for drivers that don't set
nir_shader_compiler_options::lower_uniforms_to_ubo to true, this won't
have happened yet. Neither Zink nor V3D sets this option, and in the
case of Zink this isn't trivial to change.
So let's lower uniforms to UBOs in this case in NTT instead.
Fixes:
03c60762f57 ("gallium/ntt: Fix load_ubo_vec4 buffer index setup.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4047
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8365>