Surprise! We've been running on hardware provided by BuyVM for a few months and wanted to show them a little appreciation.
Running a paste site comes with unique challenges, ones that aren't always obvious and hard to control. As such, BuyVM offered us a home where we could worry less about the hosting side of things and focus on maintaining a clean and useful service! Go check them out and show them some love!
Submitted on May 6, 2015 at 02:40 AM

Section 1 (Text)

#version 150

#extension GL_ARB_shader_image_load_store : enable
#extension GL_ARB_shading_language_420pack : enable

#extension GL_ARB_sample_shading : enable
#define SAMPLER_BINDING(x) layout(binding = x)
#extension GL_ARB_shader_storage_buffer_object : enable
#extension GL_ARB_gpu_shader5 : enable





#define float2 vec2
#define float3 vec3
#define float4 vec4
#define uint2 uvec2
#define uint3 uvec3
#define uint4 uvec4
#define int2 ivec2
#define int3 ivec3
#define int4 ivec4
#define frac fract
#define lerp mix


layout(points, invocations = 1) in;
layout(triangle_strip, max_vertices = 4) out;
struct Light {
	int4 color;
	float4 cosatt;
	float4 distatt;
	float4 pos;
	float4 dir;
};
layout(std140, binding = 3) uniform GSBlock {
	float4 cstereo;
	float4 clinept;
	int4 ctexoffset;
};
struct VS_OUTPUT {
	float4 pos;
	float4 colors_0;
	float4 colors_1;
	float3 tex0;
	float4 clipPos;
};
#define InstanceID gl_InvocationID
in VertexData {
	centroid float4 pos;
	centroid float4 colors_0;
	centroid float4 colors_1;
	centroid float3 tex0;
	centroid float4 clipPos;
} vs[1];
out VertexData {
	centroid float4 pos;
	centroid float4 colors_0;
	centroid float4 colors_1;
	centroid float3 tex0;
	centroid float4 clipPos;
} ps;
void main()
{
	VS_OUTPUT center;
	center.pos = vs[0].pos;
	center.colors_0 = vs[0].colors_0;
	center.colors_1 = vs[0].colors_1;
	center.tex0 = vs[0].tex0;
	center.clipPos = vs[0].clipPos;
	float2 offset = float2(clinept.w / clinept.x, -clinept.w / clinept.y) * center.pos.w;
	for (int i = 0; i < 1; ++i) {
	VS_OUTPUT f;
	f.pos = vs[i].pos;
	f.colors_0 = vs[i].colors_0;
	f.colors_1 = vs[i].colors_1;
	f.tex0 = vs[i].tex0;
	f.clipPos = vs[i].clipPos;
	VS_OUTPUT ll = f;
	VS_OUTPUT lr = f;
	VS_OUTPUT ul = f;
	VS_OUTPUT ur = f;
	ll.pos.xy += float2(-1,-1) * offset;
	lr.pos.xy += float2(1,-1) * offset;
	ul.pos.xy += float2(-1,1) * offset;
	ur.pos.xy += offset;
	if (ctexoffset[3] != 0) {
	float2 texOffset = float2(1.0 / float(ctexoffset[3]), 1.0 / float(ctexoffset[3]));
	if (((ctexoffset[1] >> 0) & 0x1) != 0) {
		ll.tex0.xy += float2(0,1) * texOffset;
		lr.tex0.xy += texOffset;
		ur.tex0.xy += float2(1,0) * texOffset;
	}
	if (((ctexoffset[1] >> 1) & 0x1) != 0) {
		ll.tex1.xy += float2(0,1) * texOffset;
		lr.tex1.xy += texOffset;
		ur.tex1.xy += float2(1,0) * texOffset;
	}
	if (((ctexoffset[1] >> 2) & 0x1) != 0) {
		ll.tex2.xy += float2(0,1) * texOffset;
		lr.tex2.xy += texOffset;
		ur.tex2.xy += float2(1,0) * texOffset;
	}
	if (((ctexoffset[1] >> 3) & 0x1) != 0) {
		ll.tex3.xy += float2(0,1) * texOffset;
		lr.tex3.xy += texOffset;
		ur.tex3.xy += float2(1,0) * texOffset;
	}
	if (((ctexoffset[1] >> 4) & 0x1) != 0) {
		ll.tex4.xy += float2(0,1) * texOffset;
		lr.tex4.xy += texOffset;
		ur.tex4.xy += float2(1,0) * texOffset;
	}
	if (((ctexoffset[1] >> 5) & 0x1) != 0) {
		ll.tex5.xy += float2(0,1) * texOffset;
		lr.tex5.xy += texOffset;
		ur.tex5.xy += float2(1,0) * texOffset;
	}
	}
	gl_Position = ll.pos;
	ps.pos = ll.pos;
	ps.colors_0 = ll.colors_0;
	ps.colors_1 = ll.colors_1;
	ps.tex0 = ll.tex0;
	ps.clipPos = ll.clipPos;
	EmitVertex();
	gl_Position = lr.pos;
	ps.pos = lr.pos;
	ps.colors_0 = lr.colors_0;
	ps.colors_1 = lr.colors_1;
	ps.tex0 = lr.tex0;
	ps.clipPos = lr.clipPos;
	EmitVertex();
	gl_Position = ul.pos;
	ps.pos = ul.pos;
	ps.colors_0 = ul.colors_0;
	ps.colors_1 = ul.colors_1;
	ps.tex0 = ul.tex0;
	ps.clipPos = ul.clipPos;
	EmitVertex();
	gl_Position = ur.pos;
	ps.pos = ur.pos;
	ps.colors_0 = ur.colors_0;
	ps.colors_1 = ur.colors_1;
	ps.tex0 = ur.tex0;
	ps.clipPos = ur.clipPos;
	EmitVertex();
	}
	EndPrimitive();
}
0(96) : error C1009: "tex1" is not member of struct "VS_OUTPUT"
0(97) : error C1009: "tex1" is not member of struct "VS_OUTPUT"
0(98) : error C1009: "tex1" is not member of struct "VS_OUTPUT"
0(101) : error C1009: "tex2" is not member of struct "VS_OUTPUT"
0(102) : error C1009: "tex2" is not member of struct "VS_OUTPUT"
0(103) : error C1009: "tex2" is not member of struct "VS_OUTPUT"
0(106) : error C1009: "tex3" is not member of struct "VS_OUTPUT"
0(107) : error C1009: "tex3" is not member of struct "VS_OUTPUT"
0(108) : error C1009: "tex3" is not member of struct "VS_OUTPUT"
0(111) : error C1009: "tex4" is not member of struct "VS_OUTPUT"
0(112) : error C1009: "tex4" is not member of struct "VS_OUTPUT"
0(113) : error C1009: "tex4" is not member of struct "VS_OUTPUT"
0(116) : error C1009: "tex5" is not member of struct "VS_OUTPUT"
0(117) : error C1009: "tex5" is not member of struct "VS_OUTPUT"
0(118) : error C1009: "tex5" is not member of struct "VS_OUTPUT"