Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [ 21.821135] Render.OpenGL <Error> video_core\renderer_opengl\gl_shader_util.cpp:LoadShader:44: Error compiling fragment shader:
- 0(100) : error C0000: syntax error, unexpected identifier, expecting ',' or ';' at token "gpr_3_fragment"
- [ 21.821868] Render.OpenGL <Error> video_core\renderer_opengl\gl_shader_util.h:LoadProgram:76: Error linking shader:
- Fragment info
- -------------
- 0(100) : error C0000: syntax error, unexpected identifier, expecting ',' or ';' at token "gpr_3_fragment"
- (0) : error C2003: incompatible options for link
- [ 21.821882] Render.OpenGL <Info> video_core\renderer_opengl\gl_shader_util.h:LogShaderSource:32: Shader source #version 430 core
- #extension GL_ARB_separate_shader_objects : enable
- // Shader Unique Id: FSfb1b236bd01eb7e6
- #define MAX_CONSTBUFFER_ELEMENTS 4096
- #define ftoi floatBitsToInt
- #define ftou floatBitsToUint
- #define itof intBitsToFloat
- #define utof uintBitsToFloat
- float fromHalf2(vec2 pair) {
- return utof(packHalf2x16(pair));
- }
- vec2 toHalf2(float value) {
- return unpackHalf2x16(ftou(value));
- }
- layout (location = 0) out vec4 FragColor0;
- layout (location = 1) out vec4 FragColor1;
- layout (location = 2) out vec4 FragColor2;
- layout (location = 3) out vec4 FragColor3;
- layout (location = 4) out vec4 FragColor4;
- layout (location = 5) out vec4 FragColor5;
- layout (location = 6) out vec4 FragColor6;
- layout (location = 7) out vec4 FragColor7;
- layout (location = 0) in vec4 position;
- layout (std140) uniform fs_config {
- vec4 viewport_flip;
- uvec4 config_pack; // instance_id, flip_stage, y_direction, padding
- uvec4 alpha_test;
- };
- bool AlphaFunc(in float value) {
- float ref = uintBitsToFloat(alpha_test[2]);
- switch (alpha_test[1]) {
- case 1:
- return false;
- case 2:
- return value < ref;
- case 3:
- return value == ref;
- case 4:
- return value <= ref;
- case 5:
- return value > ref;
- case 6:
- return value != ref;
- case 7:
- return value >= ref;
- case 8:
- return true;
- default:
- return false;
- }
- }
- float gpr_0_fragment = 0;
- float gpr_1_fragment = 0;
- float gpr_2_fragment = 0;
- float gpr_3_fragment = 0;
- float gpr_4_fragment = 0;
- float gpr_5_fragment = 0;
- float gpr_6_fragment = 0;
- float gpr_7_fragment = 0;
- float gpr_8_fragment = 0;
- bool zero_flag_fragment = false;
- bool sign_flag_fragment = false;
- bool carry_flag_fragment = false;
- bool overflow_flag_fragment = false;
- layout (location = 1) in vec4 input_attr_0_fragment;
- layout (location = 2) in vec4 input_attr_1_fragment;
- uniform sampler2D sampler_0_fragment;
- void execute_fragment() {
- uint jmp_to = 10u;
- uint flow_stack[20];
- uint flow_stack_top = 0u;
- while (true) {
- switch (jmp_to) {
- case 0xau: {
- // 11: IPA (0xe003ff87cff7ff07)
- gpr_7_fragment = 1.0f;
- // 12: MUFU (0x5080000000470707)
- float tmp1 = (utof(0x3f800000u) / gpr_7_fragment);
- gpr_7_fragment = tmp1;
- // 13: IPA (0xe043ff880077ff04)
- gpr_4_fragment = input_attr_0_fragment.x;
- // 15: IPA (0xe043ff884077ff05)
- gpr_5_fragment = input_attr_0_fragment.y;
- // 16: TEXS (0xd032008030570401)
- vec4 tmp2 = texture(sampler_0_fragment, vec2(gpr_4_fragment, gpr_5_fragment));
- gpr_1_fragment = utof(packHalf2x16(vec2(tmp2[0], tmp2[1])))
- gpr_3_fragment = utof(packHalf2x16(vec2(tmp2[2], tmp2[3])))
- // 17: IPA (0xe043ff890077ff00)
- gpr_0_fragment = input_attr_1_fragment.x;
- // 19: IPA (0xe043ff894077ff02)
- gpr_2_fragment = input_attr_1_fragment.y;
- // 20: IPA (0xe043ff898077ff06)
- gpr_6_fragment = input_attr_1_fragment.z;
- // 21: IPA (0xe043ff89c077ff08)
- gpr_8_fragment = input_attr_1_fragment.w;
- // 23: HMUL2_R (0x5d0a800020170000)
- float tmp3 = fromHalf2((vec2(gpr_0_fragment) * vec2(toHalf2(gpr_1_fragment)[0])));
- gpr_0_fragment = float(toHalf2(tmp3)[0]);
- // 24: HMUL2_R (0x5d0a800030170201)
- float tmp4 = fromHalf2((vec2(gpr_2_fragment) * vec2(toHalf2(gpr_1_fragment)[1])));
- gpr_1_fragment = float(toHalf2(tmp4)[0]);
- // 25: HMUL2_R (0x5d0a800020370602)
- float tmp5 = fromHalf2((vec2(gpr_6_fragment) * vec2(toHalf2(gpr_3_fragment)[0])));
- gpr_2_fragment = float(toHalf2(tmp5)[0]);
- // 27: HMUL2_R (0x5d0a800030370803)
- float tmp6 = fromHalf2((vec2(gpr_8_fragment) * vec2(toHalf2(gpr_3_fragment)[1])));
- gpr_3_fragment = float(toHalf2(tmp6)[0]);
- // 28: EXIT (0xe30000000007000f)
- if (alpha_test[0] != 0) {
- if (!AlphaFunc(gpr_3_fragment)) discard;
- }
- FragColor0[0] = gpr_0_fragment;
- FragColor0[1] = gpr_1_fragment;
- FragColor0[2] = gpr_2_fragment;
- FragColor0[3] = gpr_3_fragment;
- return;
- }
- default: return;
- }
- }
- }
- void main() {
- execute_fragment();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement