nvk: Advertise VK_EXT_shader_object

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9648
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024>
This commit is contained in:
Faith Ekstrand 2024-01-08 16:23:24 -06:00 committed by Marge Bot
parent fb564040a7
commit b8c3d18fba
2 changed files with 9 additions and 1 deletions

View file

@ -618,7 +618,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_shader_atomic_float DONE (anv, hasvk, lvp, radv)
VK_EXT_shader_atomic_float2 DONE (anv, lvp, radv)
VK_EXT_shader_image_atomic_int64 DONE (nvk, radv)
VK_EXT_shader_object DONE (lvp)
VK_EXT_shader_object DONE (lvp, nvk)
VK_EXT_shader_stencil_export DONE (anv, lvp, radv, tu, vn)
VK_EXT_shader_subgroup_ballot DONE (anv, dzn, hasvk, lvp, nvk, radv, vn)
VK_EXT_shader_subgroup_vote DONE (anv, dzn, hasvk, lvp, nvk, radv)

View file

@ -209,6 +209,7 @@ nvk_get_device_extensions(const struct nvk_instance *instance,
nvk_use_nak(info),
.EXT_shader_demote_to_helper_invocation = true,
.EXT_shader_module_identifier = true,
.EXT_shader_object = true,
.EXT_shader_subgroup_ballot = true,
.EXT_shader_subgroup_vote = true,
.EXT_shader_viewport_index_layer = info->cls_eng3d >= MAXWELL_B,
@ -527,6 +528,9 @@ nvk_get_device_features(const struct nv_device_info *info,
/* VK_EXT_shader_module_identifier */
.shaderModuleIdentifier = true,
/* VK_EXT_shader_object */
.shaderObject = true,
/* VK_EXT_texel_buffer_alignment */
.texelBufferAlignment = true,
@ -854,6 +858,9 @@ nvk_get_device_properties(const struct nvk_instance *instance,
.sampleLocationSubPixelBits = 4,
.variableSampleLocations = true,
/* VK_EXT_shader_object */
.shaderBinaryVersion = 0,
/* VK_EXT_transform_feedback */
.maxTransformFeedbackStreams = 4,
.maxTransformFeedbackBuffers = 4,
@ -924,6 +931,7 @@ nvk_physical_device_init_pipeline_cache(struct nvk_physical_device *pdev)
STATIC_ASSERT(SHA1_DIGEST_LENGTH >= VK_UUID_SIZE);
memcpy(pdev->vk.properties.pipelineCacheUUID, sha, VK_UUID_SIZE);
memcpy(pdev->vk.properties.shaderBinaryUUID, sha, VK_UUID_SIZE);
#ifdef ENABLE_SHADER_CACHE
char renderer[10];