Mike Blumenkrantz
48b56d2efd
zink: use a dynarray for semaphore wait flags
...
ensure that any number of semaphore waits is handled as expected
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17066 >
2022-06-16 02:01:53 +00:00
Mike Blumenkrantz
f5ac058812
zink: remove thread_queue
...
I had originally intended to hook this up properly with synchronization et al,
but I didn't do it, and now it's seeming less smart anyway, so let's
remove the footgun
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17066 >
2022-06-16 02:01:53 +00:00
Connor Abbott
cba6da2b21
tu: Save/restore *_BIN_CONTROL in 3d GMEM store path
...
These are normally only set once because it's constant across the entire
renderpass, but they're trashed by the 3d store path because it needs to
store to CCU instead of GMEM. Therefore we need to save/restore them. Do
it in a way compatible with #5181 .
Fixes: b157a5d ("tu: Implement non-aligned multisample GMEM STORE_OP_STORE")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17058 >
2022-06-16 01:10:24 +00:00
Connor Abbott
a9d7b47613
tu: Add missing WFI to the 3d GMEM store path
...
Similar to the 2d path.
Fixes: b157a5d ("tu: Implement non-aligned multisample GMEM STORE_OP_STORE")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17058 >
2022-06-16 01:10:24 +00:00
Connor Abbott
705c0d0373
tu: Fix 3d GMEM store swizzle in texture descriptor
...
Even though image views for attachments must use the identity swizzle,
there are cases where we have to add in our own swizzle, in particular
for D24S8 when the view is depth-only/stencil-only. Therefore we have to
reset it to the identity, similar to what we do with input attachments.
Fixes: b157a5d ("tu: Implement non-aligned multisample GMEM STORE_OP_STORE")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17058 >
2022-06-16 01:10:24 +00:00
Rhys Perry
33e7ba2e3e
aco: update SMEM offset workaround for LLVM 15
...
This isn't needed since LLVM 15's b0ccf38b018.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6663
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17036 >
2022-06-16 00:47:51 +00:00
Mike Blumenkrantz
d301883aba
zink: use uint64_t for batch_id
...
this maps directly to the vulkan api and allows removal of timeline
wrapping code
the consequence of this is a ~0.26% reduction in drawoverhead performance
on base cases (n=1000), but the simplification and deletions seem worth it
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17045 >
2022-06-16 00:30:45 +00:00
Tiago Koji Castro Shibata
4622e99e10
d3d12: fallback to integrated adapter instead of arbitrary one
...
Using the integrated adapter when none is specified uses less power by
default and doesn't break scenarios on Optimus systems (for example, on
Surface Books, detaching the screen gets prohibited because the GPU on
the performance base is in use)
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17005 >
2022-06-16 00:19:54 +00:00
Mike Blumenkrantz
3b867ae69b
zink: anv ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17061 >
2022-06-16 00:05:52 +00:00
Mike Blumenkrantz
bd859e1f96
zink: clamp renderpass layers better
...
this needs to be the minimum layer, not the maximum
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17061 >
2022-06-16 00:05:52 +00:00
Mike Blumenkrantz
7edecbf4c2
zink: clamp dynamic fb layers better
...
this needs to be the minimum layer, not the maximum
Fixes: c81cd989c8 ("zink: use dynamic rendering (most of the time)")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17061 >
2022-06-16 00:05:52 +00:00
Mike Blumenkrantz
f74df6205d
zink: add a function for getting the minimum framebuffer layers
...
this clamps the layer count to the smallest number of layers rather
than the largest
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17061 >
2022-06-16 00:05:52 +00:00
Emma Anholt
979f213110
ci/iris: Disable blender-demo-cube_diorama on APL.
...
It has timed out on 3 jobs today.
Fixes: 96f0944a69 ("ci/panfrost: add Blender, Warzone2100, Freedoom and Unvanquished traces")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17041 >
2022-06-15 23:28:23 +00:00
Connor Abbott
6dfabab08f
freedreno/a6xx: Support more 3-component formats
...
These should be trivially enableable. This gets us some test coverage on
turnip because there are no tests of RGB32 texel buffers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16980 >
2022-06-15 22:48:38 +00:00
Connor Abbott
2e63c570dd
tu: Enable uniform texture buffers with NPOT formats
...
This is enough for zink to expose ARB_texture_buffer_object_rgb32 and
therefore GL 4.0. We could enable sampled images with a few more
workarounds, but the blob doesn't bother and there isn't any need at the
moment.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16980 >
2022-06-15 22:48:38 +00:00
Boris Brezillon
db2d264989
dzn: Enable support for geometry shaders
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:01 +00:00
Boris Brezillon
e9066ff2be
dzn: Disable rasterization if the last geometry stage doesn't write the position
...
If we don't do that, and we get passed a dummy geometry shader (one
that has no EmitVertex() calls) we get a DXIL validation error.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Boris Brezillon
e11035bf6d
microsoft/compiler: Support gl_Layer
...
Maps pretty nicely to SV_RenderTargetArrayIndex, so nothing complicated
here.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Boris Brezillon
9c45ee3f86
microsoft/compiler: Fix Layer type
...
DXIL wants a uint, but we get passed an int.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Boris Brezillon
afb64e10c1
microsoft/compiler: Move d3d12_fix_io_uint_type() to dxil_nir.c
...
We currently have two implementations of the same logic. Let's pick
the d3d12 one, move it to dxil_nir.c and let nir_to_dxil() call it
when appropriate.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Boris Brezillon
c9b2c79d16
d3d12: Keep access masks up-to-date when removing vars in d3d12_disable_multisampling()
...
Fixes: e5cf19fced ("d3d12: Modify shaders when MSAA is disabled")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Mike Lothian
e1accb1c4c
util: Fix invalid usage of alignas in u_cpu_detect.c
...
This fixes the following errors when compiling Mesa with Clang 14:
../mesa-9999/src/util/u_cpu_detect.c:368:5: error: expected ';' after struct
} alignas(16) fxarea;
^
;
This has been tested with Clang 14.0.5 and GCC 12.1
Fixes: e3bc78b8e3 ("util: use c11 alignas instead of rolling our own")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6667
Signed-off-by: Mike Lothian <mike@fireburn.co.uk >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17035 >
2022-06-15 21:27:57 +00:00
Marek Olšák
e24354c1b2
radeonsi/gfx11: rework GDS streamout code to single-lane and enable streamout
...
GDS is basically scalar in gfx11.
This is not exactly how it's supposed to be done (we should be using
the GDS_STRMOUT registers), but it works.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
44e4d42c23
radeonsi/gfx11: add missing register shadowing code
...
it doesn't work yet
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
fbd68a3839
radeonsi/gfx11: drop the ES vertex count requirement
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
99fd408946
radeonsi/gfx11: don't allocate unused wait_mem_scratch
...
We sync using PWS instead of memory.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
98d6a3d6c6
radeonsi/gfx11: don't use memory for waiting for cache flushes
...
There is a new flush/wait mechanism called PixelWaitSync that uses
an internal counter.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
56d4e0be86
radeonsi/gfx11: synchronize correctly before setting SPI_ATTRIBUTE_RING_*
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
fa25eba744
radeonsi/gfx11: allocate more space for pipeline statistics
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
0e8beb1eed
radeonsi/gfx11: compile monolithic PS if it writes memory
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
ee7150da79
amd/gfx11: add PixelWaitSync packet fields
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
7d8847d963
ac/llvm: fix tcs_wave_id unpacking on gfx11
...
no effect on behavior because the higher bits are always zero
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Emma Anholt
ae432b67b7
ci/dzn: Skip a test that intermittently times out at a minute.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17054 >
2022-06-15 20:30:46 +00:00
Christian Gmeiner
15f394cc7a
nir: Fix unused-variable compile warnings
...
Fixes: 8492e78f9d ("nir/deref: Handle SSBO array bindings specially")
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17021 >
2022-06-15 19:43:27 +00:00
Guilherme Gallo
75973e3a1c
ci/lava: Add support for more complex color codes
...
Currently, the LAVA job submitter is employing a temporary solution for
the bash escape code mangling in the LAVA jobs. Until the issue is not
fixed on the LAVA side, the submitter will replace the wrong characters
with the fixed ones.
This commit improves the regex pattern to comprehend the scenarios of
color codes with font formatting and background color information, such
as: `echo -e "\e[1;41;39mRed background with white bold text color\e[0m"`
Fixes : #5503
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/17046 >
2022-06-15 19:10:09 +00:00
Timur Kristóf
08435b1c6f
radv: Always use 3D block ID and grid size in task shaders.
...
These are needed to address the task draw and payload ring buffers
when the task shader dispatch is 3 dimensional.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17023 >
2022-06-15 18:28:58 +00:00
Timur Kristóf
0fb9573c57
ac/nir/taskmesh: Preserve workgroup ID Y and Z when applying firstTask.
...
NV_mesh_shader workgroups are only 1 dimensional, so it's OK to
only add firstTask to the X dimension.
However, let's keep the Y and Z dimensions so this doesn't mess up
the workgroup ID for future 3 dimensional task shader dispatches.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17023 >
2022-06-15 18:28:58 +00:00
Timur Kristóf
b243e94f07
radv: Lower mesh shader 3D workgroup ID to 1D index.
...
This allows future mesh shaders to use a 3D workgroup ID.
Also changes how the NV_mesh_shader first_task is emulated.
The new code moves the responsibility from ac_nir into radv.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17023 >
2022-06-15 18:28:58 +00:00
Timur Kristóf
e05f63f56c
ac/nir/ngg: Add mesh shader workgroup index.
...
This will allow lowering 3D workgroup ID to a 1D index.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17023 >
2022-06-15 18:28:58 +00:00
Timur Kristóf
856a8acab0
radv: Enable NGG wave ID for mesh shader scratch ring.
...
This wave ID is used to address the scratch ring, so it should be
enabled when the scratch ring is used.
Note: the naming is confusing here, as this ID is actually the same
accross the whole workgroup. (It would be more appropriate to call
it workgroup ID instead.)
Fixes: 0280b526d5
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/17022 >
2022-06-15 18:05:51 +00:00
Yonggang Luo
a9e2c699aa
util/c11: Update function u_thread_create to be c11 conformance
...
Do not assume thrd_t to be a pointer or integer, as the C11 standard tells us:
thrd_t: implementation-defined complete object type identifying a thread
At https://en.cppreference.com/w/c/thread
So we always return the thread creation return code instead of thrd_t value, and judge the return
code properly.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
6e33ef2bb9
c11: Implement thread_local in c11/threads.h
...
Use thread_local when possible
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
09cd5c9bdb
c11: Fixes memory leak of pack in thrd_create on win32
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
e6392fcf3d
c11: Move the implementation of threads.h into c source code
...
By doing this, now the global variable impl_tss_dtor_tbl are only defined one time.
So the memory usage would reduced
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
b7773fd105
util: Define WIN32_LEAN_AND_MEAN before include of windows.h in u_thread.h
...
This is a prepare for move the c11 threads implementation into c source code
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
be00a7c8ac
glx: using C++11 keyword thread_local
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:16 +00:00
Yonggang Luo
0f3064ee44
intel: using C++11 keyword thread_local
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:16 +00:00
Chia-I Wu
af0080c4ef
turnip: advertise VK_EXT_border_color_swizzle
...
We already support the functionality so just advertise it. Pass all
dEQP-VK*border_swizzle*.
v2: update freedreno-a630-fails.txt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17019 >
2022-06-15 15:48:47 +00:00
Sergi Blanch Torne
ea33e44ce4
ci/crosvm: clean crosvm socket
...
When the 'vm stop' command fails because the crosvm instance
that would be listening to it is already dead, remove the
socket file to avoid crosvm complaining and refusing to boot
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16963 >
2022-06-15 14:03:42 +00:00
Samuel Pitoiset
4480e577a4
zink/ci: update list of failures again
...
Only two tests have been fixed and the list has been incorrectly
updated.
Fixes: b240be28e3 ("zink: check for pending clears to determine write status of zs attachments")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16975 >
2022-06-15 13:14:17 +00:00