Remove vulkan shader modules

This commit is contained in:
dpjudas 2025-04-19 08:24:43 +02:00
commit 22b7f02305
15 changed files with 217 additions and 305 deletions

View file

@ -502,32 +502,23 @@ void VkLightmapper::CreateShaders()
traceprefix += "#define USE_RAYQUERY\r\n";
}
shaders.vertRaytrace = ShaderBuilder()
.Code(CachedGLSLCompiler()
.Type(ShaderType::Vertex)
.AddSource("VersionBlock", prefix)
.AddSource("vert_raytrace.glsl", LoadPrivateShaderLump("shaders/lightmap/vert_raytrace.glsl").GetChars())
.Compile(fb))
.DebugName("VkLightmapper.VertRaytrace")
.Create("VkLightmapper.VertRaytrace", fb->GetDevice());
shaders.vertRaytrace = CachedGLSLCompiler()
.Type(ShaderType::Vertex)
.AddSource("VersionBlock", prefix)
.AddSource("vert_raytrace.glsl", LoadPrivateShaderLump("shaders/lightmap/vert_raytrace.glsl").GetChars())
.Compile(fb);
shaders.vertScreenquad = ShaderBuilder()
.Code(CachedGLSLCompiler()
.Type(ShaderType::Vertex)
.AddSource("VersionBlock", prefix)
.AddSource("vert_screenquad.glsl", LoadPrivateShaderLump("shaders/lightmap/vert_screenquad.glsl").GetChars())
.Compile(fb))
.DebugName("VkLightmapper.VertScreenquad")
.Create("VkLightmapper.VertScreenquad", fb->GetDevice());
shaders.vertScreenquad = CachedGLSLCompiler()
.Type(ShaderType::Vertex)
.AddSource("VersionBlock", prefix)
.AddSource("vert_screenquad.glsl", LoadPrivateShaderLump("shaders/lightmap/vert_screenquad.glsl").GetChars())
.Compile(fb);
shaders.vertCopy = ShaderBuilder()
.Code(CachedGLSLCompiler()
.Type(ShaderType::Vertex)
.AddSource("VersionBlock", prefix)
.AddSource("vert_copy.glsl", LoadPrivateShaderLump("shaders/lightmap/vert_copy.glsl").GetChars())
.Compile(fb))
.DebugName("VkLightmapper.VertCopy")
.Create("VkLightmapper.VertCopy", fb->GetDevice());
shaders.vertCopy = CachedGLSLCompiler()
.Type(ShaderType::Vertex)
.AddSource("VersionBlock", prefix)
.AddSource("vert_copy.glsl", LoadPrivateShaderLump("shaders/lightmap/vert_copy.glsl").GetChars())
.Compile(fb);
for (int i = 0; i < 16; i++)
{
@ -541,51 +532,36 @@ void VkLightmapper::CreateShaders()
if (i & 8)
defines += "#define USE_BOUNCE\n";
shaders.fragRaytrace[i] = ShaderBuilder()
.Code(CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", defines)
.AddSource("frag_raytrace.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_raytrace.glsl").GetChars())
.Compile(fb))
.DebugName("VkLightmapper.FragRaytrace")
.Create("VkLightmapper.FragRaytrace", fb->GetDevice());
shaders.fragRaytrace[i] = CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", defines)
.AddSource("frag_raytrace.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_raytrace.glsl").GetChars())
.Compile(fb);
}
shaders.fragResolve = ShaderBuilder()
.Code(CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", prefix)
.AddSource("frag_resolve.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_resolve.glsl").GetChars())
.Compile(fb))
.DebugName("VkLightmapper.FragResolve")
.Create("VkLightmapper.FragResolve", fb->GetDevice());
shaders.fragResolve = CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", prefix)
.AddSource("frag_resolve.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_resolve.glsl").GetChars())
.Compile(fb);
shaders.fragBlur[0] = ShaderBuilder()
.Code(CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", prefix + "#define BLUR_HORIZONTAL\r\n")
.AddSource("frag_blur.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_blur.glsl").GetChars())
.Compile(fb))
.DebugName("VkLightmapper.FragBlur")
.Create("VkLightmapper.FragBlur", fb->GetDevice());
shaders.fragBlur[0] = CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", prefix + "#define BLUR_HORIZONTAL\r\n")
.AddSource("frag_blur.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_blur.glsl").GetChars())
.Compile(fb);
shaders.fragBlur[1] = ShaderBuilder()
.Code(CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", prefix + "#define BLUR_VERTICAL\r\n")
.AddSource("frag_blur.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_blur.glsl").GetChars())
.Compile(fb))
.DebugName("VkLightmapper.FragBlur")
.Create("VkLightmapper.FragBlur", fb->GetDevice());
shaders.fragBlur[1] = CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", prefix + "#define BLUR_VERTICAL\r\n")
.AddSource("frag_blur.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_blur.glsl").GetChars())
.Compile(fb);
shaders.fragCopy = ShaderBuilder()
.Code(CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", prefix)
.AddSource("frag_copy.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_copy.glsl").GetChars())
.Compile(fb))
.DebugName("VkLightmapper.FragCopy")
.Create("VkLightmapper.FragCopy", fb->GetDevice());
shaders.fragCopy = CachedGLSLCompiler()
.Type(ShaderType::Fragment)
.AddSource("VersionBlock", prefix)
.AddSource("frag_copy.glsl", LoadPrivateShaderLump("shaders/lightmap/frag_copy.glsl").GetChars())
.Compile(fb);
}
int VkLightmapper::GetRaytracePipelineIndex()
@ -680,8 +656,8 @@ void VkLightmapper::CreateRaytracePipeline()
raytrace.pipeline[i] = GraphicsPipelineBuilder()
.Layout(raytrace.pipelineLayout.get())
.RenderPass(raytrace.renderPass.get())
.AddVertexShader(shaders.vertRaytrace.get())
.AddFragmentShader(shaders.fragRaytrace[i].get())
.AddVertexShader(shaders.vertRaytrace)
.AddFragmentShader(shaders.fragRaytrace[i])
.AddVertexBufferBinding(0, sizeof(FFlatVertex))
.AddVertexAttribute(0, 0, VK_FORMAT_R32G32B32A32_SFLOAT, 0)
.Topology(VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)
@ -788,8 +764,8 @@ void VkLightmapper::CreateResolvePipeline()
resolve.pipeline = GraphicsPipelineBuilder()
.Layout(resolve.pipelineLayout.get())
.RenderPass(resolve.renderPass.get())
.AddVertexShader(shaders.vertScreenquad.get())
.AddFragmentShader(shaders.fragResolve.get())
.AddVertexShader(shaders.vertScreenquad)
.AddFragmentShader(shaders.fragResolve)
.Topology(VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)
.AddDynamicState(VK_DYNAMIC_STATE_VIEWPORT)
.Viewport(0.0f, 0.0f, 0.0f, 0.0f)
@ -843,8 +819,8 @@ void VkLightmapper::CreateBlurPipeline()
blur.pipeline[i] = GraphicsPipelineBuilder()
.Layout(blur.pipelineLayout.get())
.RenderPass(blur.renderPass.get())
.AddVertexShader(shaders.vertScreenquad.get())
.AddFragmentShader(shaders.fragBlur[i].get())
.AddVertexShader(shaders.vertScreenquad)
.AddFragmentShader(shaders.fragBlur[i])
.Topology(VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)
.AddDynamicState(VK_DYNAMIC_STATE_VIEWPORT)
.Viewport(0.0f, 0.0f, 0.0f, 0.0f)
@ -902,8 +878,8 @@ void VkLightmapper::CreateCopyPipeline()
copy.pipeline = GraphicsPipelineBuilder()
.Layout(copy.pipelineLayout.get())
.RenderPass(copy.renderPass.get())
.AddVertexShader(shaders.vertCopy.get())
.AddFragmentShader(shaders.fragCopy.get())
.AddVertexShader(shaders.vertCopy)
.AddFragmentShader(shaders.fragCopy)
.Topology(VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP)
.AddDynamicState(VK_DYNAMIC_STATE_VIEWPORT)
.Viewport(0.0f, 0.0f, 0.0f, 0.0f)