vulkan: add legacy shaders
This commit is contained in:
parent
26db79e249
commit
cb9dc4c182
9 changed files with 108 additions and 11 deletions
4
src/gfx_apis/vulkan/shaders/legacy/fill.common.glsl
Normal file
4
src/gfx_apis/vulkan/shaders/legacy/fill.common.glsl
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
layout(push_constant, std430) uniform Data {
|
||||
layout(offset = 0) vec2 pos[4];
|
||||
layout(offset = 32) vec4 color;
|
||||
} data;
|
||||
10
src/gfx_apis/vulkan/shaders/legacy/fill.frag
Normal file
10
src/gfx_apis/vulkan/shaders/legacy/fill.frag
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#version 450
|
||||
|
||||
#include "../frag_spec_const.glsl"
|
||||
#include "fill.common.glsl"
|
||||
|
||||
layout(location = 0) out vec4 out_color;
|
||||
|
||||
void main() {
|
||||
out_color = data.color;
|
||||
}
|
||||
16
src/gfx_apis/vulkan/shaders/legacy/fill.vert
Normal file
16
src/gfx_apis/vulkan/shaders/legacy/fill.vert
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#version 450
|
||||
//#extension GL_EXT_debug_printf : enable
|
||||
|
||||
#include "fill.common.glsl"
|
||||
|
||||
void main() {
|
||||
vec2 pos;
|
||||
switch (gl_VertexIndex) {
|
||||
case 0: pos = data.pos[0]; break;
|
||||
case 1: pos = data.pos[1]; break;
|
||||
case 2: pos = data.pos[2]; break;
|
||||
case 3: pos = data.pos[3]; break;
|
||||
}
|
||||
gl_Position = vec4(pos, 0.0, 1.0);
|
||||
// debugPrintfEXT("gl_Position = %v4f", gl_Position);
|
||||
}
|
||||
5
src/gfx_apis/vulkan/shaders/legacy/tex.common.glsl
Normal file
5
src/gfx_apis/vulkan/shaders/legacy/tex.common.glsl
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
layout(push_constant, std430) uniform Data {
|
||||
layout(offset = 0) vec2 pos[4];
|
||||
layout(offset = 32) vec2 tex_pos[4];
|
||||
layout(offset = 64) float mul;
|
||||
} data;
|
||||
20
src/gfx_apis/vulkan/shaders/legacy/tex.frag
Normal file
20
src/gfx_apis/vulkan/shaders/legacy/tex.frag
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#version 450
|
||||
|
||||
#include "../frag_spec_const.glsl"
|
||||
#include "tex.common.glsl"
|
||||
|
||||
layout(set = 0, binding = 0) uniform sampler2D tex;
|
||||
layout(location = 0) in vec2 tex_pos;
|
||||
layout(location = 0) out vec4 out_color;
|
||||
|
||||
void main() {
|
||||
vec4 c = textureLod(tex, tex_pos, 0);
|
||||
if (has_alpha_multiplier) {
|
||||
if (src_has_alpha) {
|
||||
c *= data.mul;
|
||||
} else {
|
||||
c = vec4(c.rgb * data.mul, data.mul);
|
||||
}
|
||||
}
|
||||
out_color = c;
|
||||
}
|
||||
18
src/gfx_apis/vulkan/shaders/legacy/tex.vert
Normal file
18
src/gfx_apis/vulkan/shaders/legacy/tex.vert
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#version 450
|
||||
//#extension GL_EXT_debug_printf : enable
|
||||
|
||||
#include "tex.common.glsl"
|
||||
|
||||
layout(location = 0) out vec2 tex_pos;
|
||||
|
||||
void main() {
|
||||
vec2 pos;
|
||||
switch (gl_VertexIndex) {
|
||||
case 0: pos = data.pos[0]; tex_pos = data.tex_pos[0]; break;
|
||||
case 1: pos = data.pos[1]; tex_pos = data.tex_pos[1]; break;
|
||||
case 2: pos = data.pos[2]; tex_pos = data.tex_pos[2]; break;
|
||||
case 3: pos = data.pos[3]; tex_pos = data.tex_pos[3]; break;
|
||||
}
|
||||
gl_Position = vec4(pos, 0.0, 1.0);
|
||||
// debugPrintfEXT("gl_Position = %v4f, tex_pos = %v2f", gl_Position, tex_pos);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue