Hi All, I have problem on Adreno 506.
vkCreateComputePipelines has returned VK_INCOMPLETE. I have no error message from Vulkan debug layers,
but i see an error message from Adreno Driver(Android Studio/logcat):
31569-31637/com.qualcomm.vulkan.compute.d I/Adreno: Shader compilation failed for shaderType: 5
Sample code:
vkPipelineLayoutCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
vkPipelineLayoutCreateInfo.setLayoutCount = 1;
vkPipelineLayoutCreateInfo.pSetLayouts = &vkDescriptorSetLayout;
res = vkCreatePipelineLayout(mDevice, &vkPipelineLayoutCreateInfo, NULL, &vkPipelineLayout);
VkComputePipelineCreateInfo vkComputePipelineCreateInfo = {};
VkPipelineShaderStageCreateInfo& vkPipelineShaderStageCreateInfo = vkComputePipelineCreateInfo.stage;
vkPipelineShaderStageCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
vkPipelineShaderStageCreateInfo.flags = 0;
vkPipelineShaderStageCreateInfo.pNext = NULL;
vkPipelineShaderStageCreateInfo.stage = VK_SHADER_STAGE_COMPUTE_BIT;
vkPipelineShaderStageCreateInfo.module = CreateShaderModuleFromAsset("shaders/spirv.spv");
vkPipelineShaderStageCreateInfo.pName = "CullObjects";
vkPipelineShaderStageCreateInfo.pSpecializationInfo = NULL;
vkComputePipelineCreateInfo.sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
vkComputePipelineCreateInfo.layout = vkPipelineLayout;
VkPipeline vkComputePipeline = VK_NULL_HANDLE;
res = vkCreateComputePipelines(mDevice, NULL, 1, &vkComputePipelineCreateInfo, NULL, &vkComputePipeline);
}
Original Shader was compiled using glslang tool(https://github.com/KhronosGroup/glslang)
Simple project(Android Studio) are based on Vulkan-Compute sample from Adreno Vulkan SDK:
Test Project are based on VulkanCompute from Adreno Vulkan SDK.
See Sample.cpp, line 634, method void VkSample::Test. I added original shader CSShaderGPUInstanceCulling.hlsl, Spir-v shader spirv.spv, and logcat.log to archive.
I have no problem on Mali G71, G76, AMD(Windows/Linux), nVidia(Windows), Intel(Windows)
What do you think about it ?
Thank you for advance.