mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 20:20:18 +01:00
panvk: enable subgroupSizeControl
This is trivial for us, the hardware only ever supports a single subgroup size. Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32710>
This commit is contained in:
parent
1a81bff6aa
commit
d46b80249b
3 changed files with 10 additions and 7 deletions
|
|
@ -502,7 +502,7 @@ Vulkan 1.3 -- all DONE: anv, lvp, nvk, radv, tu, vn, v3dv
|
|||
VK_EXT_private_data DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_EXT_image_robustness DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
||||
VK_EXT_shader_demote_to_helper_invocation DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
||||
VK_EXT_subgroup_size_control DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
||||
VK_EXT_subgroup_size_control DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn, panvk)
|
||||
VK_EXT_texel_buffer_alignment DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_EXT_texture_compression_astc_hdr DONE (vn)
|
||||
VK_EXT_tooling_info DONE (anv, hasvk, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
|
|
|
|||
|
|
@ -36,3 +36,4 @@ VK_KHR_depth_clamp_zero_one on RADV
|
|||
VK_KHR_maintenance8 on radv
|
||||
VK_KHR_shader_subgroup_rotate on panvk/v10+
|
||||
Vulkan 1.1 on panvk/v10+
|
||||
VK_EXT_subgroup_size_control on panvk/v10+
|
||||
|
|
|
|||
|
|
@ -245,6 +245,7 @@ get_device_extensions(const struct panvk_physical_device *device,
|
|||
.EXT_sampler_filter_minmax = arch >= 10,
|
||||
.EXT_scalar_block_layout = true,
|
||||
.EXT_shader_module_identifier = true,
|
||||
.EXT_subgroup_size_control = true,
|
||||
.EXT_tooling_info = true,
|
||||
.GOOGLE_decorate_string = true,
|
||||
.GOOGLE_hlsl_functionality1 = true,
|
||||
|
|
@ -356,8 +357,8 @@ get_features(const struct panvk_physical_device *device,
|
|||
.privateData = true,
|
||||
.shaderDemoteToHelperInvocation = false,
|
||||
.shaderTerminateInvocation = false,
|
||||
.subgroupSizeControl = false,
|
||||
.computeFullSubgroups = false,
|
||||
.subgroupSizeControl = true,
|
||||
.computeFullSubgroups = true,
|
||||
.synchronization2 = true,
|
||||
.textureCompressionASTC_HDR = false,
|
||||
.shaderZeroInitializeWorkgroupMemory = true,
|
||||
|
|
@ -773,10 +774,11 @@ get_device_properties(const struct panvk_instance *instance,
|
|||
/* Vulkan 1.3 properties */
|
||||
/* XXX: 1.3 support */
|
||||
/* XXX: VK_EXT_subgroup_size_control */
|
||||
.minSubgroupSize = 8,
|
||||
.maxSubgroupSize = 8,
|
||||
.maxComputeWorkgroupSubgroups = 48,
|
||||
.requiredSubgroupSizeStages = VK_SHADER_STAGE_ALL,
|
||||
.minSubgroupSize = pan_subgroup_size(arch),
|
||||
.maxSubgroupSize = pan_subgroup_size(arch),
|
||||
.maxComputeWorkgroupSubgroups =
|
||||
device->kmod.props.max_threads_per_wg / pan_subgroup_size(arch),
|
||||
.requiredSubgroupSizeStages = VK_SHADER_STAGE_COMPUTE_BIT,
|
||||
/* XXX: VK_EXT_inline_uniform_block */
|
||||
.maxInlineUniformBlockSize = MAX_INLINE_UNIFORM_BLOCK_SIZE,
|
||||
.maxPerStageDescriptorInlineUniformBlocks =
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue