32 lines
799 B
GLSL
32 lines
799 B
GLSL
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
//? #version 450
|
|
|
|
out gl_PerVertex {
|
|
vec4 gl_Position;
|
|
};
|
|
|
|
layout(location = 0) out vec2 texcoord;
|
|
|
|
#ifdef VULKAN
|
|
#define BEGIN_PUSH_CONSTANTS layout(push_constant) uniform PushConstants {
|
|
#define END_PUSH_CONSTANTS };
|
|
#define UNIFORM(n)
|
|
#else // if OpenGL
|
|
#define BEGIN_PUSH_CONSTANTS
|
|
#define END_PUSH_CONSTANTS
|
|
#define UNIFORM(n) layout (location = n) uniform
|
|
#endif
|
|
|
|
BEGIN_PUSH_CONSTANTS
|
|
UNIFORM(0) vec2 tex_scale;
|
|
UNIFORM(1) vec2 tex_offset;
|
|
END_PUSH_CONSTANTS
|
|
|
|
void main() {
|
|
float x = float((gl_VertexID & 1) << 2);
|
|
float y = float((gl_VertexID & 2) << 1);
|
|
gl_Position = vec4(x - 1.0, y - 1.0, 0.0, 1.0);
|
|
texcoord = fma(vec2(x, y) / 2.0, tex_scale, tex_offset);
|
|
}
|