Dave Airlie
aa2c209260
lavapipe: add execution backends for mesh shader draw apis
...
This binds the mesh draw apis to the gallium backend ones.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
5c6c226f5a
lavapipe: add support for task/mesh shader stages in various places
...
this bumps the LVP_SHADER_STAGES to allow task/mesh shaders to be used,
and adds them to various state binding and execution places.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
092b1daaf6
lavapipe: add mesh query support
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
ccb16259cb
lavapipe: handle some mesh shader stage differences.
...
certain state info is no long required if you using mesh/task in the
pipeline.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
8f8c55fd38
llvmpipe: enable task/mesh shader support.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
450c95c7b4
llvmpipe: add mesh shader drawing.
...
This is the big execution one, it implement the draw mesh callback.
This executes task shaders and mesh shaders with no overlap.
When task shaders finish, the mesh shader is launched using the payload
data, unless no task shader is run, then the mesh shader is launched.
Once the mesh shader is finished the data is supplied to the draw
pipeline to convert to linear vertex data with no per-prim data,
then passed to draw for clipping and further processing.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
8fcb024047
llvmpipe/cs: add multiple stride indirect to fill_grid_info.
...
mesh shaders needs to iterate across multiple indirect draws
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
3994fb1e19
llvmpipe/cs: add task/mesh shader support to compute shader builder.
...
This allows generating task and mesh variants of compute shaders.
It adds:
- vertex and primitive outputs support - aos writing.
- payload support
- mesh iface for the output and count callbacks.
- draw_id
- multiple iteration support to the exec fn to allow launches
in multiple passes to reduce memory usage
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
51eb3cc563
gallivm/cs: add payload ptr to the cs thread data.
...
This fits best at a thread level beside shared.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
e4c5a9383d
llvmpipe: bind task/mesh resources and dirty bits
...
This binds the task/mesh states to be updated on dirty changes
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
936db9f8f3
llvmpipe: add query support for task/mesh shaders
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
575cc620cd
llvmpipe: add debug bit for mesh shaders
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >#
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
fcf653067e
llvmpipe: add dirty bits for mesh and task shaders.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
24f4f35eac
llvmpipe: bump dirty tracker to 64-bits.
...
We need a lot more dirty states for task/mesh
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
d9fae96618
llvmpipe: start adding task/mesh support.
...
This is just some infrastructure for creating shaders and contexts.
task/mesh shaders are based on compute shaders and share nearly all
their code with compute.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
b0b81b279c
llvmpipe: resize arrays to handle mesh shaders.
...
This just bumps some limits.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
7f1151d90d
gallivm/nir: add support for mesh shader outputs.
...
mesh shaders can have vertex and primitive outputs, and act a bit
like TCS shaders, add the callback to allow the driver to decide
how to store these.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
a1106fd8b8
gallivm/nir: call task shader lowering.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
a29ed5ba5d
gallivm/nir: add a mesh interface and vert/prim count setting.
...
This adds a callback to the driver for a mesh interface to implement
the set_vertex_and_primitive_count intrinsic
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:47 +10:00
Dave Airlie
24fe5abbae
gallivm/nir: add launch mesh workgroups
...
add support the launch mesh workgroups intrinsic for task shaders.
This writes the values out to the start of the payload.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:46 +10:00
Dave Airlie
97a2d0aded
gallivm: add support for payload access
...
mesh shading has a payload to pass between task and mesh shaders,
this acts like shared memory as well, so we use the standard memory
hooks to access it.
This current adds the payload after the 12-byte header which will
contain the x/y/z grid sizes.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:46 +10:00
Dave Airlie
f3e6582f32
draw: add support for per primitive aos emission
...
This add support to the aos emit code so that mesh shaders
can use it for per prim outputs.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:46 +10:00
Dave Airlie
fe0e4bf863
draw: add mesh pipeline middle end.
...
This sets up the mesh pipeline to call the post vs clipping
and so emit for stats (not for so).
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:46 +10:00
Dave Airlie
888fb3d360
draw: add a mesh primitive assembler.
...
This is assembles prims from mesh vertex and per-primitive outputs.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:46 +10:00
Dave Airlie
bb1be13bb8
draw: move draw_vertex_info and draw_prim_info to public header.
...
Need to use these in llvmpipe for mesh shaders
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:46 +10:00
Dave Airlie
03768014fa
draw: add mesh shader infrastructure
...
This adds draw mesh shader infrastructure, as mesh shaders have
to be able to feed into the post vs stages like clipping, so
we have to wire informational things up.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:46 +10:00
Dave Airlie
6123f8e245
lavapipe: fix indentation whitespace
...
these were indented too much.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:46 +10:00
Dave Airlie
cbb8632991
lavapipe: fix pipeline sanitizing.
...
This isn't needed for fragment shader.
Cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23066 >
2023-06-06 05:01:46 +10:00
Jesse Natalie
954e56bb18
d3d12: Fully initialize UAV desc for null SSBOs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23440 >
2023-06-05 16:27:08 +00:00
Samuel Pitoiset
df8b41b0b4
zink/ci: remove useless RADV_PERFTEST=gpl
...
This option has been removed a while ago.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23442 >
2023-06-05 16:00:52 +00:00
Juan A. Suarez Romero
3fa3c23623
broadcom/ci: update expected results
...
Update failing/flake list.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23441 >
2023-06-05 17:00:04 +02:00
Erik Faye-Lund
6d142078bc
nir: use generated immediate comparison helpers
...
This makes the code a bit less verbose, so let's use the helpers.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23393 >
2023-06-05 13:40:08 +00:00
Erik Faye-Lund
82465f1418
nir: generate nir_{cmp}_imm variants
...
We have a couple of open-coded variants of these, but let's generate all
of them for completeness.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23393 >
2023-06-05 13:40:07 +00:00
Erik Faye-Lund
28b1c5bca1
nir: use nir_i{ne,eq}_imm helpers
...
We already have these, so let's use them more.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23393 >
2023-06-05 13:40:07 +00:00
Erik Faye-Lund
57260a836a
d3d12, dozen: make sure we pass float to fge
...
This doesn't matter much in practice, because the integer an float
representations of zero are the same. But it's easier to understand
what's going on if the correct type is used, so let's clean this up.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23393 >
2023-06-05 13:40:07 +00:00
Karmjit Mahil
817be4b860
pvr: Fix typo causing seg faults copying immutable samplers
...
Fixes seg faults in:
dEQP-VK.binding_model.shader_access.primary_cmd_buf
.sampler_immutable.no_access.single_descriptor.*
dEQP-VK.binding_model.shader_access.primary_cmd_buf
.sampler_immutable.no_access.multiple_contiguous_descriptors.*
It does not fix them. Now they just hit asserts in the compiler.
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/23357 >
2023-06-05 13:06:57 +00:00
Pavel Ondračka
1021e2b946
r300: fail linking instead of using dummy shaders
...
We need to tell the apps about the hardware limtations, so that they
have a chance to take a fallback path. Fixes GTK misrendering, due to
use of the dummy shaders (now properly fallbacks to software).
Based on a MR by Filip Gawin.
Closes:https://gitlab.freedesktop.org/mesa/mesa/-/issues/7291
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22708 >
2023-06-05 12:40:52 +00:00
Rhys Perry
9ae5c942da
aco/tests: add discard export target tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23371 >
2023-06-05 11:42:21 +00:00
Rhys Perry
21867b45c1
aco: fix has_color_exports=true for mrtz exports
...
V_008DFC_SQ_EXP_NULL is after V_008DFC_SQ_EXP_MRTZ.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Tested-by: Mikhail Gavrilov mikhail.v.gavrilov@gmail.com
Fixes: d3611af389 ("aco: support nir_export_amd with ps targets")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9135
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23371 >
2023-06-05 11:42:21 +00:00
Sergi Blanch Torne
7447c15894
Revert "ci: disable Collabora's LAVA lab for maintance"
...
This reverts commit https://gitlab.freedesktop.org/mesa/mesa/-/commit/7059aa2f842aae442e75b4d6e9d4a37bf4489bff
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23429 >
2023-06-05 10:48:21 +00:00
Pavel Ondračka
d4b8e8a481
r300: enable PIPE_CAP_TGSI_TEXCOORD
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23299 >
2023-06-05 10:31:40 +00:00
Juan A. Suarez Romero
f34d76e93e
v3d: Z/S blit require Z/S formats
...
Similar to checking that a z/s format can not be used for color
blit with tile-based blit path, color format can not be used for z/s
blit.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23390 >
2023-06-05 10:15:05 +00:00
Pavel Ondračka
4c6a0f9cf1
r300: remove nir round lowering
...
We should only see round from lowered ARR and in that case we want
to reconstruct the ARR, not lower it.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23419 >
2023-06-05 09:53:32 +00:00
Pavel Ondračka
5404c71e8a
r300: fuse ROUND and ARL to ARR
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23419 >
2023-06-05 09:53:32 +00:00
Vinson Lee
8bc7d71c23
pvr: Fix signed comparison
...
Fix defect reported by Coverity Scan.
Unsigned compared against 0 (NO_EFFECT)
unsigned_compare: This less-than-zero comparison of an unsigned value is never true. val < 0U.
unsigned_conversion: val is converted to an unsigned type because it's compared to an unsigned constant.
Fixes: 480bdff4b5 ("pvr: Add support to process transfer and blit cmds")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23416 >
2023-06-05 09:21:34 +00:00
Collabora's Gfx CI Team
d75973a142
Uprev Piglit to 5036601c43fff63f7be5cd8ad7b319a5c1f6652c
...
https://gitlab.freedesktop.org/mesa/piglit/-/compare/d8c08d123fadb986e9a8a7887b922ff63fcff52e...5036601c43fff63f7be5cd8ad7b319a5c1f6652c
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23245 >
2023-06-05 08:52:38 +00:00
Dave Airlie
48745d58e2
lavapipe: when in doubt, swizzle the swizzle
...
instead of swizzling.
Fixes a bunch of broken depth/stencil swizzling tests in CTS
dEQP-VK.pipeline.monolithic.sampler.border_swizzle.s8_uint_stencil.argb.transparent_black.gather_0.no_swizzle_hint
v2: kusma had nicer ideas.
Fixes: 7826648e14 ("lavapipe: fix depth texturing swizzle")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23428 >
2023-06-05 08:26:41 +00:00
Sergi Blanch Torne
7059aa2f84
ci: disable Collabora's LAVA lab for maintance
...
This is to inform you of some planned downtime in the LAVA lab as follows:
Start: 2023-06-05 08:00 GMT
End: 2023-06-05 12:00 GMT
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23426 >
2023-06-05 09:28:56 +02:00
Yonggang Luo
137aa8b2dc
util: Replace all usage of PIPE_TIMEOUT_INFINITE with OS_TIMEOUT_INFINITE
...
They are exactly the same, so it's safe to do the replace
Also gen OS_TIMEOUT_INFINITE var with rusticl_mesa_bindings_rs by OS_ prefix and
include "util/os_time.h" in rusticl/rusticl_mesa_bindings.h
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23401 >
2023-06-05 05:12:02 +00:00
David Heidelberg
6d013d1f13
ci/fedora: re-enable ccache
...
Works well with Fedora 38, the offending bug was fixed.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23425 >
2023-06-05 00:11:08 +02:00