Commit graph

181692 commits

Author SHA1 Message Date
Tatsuyuki Ishi
b2e8095d6d radv: Add workaround to allow sparse binding on gfx queues.
For working around improper usage of sparse in DOOM Eternal.

When fully explicit sync sparse binding is implemented, this path will
remain implicit sync to also deal with the improper semaphore usage.
radv_queue_submit_bind_sparse_memory will likely get a bool parameter to
control explicit / implicit sync in that case.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26464>
2023-12-07 11:40:38 +00:00
Eric Engestrom
c1229db1a8 docs/calendar: add 24.0 branchpoint and release schedule
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26406>
2023-12-07 10:31:54 +00:00
Eric Engestrom
adc44bbb20 intel/ci: run only the relevant jobs when changing the ci expectations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26279>
2023-12-07 09:59:39 +00:00
Eric Engestrom
c56237e477 intel/ci: hasvk changes should only trigger hasvk jobs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26279>
2023-12-07 09:59:39 +00:00
Eric Engestrom
fb5294717c intel/ci: anv changes should only trigger anv jobs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26279>
2023-12-07 09:59:39 +00:00
Eric Engestrom
0963d0b135 intel/ci: expand first level of common intel files
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26279>
2023-12-07 09:59:39 +00:00
Eric Engestrom
a3077cdcba intel/ci: deduplicate common intel files rules
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26279>
2023-12-07 09:59:39 +00:00
Eric Engestrom
5ccc898276 intel/ci: fix yaml indentation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26279>
2023-12-07 09:59:39 +00:00
Eric Engestrom
dc69c5b323 freedreno/ci: run only the relevant jobs when changing the ci expectations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26280>
2023-12-07 09:37:25 +00:00
Eric Engestrom
60df7b6768 freedreno/ci: fix yaml indentation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26280>
2023-12-07 09:37:25 +00:00
Eric Engestrom
e8193956e2 panfrost/ci: run only the relevant jobs when changing the ci expectations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26257>
2023-12-07 09:21:11 +00:00
Eric Engestrom
fad164a06e panfrost/ci: fix yaml indendation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26257>
2023-12-07 09:21:10 +00:00
Pierre-Eric Pelloux-Prayer
1a99f50c7f radeonsi: use a compute shader to convert unsupported indices format
This commit replace the CPU-conversion of ubyte to ushort by a compute shader.
The benefits are:
* we don't need to sync anymore
* we can allocate the index buffer in VRAM (no need to CPU map it)

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10195
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26416>
2023-12-07 08:42:19 +00:00
Eric Engestrom
5bdb42b1a2 zink/ci: run only the relevant jobs when changing the ci expectations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26258>
2023-12-07 07:55:13 +00:00
Eric Engestrom
428ca69ba9 zink/ci: expand first (and only) level of folders in the list of files
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26258>
2023-12-07 07:55:13 +00:00
Eric Engestrom
e39785f6c6 zink/ci: use variable to avoid repeating the list
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26258>
2023-12-07 07:55:13 +00:00
Eric Engestrom
b36338a3f4 zink/ci: fix yaml indentation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26258>
2023-12-07 07:55:12 +00:00
Eric Engestrom
d971e3ba45 ci: fix rules for formatting checks
Fixes: 70eff58767 ("ci: allow hw jobs even if lint jobs fail for non-Marge pipelines")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26511>
2023-12-07 07:27:11 +00:00
Timothy Arceri
72ad0db505 glsl: remove now unused GLSL IR block linker
This is now done in the NIR linker instead.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26534>
2023-12-07 03:05:10 +00:00
Timothy Arceri
32f274768e glsl: use new nir based block linker
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26534>
2023-12-07 03:05:10 +00:00
Timothy Arceri
0c6272f97f glsl: support glsl linking in nir block linker
This added support for names and some extra validation that the
spirv linker does not require.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26534>
2023-12-07 03:05:10 +00:00
Timothy Arceri
c468aa6059 nir: add nir_fixup_deref_types()
This will be used to fix up types after arrays have been resized.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26534>
2023-12-07 03:05:09 +00:00
Yonggang Luo
72e30c8853 treewide: Avoid use align as variable, replace it with other names
align is a function and when we want use it, the align variable will shadow it
So replace it with other names

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25997>
2023-12-07 02:30:53 +00:00
Yonggang Luo
adf81143a1 clover: Rename function align to align_vector to avoid conflict with global align
align is a global function, do not conflict with it

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25997>
2023-12-07 02:30:53 +00:00
Yonggang Luo
0f5688eb2c intel: Remove unused ALIGN macro
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25997>
2023-12-07 02:30:53 +00:00
Yonggang Luo
ff306c5f8c meson/win32: There is no need install OpenGL headers on win32
The libraries that use OpenGL already handling the non-exist of OpenGL headers for both
MSVC and MINGW, so there is no need install them

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14019>
2023-12-07 00:58:25 +00:00
Faith Ekstrand
112900075b nak: Add barriers on Volta
The warp barriers go back to SM70, not SM75.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Faith Ekstrand
186baba000 nak: Clean up compiler warnings
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Benjamin Lee
ad89613dc4 nak: implement VOTE on SM50
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Benjamin Lee
8fd7ee2a4f nak: implement SHFL on SM50
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Benjamin Lee
2d63f3dad6 nak: encode Dst::None as RZ on SM50
This case came up when testing VOTE, but likely occurs elsewhere.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Benjamin Lee
ebfd651361 nak: implement IMUL for SM50
IMAD64 does not exist on SM50, so we're using IMUL instead for
nir_op_{i,u}mul_high and nir_op{i,u}mul_2x32_64. Longer-term we may want
to replace this with XMAD for better perf.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Benjamin Lee
00be041ffc nak: implement SHL and SHR on SM50
SHF.{L,R} is supported, but it seems to always write 0 to dst when the
shift value is a register. The only case in nak_from_nir that actually
uses the 64-bit shift is nir_op_isign, which has an immediate shift
value.

This also avoids the SHF.I32 issue, since the only usage is now SHF.I64.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Benjamin Lee
286b832f74 nak: make as_imm_not_{i,f}20 helper methods public
These are useful for SM50 legalize, which is in a different module.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Mary Guillemard
cb3263560f nak: sm50: Implement FFMA
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Faith Ekstrand
f02b2866bc nak/sm50: Drop src_mod_has* in favor of core helpers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
89f727b1bd nak/sm50: remove *fmod* calls from iabs
I see no mention of NOT and ABS in codegen's encoding for I2I

Also, this is an integer instruction, so calling into the float
helpers seem wrong.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
546edfde83 nak/sm50: remove ALUSrc and friends
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
592d8fa436 nak: sm50: remove encode_alu() and friends
This method was too complex. Remove it as we have now rewritten all other
methods not to rely on it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
f32c560e82 nak: sm50: rewrite encode_prmt to not use encode_alu()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
63c85c9cf7 nak: sm50: rewrite encode_popc to not use encode_alu()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
78efdf9755 nak: convert encode_imad to not use encode_alu()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
04d4f1b512 nak: sm50: rewrite encode_f2f to not use encode_alu()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
cb9318b8ef nak: sm50: convert i2f to not use encode_alu()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
bfb091e227 nak: sm50: convert sel to not use encode_alu()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
2adf5a3437 nak: sm50: rewrite iabs to not use encode_alu
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
9f34a3c61d nak: sm50: rewrite fset to not use encode_alu
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
3ab0cea646 nak: sm50: rewrite fmul to not use encode_alu
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
b7bc6cebaa nak: sm50: Rewrite fmnmx to not use encode_alu
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00
Daniel Almeida
01c7f16755 nak: sm50: rewrite fsetp to not use encode_alu
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
2023-12-07 00:36:36 +00:00