ShaderCompiler::VulkanGlslEmitter class

Transforms an already-lowered modern-GLSL stage source into Vulkan-flavored GLSL ("#version 450").

Public static functions

static auto Transform(StringView modernSource, bool vertexStage, const StageReflection& reflection, String& out, Diagnostic& diag) -> bool

Function documentation

static bool ShaderCompiler::VulkanGlslEmitter::Transform(StringView modernSource, bool vertexStage, const StageReflection& reflection, String& out, Diagnostic& diag)

Transforms modernSource (as produced by ShaderParser::BuildStageSource) into Vulkan GLSL, writing the result to out. vertexStage selects the vertex-vs-fragment lowering; reflection (the MERGED per-variant reflection) supplies the descriptor set/binding assignments and the loose- uniform "_Globals" block layout. Returns false and fills diag when the source uses a construct the emitter does not handle.