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] bilateral_grid generates invalid float assignment from float2 value #8291

Closed
derek-gerstmann opened this issue Jun 14, 2024 · 0 comments · Fixed by #8448
Closed
Assignees

Comments

@derek-gerstmann
Copy link
Contributor

> VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation ./bilateral_grid/bilateral_grid_process ./bilateral_grid/gray.png ./bilateral_grid/out.png 0.1 10
UNASSIGNED-CoreValidation-Shader-InconsistentSpirv(ERROR / SPEC): msgNum: 7060244 - Validation Error: [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = 0x134023018, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6bbb14 | SPIR-V module not valid: Structure id 716 decorated as BufferBlock for variable in Uniform storage class must follow relaxed storage buffer layout rules: member 0 contains an array with stride 4 not satisfying alignment to 8
  %k2_buffer_block2 = OpTypeStruct %_runtimearr_v2float

    Objects: 1
        [0] 0x134023018, type: 3, name: NULL
VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06719(ERROR / SPEC): msgNum: 1610793953 - Validation Error: [ VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06719 ] Object 0: handle = 0x134023018, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6002c3e1 | After specialization was applied, VkShaderModule 0xfab64d0000000002[] does not contain valid spirv for stage VK_SHADER_STAGE_COMPUTE_BIT. The Vulkan spec states: The shader code used by the pipeline must be valid as described by the Khronos SPIR-V Specification after applying the specializations provided in pSpecializationInfo, if any, and then converting all specialization constants into fixed constants (https://vulkan.lunarg.com/doc/view/1.3.231.1/mac/1.3-extensions/vkspec.html#VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06719)
    Objects: 1
        [0] 0x134023018, type: 3, name: NULL
VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06719(ERROR / SPEC): msgNum: 1610793953 - Validation Error: [ VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06719 ] Object 0: handle = 0x134023018, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6002c3e1 | After specialization was applied, VkShaderModule 0xfab64d0000000002[] does not contain valid spirv for stage VK_SHADER_STAGE_COMPUTE_BIT. The Vulkan spec states: The shader code used by the pipeline must be valid as described by the Khronos SPIR-V Specification after applying the specializations provided in pSpecializationInfo, if any, and then converting all specialization constants into fixed constants (https://vulkan.lunarg.com/doc/view/1.3.231.1/mac/1.3-extensions/vkspec.html#VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06719)
    Objects: 1
        [0] 0x134023018, type: 3, name: NULL
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:145:121: error: assigning to 'float' from incompatible type 'float2' (vector of 2 'float' values)
    k2_blurx._m0[(((((_819 * 32) + _739) * 2) - _823) / 2) + _823] = float2(k2_blurz._m0[_752.x], k2_blurz._m0[_752.y]) + ((float2(k2_blurz._m0[_763.x], k2_blurz._m0[_763.y]) * float2(4.0)) + ((float2(k2_blurz._m0[_776.x], k2_blurz._m0[_776.y]) * float2(6.0)) + (float2(k2_blurz._m0[_788.x], k2_blurz._m0[_788.y]) + (float2(k2_blurz._m0[_799.x], k2_blurz._m0[_799.y]) * float2(4.0)))));
                                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:159:121: error: assigning to 'float' from incompatible type 'float2' (vector of 2 'float' values)
    k2_blurx._m0[(((((_908 * 32) + _739) * 2) - _912) / 2) + _912] = float2(k2_blurz._m0[_843.x], k2_blurz._m0[_843.y]) + ((float2(k2_blurz._m0[_853.x], k2_blurz._m0[_853.y]) * float2(4.0)) + ((float2(k2_blurz._m0[_865.x], k2_blurz._m0[_865.y]) * float2(6.0)) + (float2(k2_blurz._m0[_877.x], k2_blurz._m0[_877.y]) + (float2(k2_blurz._m0[_887.x], k2_blurz._m0[_887.y]) * float2(4.0)))));
                                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.

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 a pull request may close this issue.

1 participant