Mike Blumenkrantz
bd2eaaeb7d
zink: add a compiler pass to split xfb block outputs
...
this splits all the members of a struct into separate variables to
improve xfb inlining and reduce the number of locations consumed by
xfb outputs, reducing the chances of running out of shader outputs
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
924145c7b5
zink: bitcast extracted streamout components to uint before creating uvec
...
spirv can't create a uvec from float components, so pre-cast here
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
c189b7f585
zink: use right glsl length getter for ntv partial stores
...
why does glsl_get_length exist if it returns 0 for the most common cases?
Fixes: 31ba19ff68 ("zink: fix ntv partial stores")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
5245290565
zink: fix xfb array inlining
...
get_slot_components() returns the total number of output components
for arrays for initial evaluation phase, but during the packed->inlined
conversion the arrayed size must be normalized to the slot's component count
in order to effectively catch and inline the array
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
042cc6e6e6
zink: split xfb block emission from array/matrix handling
...
these are not necessarily the same case even if in glsl they are the same,
and by splitting it out a bunch of redundant array[scalar] code can be deleted
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
76cc519866
zink: handle bare matrix types in xfb emission
...
these have no inherent slot index since they aren't block members
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
a0771cd4ab
zink: always use 32bit floats for so output types
...
doubles may be the output variable type, but the xfb output will always
be 32bit
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
David Heidelberg
c5ebd44850
ci: Allow disabling the whole of the Igalia farm
...
Add a global-level variable that allows disabling all jobs that would
have gone to the Igalia lab, to be used in case of outages or failures.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17178 >
2022-07-15 16:56:03 +00:00
Jesse Natalie
f4a5e95ad2
CI: Update DirectX-Headers dependency for MinGW/Debian
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
1e59bc7a74
subprojects: Point DirectX-Headers at a specific tag
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
f4f1914cd2
microsoft/clc: Add helpers to build with correct ABI for MinGW
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
e14beaf05b
d3d12: Add helpers to build with correct ABI for MinGW
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
489ab1aa3b
dzn: Remove the cast when the SDK version is high enough
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
b9fb14da06
dzn: Missed ABI fixes for GetCustomHeapProperties
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Eric Engestrom
8317de8ed3
docs/isl: fix typos & formatting
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17522 >
2022-07-15 15:17:45 +00:00
Tatsuyuki Ishi
648731e2bd
radv: Only set pstate for the first hw_ctx.
...
We used to do it for every queue, which was duplicate work as pstate is
per-device. It could also cause trouble when multiple hw_ctx are created as
the call will succeed for only one of them and the rest will return -EBUSY.
Simplify and fix this by only setting for the first non-null hw_ctx.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17541 >
2022-07-15 15:08:07 +00:00
Bas Nieuwenhuizen
2d2591bbb7
radv: Expose VK_NV_device_generated_commands.
...
Closes : #6736
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
05bf39238b
radv: Add stub for vkCmdBindPipelineShaderGroupNV.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
3f09bd5a0e
radv: Implement CmdExecuteGeneratedCommandsNV.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
d7bd9db9fc
radv: Implement DGC cmdbuffer generation.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
37a619f517
radv: Implement DGC generated command layout structure.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
0c7bb92a78
radv: Add DGC meta shader.
...
This generated the cmd and upload buffers.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
848d3fdeb6
radv: Add flushing for DGC.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
df69b34450
radv: Add helper to write scissors.
...
For use by DGC shader.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
57017b494d
radv: Make radv_get_vgt_index_size non-static.
...
For DGC cmdbuffer generation use.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
f6a21fccf9
radv: Expose helper for base pa_su_sc_mode_cntl.
...
So that we can feed it to the DGC shader for front face overrides.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
b213de12d3
radv: Require 32bit memory for indirect buffers.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
cca680bab1
radv: Always store stride in the vbo descriptor.
...
So we can use it in the DGC shader.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
bce3af2cb3
radv: Expose function to write vertex descriptors for dgc.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
82c2e99102
radv: Skip setting empty index buffers to avoid hang
...
In the direct path we already skipped draws, but in DGC I noticed
that just emitting these packets can cause issues ...
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
f27f06d72c
radv: Add a 32bit memory type.
...
Got to put the commandbuffers & uploadbuffers there. With DGC
those can be allocated by the application.
Excluding it from all other buffers/images to avoid using the
precious 32bit address space.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Mike Blumenkrantz
b1c1d099a9
zink: always update sampler descriptor layouts on fb surface unbind
...
this will affect the layout
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17524 >
2022-07-15 14:20:24 +00:00
Mike Blumenkrantz
f79d71f59e
zink: break out samplerview layout reset code
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17524 >
2022-07-15 14:20:24 +00:00
Mike Blumenkrantz
960a6316d4
zink: use sampler_bind_count to simplify some code
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17524 >
2022-07-15 14:20:24 +00:00
Mike Blumenkrantz
3a47576687
zink: add a compiler pass to match up tex op dest types
...
this handles bitsize conversions and depth component splatting to
enable simplifying some of the related ntv code
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17427 >
2022-07-15 14:08:56 +00:00
Mike Blumenkrantz
49d5fa12f2
zink: always use 32bit sample ops
...
while some (tg4) sample ops can use different bit sizes in spirv, most
cannot, and all the shader variables are always emitted as 32bit, so
ensure the 32bit type is always what's being used for sampling
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17427 >
2022-07-15 14:08:56 +00:00
Mike Blumenkrantz
35a4b8989f
zink: allow multiple tex components for depth tg4
...
this returns a vec4, so don't break the return type by clamping 1 component
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17427 >
2022-07-15 14:08:56 +00:00
Daniel Stone
02d9d1557b
CI: Disable Collabora lab
...
It's everyone's favourite day, infrastructure maintenance Friday.
This includes manual disables for a618-vk and zink-anv-tgl, because
apparently the disable-on-variable rules don't carry through to those
jobs for ... some reason.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17553 >
2022-07-15 13:26:42 +00:00
Lucas Stach
612b99d721
etnaviv: fix use after free in async shader compile
...
When the shader state is destroyed before the async shader compile is
done, we get a use after free in the async thread, as the shader state
it is operating on is gone. Fix this by dropping any pending job from
the async queue or wait for it to finish before destroying the state
by calling util_queue_drop_job.
Also call util_queue_fence_destroy, which would have caught this issue
by asserting that the queue_fence is in signalled state when the
shader state is destroyed.
Fixes: 1141ed5859 ("etnaviv: async shader compile")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17534 >
2022-07-15 11:07:12 +00:00
Matt Coster
20350a73a7
pvr: Add helper macros for creating pvr_dev_addr_t instances
...
The two macros introduced here form a (hopefully) unobjectionable
subset of those added in !17203 .
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17488 >
2022-07-15 10:39:21 +01:00
Matt Coster
282f0a9330
pvr: Split pvr_dev_addr_t into a separate header
...
This type is useful beyond the scope of winsys.
It can now be used without being lumbered with a dependency on
pvr_winsys.h. Since pvr_winsys.h is used by pvr_private.h, this can be
a common cause for circular dependencies during development.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17488 >
2022-07-15 10:39:21 +01:00
Karmjit Mahil
f2e2e66e42
pvr: Update pvrsrv build version for fixed size fw.
...
It's still 1.17 but the version is changed due to the fixed size
fw struct update.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17491 >
2022-07-15 00:52:14 +00:00
Guilherme Gallo
d0df34c391
ci/lava: Add delay before calling lava-test-case
...
Sleep a bit before executing `lava-test-case` to give time for bash to dump shell xtrace messages into
the console, which may cause interleaving with `LAVA_SIGNAL_STARTTC` in some
devices like a618.
The same approach worked for `LAVA_SIGNAL_STARTRUN` since
3b8d10d270 (deafdd86b8d9d0108bc692f479c3b31c4c7d5635_161_164)
was merged.
Closes : #6867
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17533 >
2022-07-15 00:13:51 +00:00
Jason Ekstrand
cb6375d40c
anv: Stop compacting surface state tables
...
Instead of trying to compact the surface state table to get rid of any
unused render targets, emit MAX(1, colorAttachmentCount) surface states
always. This ensures that secondaries will always match with primaries
when we go to do the copy since there's no rule requiring the secondary
to have VK_FORMAT_UNDEFINED when the primary has a NULL image view.
Fixes: 3501a3f9ed ("anv: Convert to 100% dynamic rendering")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17543 >
2022-07-14 20:36:24 +00:00
Jesse Natalie
ddbbe96c88
Fix static glapi on Windows
...
On Linux, the static glapi path sees libGL.so implementing the static
glapi, and the drivers (libgallium_dri.so) updating/reading the TLS
vars.
On Windows, to allow libgallium_wgl.dll to be a full ICD, it's
responsible for implementing the actual static glapi. However, before
this change, OpenGL32.dll was also implementing the static glapi,
meaning that GL API calls from OpenGL32.dll didn't route to the driver
correctly because the TLS vars were never actually set - the driver set
its copy, and OpenGL32.dll read its own copy.
Now, always build a bridge and static version of glapi when not using
shared. The bridge version is linked into OpenGL32.dll, and the static
version is linked into the driver on Windows. GLES only builds with
shared glapi - but after this, shared glapi is not really needed on
Windows for GLES, since the driver has all of the data.
Fixes: f36921ef ("wgl: Refactor drivers to a libgallium_wgl.dll")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6560
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16713 >
2022-07-14 20:01:22 +00:00
Brian Paul
29ec6372cc
lavapipe: fix incorrect sv[] array size
...
The sampler views array needs to be dimensioned by
PIPE_MAX_SHADER_SAMPLER_VIEWS, not PIPE_MAX_SAMPLERS.
This fixes out-of-bounds array writes when using more than 32
textures in a shader.
Also add some assertions to check array indexing elsewhere.
And change loop limits to be based on ARRAY_SIZE().
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
a0ea45fb68
llvmpipe: initialize a local var to fix compiler warning in release build
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
dfb2ea3531
llvmpipe: don't allow texture/resource swizzles on linear path
...
This fixes another VMware test (dx9-stretch-formats-copy-a8r8g8b8-x8r8g8b8).
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
2b14a7658a
lavapipe: fix logicop, independent blend enable/disable
...
The logicop_enable and independent_blend_enable vars need to always
be assigned, otherwise, once turned on, they could never be disabled.
This fixes a number of failures in VMware's test suite.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
98593360c4
gallivm: increase LP_MAX_TGSI_SHADER_IMAGES from 16 to 32
...
This allows a VMware test to pass. The comments in lp_bld_limits.h
mention SM 3.0 requirements, but we're in the SM 5.0 era...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00