Mike Blumenkrantz
7c1b7ded7a
zink: add "nofallback" descriptor mode
...
this disables lazy fallback and forces caching always
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783 >
2021-09-12 23:58:48 +00:00
Mike Blumenkrantz
5475a6fe18
zink: fall back to lazy descriptors if too many cache misses in a row
...
in the cases where it's not useful to cache for one reason or another, stop
trying to force it and just go with the flow
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783 >
2021-09-12 23:58:48 +00:00
Mike Blumenkrantz
d3ae8e82d7
zink: split out lazy set updating
...
make this reusable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783 >
2021-09-12 23:58:48 +00:00
Mike Blumenkrantz
815e5c4df9
zink: reorganize cached descriptor updating a bit
...
do per-set updates in each part to stop passing around arrays
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12783 >
2021-09-12 23:58:48 +00:00
Ella-0
08b17e029f
ci/v3dv: Update fails with multiview failing with points
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524 >
2021-09-12 21:01:20 +00:00
Ella-0
bd0f9283f8
v3dv: Implement VK_EXT_vertex_attribute_divisor
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524 >
2021-09-12 21:01:20 +00:00
Ella-0
43790a4d08
v3dv: Expose correct point size granularity
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524 >
2021-09-12 21:01:20 +00:00
Ella-0
7bf707f6d6
v3d: Don't handle PIPE_SPRITE_COORD_UPPER_LEFT twice
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524 >
2021-09-12 21:01:20 +00:00
Ella-0
53ae5c3aae
v3d/compiler: Handle point_coord_upper_left
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12524 >
2021-09-12 21:01:11 +00:00
Joshua Ashton
138463d3c3
radv: Fix DCC image store check
...
Doesn't seem to be causing any issues right now but could with modifiers potentially.
Matches what is in RadeonSI where the comment is also shamelessly stolen from.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12811 >
2021-09-11 05:58:06 +00:00
Marek Olšák
eddb65ffb0
radeonsi: don't use NGG passthrough if culling is possible for better perf
...
Switching NGG passthrough on/off decreases performance because it causes
context rolls.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
0e64252912
radeonsi: add AMD_DEBUG=ib to print IBs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
2817ca1aef
radeonsi: don't emit PA_SU_POLY_OFFSET_CLAMP if it has no effect
...
this is more efficient even
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
1d4e47e1db
radeonsi: remove a few fields from si_state_rasterizer
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
1f8be99621
radeonsi: enable shader-based prim culling with polygon mode
...
Polygon mode should have no effect on culling, so keep it enabled.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
af7c6720de
winsys/amdgpu: include CS ioctl overhead in RADEON_NOOP
...
submit an empty IB instead of skipping the ioctl
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
64a06f8167
radeonsi: skip setting some PGM_HI registers by switching to 32-bit addresses
...
Other registers benefit from consecutive register offsets for the smallest
command buffer size.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
a2a7610e1f
radeonsi: strengthen the VGT_FLUSH condition in begin_new_gfx_cs
...
Cc: mesa-stable
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
8d7846cfed
radeonsi: reduce the frequency of switching GS fast launch on/off
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
468135abab
winsys/amdgpu: precompute amdgpu_ib_max_submit_dwords
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
576f8394db
radeonsi: remove the primitive discard compute shader
...
It doesn't always work, it's only useful on gfx9 and older, and it's too
complicated.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4011
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:03 +00:00
Marek Olšák
9e994560ff
radeonsi: correct index_bias_varies usage
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:02 +00:00
Marek Olšák
f734152b62
radeonsi: don't update shaders if only the vertex element count changes
...
Only check if the relevant fields changed.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:02 +00:00
Marek Olšák
58f0ca8685
radeonsi: accurately check if instance divisors need a VS update
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:02 +00:00
Marek Olšák
ece92ecc35
radeonsi: ignore the vertex element count in si_shader_selector_key_vs
...
It's always at least num_inputs, so just use num_inputs.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:02 +00:00
Marek Olšák
0186c788b6
radeonsi: don't set prefer_mono for fetched instance divisors
...
It's not necessary because the overhead is very low and the comment isn't
true anymore. (the divisions are fast now)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812 >
2021-09-10 23:32:02 +00:00
Icecream95
1976f4980c
lima: Add a noop drm-shim
...
Hard-code Mali450 with six cores for now, matching the hardware I
have.
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12737 >
2021-09-10 21:34:36 +00:00
Daniel Schürmann
eb8ec12b23
aco/ra: Fix potential out-of-bounds array accesses.
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12748 >
2021-09-10 19:39:18 +00:00
Timur Kristóf
536580b139
aco: Add some useful info to the README for debugging.
...
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/12748 >
2021-09-10 19:39:18 +00:00
Tomeu Vizoso
d324748e92
ci: Uprev piglit to 99be1b06ff36
...
Brings in these changes:
99be1b06ff36 framework/replay: Display the image differences if any
3074b9c72b3d glsl-predication-on-large-array: Test predication on values from large array
c97da22d35b4 cmake: Fix gbm test compiling
0cbccd68c3c1 piglit: Find our data directory when we're invoked through a symlink
4eb71fc10bbe arb_sso: add test that has explicit locations and array fields in ifc
fa9c82380273 glsl-1.30: test shadow var in a switch
aa7f042b0417 glsl-1.30: add tests for incorrect "compare to 0" optimizations
60138ef32ec1 add explicit tests for GetFragDataLocation/Index(gl_Frag*)
4a8806696b90 egl: add test for EGL_KHR_display_reference
d6b7053b4e52 glsl-1.30: test that switch expression is evaluated once
8023a3c945c3 arb_shader_storage_buffer_object: Require extension on the new test
8820cac60827 pbobench: Fix sometimes-uninitialized warning.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12675 >
2021-09-10 18:15:45 +00:00
Danylo Piliaiev
45801e1ecc
turnip: support tracing of gmem/sysmem load/store/clears
...
Now we support per-tile tracing.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969 >
2021-09-10 14:58:28 +03:00
Danylo Piliaiev
4092d5f0d8
u_trace: pass command stream through tracing functions
...
Allows writing timestamps into different command streams.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969 >
2021-09-10 14:58:28 +03:00
Danylo Piliaiev
5c6f0d46e7
turnip/perfetto: reusable command buffers support
...
The limitation is that the reusable command buffer should be created
when perfetto is already connected in order to write timestamps.
Otherwise such cmd buffer won't be traces.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969 >
2021-09-10 14:58:28 +03:00
Danylo Piliaiev
0565c993f9
u_trace: helpers for tracing tiling GPUs and re-usable VK cmdbuffers
...
Re-usable command buffer could be resubmitted any number of times,
but tracepoints are written once. u_trace_clone_append allows
copying tracepoints and copying timestamps if GPU doesn't support
writing timestamps into indirect address.
The case of tiling GPUs is similar, command stream for draws is
resubmitted for each tile.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969 >
2021-09-10 14:58:28 +03:00
Danylo Piliaiev
3dd1bb6355
turnip: implement basic perfetto support
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969 >
2021-09-10 14:58:28 +03:00
Danylo Piliaiev
cefaa73909
util/u_trace: auto-generation of serialization funcs for tracepoints
...
Add ability to auto-generate:
- printing of args for "GPU_TRACE=1", still could be overriden with
tp_print.
- population of extra data for perfetto event.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969 >
2021-09-10 14:58:28 +03:00
Danylo Piliaiev
e14f525280
util/u_trace: make u_trace usable for other than gallium drivers
...
With little modifications u_trace could be usable for Vulkan drivers.
Beside removing dependencies on gallium, the other notable change is
the passing of opaque flush_data pointer via u_trace_flush. There
is data which becomes available only at this point which other drivers
may want to pass.
For example Vulkan drivers would want to pass at least submission id
(for perfetto) and a sync object to wait on in u_trace_read_ts.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10969 >
2021-09-10 14:58:28 +03:00
Connor Abbott
9033916d84
ir3: Add bar to beginning of HS with tess_use_shared
...
This matches the blob. In theory, this is necessary only because the
VS/HS workgroup can now span more than one wave and a patch may be
assigned to different waves in the VS and HS. However I've seen it fix
tests where the entire draw should fit in one wave, so there may some
other sort of waiting this does or the HW dispatch may be inefficient
sometimes.
Fixes
EQP-VK.tessellation.user_defined_io.per_patch.vertex_io_array_size_implicit.*
when run immediately after
dEQP-VK.tessellation.invariance.outer_triangle_set.quads_fractional_even_spacing
or when all of dEQP-VK.tessellation.* is run in sequence on a650.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12791 >
2021-09-10 10:05:52 +00:00
Boris Brezillon
6c286edc53
panvk: Disable the BO cache
...
This makes it easier to debug memory leaks, and we probably want to
rely on vulkan caches anyway, so let's just disable the BO cache.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:42:21 +02:00
Boris Brezillon
ef48b6c4d0
panvk: Only set PAN_DBG_TRACE if PANVK_DEBUG_TRACE is set
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:42:14 +02:00
Boris Brezillon
1b53600ff4
panvk: Don't take a BO reference when binding memory to an image
...
Memory is never unbound, and vulkan mandates that the memory stays around
for the image lifetime, unless another chunk of memory is bound to this
image. Let's keep things simple and don't take a reference on the BO
we bind to an image, this way, the memory gets released as soon as
vkFreeMemory() is called.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:42:07 +02:00
Boris Brezillon
81e8a5d83a
panvk: Initialize clear values to zero when load_op != OP_CLEAR
...
This is easier to detect when something goes wrong with this default
initialization in place.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:41:59 +02:00
Boris Brezillon
55e3d0e256
panvk: Fix a BO leak in panvk_pool_alloc_backing()
...
When picking a BO from a BO pool, we need to add it to the memory pool
otherwise it gets lost when the memory pool is reset/destroyed.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:41:54 +02:00
Boris Brezillon
cb5415396d
panvk: Reset panvk_pool->transient_bo in panvk_pool_reset()
...
Fixes a use-after-free issue.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:41:46 +02:00
Boris Brezillon
4a178cf858
panvk: Close the panfrost device in the panvk_physical_device_init() error path
...
Otherwise some resources stay around.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:41:39 +02:00
Boris Brezillon
f0be7dc745
panvk: Don't allocate an array of blend constants
...
Those are shared by all render targets.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:41:34 +02:00
Boris Brezillon
2c4b8f9168
panvk: Clamp blend constants before copying them to the cmdbuf state
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:41:29 +02:00
Boris Brezillon
8182f7a981
panvk: Narrow the allow-forward-pixel-kill condition
...
Setting it to info->fs.can_fpk is wrong. Let's mimic the gallium driver
here.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:41:23 +02:00
Boris Brezillon
c0e43b844c
panvk: Fix chan_size calculation in panvk_emit_blend()
...
Only the first channel was taken into account.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:40:54 +02:00
Boris Brezillon
6f670bc355
panvk: Don't advertise min/max filter
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762 >
2021-09-10 11:40:48 +02:00