Faith Ekstrand
7ebb2d1dc8
nvk: Only advertise compute_shader_derivatives when NAK is used
...
Fixes: e0e7d8d910 ("nvk: Advertise VK_NV/KHR_compute_shader_derivatives")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31125 >
2024-09-10 19:27:10 -05:00
Sil Vilerino
6f82b1ea18
d3d12: Add support for HEVC range extension header parameters
...
Reviewed-By: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31117 >
2024-09-10 23:06:34 +00:00
Sil Vilerino
92d6989fdc
d3d12: Add support for HEVC 4:4:4 video encode using AYUV format
...
Reviewed-By: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31117 >
2024-09-10 23:06:34 +00:00
Sil Vilerino
0161b98955
pipe: Add HEVC encode range extension caps, SPS and PPS params
...
Reviewed-By: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31117 >
2024-09-10 23:06:34 +00:00
Christian Gmeiner
ec59a1d1b2
etnaviv: Drop assignment of get_timestamp
...
This hook is only called when PIPE_CAP_QUERY_TIMESTAMP is supported. Let's
drop it as it could confuse other mesa hackers.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Christopher Michael <cmichael@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31094 >
2024-09-10 22:37:13 +00:00
Iván Briano
e4ee0a2ce1
anv: be consistent about aux usage with modifiers
...
In c1a7d520f3 , we disabled AUX usage for imported images when they are
using an explicit modifier that doesn't support it.
We need to do the same when the modifier is picked by the driver,
otherwise the memory requirements reported for an exported image don't
match those we report for import.
Fixes: c1a7d520f3 ("anv: Disable aux if the explicit modifier lacks it")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31051 >
2024-09-10 22:09:41 +00:00
Mike Blumenkrantz
3db1a91bfe
zink: delete erroneous kopper assert
...
certain present modes aren't supported by zink,
but that doesn't mean the driver needs to crash if
the driver supports them
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31121 >
2024-09-10 21:38:41 +00:00
Faith Ekstrand
e0e7d8d910
nvk: Advertise VK_NV/KHR_compute_shader_derivatives
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31105 >
2024-09-10 20:13:32 +00:00
Faith Ekstrand
b5ac20f13f
nak: Shuffle gl_LocalInvocationID for quad derivatives
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31105 >
2024-09-10 20:13:32 +00:00
Faith Ekstrand
9c4fa79e00
nak: Move subgroup_id and num_subgroups to lower_system_values
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31105 >
2024-09-10 20:13:32 +00:00
Faith Ekstrand
4602b52a1c
nak: Add a NAK_SUBGROUP_SIZE #define
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31105 >
2024-09-10 20:13:32 +00:00
Sil Vilerino
26a02b7df7
d3d12: Add HEVC support for on demand AUD NALUS
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31114 >
2024-09-10 19:16:15 +00:00
Sil Vilerino
1c490a79f2
pipe: Remove renew_headers_on_idr, insert_aud_nalu unused params
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31114 >
2024-09-10 19:16:15 +00:00
Sil Vilerino
7df39b802d
d3d12: Support for on demand vps, sps, pps, aud headers requests from frontend
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31114 >
2024-09-10 19:16:15 +00:00
Caio Oliveira
eb68e6e84c
anv: Advertise VK_KHR_compute_shader_derivatives
...
This was promoted from VK_NV_compute_shader_derivatives.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30956 >
2024-09-10 18:22:42 +00:00
Caio Oliveira
eae637d83c
spirv: Allow Mesh/Task to use derivative execution modes
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30956 >
2024-09-10 18:22:42 +00:00
Caio Oliveira
1e7f1c2039
nir: Allow Mesh/Task to use implicit LOD when DERIVATIVE_GROUP is set
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30956 >
2024-09-10 18:22:42 +00:00
Caio Oliveira
1cece2691f
spirv: Prefer symbols from Khronos extension for compute shader derivatives
...
The extension was promoted, start using the KHR instead of
vendor-specific symbols.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30956 >
2024-09-10 18:22:42 +00:00
Caio Oliveira
155c614c52
spirv: Update headers and metadata from latest Khronos commit
...
This corresponds to 2a9b6f951c7d6b04b6c21fe1bf3f475b68b84801
("Add Capability and Execution mode SPV_KHR_compute_shader_derivatives (#446 )")
in https://github.com/KhronosGroup/SPIRV-Headers .
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30956 >
2024-09-10 18:22:42 +00:00
Caio Oliveira
807aa97a12
vulkan: Update XML and headers to 1.3.295
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30956 >
2024-09-10 18:22:42 +00:00
Bernhard Rosenkränzer
397adfd453
dril: Fix return types of peglInitialize and peglTerminate
...
Fix return types of peglInitialize and peglTerminate to match
eglInitialize and eglTerminate
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31106 >
2024-09-10 17:36:41 +00:00
Samuel Pitoiset
b4ae6eb5fc
radv: use radv_upload_indirect_descriptor_sets() in DGC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31096 >
2024-09-10 15:07:04 +00:00
Samuel Pitoiset
7be965bf17
radv: stop allocating upload space for indirect descriptors with DGC
...
The indirect descriptors are uploaded from the CPU and nothing needs
to be allocated in the DGC buffer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31096 >
2024-09-10 15:07:04 +00:00
Samuel Pitoiset
31875e92aa
radv: make the helper that uploads indirect descriptors non-static
...
It will be used by DGC.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31096 >
2024-09-10 15:07:04 +00:00
Samuel Pitoiset
3deebeb20a
radv: unify emitting non-indirect/indirect descriptor sets
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31096 >
2024-09-10 15:07:04 +00:00
Samuel Pitoiset
bac5ad9f8d
radv: rename radv_emit_descriptor_pointers() to radv_emit_descriptors_per_stage()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31096 >
2024-09-10 15:07:04 +00:00
Samuel Pitoiset
2c2735083b
radv: store the indirect descriptor sets VA to the descriptor state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31096 >
2024-09-10 15:07:04 +00:00
Samuel Pitoiset
529d7ebdcc
radv: cleanup some functions that emit shader user SGPRs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31096 >
2024-09-10 15:07:04 +00:00
Pierre-Eric Pelloux-Prayer
ed781c7403
frontends/va: honor DRI_PRIME for VA_DISPLAY_WAYLAND
...
This matches the X11 behavior. Other display types are unaffected.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8069
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31012 >
2024-09-10 14:32:23 +00:00
Pavel Ondračka
286bac97ad
r300: remove nir_opt_load_store_vectorize
...
This is another remnant from ntt times, and at this point we have
everything as ubo_vec4 so this had zero effect anyway (and there was a
bug in the callback function as a bonus, but it got never called luckily).
No shader-db changes.
Fixes the r300 part of https://gitlab.freedesktop.org/mesa/mesa/-/issues/11350
Reviewed-by: Filip Gawin <filip@gawin.net >
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30890 >
2024-09-10 13:33:58 +00:00
Pavel Ondračka
c8c1cec1f7
ttn: unconditionally call nir_shader_gather_info
...
Mesa st always calls this and thus some drivers expect to have the
info. This fixes assertions in NineTests on iris.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6946
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Tested-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27460 >
2024-09-10 12:38:46 +00:00
Pavel Ondračka
3b73c80280
ttn: use nir_shader_get_entrypoint in nir_shader_gather_info
...
To fix crash with serialized NIR in some circumstances.
Acked-by: David Heidelberg <david@ixit.cz >
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27460 >
2024-09-10 12:38:46 +00:00
David Rosca
69c18607a9
pipe: Remove video enc header_flags
...
This is now replaced with raw headers.
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30927 >
2024-09-10 11:58:26 +00:00
David Rosca
a308360fd4
radeonsi/vcn: Don't copy the pipe enc structs
...
There is no need to copy them, frontend calls begin_frame immediately
followed by encode_bitstream so we can use it directly.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30927 >
2024-09-10 11:58:26 +00:00
David Rosca
96f3daeaeb
radeonsi: Remove unused radeon_temporal.h
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30927 >
2024-09-10 11:58:26 +00:00
David Rosca
c43f8cb0b9
radeonsi/vcn: Support raw packed headers for H264 and HEVC
...
This works by copying the input headers at the beginning of the output
bitstream buffer. VPS/SPS/PPS are still written by driver and slice
headers are written by FW, but all other headers are directly copied
from application input.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30927 >
2024-09-10 11:58:26 +00:00
David Rosca
12f60c1cd1
frontends/va: Allow multiple NALUs in coded buffer segments
...
Add PIPE_VIDEO_CODEC_UNIT_LOCATION_FLAG_SINGLE_NALU to set
VA_CODED_BUF_STATUS_SINGLE_NALU for each segment.
Always set this flag in d3d12 to keep the old behavior.
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30927 >
2024-09-10 11:58:26 +00:00
David Rosca
1866f4d899
frontends/va: Support raw packed headers for H264 and HEVC
...
Make all packed headers received from application available
to drivers. Add emulation prevention bytes if the packed header
was sent without them, so the driver will always get the headers
with emulation prevention bytes and is able to directly copy them
to output bitstream as is.
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30927 >
2024-09-10 11:58:25 +00:00
David Rosca
20f9418478
pipe: Add pipe_h264_nal_unit_type and pipe_h265_nal_unit_type enums
...
This will also be useful for drivers.
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30927 >
2024-09-10 11:58:25 +00:00
David Heidelberg
6bf7b5bcd8
nir_lower_mem_access_bit_sizes: Assert when 0 components or bits are requested
...
Prevent the accidental passing of 0 components or bits, as it makes no sense.
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Suggested-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31103 >
2024-09-10 11:17:48 +00:00
Karol Herbst
45b531fdfc
rusticl: add nir debugging option
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00
Karol Herbst
f098620c21
rusticl/kernel: add optimized Kernel variant
...
By default we have to take into account that the application could set
offsets, or that one kernel launch won't fit into a single hw dispatch.
In order to mitigate the overhead it causes at kernel runtime, and because
those things are in most cases irrelevant, we compile an optimized kernel
making a few assumptions.
We also make use of the the workgroup_size_hint as an additional
optimization.
This should speed up relatively small kernels significantly as it can cut
the instruction count in half for those.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00
Karol Herbst
59f63381d4
rusticl/kernel: add CompilationResult to hold compilation artifacts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00
Karol Herbst
41100e3743
rusticl/kernel: track if arg is dead inside CompiledKernelArg
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00
Karol Herbst
6cf74419fe
rusticl/kernel: split up nir compilation into various steps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00
Karol Herbst
36550d9da3
rusticl/kernel: move assign_locations into CompiledKernelArg
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00
Karol Herbst
76b2236834
rusticl/mesa: implement Clone for NirShader
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00
Karol Herbst
89b2c3927e
rusticl/mesa: add more workgroup_Size functions to NirShader
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00
Karol Herbst
8383c727b2
rusticl/platform: add env variable to disable kernel variants
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00
Karol Herbst
634366e1dc
rusticl/kernel: move dead_var options into constant space
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152 >
2024-09-10 10:54:41 +00:00