Commit Graph

168264 Commits

Author SHA1 Message Date
Faith Ekstrand 29bfdcd7c1 nak: Add an ftz bit to a bunch of float ops
Specifically, OpFAdd, FFma, FMnMx, FMul, and FSwzAdd

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26557>
2023-12-07 16:21:14 +00:00
Faith Ekstrand 6881ff4c99 nak: Drop the fmnmx from Builder
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26557>
2023-12-07 16:21:14 +00:00
Faith Ekstrand 00b2564163 nak/nvfuzz: Add an SM parameter
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26557>
2023-12-07 16:21:14 +00:00
Dave Airlie 884da2622c nvk/nil: allow storage on VK_FORMAT_A2B10G10R10_UINT_PACK32
Fixes:
KHR-GL45.shader_image_load_store.basic-allFormats*
with zink

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26536>
2023-12-07 15:35:14 +00:00
Rohan Garg db6aaa691d intel/compiler: infer the number of operands using lsc_op_num_data_values
nir_emit_global_atomic should utilize lsc_op_num_data_values to
infer the number of operands for global atomic ops, following the same
pattern as nir_emit_surface_atomic

Fixes: 90a2137 ('intel/compiler: Use LSC opcode enum rather than legacy BRW_AOPs')
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26432>
2023-12-07 14:40:24 +00:00
Rohan Garg 46d98a71ef intel/compiler: use the proper enum type to store the op
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26432>
2023-12-07 14:40:24 +00:00
José Roberto de Souza 6d42333b16 intel/genxml/xe2: Update PIPELINE_SELECT
'Media Sampler DOP Clock Gate Enable' and 'Force Media Awake' don't
exist anymore.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26403>
2023-12-07 14:16:18 +00:00
José Roberto de Souza 9898c719a2 intel/genxml/xe2: Update PIPE_CONTROL
'Tile Cache Flush Enable' and 'Generic Media State Clear' are now
reserved bits in gfx20+.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26403>
2023-12-07 14:16:18 +00:00
Tapani Pälli 8e57ba092d mesa: lower EXT_render_snorm version requirement
Requirement was lowered in the extension spec:
https://github.com/KhronosGroup/OpenGL-Registry/pull/596

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26500>
2023-12-07 13:37:11 +00:00
Yonggang Luo e499253966 zink: Generate source file with utf-8 encoding from mako template
Make them generated in consistent way

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26515>
2023-12-07 12:41:07 +00:00
Yonggang Luo 36480b4d02 intel: Generate source file with utf-8 encoding from mako template
Make them generated in consistent way

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26515>
2023-12-07 12:41:07 +00:00
Yonggang Luo e7c614bd20 util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template
This is for fixes the following error:
FAILED: src/vulkan/runtime/vk_synchronization_helpers.c src/vulkan/runtime/vk_synchronization_helpers.h
"C:\CI-Tools\msys64\mingw64\bin/python3.EXE" "../../src/vulkan/util/vk_synchronization_helpers_gen.py" "--xml" "../../src/vulkan/registry/vk.xml" "--out-c" "src/vulkan/runtime/vk_synchronization_helpers.c" "--beta" "false"

Traceback (most recent call last):
  File "C:/work/xemu/mesa/src/vulkan/util/vk_synchronization_helpers_gen.py", line 213, in main
    f.write(TEMPLATE_C.render(**environment))
UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position 15: illegal multibyte sequence

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26515>
2023-12-07 12:41:07 +00:00
Tatsuyuki Ishi 9b2b790ea3 radv: Enable radv_legacy_sparse_binding for DOOM Eternal.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10234
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26464>
2023-12-07 11:40:38 +00:00
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 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
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
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