Commit Graph

158302 Commits

Author SHA1 Message Date
Chia-I Wu
e40eae2ea9 turnip: remove unused member in tu_submission_data
buffers_count is set but unused.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18040>
2022-08-15 19:44:37 +00:00
Chia-I Wu
b8a916fd0c turnip: fix a use-after-free in autotune
When removing old histories, check against gpu fence.  Otherwise,
pending_results could have dangling pointers to the removed histories.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7055
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18040>
2022-08-15 19:44:37 +00:00
Mike Blumenkrantz
62b3e75e4c zink: use a maybe more accurate wild guess for pcp-less gpl
this is only reachable with an env var, so being wrong is still okay,
but maybe be right slightly more often

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17955>
2022-08-15 14:58:37 +00:00
Mike Blumenkrantz
85165a246c zink: (correctly) require extendedDynamicState2PatchControlPoints for GPL
this is otherwise broken

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17955>
2022-08-15 14:58:37 +00:00
Mike Blumenkrantz
c261179e14 zink: require EXT_non_seamless_cube_map for GPL support
it's impossible to precompile without this

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17955>
2022-08-15 14:58:37 +00:00
Yonggang Luo
4579b702f6 c11: Remove mtx_try from mtx enums as it's not a part of c11 standard
And we support for four types of mtx init enum values that define by C11 standard:
0 mtx_plain - a simple, non-recursive mutex is created.
2 mtx_timed - a non-recursive mutex, that supports timeout, is created.
1 mtx_plain | mtx_recursive - a recursive mutex is created.
3 mtx_timed | mtx_recursive - a recursive mutex, that supports timeout, is created.

musl library also use these enum combination

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/18036>
2022-08-15 14:40:52 +00:00
Georg Lehmann
7b9d3ebe42 aco: Use v_cmpx pre GFX10.
Foz-DB Vega10:
Totals from 29508 (21.85% of 135041) affected shaders:
CodeSize: 184345656 -> 184345820 (+0.00%)
Instrs: 35906154 -> 35906195 (+0.00%)
Latency: 581696114 -> 581530021 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 245625572 -> 245561351 (-0.03%); split: -0.03%, +0.00%
Copies: 3134925 -> 3278672 (+4.59%)

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>
2022-08-15 13:25:38 +00:00
Georg Lehmann
393e577435 aco/assembler: Fix v_cmpx pre GFX10.
The second destination is implicit exec.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>
2022-08-15 13:25:38 +00:00
Georg Lehmann
410eff4d2f aco: Fix optimizing branching sequence with s_and_saveexec.
This optimization was broken for two reasons:
- s_and_saveexec has two operands, the copy value and exec
- s_and_saveexec has an exec read, so exec_write_used will always be true
  before we find branch_exec_val_idx

Foz-DB Navi21:
Totals from 31453 (23.31% of 134913) affected shaders:
CodeSize: 204831260 -> 204831156 (-0.00%)
Instrs: 38157117 -> 38157091 (-0.00%)
Latency: 533708882 -> 531211721 (-0.47%); split: -0.47%, +0.00%
InvThroughput: 107088408 -> 106719188 (-0.34%); split: -0.35%, +0.00%
Copies: 2326179 -> 2502490 (+7.58%)

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>
2022-08-15 13:25:38 +00:00
Georg Lehmann
5ffc73896f aco/assembler: Fix v_cmpx with SDWA.
We need to use the implicit destination.

Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>
2022-08-15 13:25:38 +00:00
Georg Lehmann
9e5f311efe aco: Check that we don't override exec_val operands during branching sequence optimization.
Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>
2022-08-15 13:25:38 +00:00
Timur Kristóf
baf314e2c0 aco: Check for instructions that inhibit the branching sequence optimization.
Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>
2022-08-15 13:25:38 +00:00
Timur Kristóf
d88b2e4ab5 aco: Fix invalidated reference in branching sequence optimization.
Inserting in the instructions vector may invalidate the exec_val reference,
so do that last.

Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>
2022-08-15 13:25:38 +00:00
David Heidelberg
2e9044766e ci: do not install i386 sub-architecture in VK images
Not required by apitrace.

debian/x86_test-vk image size:
previous: 1.8G
after:    1.0G

v2: added back winehq-stable (missing symlinks)

Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17834>
2022-08-15 12:18:41 +00:00
David Heidelberg
cdd508dddd ci: use apt-get in x86_test-vk instead of apt
apt shouldn't be used in CI, see:
https://unix.stackexchange.com/questions/590699/should-i-use-apt-or-apt-get-in-shell-scripting

Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17834>
2022-08-15 12:18:41 +00:00
Tomeu Vizoso
ba518a31ac ci: Report failures to GitLab for LAVA jobs
We were uploading the junit.xml to the artifacts, but weren't telling
GitLab about it.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18028>
2022-08-15 11:40:19 +02:00
Tomeu Vizoso
477412f303 iris/ci: Set FDO_CI_CONCURRENT for all Chromebook jobs
For some reason we were missing these and that was causing some CPUs to
remain idle, and some boards to have too high load and some tests timing
out occasionally.

Set FDO_CI_CONCURRENT for the number of cores, plus one to account for
GPU and I/O waits.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18028>
2022-08-15 11:40:16 +02:00
Tomeu Vizoso
1bdcf5c099 iris/ci: Test on Jasper Lake Chromebooks
8 such boards have been added to Collabora's lab, let's run all tests
from the selected set.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18028>
2022-08-15 11:40:12 +02:00
Qiang Yu
84956286a8 nir/lower_gs_intrinsics: fix primitive count for points
When primitive is points, EndPrimitive can't be used to count
primitive. Need to use vertex count instead. And it's also not
needed to do vertex per primitive count and overwrite incomplete
primitive work for points.

Fixes: 2be99012e9 ("nir: Add ability to count emitted GS primitives.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17805>
2022-08-15 01:39:28 +00:00
Mike Blumenkrantz
b88c3d5bd3 zink: fix program cache comparisons
I missed this when pipe shader types were merged with mesa types

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 20:11:48 -04:00
Mike Blumenkrantz
6ac64fcb6b zink: delete zink_shader_stage()
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:05 -04:00
Mike Blumenkrantz
b988b8c84b zink: remove all pipe_shader_type usage
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:05 -04:00
Mike Blumenkrantz
2792d2bd4a zink: PIPE_SHADER_TYPES -> MESA_SHADER_STAGES
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:05 -04:00
Mike Blumenkrantz
fc657f8c07 zink: explicitly define ZINK_GFX_SHADER_COUNT
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
7040745060 zink: ZINK_SHADER_COUNT -> ZINK_GFX_SHADER_COUNT
more descriptive

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
89daf988bc zink: use statically sized array for descriptor allocation
this will never be more than 100

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
2ca46b66c3 zink: rename _lazy descriptor stuff
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
48cb86d487 zink: reorder some descriptor structs
should yield slightly better packing

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
e373f97804 zink: merge batch descriptor data onto batch state
also clean up some related descriptor code

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
2c281b7ccd zink: merge program descriptor data onto program struct
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
f24c7bdef8 zink: merge context descriptor data onto context struct
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
5512b15863 zink: merge batch descriptor data structs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
9938067287 zink: merge context descriptor data structs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
b25d8850f0 zink: remove descriptor dummy_set
while well-intentioned, this didn't actually do anything

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
8c8fb47f6b zink: delete some unused descriptor struct members
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
ca1d643eab zink: move lazy descriptor data types into zink_types.h
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
30c51abd0b zink: move all types/enums into zink_types.h
this significantly untangles all the header includes and fixes an issue
where zink_descriptors.h couldn't be included by certain files due to
type conflicts

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
bcbd3b297d zink: delete unused struct types
so old

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
8b6ab4dec4 zink: move lazy descriptor functions into zink_descriptors.c
the merginating continues

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
8b0447eec7 zink: delete a lot of descriptor code
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
58e6480ee0 zink: remove descriptor vtable
no longer used

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
dc3c1206be zink: remove checks for lazy descriptor mode + templates ext
these are always true

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
24acb19268 zink: remove cached descriptor mode
this just removes the enum(s) for it, making it functionally inaccessible

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051>
2022-08-14 18:38:03 -04:00
Alyssa Rosenzweig
5fd8ae1541 asahi: Identify depth clip mode bit
Setting this bit (at the batch level, not the draw level!) switches to
[-1, 1] clipping instead of Metal's preferred [0, 1] clipping. Using
this bit allows us to drop the clip_halfz lowering we had before, saving
2 instructions in every vertex shader.

Fixes dEQP-GLES2.functional.depth_range.*

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17948>
2022-08-14 19:59:19 +00:00
Alyssa Rosenzweig
a6f88863f6 asahi: Don't advertise ARB_clip_control yet
Our depth handling is pretty busted as it is. Adding clip control into
the mix will only make things more complicated. Best not worry about
that yet. Implementing this ext "properly" has some wrinkles: explain
them.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17948>
2022-08-14 19:59:19 +00:00
Timur Kristóf
5ead973824 aco: Add faster code path to store_lds for consecutive write mask.
This makes it more likely to hit the fast path for count == 1
in the split_store_data function.

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/17923>
2022-08-14 15:09:07 +00:00
Eric Engestrom
4588453815 vk/device-select-layer: fix .sType of VkPhysicalDeviceGroupProperties
The validation layers complained:
> Validation Error: [ VUID-VkPhysicalDeviceGroupProperties-sType-sType ] Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xc9edee8b | vkEnumeratePhysicalDeviceGroups: parameter pPhysicalDeviceGroupProperties[0].sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES The Vulkan spec states: sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkPhysicalDeviceGroupProperties-sType-sType)

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Fixes: c196ffaca6 ("vk-device-select: add device group support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18037>
2022-08-14 14:18:11 +00:00
Lucas Stach
d08bd9a8d8 etnaviv: don't expose array and 3D texture support on pre-halti GPUs
3D and array texture support is a halti0 GPU feature and
gpu_supports_texture_target() already prevents such textures from being
constructed on older GPUs. Set the screen caps correctly to avoid
exposing EXT_texture_array and OES_texture_3D on those GPUs.

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/17996>
2022-08-13 13:13:34 +00:00
Lucas Stach
2b0f77bde5 etnaviv: allow 3D textures with TS in transfer
The resolve operation to the temporary resource properly iterates
over all layers of the 3D texture, so there is no need to fail the
transfer if we encounter a 3D texture that has a TS BO allocated
due to previous rendering.

Fixes piglit spec@arb_framebuffer_object@fbo-generatemipmap-3d

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/17996>
2022-08-13 13:13:34 +00:00
Lucas Stach
9496b7a2fa etnaviv: fix TS buffer allocation for 3D textures
For 3D textures the number of layers is the resource depth. As the TS buffer
allocation only looked at the array size it does not allocate enough TS
storage for 3D textures.

Fixes piglit spec@!opengl 1.2@copyteximage 3d

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/17996>
2022-08-13 13:13:34 +00:00