summaryrefslogtreecommitdiff
path: root/shaders/dolphin/format_changes.2.shader_test
blob: 86b5c5f4ca072da1c9fa2ea9fe11c53a721e38ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
[require]
GLSL >= 1.30

[vertex shader]
#version 130
#extension GL_ARB_uniform_buffer_object : enable

#extension GL_ARB_shading_language_420pack : enable


#define ATTRIN in
#define ATTROUT out
#define VARYIN centroid in
#define VARYOUT centroid out
#define float2 vec2
#define float3 vec3
#define float4 vec4
#define int2 ivec2
#define int3 ivec3
#define int4 ivec4
#define frac fract
#define lerp mix

void main(void) {
	vec2 rawpos = vec2(gl_VertexID&1, gl_VertexID&2);
	gl_Position = vec4(rawpos*2.0-1.0, 0.0, 1.0);
}

[fragment shader]
#version 130
#extension GL_ARB_uniform_buffer_object : enable

#extension GL_ARB_shading_language_420pack : enable


#define ATTRIN in
#define ATTROUT out
#define VARYIN centroid in
#define VARYOUT centroid out
#define float2 vec2
#define float3 vec3
#define float4 vec4
#define int2 ivec2
#define int3 ivec3
#define int4 ivec4
#define frac fract
#define lerp mix

uniform sampler2D samp9;
out vec4 ocol0;
void main()
{
	ivec4 src8 = ivec4(round(texelFetch(samp9, ivec2(gl_FragCoord.xy), 0) * 255.f));
	ivec4 dst6;
	dst6.r = src8.r >> 2;
	dst6.g = ((src8.r & 0x3) << 4) | (src8.g >> 4);
	dst6.b = ((src8.g & 0xF) << 2) | (src8.b >> 6);
	dst6.a = src8.b & 0x3F;
	ocol0 = float4(dst6) / 63.f;
}