Mike Blumenkrantz
7cee75f143
zink: make descriptor state invalidate public
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9788 >
2021-03-28 22:17:57 -04:00
Mike Blumenkrantz
d922850e36
zink: break out image/buffer create info structs into helper funcs
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9788 >
2021-03-28 22:17:57 -04:00
Mike Blumenkrantz
cde60ab179
zink: fix format support detection for storage texel buffers and shader images
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9788 >
2021-03-28 22:17:56 -04:00
Mike Blumenkrantz
b741e270cd
zink: reset all fences when waiting on batch state
...
at this point we know all the states are available, so we can shortcut
future state-finding
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9787 >
2021-03-29 01:38:09 +00:00
Mike Blumenkrantz
34a2f96f59
zink: stall when we start getting a lot of uncompleted batches
...
temporary oom handling, though it's unrealistic for this to be hit
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9787 >
2021-03-29 01:38:09 +00:00
Mike Blumenkrantz
c39295a24b
zink: use correct surface ref function for context destroy
...
the regular surface reference function can never be used in the driver
if it is possible that a surface may be destroyed, as this may reference
a previously-destroyed context
Fixes: 92a5ea13fc ("zink: implement a global framebuffer cache")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9787 >
2021-03-29 01:38:09 +00:00
Mike Blumenkrantz
cbe9e95a96
zink: only do shader updates when relevant stages are dirty
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9792 >
2021-03-29 01:22:53 +00:00
Mike Blumenkrantz
dfe9bfef9b
lavapipe: fix array texture region copies
...
these need to use different struct members for copying array textures
the buffer2image variants are already doing the right thing
Fixes: b38879f8c5 ("vallium: initial import of the vulkan frontend")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9761 >
2021-03-28 22:32:05 +00:00
Mike Blumenkrantz
2f8453cf56
zink: also fix image buffer layer copying
...
this differs based on image type
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9759 >
2021-03-28 22:23:06 +00:00
Mike Blumenkrantz
191a8e0778
zink: fix handling for image types in resource_copy_region hook
...
different image types are supposed to use different members of this struct
to indicate layer copies, and this can't necessarily be inferred by checking
array_size
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9759 >
2021-03-28 22:23:06 +00:00
Mike Blumenkrantz
cca3d1d9a9
lavapipe: remove lvp_descriptor_update_template::descriptor_set_layout
...
this wasn't used and caused crashes when running with validation enabled
due to violating spec:
This parameter is ignored if templateType is not VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9861 >
2021-03-28 19:31:35 +00:00
Mike Blumenkrantz
71ebcf30e4
lavapipe: ignore templateType when descriptor template isn't for push descriptors
...
spec compliance requires this and validation may crash without it
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9853 >
2021-03-28 19:20:46 +00:00
Gert Wollny
c3bf3e8d43
r600/sfn: make allocate_temp_register private to valuepool
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
bf60ffd0cd
r600/sfn: use get_temp_vec4 directly when fetching
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
6da330ece7
r600/sfn: clean up value pool interface usage in emit_stream
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
36fa612228
r600/sfn: clean up multi-sample texture load
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
2362986e79
r600/sfn: remove find_msb lowering in driver
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
6bcc2defa9
r600/sfn: force dual source blend output handling in some cases
...
If an output has a dual source index > 0 then we need to emit both
outputs, even if the number of outputs is larger than the number
of active outputs.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
40fdf1be46
r600/sfn: remove old deref code
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
84f5b15978
r600/sfn: lowered FS output IO
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
3bbc078025
r600/sfn: lower VS IO and drop old deref code
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
65bec7ab0a
r600/sfn: drop the local register mep
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
46beb625b9
r600/sfn: switch assembler creation to use visitor
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
d45c8bf8d9
r600/sfn: fix some formatting
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
56e4a46510
r600/sfn: remove extra parameter from alu assemebly emission
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
a976a50958
r600/sfn: Add skelton for visitor pattern
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
829028babc
r600/sfn: Make some value pool functions private
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Rob Clark
ea2c47390a
util/primconvert: Handle indirect and multi-draw
...
Indirect handling was completely missing. And even though we have to
emulate multi-draw, this pushes it out of the fast/hot path in the
driver's draw_vbo()
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
180ca32bb2
freedreno: Don't handle multi-draw in indirect case
...
num_draws is only applicable to direct draws, so we can simplify things
a bit.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
0254e513f2
virgl: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
6a2634e9be
v3d: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
fc0c3e22c9
vc4: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
c9137bd118
tegra: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
dc0140dd60
svga: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
ed1ac41887
softpipe: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
9407126313
r600: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
0634abbeb7
r300: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
e200da1f02
nouveau: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
c6ecf1ce65
llvmpipe: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
c75838de66
lima: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
615cff4fa0
iris: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
bd46ef14eb
i915: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
e6148a2724
etnaviv: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
935f2c0ba4
d3d12: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
3afde83c41
freedreno/a6xx: Fix obsolete comment
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9864 >
2021-03-27 19:13:45 +00:00
Rob Clark
c14e059d9f
freedreno/a6xx: Fix indirect+patches draws
...
Without TC, we'd get draw->count==0.. which is obviously not correct.
With TC we get random garbage for draw->count. Which turns into
exciting things like trying to allocate multi-gigabyte buffers for
tess param/factor buffers.
But we can just tell the CP to split up large tess draws, and put an
upper bound on the tess param/factor buffer sizes.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9864 >
2021-03-27 19:13:45 +00:00
Rob Clark
c6fbbbbf70
ci: Disable panfrost t760
...
The runners appear to be down at the moment.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9872 >
2021-03-27 18:16:48 +00:00
Gert Wollny
4b1217146d
r600: Handle negate of second operator in TGSI_OPCODE_UADD
...
nir_to_tgsi lowers nir_op_isub to UADD and the negate source mod
on the second operator. Since r600 doesn't support source mods
for integers but support SUB_INT we switch the opcode and clear the
negate flag.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9579 >
2021-03-27 16:25:23 +00:00
Erik Faye-Lund
b307927303
zink: remove no-longer-needed clipdist1 patching
...
Since the last round of enhanced layout packing, it seems like this code
is no longer needed. This allows us to use the HANDLE_EMIT_BUILTIN()
macro, which simplifies things further.
It would have been incorrect anyway, because it's the only code that
uses the location directly as an index. All other locations multiplies
it by four first.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9860 >
2021-03-27 08:39:00 +00:00
Mike Blumenkrantz
ba8ddc0c68
zink: ci updates
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9852 >
2021-03-26 21:34:50 +00:00