Faith Ekstrand [Mon, 25 Sep 2023 22:22:13 +0000 (17:22 -0500)]
nvk/drm: Restructure nvk_queue_submit_drm_nouveau()
Now that we don't need the lock, we can return directly. Also, now that
we don't have the old UAPI, we can clean things up and make the whole
function make a bit more sense. Also, drop some pointless braces while
we're just moving code around.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25357>
Faith Ekstrand [Mon, 25 Sep 2023 22:28:02 +0000 (17:28 -0500)]
nvk: Get rid of the tiled memory allocation helpers
These existed entirely to support shadow memory for VkImage cases where
we needed tiling. Now that we have VM_BIND, these are no longer used so
we can drop the wrappers and just implement VkAllocate/FreeMemory again.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25357>
Faith Ekstrand [Mon, 25 Sep 2023 22:20:31 +0000 (17:20 -0500)]
nvk: Drop the device-level mutex
This existed to let us lock the memory_objects list and for handling
BO-based vk_sync waits. We don't have either of these things anymore so
there's no need for a device-level lock. We already have fine-grained
locks around the data structures that need them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25357>
Faith Ekstrand [Mon, 25 Sep 2023 22:19:59 +0000 (17:19 -0500)]
nvk: Drop memory object tracking
We no longer have to pass a list of BOs to the kernel so there's no need
to track allocated memory objects like this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25357>
Faith Ekstrand [Mon, 25 Sep 2023 22:12:51 +0000 (17:12 -0500)]
nvk: Drop command buffer BO tracking
We no longer need to provide this information to the kernel so there's
no reason to track it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25357>
Faith Ekstrand [Mon, 25 Sep 2023 22:12:30 +0000 (17:12 -0500)]
nvk/drm: Drop the push_add_bo() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25357>
Faith Ekstrand [Mon, 25 Sep 2023 22:08:11 +0000 (17:08 -0500)]
nvk/drm: Drop the push_add_push_bo() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25357>
Faith Ekstrand [Sat, 23 Sep 2023 15:55:23 +0000 (10:55 -0500)]
nvk: Rip out old UAPI support
This was mostly generated by
unifdef -DNVK_NEW_UAPI=1 -m src/nouveau/**/*.h
with a few manual fixups for device features and to remove includes and
strip out the meson bits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25357>
Tapani Pälli [Mon, 25 Sep 2023 12:15:05 +0000 (15:15 +0300)]
anv: fix a leak of fp64_nir shader
Fixes:
8c4c4c3ee1a2 ("anv: Add softtp64 workaround")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9846
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25372>
Caio Oliveira [Mon, 25 Sep 2023 21:46:49 +0000 (14:46 -0700)]
util: Fix bookkeeping of linear node sizes
When creating a new node, we were clobbering the original size
requested, and use that as offset, so the node would always be full.
Fixes:
591db9a9a54 ("util: Remove per-buffer header in linear alloc for release mode")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25382>
Dave Airlie [Tue, 26 Sep 2023 00:24:23 +0000 (10:24 +1000)]
draw/mesh: reset some user state values on mesh draws.
Otherwise previous non-mesh draws and can leave things dirty.
Fixes crashes in:
dEQP-VK.mesh_shader.ext.query.all_queries.triangles.reset_before.copy.no_wait.indirect_draw.32bit.no_availability.no_blocks.task_mesh.inside_rp.single_view.with_secondary
after other shaders have run.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25385>
Hyunjun Ko [Mon, 25 Sep 2023 01:41:44 +0000 (10:41 +0900)]
anv: don't use cmd_buffer after destroyed.
Fixes:
13b3d7f74 ("anv: Handle companion RCS in end/destory/reset code path")
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25366>
Charmaine Lee [Tue, 13 Sep 2022 05:33:01 +0000 (08:33 +0300)]
svga: use srv raw buffer for accessing readonly shader buffer
When a surface is to be created for a buffer that is to be persistently mapped,
set the UAV bind flag as well, otherwise, an extra copy of the surface will have
to be created when the buffer is later bound as shader storage buffer, and
it will then incur extra buffer copies to keep the shadow copies of the surface
in sync. But when a buffer is simultanously bound to uniform buffer and shader
storage buffer, having both srv and uav on the same resource can also be costly.
This patch also provides optimization for readonly shader buffer. In this case,
instead of creating uav for accessing a readonly shader buffer, srv
raw buffer is used instead.
Tested with yuzu tracefile included in VMware bug 3029385.
Reviewed-by: Martin Krastev <krastevm@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25381>
Charmaine Lee [Tue, 19 Sep 2023 19:29:28 +0000 (22:29 +0300)]
svga: fix immediates used in rawbuf for constant buffer
Since constant buffers can be accessed as raw buffers, indices to
the constant buffers will have to be declared as immediates.
But it is a waste to define immediates for every possible indices
to the constant buffer, we will only include immediates that are used in
the shader. But since immediate block is declared in a very early stage
of a shader, this patch will append any new immediates to the immediate
list and reemit the immediate block if needed.
Fixes assertion running yuzu
Reviewed-by: Maaz Mombasawalam <mombasawalam@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25381>
Charmaine Lee [Thu, 8 Sep 2022 22:08:59 +0000 (15:08 -0700)]
svga: restrict use of rawbuf for constant buffer access to GL43 device
Restrict use of rawbuf for constant buffer access to GL43 capable
device only.
Fixes glretrace regressions running with SW Renderer.
Reviewed-by: Martin Krastev <krastevm@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25381>
Charmaine Lee [Mon, 29 Aug 2022 21:14:30 +0000 (14:14 -0700)]
svga: fix persistent mapped surface update to constant buffer
Currently when a buffer is mapped with the persistent bit set and is
later bound as a constant buffer, the updated buffer content is not
properly updated to the constant buffer surface as the constant buffer
surface is different from the original buffer surface. Doing
a buffer copy to sync the content of the constant buffer will fix
the problem, but the buffer copy can be costly.
To properly fix the issue, instead of creating a secondary surface
for the constant buffer, the original buffer surface will be accessed as
a raw buffer.
This fixes the rendering issue running yuzu deko_basic.nro
Reviewed-by: Martin Krastev <krastevm@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25381>
Gert Wollny [Mon, 25 Sep 2023 11:44:26 +0000 (13:44 +0200)]
ci: Upref virglrenderer
Pull in the latest changes regarding texture wrapping
modes handling.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25343>
Gert Wollny [Sat, 4 Mar 2023 17:12:09 +0000 (18:12 +0100)]
virgl: report MIRROR_CLAMP features better
The new host version checks the support of these features better,
so report here accordingly. This fixes a number of texwrap piglit
tests on Intel.
v2: Stick to old test for PIPE_CAP_TEXTURE_MIRROR_CLAMP because
host has to be backward compatible.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25343>
Faith Ekstrand [Mon, 25 Sep 2023 22:00:05 +0000 (17:00 -0500)]
nvk: Advertise discreteQueuePriorities = 2
This is a lie since we don't do anything with queue priorities at
present but Vulkan requires us to advertise at least 2.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25383>
Faith Ekstrand [Mon, 25 Sep 2023 21:59:29 +0000 (16:59 -0500)]
nvk: Advertise maxMemoryAllocationCount = 4096
This is the minimum and also what the proprietary driver advertises.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25383>
Faith Ekstrand [Mon, 25 Sep 2023 21:57:42 +0000 (16:57 -0500)]
nvk: Re-order physical device limits
They now match the order in vulkan_core.h which makes it easier to find
missing entries of which there was one. This also fixes a bug where we
were setting .bufferImageGranularity twice and we were overwriting the
correct value with an incorrect one.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25383>
Connor Abbott [Tue, 12 Sep 2023 18:59:11 +0000 (20:59 +0200)]
tu: Remove pipeline from state
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Tue, 12 Sep 2023 18:58:40 +0000 (20:58 +0200)]
tu: Don't use pipeline for active stages
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Tue, 12 Sep 2023 18:56:43 +0000 (20:56 +0200)]
tu: Don't use pipeline for per_view_viewport
We already have the state in the command buffer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Tue, 12 Sep 2023 18:53:31 +0000 (20:53 +0200)]
tu: Don't use pipeline for bandwidth validity
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Tue, 12 Sep 2023 18:18:31 +0000 (20:18 +0200)]
tu: Don't use pipeline for dynamic draw states
For dynamic states that are precompiled from static state, just set the
corresponding dynamic draw state directly, and keep a record of which
ones are precompiled when we go to emit states at draw time so we don't
accidentally re-emit them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Tue, 12 Sep 2023 18:08:51 +0000 (20:08 +0200)]
tu: Make compute dispatch use the shader
With this, the last use of the compute pipeline is gone. We still use
the pipeline for the load state, though.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Tue, 12 Sep 2023 11:06:27 +0000 (13:06 +0200)]
tu: Don't reference pipeline for some draw states
These draw states are things that depend on pipeline-only state:
- The load state depends on knowing the pipeline layout, which we won't
know for a shader that's loaded from a binary. This is going away on
a7xx anyway, and we should be able to use the a7xx strategy of
prefetching the descriptors in the preamble on a6xx too.
- The prim order state depends on feedback loops and raster order
attachment access, which isn't supported at the moment.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Mon, 11 Sep 2023 15:56:38 +0000 (17:56 +0200)]
tu: Rewrite remaining pipeline LRZ handling
Now that the FS-specific parts are split out, the only remaining part is
the blend state part. Use the same state that we use for dynamic
blending for static blending, eliminating the last use of the pipeline
in the LRZ code. While we're at it fix a bug where dynamic blending
didn't always disable LRZ writes (even though it only mattered with a
non-conformant debug flag because we invalidated LRZ anyway).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Mon, 11 Sep 2023 14:51:26 +0000 (16:51 +0200)]
tu: Use pipeline feedback loop flag indirectly
Remove another use of the pipeline.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Fri, 8 Sep 2023 11:41:18 +0000 (13:41 +0200)]
tu: Decouple program state from the pipeline
There are a couple pieces of state that we can't calculate until we know
all of the shaders:
- The actual variants to use (i.e. whether to use safe-const variants)
- Program config and VPC draw states
- Const layout, which depends on the variants
- Whether per-view viewports should be enabled
Now that these are all combined in tu_pipeline::program, move these into
a separate struct that can be referenced directly without a pipeline.
The next step is to refactor the code filling it out so that it can be
called at draw time when given just the shaders.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Thu, 7 Sep 2023 14:42:44 +0000 (16:42 +0200)]
tu: Rework passing shared consts
The way this works now is awkward to map to shader objects. We don't
have the pipeline layout when "linking" shaders at draw time, so we have
to piece it together from the shaders. Store the information we need in
the shaders and piece it together.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Wed, 6 Sep 2023 15:24:00 +0000 (17:24 +0200)]
tu: Rewrite tessellation modes handling
Before this, we combined the modes after compiling the shaders when
constructing the pipeline. But that's a bit awkward with shader objects,
where there is no good place to put state derived from TCS and TES but
not the other stages. However, shader objects leaves us with an out:
when compiling separately, the modes must be on one of the shaders. So
instead we just copy the modes earlier, in the NIR shaders, and then get
them from the appropriate shader later. That way there is no extra
overhead when fast-linking, as there currently is, and we don't need to
create an awkward separate object just for this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Tue, 5 Sep 2023 15:10:17 +0000 (17:10 +0200)]
tu: Use shader directly for VS/TCS output size and patch size
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Tue, 5 Sep 2023 14:15:42 +0000 (16:15 +0200)]
tu: Move FS-specific pipeline information to the shader
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Mon, 4 Sep 2023 17:58:36 +0000 (19:58 +0200)]
tu: Start tracking shaders independently of pipeline
We will gradually transition over users of cmd->state.pipeline and
TU_CMD_DIRTY_PIPELINE to shaders and derived state from shaders. This
just puts in place the framework to start doing that.
When importing a library with all of the shader state, we now have to
import the shaders in addition to the program, so that they are
available when we bind the pipeline.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Connor Abbott [Mon, 4 Sep 2023 15:54:35 +0000 (17:54 +0200)]
tu: Create singleton "empty" shaders
The most important of these is the empty FS, which should cut down on
time spent in the compiler when we fast-link a pipeline where there is
only a library with the VS and no library with the empty FS. Source
engine is known to do this.
This is also necessary for shader objects where the "empty" shaders are
never created up-front. We will use these when a NULL shader is bound.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25276>
Caio Oliveira [Mon, 18 Sep 2023 01:32:28 +0000 (18:32 -0700)]
util: Add a few basic tests for linear_alloc
Not comprehensive, but those were the ones used to work on the
previous linear_alloc changes. Also having a test already
set up lower the barrier to add more tests for future in case of
bugs.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Caio Oliveira [Mon, 18 Sep 2023 17:05:01 +0000 (10:05 -0700)]
util: Remove per-buffer header in linear alloc for release mode
There's only need to keep the offset and size of the latest buffer,
so rename linear_header into linear_ctx and change the code to
keep records there.
For debug mode we still keep a header, now called linear_node_canary,
to have a magic check. Since due to alignment we have a free space,
also keep the individual occupation of each node (offset), for
debugging.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Caio Oliveira [Mon, 18 Sep 2023 09:45:40 +0000 (02:45 -0700)]
util: Remove size information from child allocations
With linear_realloc() gone, there's no code that reads the size
in linear_size_chunk struct, so it can be removed. This removes
the 8-byte overhead per child allocation and simplifies the
allocation code.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Caio Oliveira [Mon, 18 Sep 2023 09:34:34 +0000 (02:34 -0700)]
util: Remove linear_realloc()
Now that linear_realloc() is unused, remove it. It is not an actual
realloc, will always allocate new memory and copy data around -- and
had a big warning about it in the documentation.
In the couple of uses we had before, the client code knew the size,
so it could be changed to perform the allocation and the copy by
themselves. The client code keeping the size is the recommended
way here.
This will allow us remove linear_size_chunk later.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Caio Oliveira [Mon, 18 Sep 2023 09:19:21 +0000 (02:19 -0700)]
util: Remove usages of linear_realloc()
Note that for linear allocator, the realloc will always
allocate new memory. In both cases that realloc was used,
the existing size was known, so we can just allocate
and do the copy ourselves.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Caio Oliveira [Mon, 18 Sep 2023 08:51:13 +0000 (01:51 -0700)]
util: Use an opaque type for linear context
In the linear allocation only the parent (context) can be used
to allocate new children, so let's use an opaque type to identify
the linear context. This is similar to what's done in GC allocator.
Update the documentation and a couple of function names to
refer to linear context instead of linear parent.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Caio Oliveira [Mon, 18 Sep 2023 08:15:42 +0000 (01:15 -0700)]
util: Make DECLARE_LINEAR_ALLOC_* macros assume no destructors
Linear allocator doesn't support calling custom destructors to
its child allocations nor freeing individual child allocations.
So the destructor callback and the delete operator don't apply
to objects using linear allocator.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Caio Oliveira [Mon, 18 Sep 2023 06:11:58 +0000 (23:11 -0700)]
util: Remove size from linear_parent creation
None of the callsites took advantage of this, so remove
the feature. This will help to a next change that will
add an opaque type to represent a linear parent.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Caio Oliveira [Mon, 18 Sep 2023 02:15:42 +0000 (19:15 -0700)]
util: Use linear parent to (r)allocated extra nodes
Instead of making all the nodes children of the same original
ralloc_ctx, use that context just for the first node (which
is the linear parent). The remaining nodes are (r)allocated
using the first one.
With that change, to free/steal, it is sufficient to apply the
operation to the first node, which uses the underlying linked
list between the nodes at ralloc level. And we can remove
the 'next' pointer in linear_header, now unused.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Caio Oliveira [Mon, 18 Sep 2023 01:54:52 +0000 (18:54 -0700)]
util: Remove ralloc_parent from linear_header
We can reach the ralloc parent from the linear parent, since
it is what was used to allocate the linear parent in the first
place.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25280>
Samuel Pitoiset [Fri, 22 Sep 2023 10:00:53 +0000 (12:00 +0200)]
radv/ci: skip dEQP-VK.robustness.* on Vangogh due to weird GPU hangs
For very weird reasons, this subset hangs on VanGogh only. It took a
while to figure out that and I can't reproduce on my Steam Deck. Skip
the whole subset for now until the issue is figured out to avoid
blocking the CTS update.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24947>
Samuel Pitoiset [Mon, 4 Sep 2023 08:00:37 +0000 (10:00 +0200)]
ci: update to vulkan-cts-1.3.6.3
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24947>
Konrad Dybcio [Mon, 25 Sep 2023 14:30:44 +0000 (16:30 +0200)]
freedreno: Include speedbin fallback in 730 chipid to fix probing
The kernel exposes CHIP_ID, which consists of:
[63:48] const 0 / reserved
[47:32] speedbin (default 0xffff)
[31:0 ] actual gpu chip ID
Fix the 730 chip id to make it probe correctly.
Keep the existing entry for the downstream KGSL driver.
This is essentially the same as Commit
6067aba9e6db ("freedreno: Include
speedbin fallback in 740 chipid to fix probing"), except for the older
core.
Fixes:
cd3719be7d09 ("freedreno: Fully define a730 and a740 device properties")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25375>
Rhys Perry [Wed, 20 Sep 2023 18:27:39 +0000 (19:27 +0100)]
aco: reset prefetch in the correct block after removing the exit
fossil-db (navi31):
Totals from 279 (0.35% of 79332) affected shaders:
(no stat changes)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes:
c778803d673f ("aco/assembler: change prefetch mode on GFX10.3+ during loops if beneficial")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25312>
Lionel Landwerlin [Wed, 30 Aug 2023 08:43:44 +0000 (11:43 +0300)]
intel/ds: avoid dropping traces when running out of shared memory
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Wed, 30 Aug 2023 08:43:03 +0000 (11:43 +0300)]
anv/utrace: trace CPU on timestamp buffer readiness
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Tue, 29 Aug 2023 20:00:17 +0000 (23:00 +0300)]
intel/ds: track number of tracepoint timestamp copies
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Tue, 29 Aug 2023 19:59:15 +0000 (22:59 +0300)]
util/u_trace: count number of tracepoints
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Tue, 29 Aug 2023 13:40:26 +0000 (16:40 +0300)]
intel/ds: lock submissions to u_trace_context
This allows for submissions to be outside the global anv_device mutex.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Fri, 25 Aug 2023 20:42:17 +0000 (23:42 +0300)]
intel: don't assume Linux minor dev node
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Wed, 16 Aug 2023 18:16:10 +0000 (21:16 +0300)]
anv: enable utrace timestamp buffer copies on compute engine
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Thu, 17 Aug 2023 07:02:45 +0000 (10:02 +0300)]
anv: move utrace flush out of backends
The next patch is going to introduce some locking that needs to happen
before the submission to the backend.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Wed, 16 Aug 2023 14:11:14 +0000 (17:11 +0300)]
anv: move simple shaders code to its own object
We would like to call those function from anv_utrace.c
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Wed, 16 Aug 2023 13:55:21 +0000 (16:55 +0300)]
anv: add simple shader support without a command buffer
Limited to compute for now. Annoyingly Gfx9 requires a binding table
block.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Wed, 16 Aug 2023 12:14:08 +0000 (15:14 +0300)]
anv: add a memcpy compute internal kernel
We'll use this memcpy utrace timestamp data.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
Lionel Landwerlin [Fri, 25 Aug 2023 20:15:29 +0000 (23:15 +0300)]
anv: fix utrace timestamp buffer copies
Fixes:
521c216efc ("anv: use COMPUTE_WALKER post sync field to track compute work")
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24744>
David Rosca [Sat, 23 Sep 2023 13:49:55 +0000 (15:49 +0200)]
frontends/va: Set default rate control values once when creating encoder
Move setting the default values from getEncParamPresetH264/5 as this
function is called on each frame which would result in overwriting
values set by application.
This fixes setting HRD parameters and max_qp/min_qp when
PIPE_VIDEO_CAP_ENC_QUALITY_LEVEL is not supported.
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25355>
David Rosca [Sat, 23 Sep 2023 11:11:57 +0000 (13:11 +0200)]
frontends/va: Process VAEncSequenceParameterBufferType first in vaRenderPicture
The encoder is created in handleVAEncSequenceParameterBufferType and it
also sets some default parameters, so we need to make sure to handle
this buffer first because application may have already set those
parameters from earlier buffers.
This fixes setting HRD parameters with gstreamer vah264enc/vah265enc
when PIPE_VIDEO_CAP_ENC_QUALITY_LEVEL is supported.
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25355>
Eric Engestrom [Fri, 8 Sep 2023 14:58:36 +0000 (15:58 +0100)]
docs: add calendar for 23.3
Normally the branchpoint would have been on Oct 11, but this is the week
before XDC and everyone will be busy so let's try not to add the
branchpoint pressure on top. Let's instead branch off on the week
_after_ XDC, on Oct 25.
Besides, 23.2 has been delayed by multiple factors, so it wouldn't make
sense to rush 23.3.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25122>
Martin Roukala (né Peres) [Thu, 21 Sep 2023 09:35:05 +0000 (12:35 +0300)]
radv/ci: add more tests to the navi21 vkcts flake list
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25325>
Martin Roukala (né Peres) [Thu, 21 Sep 2023 03:35:13 +0000 (06:35 +0300)]
radv/ci: increase the parallelism of the vkcts-navi21 job
The vkcts-navi21 job currently take ~13 minutes each, but we are about
to start running the VK_EXT_shader_object tests which should
significantly increase our runtime and thus would exceed the 15 minutes.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25325>
Juan A. Suarez Romero [Mon, 25 Sep 2023 10:21:28 +0000 (12:21 +0200)]
v3d/shim: include new ioctl parameters
Some new parameters added recently were missed in the DRM shim.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9880
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25370>
Samuel Pitoiset [Tue, 12 Sep 2023 13:32:41 +0000 (15:32 +0200)]
radv: enable cache counters for RGP on GFX11
This was the last missing RGP feature on GFX11 compared to older chips.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25271>
Samuel Pitoiset [Tue, 12 Sep 2023 15:12:04 +0000 (17:12 +0200)]
radv: add SPM support for GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25271>
Samuel Pitoiset [Mon, 18 Sep 2023 10:47:44 +0000 (12:47 +0200)]
ac/spm: add support for GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25271>
Samuel Pitoiset [Tue, 12 Sep 2023 13:16:32 +0000 (15:16 +0200)]
ac/spm: add new segment types for GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25271>
Samuel Pitoiset [Mon, 18 Sep 2023 12:00:00 +0000 (14:00 +0200)]
ac/gpu_info: define AMD_MAX_WGP
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25271>
Dave Airlie [Thu, 3 Aug 2023 03:02:57 +0000 (13:02 +1000)]
llvmpipe/linear: move to nir inputs
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24436>
Dave Airlie [Thu, 3 Aug 2023 03:00:09 +0000 (13:00 +1000)]
llvmpipe/linear: convert to using nir for output.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24436>
Dave Airlie [Wed, 2 Aug 2023 06:15:15 +0000 (16:15 +1000)]
llvmpipe/fs: start converting dervied state to nir based.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24436>
Dave Airlie [Wed, 2 Aug 2023 06:08:26 +0000 (16:08 +1000)]
llvmpipe/fs: start converting interp/input paths to nir.
This input_usage_mask is going to take a bit more thinking
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24436>
Dave Airlie [Wed, 9 Aug 2023 06:26:03 +0000 (16:26 +1000)]
llvmpipe/nir: call gather info to update inputs read properly
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24436>
Dave Airlie [Wed, 30 Aug 2023 01:41:31 +0000 (11:41 +1000)]
gallivm: drop tgsi aos paths.
These were only used by the linear code, and that doesn't use
tgsi anymore
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24436>
Dave Airlie [Thu, 3 Aug 2023 02:53:51 +0000 (12:53 +1000)]
llvmpipe/linear: drop tgsi path.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24436>
David Heidelberg [Sun, 24 Sep 2023 20:30:22 +0000 (02:00 +0530)]
ci/freedreno: disable broke cheza (Adreno 630) runners
Revert ASAP as `google-freedreno-cheza` gets running again.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25365>
Gert Wollny [Sun, 24 Sep 2023 17:19:24 +0000 (19:19 +0200)]
r600/sfn: Fix use of scheduled_shader vs shader
Thanks to Vitaliy Kuzmin for pointing this out.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25364>
Gert Wollny [Sun, 24 Sep 2023 17:14:37 +0000 (19:14 +0200)]
r600/sfn: sort the uniforms of the right shader
Thanks to Vitaly Kuzmin for pointing this out.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25364>
Faith Ekstrand [Thu, 17 Aug 2023 19:01:42 +0000 (14:01 -0500)]
r600: Use nir_builder helpers for load/store_shared_r600
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24762>
Faith Ekstrand [Thu, 17 Aug 2023 18:26:44 +0000 (13:26 -0500)]
r600: Use more auto-generated nir_builder helpers
Use nir_umad24 instead of rolling our own. Also, all system values
already have NIR builder helpers and we don't need to be manually
building intrinsics or rolling our own helpers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24762>
Karmjit Mahil [Tue, 19 Sep 2023 12:35:50 +0000 (13:35 +0100)]
pvr: Fix dynamic desc offset storage
The index at which the dynamic descriptor offsets were being
stored was incorrect, leading to some offsets not being stored and
thus `0` being applied as the offset to the descriptors instead.
dEQP test fixed:
dEQP-VK.binding_model.shader_access.{primary,secondary}_cmd_buf
.uniform_buffer_dynamic
.{vertex,fragment,compute,vertex_fragment}
.multiple_discontiguous_descriptor_sets
.*_descriptor.offset_view_{,non}zero_dynamic_nonzero
Fixes:
aa791961a82e ("pvr: Add support for dynamic buffers descriptors")
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25320>
Karmjit Mahil [Mon, 18 Sep 2023 14:36:29 +0000 (15:36 +0100)]
pvr: Fix `for` loop itarator usage
The `i` iteration variable was being used instead of `k` when
appending new mappings, and getting the current source rect.
dEQP test fixed:
dEQP-VK.pipeline.monolithic.image.suballocation.sampling_type
.combined.view_type.3d.format.*.count_1.
.{3x3x3,5x5x5,...(odd dimensions)}
Fixes:
060c3db4efd6 ("pvr: Complete pvr_generate_custom_mapping()")
Reported-by: James Glanville <james.glanville@imgtec.com>
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25321>
Faith Ekstrand [Sat, 23 Sep 2023 15:31:04 +0000 (10:31 -0500)]
nvk: Set GUARDBAND_Z_SCALE_1 when Z-clipping
This fixes most of the remaining dEQP-VK.*.inverted_depth_range.* tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25359>
Faith Ekstrand [Fri, 22 Sep 2023 23:03:30 +0000 (18:03 -0500)]
nvk: Enable dynamic clip/clamp enable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25356>
Faith Ekstrand [Fri, 22 Sep 2023 22:56:34 +0000 (17:56 -0500)]
nvk: Fix depth clipping parameters
This is a pretty complete overhaul which I think may actually be correct
and there are now comments explaining why various parameters were
chosen.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25356>
Faith Ekstrand [Fri, 22 Sep 2023 21:33:51 +0000 (16:33 -0500)]
nvk: Clean up viewport math
This should make everything a bit easier to read
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25356>
David Heidelberg [Tue, 19 Sep 2023 12:53:30 +0000 (18:23 +0530)]
iris: do not mention specifically clover for OpenCL support
It's confusing, when rusticl is used.
Acked-by: Karol Herbst <kherbst@redhat.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25287>
David Heidelberg [Fri, 22 Sep 2023 13:49:33 +0000 (19:19 +0530)]
ci/venus: add fragment.32B_in_memory_with_vec4_s32 flake
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25349>
Felix DeGrood [Wed, 13 Sep 2023 22:27:33 +0000 (22:27 +0000)]
anv: fix frame count reporting in INTEL_MEASURE
Report frame count at CB submit time, instead of CB build time.
Reviewed-by: Mark Janes <markjanes@swizzler.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25235>
Faith Ekstrand [Fri, 22 Sep 2023 18:52:19 +0000 (13:52 -0500)]
nvk: Disable statistics around meta ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25353>
Faith Ekstrand [Sun, 17 Sep 2023 18:40:28 +0000 (13:40 -0500)]
nvk: Lower interp_at_sample to interp_at_offset
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25353>
Frank Binns [Thu, 21 Sep 2023 09:53:16 +0000 (10:53 +0100)]
pvr: remove pvr_pbe_get_src_pos()
This should have been removed as part of
f59c6eef168 ("pvr: Move PBE START_POS
into csb enum helpers header").
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25328>
Frank Binns [Fri, 8 Sep 2023 15:42:53 +0000 (16:42 +0100)]
pvr: treat VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT as not supported
The required compiler support is missing for mutable format support, so return a
not supported error from vkGetPhysicalDeviceImageFormatProperties2() when the
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag is set in the image format info
structure.
This results in the dEQP-VK.image.mutable.* conformance tests being treated as
Not Supported.
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25241>
Mike Blumenkrantz [Fri, 22 Sep 2023 14:32:40 +0000 (10:32 -0400)]
lavapipe: set default min sample shading to 1
this should only affect shobj handling and even then probably no effect
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25354>