Marek Olšák
6129db68bf
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 >
2021-10-19 16:53:30 +00:00
Marek Olšák
9d852a4695
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 >
2021-10-19 16:53:29 +00:00
Marek Olšák
0d2dc06761
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 >
2021-10-19 16:53:29 +00:00
Marek Olšák
d4cf4b3cee
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 >
2021-10-19 16:53:29 +00:00
Marek Olšák
61ebdcfc29
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 >
2021-10-19 16:53:29 +00:00
Marek Olšák
4bc8c2590e
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 >
2021-10-19 16:53:29 +00:00
Marek Olšák
13b1424e96
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 >
2021-10-19 16:53:29 +00:00
Marek Olšák
9f2a97e9df
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 >
2021-10-19 16:53:29 +00:00
Marek Olšák
745ea99484
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 >
2021-10-19 16:53:29 +00:00
Marek Olšák
03186773a6
mesa: fix crashes in the no_error path of glUniform
...
Fixes: bd2662bfa1
- 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 >
2021-10-19 16:24:31 +00:00
Rob Clark
5948ff4826
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 >
2021-10-19 16:04:42 +00:00
Rob Clark
22a203aa4c
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 >
2021-10-19 16:04:42 +00:00
Rob Clark
834e8066c1
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 >
2021-10-19 16:04:42 +00:00
Rob Clark
8657e201d0
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 >
2021-10-19 16:04:42 +00:00
Samuel Pitoiset
572a902566
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 >
2021-10-19 15:19:42 +00:00
Samuel Pitoiset
e3cbb0eb6a
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 >
2021-10-19 14:47:32 +00:00
Marek Olšák
3df9d8ed80
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 >
2021-10-19 13:12:37 +00:00
Marek Olšák
cc2f3a0168
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 >
2021-10-19 13:12:37 +00:00
Marek Olšák
5ee2965283
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 >
2021-10-19 12:49:06 +00:00
Marek Olšák
efaab0ec50
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 >
2021-10-19 12:49:06 +00:00
Marek Olšák
5e8f76b713
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 >
2021-10-19 12:49:05 +00:00
Samuel Pitoiset
19c91a120d
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: 92e1981a80
("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 >
2021-10-19 12:29:40 +00:00
Jan Beich
60b7c3a0f4
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: 0d5fe24c9b
("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 >
2021-10-19 06:59:32 +00:00
Dave Airlie
37d6ce4ebb
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 >
2021-10-19 03:11:08 +00:00
Mike Blumenkrantz
86b24fba05
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 >
2021-10-19 02:40:37 +00:00
Mike Blumenkrantz
89ed9ed400
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 >
2021-10-19 02:40:37 +00:00
Mike Blumenkrantz
4cad3da409
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
67dd6b9f0f
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
f25a98318b
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
f7e9500dc2
lavapipe: simplify some attachment derefs
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
d914df72ab
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
a0c81efcf4
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
58e18a2be9
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
5e3bc8b18d
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
5e3d84e30a
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
5cf568ce09
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
eaa82252f9
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
afd8820d66
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 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
dd70ff3b8c
lavapipe: remove some unused struct members
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
d103d5bb5d
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 >
2021-10-19 01:18:24 +00:00
Dave Airlie
cae1ef0a11
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 >
2021-10-19 01:03:58 +00:00
Mike Blumenkrantz
dfd0f5dbfd
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 >
2021-10-19 00:51:50 +00:00
Mike Blumenkrantz
140d3ea8c6
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 >
2021-10-19 00:51:50 +00:00
Mike Blumenkrantz
7c840f5103
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 >
2021-10-19 00:51:50 +00:00
Mike Blumenkrantz
b140d58b1f
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 >
2021-10-19 00:51:50 +00:00
Mike Blumenkrantz
75e51138b1
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 >
2021-10-19 00:51:50 +00:00
Mike Blumenkrantz
497ce3c38a
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 >
2021-10-19 00:51:50 +00:00
Mike Blumenkrantz
e66558985a
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 >
2021-10-19 00:33:50 +00:00
Mike Blumenkrantz
a2789fde0c
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 >
2021-10-19 00:17:00 +00:00
Mike Blumenkrantz
11dd9e4ee4
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: 039078fe97
("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 >
2021-10-19 00:02:39 +00:00