Bad P OGL 0

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 6

#version 400

#define ATTRIBUTE_LOCATION(x)
#define FRAGMENT_OUTPUT_LOCATION(x)
#define FRAGMENT_OUTPUT_LOCATION_INDEXED(x, y)
#define UBO_BINDING(packing, x) layout(packing)
#define SAMPLER_BINDING(x)
#define TEXEL_BUFFER_BINDING(x)
#define SSBO_BINDING(x)
#define IMAGE_BINDING(format, x) layout(format)

#define VARYING_LOCATION(x)

#define API_OPENGL 1
#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
struct Light {
int4 color;
float4 cosatt;
float4 distatt;
float4 pos;
float4 dir;
};
UBO_BINDING(std140, 2) uniform VSBlock {
uint components;
uint xfmem_dualTexInfo;
uint xfmem_numColorChans;
float4 cpnmtx[6];
float4 cproj[4];
int4 cmtrl[4];
Light clights[8];
float4 ctexmtx[24];
float4 ctrmtx[64];
float4 cnmtx[32];
float4 cpostmtx[64];
float4 cpixelcenter;
float2 cviewport;
uint4 xfmem_pack1[8];
#define xfmem_texMtxInfo(i) (xfmem_pack1[(i)].x)
#define xfmem_postMtxInfo(i) (xfmem_pack1[(i)].y)
#define xfmem_color(i) (xfmem_pack1[(i)].z)
#define xfmem_alpha(i) (xfmem_pack1[(i)].w)
};
struct VS_OUTPUT {
float4 pos;
float4 colors_0;
float4 colors_1;
float clipDist0;
float clipDist1;
};
ATTRIBUTE_LOCATION(0) in float4 rawpos;
VARYING_LOCATION(0) out VertexData {
float4 pos;
float4 colors_0;
float4 colors_1;
float clipDist0;
float clipDist1;
} vs;
void main()
{
VS_OUTPUT o;
float4 pos = float4(dot(cpnmtx[0], rawpos), dot(cpnmtx[1], rawpos), dot(cpnmtx[2],
rawpos), 1.0);
float3 _norm0 = float3(0.0, 0.0, 0.0);
o.pos = float4(dot(cproj[0], pos), dot(cproj[1], pos), dot(cproj[2], pos),
dot(cproj[3], pos));
int4 lacc;
float3 ldir, h, cosAttn, distAttn;
float dist, dist2, attn;
{
int4 mat = int4(255, 255, 255, 255);
lacc = cmtrl[0];
lacc.w = cmtrl[0].w;
lacc = clamp(lacc, 0, 255);
o.colors_0 = float4((mat * (lacc + (lacc >> 7))) >> 8) / 255.0;
}
{
int4 mat = cmtrl[3];
lacc = int4(255, 255, 255, 255);
lacc.w = 255;
lacc = clamp(lacc, 0, 255);
o.colors_1 = float4((mat * (lacc + (lacc >> 7))) >> 8) / 255.0;
}
float4 coord = float4(0.0, 0.0, 1.0, 1.0);
o.colors_0 = float4(1.0, 1.0, 1.0, 1.0);
o.colors_1 = o.colors_0;
float clipDepth = o.pos.z * (1.0 - 1e-7);
float clipDist0 = clipDepth + o.pos.w;
float clipDist1 = -clipDepth;
o.clipDist0 = clipDist0;
o.clipDist1 = clipDist1;
o.pos.z = o.pos.w * cpixelcenter.w - o.pos.z * cpixelcenter.z;
o.pos.z = o.pos.z * 2.0 - o.pos.w;
o.pos.xy *= sign(cpixelcenter.xy * float2(1.0, -1.0));
o.pos.xy = o.pos.xy - o.pos.w * cpixelcenter.xy;
vs.pos = o.pos;
vs.colors_0 = o.colors_0;
vs.colors_1 = o.colors_1;
vs.clipDist0 = o.clipDist0;
vs.clipDist1 = o.clipDist1;
gl_ClipDistance[0] = clipDist0;
gl_ClipDistance[1] = clipDist1;
gl_Position = o.pos;
}

#version 400

#define ATTRIBUTE_LOCATION(x)
#define FRAGMENT_OUTPUT_LOCATION(x)
#define FRAGMENT_OUTPUT_LOCATION_INDEXED(x, y)
#define UBO_BINDING(packing, x) layout(packing)
#define SAMPLER_BINDING(x)
#define TEXEL_BUFFER_BINDING(x)
#define SSBO_BINDING(x)
#define IMAGE_BINDING(format, x) layout(format)

#define VARYING_LOCATION(x)

#define API_OPENGL 1
#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
//Pixel Shader for TEV stages
//1 TEV stages, 1 texgens, 0 IND stages
int idot(int3 x, int3 y)
{
int3 tmp = x * y;
return tmp.x + tmp.y + tmp.z;
}
int idot(int4 x, int4 y)
{
int4 tmp = x * y;
return tmp.x + tmp.y + tmp.z + tmp.w;
}

int iround(float x) { return int (round(x)); }


int2 iround(float2 x) { return int2(round(x)); }
int3 iround(float3 x) { return int3(round(x)); }
int4 iround(float4 x) { return int4(round(x)); }

SAMPLER_BINDING(0) uniform sampler2DArray samp[8];

UBO_BINDING(std140, 1) uniform PSBlock {


int4 color[4];
int4 k[4];
int4 alphaRef;
float4 texdim[8];
int4 czbias[2];
int4 cindscale[2];
int4 cindmtx[6];
int4 cfogcolor;
int4 cfogi;
float4 cfogf;
float4 cfogrange[3];
float4 czslope;
float2 cefbscale;
uint bpmem_genmode;
uint bpmem_alphaTest;
uint bpmem_fogParam3;
uint bpmem_fogRangeBase;
uint bpmem_dstalpha;
uint bpmem_ztex_op;
bool bpmem_late_ztest;
bool bpmem_rgba6_format;
bool bpmem_dither;
bool bpmem_bounding_box;
uint4 bpmem_pack1[16];
uint4 bpmem_pack2[8];
int4 konstLookup[32];
bool blend_enable;
uint blend_src_factor;
uint blend_src_factor_alpha;
uint blend_dst_factor;
uint blend_dst_factor_alpha;
bool blend_subtract;
bool blend_subtract_alpha;
};

#define bpmem_combiners(i) (bpmem_pack1[(i)].xy)


#define bpmem_tevind(i) (bpmem_pack1[(i)].z)
#define bpmem_iref(i) (bpmem_pack1[(i)].w)
#define bpmem_tevorder(i) (bpmem_pack2[(i)].x)
#define bpmem_tevksel(i) (bpmem_pack2[(i)].y)

FRAGMENT_OUTPUT_LOCATION(0) out vec4 ocol0;


VARYING_LOCATION(0) in VertexData {
float4 pos;
float4 colors_0;
float4 colors_1;
float3 tex0;
float clipDist0;
float clipDist1;
};
void main()
{
float4 rawpos = gl_FragCoord;
int4 c0 = color[1], c1 = color[2], c2 = color[3], prev = color[0];
int4 rastemp = int4(0, 0, 0, 0), textemp = int4(0, 0, 0, 0), konsttemp =
int4(0, 0, 0, 0);
int3 comp16 = int3(1, 256, 0), comp24 = int3(1, 256, 256*256);
int alphabump=0;
int3 tevcoord=int3(0, 0, 0);
int2 wrappedcoord=int2(0,0), tempcoord=int2(0,0);
int4
tevin_a=int4(0,0,0,0),tevin_b=int4(0,0,0,0),tevin_c=int4(0,0,0,0),tevin_d=int4(0,0,
0,0);

float4 col0 = colors_0;


float4 col1 = colors_1;
int2 fixpoint_uv0 = int2((tex0.z == 0.0 ? tex0.xy : tex0.xy / tex0.z) *
texdim[0].zw);

// TEV stage 0
tevcoord.xy = fixpoint_uv0;
textemp = iround(255.0 * texture(samp[0], float3(float2(tevcoord.xy).xy *
texdim[0].xy, 0.0))).rgba;
tevin_a = int4(textemp.rgb, textemp.a)&int4(255, 255, 255, 255);
tevin_b = int4(int3(0,0,0), 0)&int4(255, 255, 255, 255);
tevin_c = int4(int3(0,0,0), 0)&int4(255, 255, 255, 255);
tevin_d = int4(int3(0,0,0), 0);
// color combine
prev.rgb = clamp((((tevin_d.rgb)) + (((((tevin_a.rgb<<8) + (tevin_b.rgb-
tevin_a.rgb)*(tevin_c.rgb+(tevin_c.rgb>>7)))) + 128)>>8)), int3(0,0,0),
int3(255,255,255));
// alpha combine
prev.a = clamp((((tevin_d.a)) + (((((tevin_a.a<<8) + (tevin_b.a-
tevin_a.a)*(tevin_c.a+(tevin_c.a>>7)))))>>8)), 0, 255);
prev = prev & 255;
if(!( (prev.a > alphaRef.r) || (prev.a > alphaRef.g))) {
ocol0 = float4(0.0, 0.0, 0.0, 0.0);
discard;
}
int zCoord = int(rawpos.z * 16777216.0);
zCoord = clamp(zCoord, 0, 0xFFFFFF);
ocol0.rgb = float3(prev.rgb) / 255.0;
ocol0.a = float(prev.a >> 2) / 63.0;
}
WARNING: Could not find vertex shader attribute 'rawtex4' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawnorm1' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawcolor0' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawtex2' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawtex0' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawnorm0' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawtex6' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawtex3' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawnorm2' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawtex7' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawtex5' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawtex1' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'rawcolor1' to match
BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'posmtx' to match
BindAttributeLocation request.
ERROR: Input of fragment shader '<in VertexData.tex0>' not written by vertex shader
#
Dolphin Version: Dolphin OEDolphin
Video Backend: OpenGL

You might also like