-
Notifications
You must be signed in to change notification settings - Fork 779
Open
Labels
bugSomething isn't workingSomething isn't workingframeworkThis is relevant to the frameworkThis is relevant to the framework
Description
The pipeline_cache sample fails with the following error messages.
[error] Error Message: SPIRV file too small.
[error] Failed when running application Pipeline Management
I believe there's a type confusion issue in the shader module creation flow:
ResourceReplay::create_shader_module()creates aShaderSourceobject from GLSL source code read from a string stream. Since the source originates from a string stream, filename in theShaderSourceobject is not set.- The
ShaderModuleconstructor incorrectly assumes thisShaderSourceobject contains SPIR-V binary and it attempts to read it from the filename it gets from the givenShaderSourceobject, which is empty. - This results in an empty
std::vectorbeing passed toSPIRVReflection::reflect_shader_resources()in theShaderModuleconstructor. - The reflection function fails with "SPIRV file too small" exception deeper down in the call stack when given an empty vector.
Reproduction steps:
./vulkan_samples sample pipeline_cache
OS: Arch Linux
Drivers: NVIDIA 580.105.08
Built Vulkan-Samples from 8e966ebfad343112286ed705eca6be4472dd85df
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingframeworkThis is relevant to the frameworkThis is relevant to the framework