Vulkan: Use VK_NV_glsl extension where available, and skip glslang

Seems to produce faster ubershaders, at least.
This commit is contained in:
Stenzek
2017-07-20 15:25:41 +10:00
parent 416afa065c
commit d23fd17e1a
7 changed files with 102 additions and 38 deletions

View File

@ -19,19 +19,19 @@ using SPIRVCodeVector = std::vector<SPIRVCodeType>;
// Compile a vertex shader to SPIR-V.
bool CompileVertexShader(SPIRVCodeVector* out_code, const char* source_code,
size_t source_code_length, bool prepend_header = true);
size_t source_code_length);
// Compile a geometry shader to SPIR-V.
bool CompileGeometryShader(SPIRVCodeVector* out_code, const char* source_code,
size_t source_code_length, bool prepend_header = true);
size_t source_code_length);
// Compile a fragment shader to SPIR-V.
bool CompileFragmentShader(SPIRVCodeVector* out_code, const char* source_code,
size_t source_code_length, bool prepend_header = true);
size_t source_code_length);
// Compile a compute shader to SPIR-V.
bool CompileComputeShader(SPIRVCodeVector* out_code, const char* source_code,
size_t source_code_length, bool prepend_header = true);
size_t source_code_length);
} // namespace ShaderCompiler
} // namespace Vulkan