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

[vulkan] interpolate_filter generates too many descriptor sets #8294

Open
derek-gerstmann opened this issue Jun 14, 2024 · 0 comments
Open
Assignees

Comments

@derek-gerstmann
Copy link
Contributor

./VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation ./interpolate/interpolate_filter ./interpolate/rgba.png out.png 
VUID-VkPipelineLayoutCreateInfo-setLayoutCount-00286(ERROR / SPEC): msgNum: 1418532464 - Validation Error: [ VUID-VkPipelineLayoutCreateInfo-setLayoutCount-00286 ] Object 0: handle = 0x14584e218, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x548d1670 | vkCreatePipelineLayout(): setLayoutCount (14) exceeds physical device maxBoundDescriptorSets limit (8). The Vulkan spec states: setLayoutCount must be less than or equal to VkPhysicalDeviceLimits::maxBoundDescriptorSets (https://vulkan.lunarg.com/doc/view/1.3.231.1/mac/1.3-extensions/vkspec.html#VUID-VkPipelineLayoutCreateInfo-setLayoutCount-00286)
    Objects: 1
        [0] 0x14584e218, type: 3, name: NULL
VUID-VkPipelineLayoutCreateInfo-descriptorType-03018(ERROR / SPEC): msgNum: -181011681 - Validation Error: [ VUID-VkPipelineLayoutCreateInfo-descriptorType-03018 ] Object 0: handle = 0x14584e218, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf535fb1f | vkCreatePipelineLayout(): max per-stage storage buffer bindings count (37) exceeds device maxPerStageDescriptorStorageBuffers limit (31). 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_STORAGE_BUFFER and VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible to any given shader stage across all elements of pSetLayouts must be less than or equal to VkPhysicalDeviceLimits::maxPerStageDescriptorStorageBuffers (https://vulkan.lunarg.com/doc/view/1.3.231.1/mac/1.3-extensions/vkspec.html#VUID-VkPipelineLayoutCreateInfo-descriptorType-03018)
    Objects: 1
        [0] 0x14584e218, type: 3, name: NULL
VUID-VkPipelineLayoutCreateInfo-descriptorType-03024(ERROR / SPEC): msgNum: -349439268 - Validation Error: [ VUID-VkPipelineLayoutCreateInfo-descriptorType-03024 ] Object 0: handle = 0x14584e218, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xeb2bfadc | vkCreatePipelineLayout(): max per-stage storage buffer bindings count (37) exceeds device maxPerStageDescriptorUpdateAfterBindStorageBuffers limit (31). The Vulkan spec states: The total number of descriptors with a descriptorType of VK_DESCRIPTOR_TYPE_STORAGE_BUFFER and VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible to any given shader stage across all elements of pSetLayouts must be less than or equal to VkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindStorageBuffers (https://vulkan.lunarg.com/doc/view/1.3.231.1/mac/1.3-extensions/vkspec.html#VUID-VkPipelineLayoutCreateInfo-descriptorType-03024)
    Objects: 1
        [0] 0x14584e218, type: 3, name: NULL
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:456:163: error: 'buffer' attribute parameter is out of bounds: must be between 0 and 30
kernel void _kernel_interpolated_7_s0_y_y_block_id_y(constant k11_args_struct& k11_args_var [[buffer(30)]], device k11_buffer_block1& k11_interpolated_9 [[buffer(31)]], device k11_buffer_block2& k11_interpolated_7 [[buffer(32)]], device k11_buffer_block3& k11_downsampled_8 [[buffer(33)]], device k11_buffer_block4& k11_downsampled_7 [[buffer(34)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]], uint3 gl_WorkGroupID [[threadgroup_position_in_grid]])
                                                                                                                                                                  ^
program_source:456:224: error: 'buffer' attribute parameter is out of bounds: must be between 0 and 30
kernel void _kernel_interpolated_7_s0_y_y_block_id_y(constant k11_args_struct& k11_args_var [[buffer(30)]], device k11_buffer_block1& k11_interpolated_9 [[buffer(31)]], device k11_buffer_block2& k11_interpolated_7 [[buffer(32)]], device k11_buffer_block3& k11_downsampled_8 [[buffer(33)]], device k11_buffer_block4& k11_downsampled_7 [[buffer(34)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]], uint3 gl_WorkGroupID [[threadgroup_position_in_grid]])
                                                                                                                                                                                                                               ^
program_source:456:284: error: 'buffer' attribute parameter is out of bounds: must be between 0 and 30
kernel void _kernel_interpolated_7_s0_y_y_block_id_y(constant k11_args_struct& k11_args_var [[buffer(30)]], device k11_buffer_block1& k11_interpolated_9 [[buffer(31)]], device k11_buffer_block2& k11_interpolated_7 [[buffer(32)]], device k11_buffer_block3& k11_downsampled_8 [[buffer(33)]], device k11_buffer_block4& k11_downsampled_7 [[buffer(34)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]], uint3 gl_WorkGroupID [[threadgroup_position_in_grid]])
                                                                                                                                                                                                                                                                                           ^
program_source:456:344: error: 'buffer' attribute parameter is out of bounds: must be between 0 and 30
kernel void _kernel_interpolated_7_s0_y_y_block_id_y(constant k11_args_struct& k11_args_var [[buffer(30)]], device k11_buffer_block1& k11_interpolated_9 [[buffer(31)]], device k11_buffer_block2& k11_interpolated_7 [[buffer(32)]], device k11_buffer_block3& k11_downsampled_8 [[buffer(33)]], device k11_buffer_block4& k11_downsampled_7 [[buffer(34)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]], uint3 gl_WorkGroupID [[threadgroup_position_in_grid]])
                                                                                                                                                                                                                                                                                                                                                                             ^

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

No branches or pull requests

1 participant