Alyssa Rosenzweig [Sat, 29 Oct 2022 22:13:16 +0000 (18:13 -0400)]
panfrost: Print perf debug when flushing everything
..Even if the only batch is the one that's currently bound.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21830>
Mike Blumenkrantz [Fri, 24 Mar 2023 21:17:06 +0000 (17:17 -0400)]
zink: stop caching vertex states
I tried to be too clever and ended up wasting cpu cycles. it's
much, much, much, much faster to just generate this one struct array
every time than it is to do set lookups with thousands of members
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22116>
Mike Blumenkrantz [Fri, 24 Mar 2023 21:01:11 +0000 (17:01 -0400)]
zink: use fast popcnt for vstate draws
also delete some unused stubs for no dynamic vertex input since I'm never
gonna implement that path
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22116>
Mike Blumenkrantz [Fri, 24 Mar 2023 20:59:54 +0000 (16:59 -0400)]
zink: don't swizzle velems state for vstate draws
this isn't ever used, so don't touch it
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22116>
Mike Blumenkrantz [Fri, 24 Mar 2023 20:58:11 +0000 (16:58 -0400)]
zink: explicitly pass null velems when creating pipelines with dynamic vinput
this may or may not be a usable pointer, and it's not being read, so
don't pass it at all
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22116>
Mike Blumenkrantz [Fri, 24 Mar 2023 20:41:47 +0000 (16:41 -0400)]
zink: add another vstate draw template for popcnt presence
matching radeonsi
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22116>
Mike Blumenkrantz [Fri, 24 Mar 2023 20:36:04 +0000 (16:36 -0400)]
zink: bind vertex state directly from draw hook
this is more streamlined and readable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22116>
Mike Blumenkrantz [Fri, 24 Mar 2023 20:13:34 +0000 (16:13 -0400)]
zink: use search_or_add for masking vstate
this should be a significant perf boost instead of multiple lookups
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22116>
Mike Blumenkrantz [Fri, 24 Mar 2023 20:11:44 +0000 (16:11 -0400)]
zink: flag vertex buffers for rebind after vstate draws
vstate draws bind their own vertex buffers unrelated to the bound
gallium buffers, so any draw occurring after a vstate draw must
rebind vertex buffers to ensure the correct ones are bound
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22116>
Mike Blumenkrantz [Sat, 25 Mar 2023 12:06:30 +0000 (08:06 -0400)]
zink: omit VkPipelineVertexInputStateCreateInfo with dynamic vinput
this should never be used/needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22116>
Konstantin Seurer [Sun, 26 Mar 2023 20:06:31 +0000 (22:06 +0200)]
radv: Stop counting user SGPRS separately
Renames radv_declare_shader_args to declare_shader_args and runs it
twice to first gather the user SGPR count without push constants and
descriptor sets.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22119>
Konstantin Seurer [Sat, 25 Mar 2023 18:26:45 +0000 (19:26 +0100)]
radv: Set user SGPR locations when declaring args
Merge shader arg declaration with setting up the user data locations.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22119>
Harri Nieminen [Wed, 29 Mar 2023 14:19:04 +0000 (17:19 +0300)]
bin: Fix typos
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22189>
Mike Blumenkrantz [Wed, 29 Mar 2023 20:42:02 +0000 (16:42 -0400)]
zink: block resolves where src extents > dst extents
vulkan resolves only provide "extents" instead of src and dst regions like
GL, which means vk resolves can't be used to downscale images, as such
operations will instead just crop the image
fixes #8655
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22195>
Samuel Pitoiset [Tue, 28 Mar 2023 12:11:01 +0000 (14:11 +0200)]
radv: add push constant state to the cmdbuf state
Push constants are handled per bind point internally. Using a separate
structure in the cmdbuf state would allow us to update it easily
without relying on bound pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22209>
Samuel Pitoiset [Wed, 22 Mar 2023 16:50:21 +0000 (17:50 +0100)]
radv: copy need_indirect_descriptor_sets to radv_cmd_state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22209>
Samuel Pitoiset [Thu, 30 Mar 2023 13:14:52 +0000 (15:14 +0200)]
radv: add a helper to convert a VkPipelineBindPoint
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22209>
Rob Clark [Fri, 24 Mar 2023 21:07:39 +0000 (14:07 -0700)]
freedreno: Optimize repeated finishes
Sometimes apps (glances at stk) spin on a syncobj with very short
timeouts. But ensuring the fence is flushed all the way through to
the kernel (including handling TC unflushed fences) only needs to
be done once.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22098>
Rob Clark [Sat, 25 Mar 2023 13:41:13 +0000 (06:41 -0700)]
freedreno/drm: Disable threaded-submit for msm
We've had drm/sched support on the kernel side for more than a year and
a half. This makes submit ioctl async by handling fence waits from the
sched's kthread, which is what threaded submit was originally working
around. For now, threaded submit is only used for virtgpu, which does
not (yet?) have drm/sched support.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22098>
Rob Clark [Fri, 24 Mar 2023 20:35:33 +0000 (13:35 -0700)]
freedreno/drm: Make threaded-submit optional
We've had gpu-sched support in the kernel for a while now, so our fence
waits are not synchronous in the ioctl path. The only reason this path
still exists is that virtgpu does not have gpu-sched. So lets disable
it on msm.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22098>
Rob Clark [Fri, 24 Mar 2023 17:45:37 +0000 (10:45 -0700)]
mesa: Add a few more function traces
Sprinkle around a few more traces that were useful in locating fence
waits.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22098>
Rob Clark [Thu, 23 Mar 2023 20:38:43 +0000 (13:38 -0700)]
freedreno/drm: Stop cleanup at first active BO
Buffers are added to the deferred freelist at the tail. And frequently
the last reference is dropped immediately after the submit. So almost
always, once we see a still-busy BO, the remaining in the list will also
still be busy.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22098>
Rob Clark [Thu, 23 Mar 2023 20:37:35 +0000 (13:37 -0700)]
freedreno/drm: Fast path for idle check
If already idle, no need to cleanup_fences() (and take related lock).
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22098>
Mike Blumenkrantz [Thu, 30 Mar 2023 12:50:48 +0000 (08:50 -0400)]
zink: fix quads emulation gs with array variables
this was broken for e.g., gl_ClipDistance, which uses explicit array
types and therefore cannot be directly read/written
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22208>
Rob Clark [Wed, 29 Mar 2023 21:57:23 +0000 (14:57 -0700)]
dri2/android: Bypass throttling
The android window system (SurfaceFlinger, et al) already does it's own
throttling. Trying to do this also in mesa's egl is counterproductive.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22197>
Konstantin Seurer [Mon, 2 Jan 2023 14:58:22 +0000 (15:58 +0100)]
radv/rq: Rematerialize inv_dir before proceed
Helps with register pressure.
Quake II RTX:
Totals from 7 (14.29% of 49) affected shaders:
VGPRs: 688 -> 672 (-2.33%)
CodeSize: 167496 -> 167560 (+0.04%); split: -0.01%, +0.05%
MaxWaves: 70 -> 72 (+2.86%)
Instrs: 31716 -> 31760 (+0.14%); split: -0.02%, +0.16%
Latency: 385343 -> 386040 (+0.18%); split: -0.01%, +0.19%
InvThroughput: 78878 -> 78045 (-1.06%); split: -1.22%, +0.17%
VClause: 596 -> 600 (+0.67%)
Copies: 4774 -> 4747 (-0.57%); split: -0.98%, +0.42%
PreVGPRs: 617 -> 592 (-4.05%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20469>
Mike Blumenkrantz [Wed, 29 Mar 2023 19:54:33 +0000 (15:54 -0400)]
zink: set src access when rebinding buffers, unset unordered_*
this ensures that the buffer is marked active and prevents promotion
in cases where reordering would break rendering
unordered_read prohibits write reordering for buffers, so setting
this flag must be done when the buffer is actually used, ideally as
late as possible
setting it at the time of (re)bind catches all the buffer rebind cases
which might otherwise erroneously permit reordering
fixes #8381
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22205>
Danylo Piliaiev [Wed, 11 Jan 2023 12:53:34 +0000 (13:53 +0100)]
tu/drm: Support cached non-coherent memory
Requires some hand rolled assembly:
- DC CVAC / DC CIVAC for aarch64
- DCCMVAC / DCCIMVAC for arm32, unfortunately it seems that it is
illegal to call them from userspace.
- clflush for x86-64
We handle x86-64 case because Turnip may run in x86-64 guest
e.g. in FEX-Emu or Box64.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20550>
Danylo Piliaiev [Fri, 6 Jan 2023 17:59:36 +0000 (18:59 +0100)]
turnip: add cached and cached-coherent memory types
vkd3d requires cached memory type.
MSM backend doesn't have a special ioctl for memory
flushing/invalidation, we'd have to use cvac and civac
arm assembly instructions (would be done in following commit).
KGSL has an the ioctl for this, which is used in this commit.
Note, CTS tests doesn't seem good at testing flushing and
invalidating, the ones I found passed on KGSL with both
functions being no-op.
Based on the old patch from Jonathan Marek.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7636
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20550>
Erik Faye-Lund [Fri, 26 Aug 2022 13:00:23 +0000 (15:00 +0200)]
zink: enable spir-v 1.6 for vulkan 1.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18274>
Erik Faye-Lund [Fri, 26 Aug 2022 12:57:38 +0000 (14:57 +0200)]
zink: use spir-v 1.6 local-size when needed
The WorkgroupSize built-in is deprecated in SPIR-V 1.6, so let's switch
to using LocalSizeId instead, like the spec recommends.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18274>
Erik Faye-Lund [Fri, 26 Aug 2022 12:39:03 +0000 (14:39 +0200)]
zink: use demote from spir-v 1.6 when possible
With SPIR-V 1.6, we don't need to enable the extension for demote any
more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18274>
Erik Faye-Lund [Fri, 26 Aug 2022 12:28:29 +0000 (14:28 +0200)]
zink: emit terminate for spir-v 1.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18274>
Mike Blumenkrantz [Wed, 17 Aug 2022 22:05:21 +0000 (18:05 -0400)]
zink: add spirv builder function for terminate
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18274>
Mike Blumenkrantz [Thu, 23 Mar 2023 16:48:53 +0000 (12:48 -0400)]
llvmpipe: fix handling of unused color attachments
if an attachment doesn't have blending or color output from the shader,
nothing should touch the attachment
this is consistent with vulkan spec and needed for upcoming cts coverage
cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22135>
Mike Blumenkrantz [Thu, 23 Mar 2023 16:10:37 +0000 (12:10 -0400)]
llvmpipe: fix linear fs analysis with nonzero fs outputs
linear fs only works with output 0
cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22135>
Samuel Pitoiset [Wed, 29 Mar 2023 16:50:27 +0000 (18:50 +0200)]
radv: copy ia_multi_vgt_param to the cmdbuf state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22194>
Samuel Pitoiset [Wed, 22 Mar 2023 16:14:35 +0000 (17:14 +0100)]
radv: copy uses_{drawid,baseinstance} to the cmdbuf state
As well as the vertex user sgpr info. This also needs to be copied
for merged shaders (ie. VS+TCS).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22194>
Samuel Pitoiset [Wed, 22 Mar 2023 16:26:06 +0000 (17:26 +0100)]
radv: copy rast_prim to the cmdbuf state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22194>
Samuel Pitoiset [Thu, 30 Mar 2023 09:43:47 +0000 (11:43 +0200)]
radv: add a helper that returns the current rasterized primitive
For tess/geom/mesh the rasterized primitive is part of the shader
info and primitive topology should be ignored.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22194>
Samuel Pitoiset [Wed, 22 Mar 2023 15:11:46 +0000 (16:11 +0100)]
radv: copy custom blend mode to the cmdbuf state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22194>
Samuel Pitoiset [Mon, 27 Mar 2023 13:42:31 +0000 (15:42 +0200)]
radv: rework emitting inner coverage when a fragment shader is bound
To stop relying on the pipeline. The state is now flagged when a new
fragment shader with a different inner coverage setting is bound.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22194>
Samuel Pitoiset [Wed, 29 Mar 2023 14:27:02 +0000 (16:27 +0200)]
radv: remove radv_graphics_pipeline::vb_desc_alloc_size
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22192>
Samuel Pitoiset [Wed, 29 Mar 2023 14:21:52 +0000 (16:21 +0200)]
radv: remove radv_graphics_pipeline::vb_desc_usage_mask
Use the VS shader info instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22192>
Samuel Pitoiset [Wed, 29 Mar 2023 14:33:51 +0000 (16:33 +0200)]
radv: adjust vb_desc_usage_mask for dynamic VS inputs in the info pass
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22192>
Samuel Pitoiset [Wed, 29 Mar 2023 14:16:01 +0000 (16:16 +0200)]
aco: remove unused aco_shader_info::vb_desc_usage_mask
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22192>
Samuel Pitoiset [Wed, 29 Mar 2023 14:12:09 +0000 (16:12 +0200)]
radv: remove radv_graphics_pipeline::can_use_simple_input
Use the VS shader info instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22192>
Samuel Pitoiset [Wed, 29 Mar 2023 14:05:32 +0000 (16:05 +0200)]
radv: remove radv_graphics_pipeline::next_vertex_stage
Use the active stages bitfield instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22192>
Samuel Pitoiset [Wed, 29 Mar 2023 13:53:06 +0000 (15:53 +0200)]
radv: remove radv_graphics_pipeline::last_vertex_attrib_bit
Use the VS shader info instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22192>
Samuel Pitoiset [Wed, 29 Mar 2023 13:49:47 +0000 (15:49 +0200)]
radv: remove radv_graphics_pipeline::use_per_attribute_vb_descs
Use the VS shader info instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22192>
Patrick Lerda [Mon, 27 Mar 2023 09:45:12 +0000 (11:45 +0200)]
intel: fix memory leak related to brw_nir_create_passthrough_tcs()
Indeed, the parameter "mem_ctx" was not processed.
For instance, this issue is triggered with the crocus driver and
"piglit/bin/shader_runner tests/spec/arb_tessellation_shader/execution/compatibility/tes-clip-vertex-different-from-position.shader_test -auto -fbo":
SUMMARY: AddressSanitizer: 235216 byte(s) leaked in 48 allocation(s).
Fixes:
96ba0344db8f ("intel: Use common helpers for TCS passthrough shaders")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22173>
Pierre-Eric Pelloux-Prayer [Tue, 28 Mar 2023 16:31:05 +0000 (18:31 +0200)]
radeonsi: don't use alignment_log2 of imported buffers
This value isn't passed to the importer by the kernel
so we can't check it.
Fixes:
f7a4051b836 ("radeonsi: Check pitch and offset for validity.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8431
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22170>
Erik Faye-Lund [Thu, 16 Mar 2023 13:11:13 +0000 (14:11 +0100)]
docs: use version-number as toctree-title for relnotes
Using the full titles makes most of these take up two lines in the
toctree. The version number is really the only thing we should care
about, though.
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21956>
Erik Faye-Lund [Fri, 17 Mar 2023 12:58:44 +0000 (13:58 +0100)]
docs: move old relnotes to _extra directory
These aren't built, so they won't get copied out into the public folder
unless we put is inside the _extra folder.
This has been broken all since the conversion to Sphinx, whoops!
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21956>
Lina Versace [Thu, 23 Mar 2023 20:57:08 +0000 (13:57 -0700)]
venus: Enable VK_EXT_memory_budget
Tested dEQP-VK.info.device_memory_budget on Intel with vtest. When the
test is ran at approximately the same time on the native driver and on
vtest, the qpa result files each report approximately the same memory
budget.
Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22099>
Lina Versace [Thu, 23 Mar 2023 20:57:08 +0000 (13:57 -0700)]
venus: Refactor vn_physical_device_init_memory_properties
Improve readability.
Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22099>
Lina Versace [Thu, 23 Mar 2023 20:57:07 +0000 (13:57 -0700)]
venus: Delete vn_renderer_info::has_cache_management
It has been false since commit
247232d59692, when Venus was merged
upstream in April 2021.
Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22099>
Lina Versace [Thu, 23 Mar 2023 20:57:07 +0000 (13:57 -0700)]
venus: Update protocol for VK_EXT_memory_budget
Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22099>
Karol Herbst [Wed, 22 Mar 2023 21:10:55 +0000 (22:10 +0100)]
nvc0: enable fp helper invocation memory loads on Turing+
Starting with GSP this will be the only way of doing so, for older gens
we'll just fix it up on the kernel side.
Cc: mesa-stable
Acked-by: M Henning <drawoc@darkrefraction.com>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21989>
Samuel Pitoiset [Mon, 27 Mar 2023 16:00:39 +0000 (18:00 +0200)]
radv: use serialized NIR for graphics libs with the RETAIN flag
Cloning NIR shaders consumes too much RAM and this can easily explode
in memory for games that create a ton of graphics libraries. Using
serialized NIR shaders help considerably.
This reduces RAM usage in dota2 with GPL from 3GiB to 400MiB.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22143>
Eric Engestrom [Mon, 13 Mar 2023 22:40:40 +0000 (22:40 +0000)]
ci/broadcom: slightly increase coverage of vk tests
The previous commit has freed up a couple of runners, so let's repurpose
them to make vk test jobs take less time; with that spare time, let's
increase the coverage a little bit.
Most jobs now take 10-12 minutes, just like they used to.
Stress-tested over 40+ runs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21902>
Eric Engestrom [Mon, 13 Mar 2023 19:14:05 +0000 (19:14 +0000)]
ci/broadcom: consolidate v3d-rpi4* jobs into a single v3d-rpi4-gl:armhf
Using now 12 instead of 14 runners, most jobs take 11-13 minutes, which
is about the same as when they were all running separately (10-13 min).
Stress-tested over 8 runs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21902>
Eric Engestrom [Mon, 13 Mar 2023 19:10:57 +0000 (19:10 +0000)]
ci/broadcom: consolidate vc4-rpi3* jobs into a single vc4-rpi3-gl:armhf
Without reducing the coverage and using 4 runners instead of 9, most
runs take 10-13 minutes instead of 12-13 minutes for the egl job, 9-11
minutes for the piglit job, and 6-8 minutes for the deqp job.
Stress-tested over 40+ runs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21902>
Rob Clark [Tue, 28 Mar 2023 15:48:02 +0000 (08:48 -0700)]
Revert "CI: Disable freedreno"
This reverts commit
6a16ed8d7949424f160cb2f1a17bc71d892ee66e.
The proxy has been rebooted
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22168>
Timur Kristóf [Wed, 29 Mar 2023 20:30:45 +0000 (22:30 +0200)]
radv: Move I/O lowering functions into a new file.
Also ran clang-format on the affected code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21971>
Timur Kristóf [Wed, 29 Mar 2023 17:28:42 +0000 (19:28 +0200)]
radv, ac/nir: Move sin/cos lowering to a common pass.
Also ran clang-format on the affected code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21971>
Timur Kristóf [Wed, 29 Mar 2023 17:12:41 +0000 (19:12 +0200)]
radv: Move radv_nir_export_multiview to new file.
Also ran clang-format on the affected code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21971>
Timur Kristóf [Wed, 29 Mar 2023 17:12:06 +0000 (19:12 +0200)]
radv: Move radv_nir_lower_viewport_to_zero to new file.
Also ran clang-format on the affected code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21971>
Timur Kristóf [Thu, 16 Mar 2023 20:25:16 +0000 (13:25 -0700)]
radv: Move radv_nir_lower_view_index to new file.
Also ran clang-format on the affected code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21971>
Timur Kristóf [Wed, 29 Mar 2023 16:54:07 +0000 (18:54 +0200)]
radv: Move radv_nir_lower_intrinsics_early to new file.
Also ran clang-format on the affected code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21971>
Timur Kristóf [Wed, 29 Mar 2023 16:46:11 +0000 (18:46 +0200)]
radv: Move radv_nir_lower_fs_intrinsics to new file.
Also ran clang-format on the affected code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21971>
Timur Kristóf [Thu, 16 Mar 2023 20:05:07 +0000 (13:05 -0700)]
radv: Move radv_nir_lower_primitive_shading_rate to new file.
Also ran clang-format on the affected code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21971>
Timur Kristóf [Tue, 28 Mar 2023 20:13:23 +0000 (22:13 +0200)]
radv: Move radv_nir_* to a new folder.
Also ran clang-format on the affected code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21971>
Mike Blumenkrantz [Tue, 14 Mar 2023 20:54:07 +0000 (16:54 -0400)]
kopper: apply ancillary invalidation through glthread on swapbuffers
this fixes invalidations with tc's renderpass parsing so they get picked
up before the renderpass ends
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21910>
Mike Blumenkrantz [Tue, 14 Mar 2023 20:53:46 +0000 (16:53 -0400)]
glthread: add _mesa_glthread_invalidate_zsbuf()
this allows frontends to trigger ancillary invalidation before syncing
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21910>
Mike Blumenkrantz [Tue, 14 Mar 2023 20:53:15 +0000 (16:53 -0400)]
mapi: add InternalInvalidateFramebufferAncillaryMESA
this allows glthread to handle ancillary buffer invalidation
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21910>
Mike Blumenkrantz [Mon, 13 Mar 2023 18:19:03 +0000 (14:19 -0400)]
lavapipe: move default rasterizer state values to rendering_state init
these should always be set
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 13 Mar 2023 17:36:30 +0000 (13:36 -0400)]
lavapipe: avoid uniformly unsetting gs_output_lines
instead fix the conditional now that it's possible to tell whether
a gs is bound
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 13 Mar 2023 17:36:03 +0000 (13:36 -0400)]
lavapipe: only unset tess_states pointers on tes bind
this is otherwise irrelevant
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 13 Mar 2023 17:33:55 +0000 (13:33 -0400)]
lavapipe: only update shader access for bind/unbind stages
also squash a loop
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 13 Mar 2023 17:23:07 +0000 (13:23 -0400)]
lavapipe: split out gfx stage unbinding
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 13 Mar 2023 17:22:47 +0000 (13:22 -0400)]
lavapipe: don't double unbind gfx stages on pipeline bind
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 13 Mar 2023 17:21:56 +0000 (13:21 -0400)]
lavapipe: dynamically bind noop fs at draw time when needed
this is simpler than special casing it everywhere
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Tue, 7 Mar 2023 17:09:09 +0000 (12:09 -0500)]
lavapipe: unify lvp_pipeline_nir creation
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Tue, 7 Mar 2023 16:58:31 +0000 (11:58 -0500)]
lavapipe: add a ref for the tess_ccw nir on creation
not sure if it matters but good to be consistent
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Tue, 7 Mar 2023 15:15:56 +0000 (10:15 -0500)]
lavapipe: refactor pipeline destroy a bit
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 22:30:36 +0000 (17:30 -0500)]
lavapipe: delete unused struct member
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 22:19:07 +0000 (17:19 -0500)]
lavapipe: break out all the important parts of gfx pipeline setting for reuse
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 22:10:21 +0000 (17:10 -0500)]
lavapipe: pull out dynamic tess origin check in gfx pipeline bind
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 22:07:28 +0000 (17:07 -0500)]
lavapipe: don't access pipeline shader structs as much during bind
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 22:05:02 +0000 (17:05 -0500)]
lavapipe: PIPE_SHADER_ -> MESA_SHADER_
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 22:01:13 +0000 (17:01 -0500)]
lavapipe: merge some loops in handle_graphics_pipeline()
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 21:50:53 +0000 (16:50 -0500)]
lavapipe: refactor compute shader binding
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 21:46:32 +0000 (16:46 -0500)]
lavapipe: stop using rendering_state::pipeline
access shaders directly now
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 21:46:03 +0000 (16:46 -0500)]
lavapipe: add a device member to rendering_state
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 21:45:36 +0000 (16:45 -0500)]
lavapipe: track bound shader stages on rendering_state
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 21:44:30 +0000 (16:44 -0500)]
lavapipe: refactor shader compile functions to not take pipeline params
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Wed, 15 Mar 2023 11:27:12 +0000 (07:27 -0400)]
lavapipe: don't memcpy tess_ccw when copying pipeline library shaders
this gets handled later
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Mike Blumenkrantz [Mon, 6 Mar 2023 21:28:23 +0000 (16:28 -0500)]
lavapipe: always copy streamout info when creating shaders
llvmpipe should be smart enough to figure this out internally
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21866>
Daniel Stone [Tue, 14 Mar 2023 16:01:50 +0000 (16:01 +0000)]
ci/radeonsi: Skip really slow tests on stoney
These allocate way more memory than is reasonable, a bunch of times. I'd
guess they pushed the machine pretty deep into memory pressure which is
why it was all taking like 3 minutes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22193>