Caio Marcelo de Oliveira Filho [Tue, 19 Oct 2021 15:47:51 +0000 (08:47 -0700)]
util: Convert blob_test to use gtest
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 20:09:10 +0000 (13:09 -0700)]
util: Convert u_atomic_test to use gtest
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 21:00:14 +0000 (14:00 -0700)]
util: Move tests in single file directories to tests/
Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 20:16:29 +0000 (13:16 -0700)]
util: Consolidate existing gtests in a single binary
Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13425>
Eric Engestrom [Wed, 20 Oct 2021 19:51:28 +0000 (20:51 +0100)]
docs: update calendar for 21.3.0-rc2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13460>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 15:50:15 +0000 (08:50 -0700)]
nir: Use a single binary for gtests
Less artifacts and less time running linker. The
load_store_vectorizer test is still split since we need to update
gitlab-ci scripts to skip certain tests in certain builds. Added a
TODO with the concrete suggestion.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13414>
Caio Marcelo de Oliveira Filho [Mon, 18 Oct 2021 15:56:09 +0000 (08:56 -0700)]
spirv: Use a single binary for gtests
Less artifacts and less time running linker. Also set the guideline
for future tests to not create new binaries for extra gtests.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13415>
Jason Ekstrand [Tue, 25 May 2021 15:30:49 +0000 (10:30 -0500)]
anv: Implement VK_EXT_global_priority_query
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11250>
Connor Abbott [Mon, 11 Oct 2021 14:43:10 +0000 (16:43 +0200)]
ir3: Use stp/ldp base offset for {load,store}_scratch
When we have a series of loads/stores we were creating a constant for
each one, which isn't great. Furthermore, because the nir pass puts the
offset constant at the top of the shader, it resulted in extra register
pressure and spilling when that happened inside a loop. Fix this by
using the base/offset form of stp and ldp.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13307>
Connor Abbott [Mon, 11 Oct 2021 14:29:48 +0000 (16:29 +0200)]
ir3/cse: Support mov instructions
This doesn't affect shader-db at all, but it will help clean up the
mov's emitted in the next commit when there are multiple ldp/stp.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13307>
Rhys Perry [Tue, 19 Oct 2021 13:27:50 +0000 (14:27 +0100)]
aco: simplify emit_stream_output()
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13438>
Alejandro Piñeiro [Mon, 18 Oct 2021 12:58:38 +0000 (14:58 +0200)]
broadcom/compiler: remove unused macro and function definition
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13444>
Rhys Perry [Tue, 19 Oct 2021 09:43:03 +0000 (10:43 +0100)]
aco: disable mul(cndmask(0, 1, b), a) optimization sometimes
This optimization doesn't work for SDWA or DPP multiplications and we
can't do it if denormal flushing is required because v_cndmask_b32 doesn't
do that and we can't do it if we can't assume operands are finite because
0.0 * inf is NaN, not 0.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13434>
Mike Blumenkrantz [Tue, 19 Oct 2021 17:57:39 +0000 (13:57 -0400)]
zink: rescue surfaces/bufferviews for cache hits during deletion
this is a wild race condition, but it's possible for these to get their
final unref, enter their destructor, and then get a cache hit while waiting
on the lock to remove themselves from the cache
in such a scenario, a second, normal check of the refcount will suffice,
as the increment is atomic, and the value will otherwise be zero
fixes crashes in basemark
cc: mesa-stable
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13442>
Emma Anholt [Mon, 18 Oct 2021 18:42:45 +0000 (11:42 -0700)]
freedreno/afuc: Disable the disassembler on 32-bit builds.
There's an mmap(2 << 32), which armhf can't handle.
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5514
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13421>
Mykhailo Skorokhodov [Tue, 28 Sep 2021 07:33:26 +0000 (10:33 +0300)]
Revert "iris: add tile cache flush to iris_copy_region"
This reverts commit
27534a49cf3872646cb8ef9371707d74a81b1986
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12979>
Mykhailo Skorokhodov [Wed, 22 Sep 2021 13:03:23 +0000 (16:03 +0300)]
iris: Add missed tile flush flag
Without adding `PIPE_CONTROL_TILE_CACHE_FLUSH` into `iris_emit_pipe_control`
gen12+ (UHD 750 in my case) has issues with textures.
Related-to: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5029
Fixes:
c85ea824('iris: reduce redundant tile cache flushes')
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12979>
Mike Blumenkrantz [Wed, 13 Oct 2021 13:56:06 +0000 (09:56 -0400)]
zink: stop leaking descriptor pool references
this never really mattered before, but now these need to actually
get freed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Tue, 19 Oct 2021 14:19:48 +0000 (10:19 -0400)]
zink: don't clear descriptor pool cache on context destroy
the final ref on pools is owned by their program struct(s), and liveshader
cache can trigger shader deletion after a context is destroyed, so
attempting to prune pools here may end up deleting them before the
last ref is actually removed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Thu, 14 Oct 2021 14:08:49 +0000 (10:08 -0400)]
zink: always invalidate descriptor sets on pool free
this used to be bad and only for debugging, but now it's good and useful
for saving memory
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Wed, 13 Oct 2021 14:15:37 +0000 (10:15 -0400)]
zink: unref descriptor pools in hybrid mode when they explode
these will no longer be used, so unref them so they can be deleted to
free up some vram in the driver
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Wed, 13 Oct 2021 14:15:07 +0000 (10:15 -0400)]
zink: remove descriptor pools from hash table on deletion
ensure these aren't just sitting around stale
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Wed, 13 Oct 2021 14:03:34 +0000 (10:03 -0400)]
zink: fix descriptor interface param for program_deinit
this should match the _init() method and take the context
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Mike Blumenkrantz [Wed, 13 Oct 2021 14:27:03 +0000 (10:27 -0400)]
zink: use ctx params for program ref/destroy functions
these are context objects, so destroy with the context
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430>
Marek Olšák [Mon, 18 Oct 2021 12:16:39 +0000 (08:16 -0400)]
radeonsi: don't set inline_uniforms for viewperf because it's enabled by default
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Mon, 18 Oct 2021 04:40:54 +0000 (00:40 -0400)]
winsys/amdgpu: set max_ib_size and max_check_space_size later in cs_check_space
If there is enough CS space, don't update them. This eliminates some overhead.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Mon, 18 Oct 2021 04:27:15 +0000 (00:27 -0400)]
winsys/amdgpu: remove force_chaining parameter from cs_check_space
it's always false
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Sun, 17 Oct 2021 12:20:12 +0000 (08:20 -0400)]
radeonsi: properly destroy buffers on failure
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Sun, 17 Oct 2021 16:23:17 +0000 (12:23 -0400)]
radeonsi: don't sync before clear_buffer and copy_buffer if the buffer is idle
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Sun, 17 Oct 2021 10:05:24 +0000 (06:05 -0400)]
radeonsi: don't update bind_history for internal buffer clears and copies
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Sat, 16 Oct 2021 17:02:58 +0000 (13:02 -0400)]
radeonsi: don't sync PS or CS before (clear|copy)_buffer based on bind history
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Sat, 16 Oct 2021 16:18:26 +0000 (12:18 -0400)]
radeonsi: rebind a buffer only in shader stages where it's been bound
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Sat, 16 Oct 2021 16:07:56 +0000 (12:07 -0400)]
radeonsi: change bind_history to track usage in each shader stage
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Sun, 17 Oct 2021 21:17:14 +0000 (17:17 -0400)]
radeonsi: add an option to use CPU storage uploads for threaded context
It's only enabled for viewperf for now.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Sun, 17 Oct 2021 15:32:08 +0000 (11:32 -0400)]
radeonsi: add SI_MAX_VRAM_MAP_SIZE definition
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400>
Marek Olšák [Mon, 18 Oct 2021 16:39:08 +0000 (12:39 -0400)]
mesa: fix crashes in the no_error path of glUniform
Fixes:
bd2662bfa1c87 - mesa: add KHR_no_error support to glUniform*() functions
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13417>
Rob Clark [Tue, 19 Oct 2021 15:44:08 +0000 (08:44 -0700)]
freedreno/computerator: Fix mergedregs
This was getting set *after* ir3_shader_assemble, which was too late.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13426>
Rob Clark [Mon, 18 Oct 2021 23:15:26 +0000 (16:15 -0700)]
freedreno/isa: Fix ldg/stg "halfness"
Whether the load dst or store src is a half reg is determined by the
type field, similar to cat5.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13426>
Rob Clark [Mon, 18 Oct 2021 22:55:30 +0000 (15:55 -0700)]
freedreno/ir3/tests: Add some 8/16b ldg/stg tests
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13426>
Rob Clark [Mon, 18 Oct 2021 22:54:35 +0000 (15:54 -0700)]
freedreno/ir3/tests: Don't skip encode test if decode fails
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13426>
Samuel Pitoiset [Tue, 19 Oct 2021 11:27:55 +0000 (13:27 +0200)]
aco: fix emitting stream outputs when the first component isn't zero
Fixes a bunch of XFB piglit tests with Zink.
Cc: 21.3 mesa-stable
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/13437>
Samuel Pitoiset [Tue, 19 Oct 2021 12:01:45 +0000 (14:01 +0200)]
aco: fix invalid IR generated for b2f64 when the dest is a VGPR
Fixes few 64-bit piglit tests with Zink.
Cc: 21.3 mesa-stable
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/13435>
Marek Olšák [Sun, 17 Oct 2021 21:16:09 +0000 (17:16 -0400)]
gallium/u_threaded: implement pipelined partial buffer uploads using CPU storage
This removes resource_copy_region for BufferSubData. Drivers have to opt in
to use this.
See the comment in the header file.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13399>
Marek Olšák [Sun, 17 Oct 2021 18:06:50 +0000 (14:06 -0400)]
gallium,vbo: add PIPE_BIND_VERTEX_STATE for display lists
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13399>
Marek Olšák [Fri, 15 Oct 2021 09:25:39 +0000 (05:25 -0400)]
ac/llvm: accept primitives whose face culling determinant is Inf or NaN
Based on https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13299/diffs
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13380>
Marek Olšák [Fri, 15 Oct 2021 09:23:02 +0000 (05:23 -0400)]
ac/llvm: add helper ac_build_is_inf_or_nan
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13380>
Marek Olšák [Fri, 15 Oct 2021 08:48:51 +0000 (04:48 -0400)]
ac/llvm: use fmac instead of mul+sub in face culling
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13380>
Samuel Pitoiset [Mon, 18 Oct 2021 15:30:46 +0000 (17:30 +0200)]
radv: do not remove PSIZ for streamout shaders
It might still be read later from the streamout buffer.
Fixes a regression with
ext_transform_feedback-builtin-varyings gl_PointSize and Zink.
Fixes:
92e1981a800 ("radv: Remove PSIZ output when it isn't needed.")
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/13413>
Jan Beich [Sat, 20 Feb 2021 12:30:56 +0000 (12:30 +0000)]
meson: disable -Werror=thread-safety on FreeBSD
Annotated <pthread.h> exposes too many errors in Mesa that are
non-trivial to fix and keep working without FreeBSD CI.
Fixes:
0d5fe24c9b7d ("macros: Add thread-safety annotation macros")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9168>
Dave Airlie [Mon, 18 Oct 2021 07:14:41 +0000 (17:14 +1000)]
llvmpipe: swizzle image stores for CL BGRA
OpenCL requires image stores to BGRA to work, so add the swizzle
code here.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13404>
Mike Blumenkrantz [Mon, 18 Oct 2021 14:54:58 +0000 (10:54 -0400)]
zink: align pipe_resource and sampler_view allocations to cachelines
this eliminates false sharing for atomics
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13431>
Mike Blumenkrantz [Mon, 18 Oct 2021 14:52:44 +0000 (10:52 -0400)]
zink: don't ralloc zink_resource structs
the hash tables can just have their own contexts and be freed explicitly
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13431>
Mike Blumenkrantz [Mon, 4 Oct 2021 15:48:55 +0000 (11:48 -0400)]
lavapipe: clamp attachment clear rect sizes
this is a spec violation, but crashing isn't cool, so do a little clamping
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 23:06:43 +0000 (19:06 -0400)]
lavapipe: pull layer count from render state during resolve
vk_framebuffer may be null
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 22:00:05 +0000 (18:00 -0400)]
lavapipe: remove lvp_subpass::has_color_att
unused
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 20:16:30 +0000 (16:16 -0400)]
lavapipe: simplify some attachment derefs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 20:13:08 +0000 (16:13 -0400)]
lavapipe: store subpass directly to rendering_state
this is fewer array derefs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 19:57:58 +0000 (15:57 -0400)]
lavapipe: remove last VK_ATTACHMENT_UNUSED check
these are all just null checks now
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 19:53:34 +0000 (15:53 -0400)]
lavapipe: remove lvp_subpass_attachment and use lvp_render_pass_attachment refs
this is one fewer indirect reference that allows removing a bunch of stuff from
renderpass creation
now also unused subpass attachments are just NULL pointers, making detection simpler
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 19:21:38 +0000 (15:21 -0400)]
lavapipe: remove lvp_subpass::max_sample_count
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 19:00:36 +0000 (15:00 -0400)]
lavapipe: add attachment index to lvp_render_pass_attachment
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 18:56:32 +0000 (14:56 -0400)]
lavapipe: remove lvp_subpass_attachment::layout
unused
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 18:55:20 +0000 (14:55 -0400)]
lavapipe: remove lvp_subpass_attachment::in_render_loop
this isn't used
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 18:48:23 +0000 (14:48 -0400)]
lavapipe: use framebuffer attachment_count member instead of renderpass
according to spec, these must be equal
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 18:19:24 +0000 (14:19 -0400)]
lavapipe: remove some unused struct members
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Mike Blumenkrantz [Fri, 1 Oct 2021 17:48:44 +0000 (13:48 -0400)]
lavapipe: stop reading renderpass during pipeline creation
this is unnecessary and is going to be annoying in the future
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349>
Dave Airlie [Mon, 18 Oct 2021 20:40:24 +0000 (06:40 +1000)]
clover: use max shader sampler view/images queries for clover.
This is probably sane than my last answer to this question
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13398>
Mike Blumenkrantz [Wed, 13 Oct 2021 13:34:00 +0000 (09:34 -0400)]
zink: move last of lazy descriptor state updating back to lazy-only code
hybrid mode is controlled by the caching manager, so state tracking is irrelevant
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13350>
Mike Blumenkrantz [Wed, 13 Oct 2021 13:32:09 +0000 (09:32 -0400)]
zink: add an early return for zink_descriptors_update_lazy_masked()
no point in generating pools/sets that won't be used here
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13350>
Mike Blumenkrantz [Wed, 13 Oct 2021 13:29:02 +0000 (09:29 -0400)]
zink: move push descriptor updating into lazy-only codepath
this was a bit confusing to read, and I originally left it in the hybrid
path to enable fallbacks to push descriptors in hybrid mode. the problem with
that idea is that it's impossible: the constant buffer set is the one set
that will never, ever trigger a fallback, so leaving it there just leaves
room for error and confusion
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13350>
Mike Blumenkrantz [Wed, 13 Oct 2021 13:16:35 +0000 (09:16 -0400)]
zink: don't update lazy descriptor states in hybrid mode
I'm not 100% sure how, but this breaks tomb raider
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13350>
Mike Blumenkrantz [Tue, 12 Oct 2021 19:16:14 +0000 (15:16 -0400)]
zink: assert compute descriptor key is valid before hashing it
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13350>
Mike Blumenkrantz [Tue, 12 Oct 2021 18:03:51 +0000 (14:03 -0400)]
zink: clear descriptor refs on buffer replacement
the bo here can only ever be destroyed before it gets reused, so prune
it from the descriptor cache immediately
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13350>
Mike Blumenkrantz [Mon, 18 Oct 2021 14:40:12 +0000 (10:40 -0400)]
zink: fully zero surface creation struct
gotta get those holes for caching
cc: mesa-stable
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13410>
Mike Blumenkrantz [Fri, 15 Oct 2021 15:57:14 +0000 (11:57 -0400)]
zink: add a read barrier for indirect dispatch
using the draw stage here doesn't make much sense, but that's what the
spec says, so let's git er done
fixes dEQP-GL45.functional.compute.indirect_dispatch* on radv
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13381>
Mike Blumenkrantz [Thu, 14 Oct 2021 14:13:25 +0000 (10:13 -0400)]
zink: use static array for detecting VK_TIME_DOMAIN_DEVICE_EXT
there's only a few possible values for this, so just use a static array
to avoid leaking
Fixes:
039078fe972 ("zink: slight refactor of load_device_extensions()")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13360>
Neha Bhende [Mon, 18 Oct 2021 19:50:19 +0000 (12:50 -0700)]
st: Fix comments in commit
be6d584de43966e
This patch is adding comments as suggested by Ilia in MR
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13423>
Karol Herbst [Sun, 25 Oct 2020 00:43:48 +0000 (02:43 +0200)]
clover/api: fix clGetMemObjectInfo for images
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13424>
Karol Herbst [Wed, 21 Oct 2020 03:03:27 +0000 (05:03 +0200)]
clover/formats: pass in cl_mem_flags for better format checking
This allows us to advertise more formats depending on how the image is
getting used inside a kernel.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13424>
Karol Herbst [Wed, 21 Oct 2020 01:40:48 +0000 (03:40 +0200)]
clover/format: Full rework on how we declare supported images.
While at it also remove CL_LUMINANCE and CL_INTENSITY, which are optional
but also quite broken.
Also advertize all formats we can already support and make the list easier
to read. Also adds support for newer formats.
v2: fixup packing for non-8 bits (airlied)
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13424>
Neha Bhende [Thu, 14 Oct 2021 16:37:21 +0000 (09:37 -0700)]
st: Fix 64-bit vertex attrib index for TGSI path
Patch
77c2b022a0c5 removed lowering of 64-bit vertex attribs to 32bits.
This has thrown TGSI translation off the guard for 64bit attrib.
This lead to fail/crash of 1000+ piglit tests.
This patch basically fixes 64 bit attrib index for TGSI shader by adding placeholder
for second part of a double attribute.
It fixes all regressed piglit tests.
A big help from Charmaine to fix this regression
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Fixes:
77c2b022a0c5 ("st/mesa: remove lowering of 64-bit vertex attribs to 32 bits")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13363>
Marek Olšák [Sat, 16 Oct 2021 09:50:11 +0000 (05:50 -0400)]
radeonsi: reorder and don't print patch level DRM version in the renderer string
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13392>
Marek Olšák [Sat, 16 Oct 2021 09:46:42 +0000 (05:46 -0400)]
ac,radeonsi: print a lowercase codename in the renderer string
to make it stand out less
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13392>
Marek Olšák [Sat, 16 Oct 2021 16:21:30 +0000 (12:21 -0400)]
radeonsi: enable shader culling on Navi1x consumer SKUs as well
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13393>
Marek Olšák [Sat, 16 Oct 2021 13:46:06 +0000 (09:46 -0400)]
radeonsi: replace the GS prolog with a monolithic shader variant
It only exists because of the hw bug and is used very rarely.
Let's simplify it.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13393>
Marek Olšák [Sat, 16 Oct 2021 12:49:14 +0000 (08:49 -0400)]
radeonsi: don't pass NULL into si_get_nir_shader
so that we always have the shader key there
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13393>
Danylo Piliaiev [Thu, 14 Oct 2021 19:13:00 +0000 (22:13 +0300)]
drirc: Apply vk_dont_care_as_load workaround to Forsaken Remastered
Game has one renderpass which loads attachment with DONT_CARE, does
nothing, and writes it back.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5437
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13367>
Danylo Piliaiev [Thu, 14 Oct 2021 18:01:16 +0000 (21:01 +0300)]
turnip: implement vk_dont_care_as_load workaround
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13367>
Danylo Piliaiev [Mon, 18 Oct 2021 10:45:52 +0000 (13:45 +0300)]
driconf: add vk_dont_care_as_load workaround option
It's easy to make a mistake of using VK_ATTACHMENT_LOAD_OP_DONT_CARE
when LOAD_OP_LOAD should be used since all desktop GPUs do the same
thing (nothing) for both of them.
However tiler GPUs do actually care about them.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13367>
Danylo Piliaiev [Thu, 14 Oct 2021 15:16:54 +0000 (18:16 +0300)]
turnip: add support for dirconf
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13367>
Samuel Pitoiset [Mon, 18 Oct 2021 14:47:53 +0000 (16:47 +0200)]
radv: fix OpImageQuerySamples with non-zero descriptor set
The descriptor set was always 0 because it wasn't gathered by the
shader info pass.
This fixes CPU crashes with
arb_shader_texture_image_samples-builtin-image and Zink.
Cc: 21.3 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/13411>
Connor Abbott [Thu, 14 Oct 2021 15:28:41 +0000 (17:28 +0200)]
tu/clear_blit: Stop creating a franken-image for staging blits
Extricate the last use of tu_image_*.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359>
Connor Abbott [Thu, 14 Oct 2021 13:46:31 +0000 (15:46 +0200)]
tu: Remove cross-check scaffolding
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359>
Connor Abbott [Thu, 14 Oct 2021 13:10:17 +0000 (15:10 +0200)]
tu: Switch clear/blit to fdl6_view and cross-check
This will help us create staging resources with a Y8 format and avoids
calling into the Vulkan-level entrypoints which will have to be changed
to use vk_image and vk_image_view.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359>
Connor Abbott [Wed, 13 Oct 2021 15:51:13 +0000 (17:51 +0200)]
tu: Use fdl6_view in tu_image_view and cross-check
Because some of the fields aren't filled out when a format doesn't
support rendering, we temporarily clear the structure so that we can
compare.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359>
Connor Abbott [Wed, 13 Oct 2021 15:34:26 +0000 (17:34 +0200)]
freedreno/fdl: Add fdl6_view
This is mostly based on tu_image_view. The notable difference is that we
don't handle choosing the correct plane out of multiple planes when
indicated by the aspect, which means that there is no equivalent of
VK_IMAGE_ASPECT_PLANE_1 etc. This is expected to be done in the driver,
and note that freedreno gallium handles this very differently anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359>
Connor Abbott [Wed, 13 Oct 2021 15:33:21 +0000 (17:33 +0200)]
freedreno/fdl: Add mip_level to fdl_layout
We need this when calculating the descriptors in the image view.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359>
Connor Abbott [Wed, 13 Oct 2021 15:30:29 +0000 (17:30 +0200)]
freedreno/fdl: Constify fdl6_get_ubwc_blockwidth()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359>
Connor Abbott [Wed, 13 Oct 2021 15:28:07 +0000 (17:28 +0200)]
vk/format, v3dv: Add a vulkan -> pipe swizzle helper
And use it to replace the one in v3dv.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13359>
Pierre-Eric Pelloux-Prayer [Fri, 15 Oct 2021 12:35:09 +0000 (14:35 +0200)]
Revert "gallium: add a is_dri_blit_image bool to pipe_blit_info"
This reverts commit
22a1b7c5b3a9cdbf05a0fd97fb193763a525b732.
The only use was radeonsi and it switched to PIPE_BIND_DRI_PRIME
instead.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13362>