Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update yakui to fix its Vulkan code for older computers #429

Merged
merged 2 commits into from
Sep 15, 2024

Conversation

patowen
Copy link
Collaborator

@patowen patowen commented Sep 13, 2024

The yakui library had a semi-recent fix (SecondHalfGames/yakui#165) that reduces its system requirements. This PR applies that fix to Hypermine.

The following validation errors were present on my laptop before this fix:

2024-09-10T23:00:36.823502Z ERROR Validation Error: [ VUID-VkPipelineLayoutCreateInfo-descriptorType-03016 ] | MessageID = 0x56816e61 | vkCreatePipelineLayout():  max per-stage sampler bindings count (1000) exceeds device maxPerStageDescriptorSamplers limit (64). The Vulkan spec states: The total number of descriptors in descriptor set layouts created without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set with a descriptorType of VK_DESCRIPTOR_TYPE_SAMPLER and VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible to any given shader stage across all elements of pSetLayouts must be less than or equal to VkPhysicalDeviceLimits::maxPerStageDescriptorSamplers (https://vulkan.lunarg.com/doc/view/1.3.290.0/windows/1.3-extensions/vkspec.html#VUID-VkPipelineLayoutCreateInfo-descriptorType-03016) id=VUID-VkPipelineLayoutCreateInfo-descriptorType-03016 number=1451322977 queue_labels= cmd_labels= objects=
2024-09-10T23:00:36.824037Z ERROR Validation Error: [ VUID-VkPipelineLayoutCreateInfo-descriptorType-06939 ] | MessageID = 0x609f841b | vkCreatePipelineLayout():  max per-stage sampled image bindings count (1000) exceeds device maxPerStageDescriptorSampledImages limit (200). The Vulkan spec states: The total number of descriptors in descriptor set layouts created without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set with a descriptorType of VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, and VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, accessible to any given shader stage across all elements of pSetLayouts must be less than or equal to VkPhysicalDeviceLimits::maxPerStageDescriptorSampledImages (https://vulkan.lunarg.com/doc/view/1.3.290.0/windows/1.3-extensions/vkspec.html#VUID-VkPipelineLayoutCreateInfo-descriptorType-06939) id=VUID-VkPipelineLayoutCreateInfo-descriptorType-06939 number=1621066779 queue_labels= cmd_labels= objects=
2024-09-10T23:00:36.824638Z ERROR Validation Error: [ VUID-VkPipelineLayoutCreateInfo-descriptorType-03028 ] | MessageID = 0x624a370c | vkCreatePipelineLayout():  sum of sampler bindings among all stages (1000) exceeds device maxDescriptorSetSamplers limit (576). The Vulkan spec states: The total number of descriptors in descriptor set layouts created without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set with a descriptorType of VK_DESCRIPTOR_TYPE_SAMPLER and VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible across all shader stages and across all elements of pSetLayouts must be less than or equal to VkPhysicalDeviceLimits::maxDescriptorSetSamplers (https://vulkan.lunarg.com/doc/view/1.3.290.0/windows/1.3-extensions/vkspec.html#VUID-VkPipelineLayoutCreateInfo-descriptorType-03028) id=VUID-VkPipelineLayoutCreateInfo-descriptorType-03028 number=1649030924 queue_labels= cmd_labels= objects=
2024-09-10T23:00:36.825203Z ERROR Validation Error: [ VUID-VkGraphicsPipelineCreateInfo-layout-01688 ] | MessageID = 0x442e1dd0 | vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[1] VK_SHADER_STAGE_FRAGMENT_BIT exceeds component limit VkPhysicalDeviceLimits::maxPerStageResources (200). The Vulkan spec states: The number of resources in layout accessible to each shader stage that is used by the pipeline must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResources (https://vulkan.lunarg.com/doc/view/1.3.290.0/windows/1.3-extensions/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-layout-01688) id=VUID-VkGraphicsPipelineCreateInfo-layout-01688 number=1143872976 queue_labels= cmd_labels= objects=

save/src/protos.rs Show resolved Hide resolved
@patowen patowen merged commit 8755237 into Ralith:master Sep 15, 2024
4 checks passed
@patowen patowen deleted the fix-yakui-for-older-computers branch September 15, 2024 08:32
@patowen
Copy link
Collaborator Author

patowen commented Sep 15, 2024

Weird, my gitconfig got messed up, turning my name and email address into =, which I didn't realize until after merging. I'm not sure whether it's worth a rebase or not on the master branch to fix this, but I've fixed my gitconfig for next time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants