Created
June 20, 2018 14:33
-
-
Save shadeslayer/f29274858486076dd2f37d4fc1463e12 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
: GLSL IR for shader 35: | |
( | |
(declare (location=2 shader_out ) vec4 gl_FragColor) | |
(declare (location=24 shader_in ) bool gl_FrontFacing) | |
(declare (location=0 shader_in ) vec4 gl_FragCoord) | |
(declare (location=2 shader_in ) vec4 gl_SecondaryColor) | |
(declare (location=1 shader_in ) vec4 gl_Color) | |
(declare (location=3 shader_in ) float gl_FogFragCoord) | |
(declare (location=4 shader_in ) (array vec4 0) gl_TexCoord) | |
(declare (uniform ) (array mat4 8) gl_TextureMatrixInverseTranspose) | |
(declare (uniform ) (array mat4 8) gl_TextureMatrixTranspose) | |
(declare (uniform ) mat4 gl_ModelViewProjectionMatrixInverseTranspose) | |
(declare (uniform ) mat4 gl_ProjectionMatrixInverseTranspose) | |
(declare (uniform ) mat4 gl_ModelViewMatrixInverseTranspose) | |
(declare (uniform ) mat4 gl_ModelViewProjectionMatrixTranspose) | |
(declare (uniform ) mat4 gl_ProjectionMatrixTranspose) | |
(declare (uniform ) mat4 gl_ModelViewMatrixTranspose) | |
(declare (uniform ) mat4 gl_ModelViewProjectionMatrix) | |
(declare (uniform ) int source_repeat_mode) | |
(declare (uniform ) int mask_repeat_mode) | |
(declare (shader_in ) vec2 source_texture) | |
(declare (uniform ) sampler2D source_sampler) | |
(declare (uniform ) vec4 source_wh) | |
( function rel_tex_coord | |
(signature vec2 | |
(parameters | |
(declare (in ) vec2 texture) | |
(declare (in ) vec4 wh) | |
(declare (in ) int repeat) | |
) | |
( | |
(declare (temporary ) vec2 return_value) | |
(declare () vec2 rel_tex) | |
(assign (xy) (var_ref rel_tex) (expression vec2 * (var_ref texture) (swiz xy (var_ref wh) )) ) | |
(if (expression bool == (var_ref repeat) (constant int (10)) ) ( | |
(assign (xy) (var_ref return_value) (var_ref rel_tex) ) | |
) | |
( | |
(if (expression bool == (var_ref repeat) (constant int (11)) ) ( | |
(assign (xy) (var_ref rel_tex) (expression vec2 + (expression vec2 floor (var_ref rel_tex) ) (expression vec2 / (expression vec2 fract (var_ref rel_tex) ) (swiz xy (var_ref wh) )) ) ) | |
) | |
( | |
(if (expression bool == (var_ref repeat) (constant int (12)) ) ( | |
(if (expression bool >= (swiz x (var_ref rel_tex) )(constant float (1.000000)) ) ( | |
(assign (x) (var_ref rel_tex) (expression float + (constant float (1.000000)) (expression float neg (expression float / (expression float * (swiz z (var_ref wh) )(swiz x (var_ref wh) )) (constant float (2.000000)) ) ) ) ) | |
) | |
( | |
(if (expression bool < (swiz x (var_ref rel_tex) )(constant float (0.000000)) ) ( | |
(assign (x) (var_ref rel_tex) (constant float (0.000000)) ) | |
) | |
()) | |
)) | |
(if (expression bool >= (swiz y (var_ref rel_tex) )(constant float (1.000000)) ) ( | |
(assign (y) (var_ref rel_tex) (expression float + (constant float (1.000000)) (expression float neg (expression float / (expression float * (swiz w (var_ref wh) )(swiz y (var_ref wh) )) (constant float (2.000000)) ) ) ) ) | |
) | |
( | |
(if (expression bool < (swiz y (var_ref rel_tex) )(constant float (0.000000)) ) ( | |
(assign (y) (var_ref rel_tex) (constant float (0.000000)) ) | |
) | |
()) | |
)) | |
(assign (xy) (var_ref rel_tex) (expression vec2 / (var_ref rel_tex) (swiz xy (var_ref wh) )) ) | |
) | |
( | |
(if (expression bool == (var_ref repeat) (constant int (13)) ) ( | |
(declare (temporary ) float mod_retval) | |
(assign (x) (var_ref mod_retval) (expression float % (expression float abs (expression float floor (swiz x (var_ref rel_tex) )) ) (constant float (2.000000)) ) ) | |
(if (expression bool < (expression float + (constant float (1.000000)) (expression float neg (var_ref mod_retval) ) ) (constant float (0.001000)) ) ( | |
(assign (x) (var_ref rel_tex) (expression float + (constant float (2.000000)) (expression float neg (expression float / (expression float + (constant float (1.000000)) (expression float neg (expression float fract (swiz x (var_ref rel_tex) )) ) ) (swiz x (var_ref wh) )) ) ) ) | |
) | |
( | |
(assign (x) (var_ref rel_tex) (expression float / (expression float fract (swiz x (var_ref rel_tex) )) (swiz x (var_ref wh) )) ) | |
)) | |
(declare (temporary ) float mod_retval@532) | |
(assign (x) (var_ref mod_retval@532) (expression float % (expression float abs (expression float floor (swiz y (var_ref rel_tex) )) ) (constant float (2.000000)) ) ) | |
(if (expression bool < (expression float + (constant float (1.000000)) (expression float neg (var_ref mod_retval@532) ) ) (constant float (0.001000)) ) ( | |
(assign (y) (var_ref rel_tex) (expression float + (constant float (2.000000)) (expression float neg (expression float / (expression float + (constant float (1.000000)) (expression float neg (expression float fract (swiz y (var_ref rel_tex) )) ) ) (swiz y (var_ref wh) )) ) ) ) | |
) | |
( | |
(assign (y) (var_ref rel_tex) (expression float / (expression float fract (swiz y (var_ref rel_tex) )) (swiz y (var_ref wh) )) ) | |
)) | |
) | |
()) | |
)) | |
)) | |
(assign (xy) (var_ref return_value) (var_ref rel_tex) ) | |
)) | |
(return (var_ref return_value) ) | |
)) | |
) | |
( function rel_sampler_rgba | |
(signature vec4 | |
(parameters | |
(declare (in ) sampler2D tex_image) | |
(declare (in ) vec2 tex) | |
(declare (in ) vec4 wh) | |
(declare (in ) int repeat) | |
) | |
( | |
(declare (temporary ) bool execute_flag) | |
(assign (x) (var_ref execute_flag) (constant bool (1)) ) | |
(declare (temporary ) vec4 return_value) | |
(if (expression bool >= (var_ref repeat) (constant int (10)) ) ( | |
(declare (temporary ) vec2 rel_tex_coord_retval) | |
(call rel_tex_coord (var_ref rel_tex_coord_retval) ((var_ref tex) (var_ref wh) (var_ref repeat) )) | |
(assign (xy) (var_ref tex) (var_ref rel_tex_coord_retval) ) | |
(if (expression bool == (var_ref repeat) (constant int (10)) ) ( | |
(if (expression bool || (expression bool || (expression bool || (expression bool < (swiz x (var_ref rel_tex_coord_retval) )(constant float (0.000000)) ) (expression bool >= (swiz x (var_ref rel_tex_coord_retval) )(constant float (1.000000)) ) ) (expression bool < (swiz y (var_ref rel_tex_coord_retval) )(constant float (0.000000)) ) ) (expression bool >= (swiz y (var_ref rel_tex_coord_retval) )(constant float (1.000000)) ) ) ( | |
(assign (xyzw) (var_ref return_value) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) | |
(assign (x) (var_ref execute_flag) (constant bool (0)) ) | |
) | |
( | |
(assign (xy) (var_ref tex) (expression vec2 / (expression vec2 fract (var_ref rel_tex_coord_retval) ) (swiz xy (var_ref wh) )) ) | |
)) | |
) | |
()) | |
) | |
()) | |
(if (var_ref execute_flag) ( | |
(assign (xyzw) (var_ref return_value) (tex vec4 (var_ref tex_image) (var_ref tex) 0 1 () )) | |
(assign (x) (var_ref execute_flag) (constant bool (0)) ) | |
) | |
()) | |
(return (var_ref return_value) ) | |
)) | |
) | |
( function rel_sampler_rgbx | |
(signature vec4 | |
(parameters | |
(declare (in ) sampler2D tex_image) | |
(declare (in ) vec2 tex) | |
(declare (in ) vec4 wh) | |
(declare (in ) int repeat) | |
) | |
( | |
(declare (temporary ) bool execute_flag) | |
(assign (x) (var_ref execute_flag) (constant bool (1)) ) | |
(declare (temporary ) vec4 return_value) | |
(if (expression bool >= (var_ref repeat) (constant int (10)) ) ( | |
(declare (temporary ) vec2 rel_tex_coord_retval) | |
(call rel_tex_coord (var_ref rel_tex_coord_retval) ((var_ref tex) (var_ref wh) (var_ref repeat) )) | |
(assign (xy) (var_ref tex) (var_ref rel_tex_coord_retval) ) | |
(if (expression bool == (var_ref repeat) (constant int (10)) ) ( | |
(if (expression bool || (expression bool || (expression bool || (expression bool < (swiz x (var_ref rel_tex_coord_retval) )(constant float (0.000000)) ) (expression bool >= (swiz x (var_ref rel_tex_coord_retval) )(constant float (1.000000)) ) ) (expression bool < (swiz y (var_ref rel_tex_coord_retval) )(constant float (0.000000)) ) ) (expression bool >= (swiz y (var_ref rel_tex_coord_retval) )(constant float (1.000000)) ) ) ( | |
(assign (xyzw) (var_ref return_value) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) | |
(assign (x) (var_ref execute_flag) (constant bool (0)) ) | |
) | |
( | |
(assign (xy) (var_ref tex) (expression vec2 / (expression vec2 fract (var_ref rel_tex_coord_retval) ) (swiz xy (var_ref wh) )) ) | |
)) | |
) | |
()) | |
) | |
()) | |
(if (var_ref execute_flag) ( | |
(declare (temporary ) vec4 vec_ctor) | |
(assign (w) (var_ref vec_ctor) (constant float (1.000000)) ) | |
(assign (xyz) (var_ref vec_ctor) (swiz xyz (tex vec4 (var_ref tex_image) (var_ref tex) 0 1 () ))) | |
(assign (xyzw) (var_ref return_value) (var_ref vec_ctor) ) | |
(assign (x) (var_ref execute_flag) (constant bool (0)) ) | |
) | |
()) | |
(return (var_ref return_value) ) | |
)) | |
) | |
( function get_source | |
(signature vec4 | |
(parameters | |
) | |
( | |
(declare (temporary ) vec4 rel_sampler_rgbx_retval) | |
(call rel_sampler_rgbx (var_ref rel_sampler_rgbx_retval) ((var_ref source_sampler) (var_ref source_texture) (var_ref source_wh) (var_ref source_repeat_mode) )) | |
(return (var_ref rel_sampler_rgbx_retval) ) | |
)) | |
) | |
( function get_mask | |
(signature vec4 | |
(parameters | |
) | |
( | |
(return (constant vec4 (0.000000 0.000000 0.000000 1.000000)) ) | |
)) | |
) | |
( function dest_swizzle | |
(signature vec4 | |
(parameters | |
(declare (in ) vec4 color) | |
) | |
( | |
(return (var_ref color) ) | |
)) | |
) | |
( function main | |
(signature void | |
(parameters | |
) | |
( | |
(declare (temporary ) vec4 get_source_retval) | |
(call get_source (var_ref get_source_retval) ()) | |
(declare (temporary ) vec4 get_mask_retval) | |
(call get_mask (var_ref get_mask_retval) ()) | |
(declare (temporary ) vec4 dest_swizzle_retval) | |
(call dest_swizzle (var_ref dest_swizzle_retval) ((expression vec4 * (var_ref get_source_retval) (swiz w (var_ref get_mask_retval) )) )) | |
(assign (xyzw) (var_ref gl_FragColor) (var_ref dest_swizzle_retval) ) | |
)) | |
) | |
) | |
: | |
: | |
: GLSL IR for linked vertex program 36: | |
( | |
(declare (location=0 shader_out ) vec4 gl_Position) | |
(declare (location=31 shader_out ) vec2 packed:source_texture) | |
(declare (location=16 shader_in ) vec4 v_position) | |
(declare (location=17 shader_in ) vec4 v_texcoord0) | |
( function main | |
(signature void | |
(parameters | |
) | |
( | |
(assign (xyzw) (var_ref gl_Position) (var_ref v_position) ) | |
(assign (xy) (var_ref packed:source_texture) (swiz xy (var_ref v_texcoord0) )) | |
)) | |
) | |
) | |
: | |
: | |
: GLSL IR for linked fragment program 36: | |
( | |
(declare (location=31 shader_in ) vec2 packed:source_texture) | |
(declare (location=2 shader_out ) vec4 gl_FragColor) | |
(declare (location=0 uniform ) int source_repeat_mode) | |
(declare (location=1 uniform ) sampler2D source_sampler) | |
(declare (location=2 uniform ) vec4 source_wh) | |
( function main | |
(signature void | |
(parameters | |
) | |
( | |
(declare (temporary ) vec2 tex) | |
(assign (xy) (var_ref tex) (var_ref packed:source_texture) ) | |
(declare (temporary ) bool execute_flag) | |
(assign (x) (var_ref execute_flag) (constant bool (1)) ) | |
(declare (temporary ) vec4 return_value) | |
(declare (temporary ) bool if_to_cond_assign_then) | |
(assign (x) (var_ref if_to_cond_assign_then) (expression bool >= (var_ref source_repeat_mode) (constant int (10)) ) ) | |
(declare (temporary ) vec2 return_value@533) | |
(declare () vec2 rel_tex) | |
(assign (var_ref if_to_cond_assign_then) (xy) (var_ref rel_tex) (expression vec2 * (var_ref packed:source_texture) (swiz xy (var_ref source_wh) )) ) | |
(declare (temporary ) bool if_to_cond_assign_then@534) | |
(assign (x) (var_ref if_to_cond_assign_then@534) (expression bool && (var_ref if_to_cond_assign_then) (expression bool == (var_ref source_repeat_mode) (constant int (10)) ) ) ) | |
(assign (var_ref if_to_cond_assign_then@534) (xy) (var_ref return_value@533) (var_ref rel_tex) ) | |
(declare (temporary ) bool if_to_cond_assign_else) | |
(assign (x) (var_ref if_to_cond_assign_else) (expression bool && (var_ref if_to_cond_assign_then) (expression bool ! (var_ref if_to_cond_assign_then@534) ) ) ) | |
(declare (temporary ) bool if_to_cond_assign_then@535) | |
(assign (x) (var_ref if_to_cond_assign_then@535) (expression bool && (var_ref if_to_cond_assign_else) (expression bool == (var_ref source_repeat_mode) (constant int (11)) ) ) ) | |
(assign (var_ref if_to_cond_assign_then@535) (xy) (var_ref rel_tex) (expression vec2 + (expression vec2 floor (var_ref rel_tex) ) (expression vec2 * (expression vec2 fract (var_ref rel_tex) ) (expression vec2 rcp (swiz xy (var_ref source_wh) )) ) ) ) | |
(declare (temporary ) bool if_to_cond_assign_else@536) | |
(assign (x) (var_ref if_to_cond_assign_else@536) (expression bool && (var_ref if_to_cond_assign_else) (expression bool ! (var_ref if_to_cond_assign_then@535) ) ) ) | |
(declare (temporary ) bool if_to_cond_assign_then@537) | |
(assign (x) (var_ref if_to_cond_assign_then@537) (expression bool && (var_ref if_to_cond_assign_else@536) (expression bool == (var_ref source_repeat_mode) (constant int (12)) ) ) ) | |
(declare (temporary ) bool if_to_cond_assign_then@538) | |
(assign (x) (var_ref if_to_cond_assign_then@538) (expression bool && (var_ref if_to_cond_assign_then@537) (expression bool >= (swiz x (var_ref rel_tex) )(constant float (1.000000)) ) ) ) | |
(assign (var_ref if_to_cond_assign_then@538) (x) (var_ref rel_tex) (expression float + (constant float (1.000000)) (expression float neg (expression float * (expression float * (swiz z (var_ref source_wh) )(swiz x (var_ref source_wh) )) (constant float (0.500000)) ) ) ) ) | |
(assign (expression bool && (expression bool && (var_ref if_to_cond_assign_then@537) (expression bool ! (var_ref if_to_cond_assign_then@538) ) ) (expression bool < (swiz x (var_ref rel_tex) )(constant float (0.000000)) ) ) (x) (var_ref rel_tex) (constant float (0.000000)) ) | |
(declare (temporary ) bool if_to_cond_assign_then@539) | |
(assign (x) (var_ref if_to_cond_assign_then@539) (expression bool && (var_ref if_to_cond_assign_then@537) (expression bool >= (swiz y (var_ref rel_tex) )(constant float (1.000000)) ) ) ) | |
(assign (var_ref if_to_cond_assign_then@539) (y) (var_ref rel_tex) (expression float + (constant float (1.000000)) (expression float neg (expression float * (expression float * (swiz w (var_ref source_wh) )(swiz y (var_ref source_wh) )) (constant float (0.500000)) ) ) ) ) | |
(assign (expression bool && (expression bool && (var_ref if_to_cond_assign_then@537) (expression bool ! (var_ref if_to_cond_assign_then@539) ) ) (expression bool < (swiz y (var_ref rel_tex) )(constant float (0.000000)) ) ) (y) (var_ref rel_tex) (constant float (0.000000)) ) | |
(assign (var_ref if_to_cond_assign_then@537) (xy) (var_ref rel_tex) (expression vec2 * (var_ref rel_tex) (expression vec2 rcp (swiz xy (var_ref source_wh) )) ) ) | |
(declare (temporary ) bool if_to_cond_assign_then@540) | |
(assign (x) (var_ref if_to_cond_assign_then@540) (expression bool && (expression bool && (var_ref if_to_cond_assign_else@536) (expression bool ! (var_ref if_to_cond_assign_then@537) ) ) (expression bool == (var_ref source_repeat_mode) (constant int (13)) ) ) ) | |
(declare (temporary ) float mod_x) | |
(assign (var_ref if_to_cond_assign_then@540) (x) (var_ref mod_x) (expression float abs (expression float floor (swiz x (var_ref rel_tex) )) ) ) | |
(declare (temporary ) bool if_to_cond_assign_then@541) | |
(assign (x) (var_ref if_to_cond_assign_then@541) (expression bool && (var_ref if_to_cond_assign_then@540) (expression bool < (expression float + (constant float (1.000000)) (expression float neg (expression float + (var_ref mod_x) (expression float neg (expression float * (constant float (2.000000)) (expression float floor (expression float * (var_ref mod_x) (constant float (0.500000)) ) ) ) ) ) ) ) (constant float (0.001000)) ) ) ) | |
(assign (var_ref if_to_cond_assign_then@541) (x) (var_ref rel_tex) (expression float + (constant float (2.000000)) (expression float neg (expression float * (expression float + (constant float (1.000000)) (expression float neg (expression float fract (swiz x (var_ref rel_tex) )) ) ) (expression float rcp (swiz x (var_ref source_wh) )) ) ) ) ) | |
(assign (expression bool && (var_ref if_to_cond_assign_then@540) (expression bool ! (var_ref if_to_cond_assign_then@541) ) ) (x) (var_ref rel_tex) (expression float * (expression float fract (swiz x (var_ref rel_tex) )) (expression float rcp (swiz x (var_ref source_wh) )) ) ) | |
(declare (temporary ) float mod_x@542) | |
(assign (var_ref if_to_cond_assign_then@540) (x) (var_ref mod_x@542) (expression float abs (expression float floor (swiz y (var_ref rel_tex) )) ) ) | |
(declare (temporary ) bool if_to_cond_assign_then@543) | |
(assign (x) (var_ref if_to_cond_assign_then@543) (expression bool && (var_ref if_to_cond_assign_then@540) (expression bool < (expression float + (constant float (1.000000)) (expression float neg (expression float + (var_ref mod_x@542) (expression float neg (expression float * (constant float (2.000000)) (expression float floor (expression float * (var_ref mod_x@542) (constant float (0.500000)) ) ) ) ) ) ) ) (constant float (0.001000)) ) ) ) | |
(assign (var_ref if_to_cond_assign_then@543) (y) (var_ref rel_tex) (expression float + (constant float (2.000000)) (expression float neg (expression float * (expression float + (constant float (1.000000)) (expression float neg (expression float fract (swiz y (var_ref rel_tex) )) ) ) (expression float rcp (swiz y (var_ref source_wh) )) ) ) ) ) | |
(assign (expression bool && (var_ref if_to_cond_assign_then@540) (expression bool ! (var_ref if_to_cond_assign_then@543) ) ) (y) (var_ref rel_tex) (expression float * (expression float fract (swiz y (var_ref rel_tex) )) (expression float rcp (swiz y (var_ref source_wh) )) ) ) | |
(assign (var_ref if_to_cond_assign_else) (xy) (var_ref return_value@533) (var_ref rel_tex) ) | |
(assign (var_ref if_to_cond_assign_then) (xy) (var_ref tex) (var_ref return_value@533) ) | |
(declare (temporary ) bool if_to_cond_assign_then@544) | |
(assign (x) (var_ref if_to_cond_assign_then@544) (expression bool && (var_ref if_to_cond_assign_then) (expression bool == (var_ref source_repeat_mode) (constant int (10)) ) ) ) | |
(declare (temporary ) bool if_to_cond_assign_then@545) | |
(assign (x) (var_ref if_to_cond_assign_then@545) (expression bool && (var_ref if_to_cond_assign_then@544) (expression bool || (expression bool || (expression bool || (expression bool < (swiz x (var_ref return_value@533) )(constant float (0.000000)) ) (expression bool >= (swiz x (var_ref return_value@533) )(constant float (1.000000)) ) ) (expression bool < (swiz y (var_ref return_value@533) )(constant float (0.000000)) ) ) (expression bool >= (swiz y (var_ref return_value@533) )(constant float (1.000000)) ) ) ) ) | |
(assign (var_ref if_to_cond_assign_then@545) (xyzw) (var_ref return_value) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) | |
(assign (var_ref if_to_cond_assign_then@545) (x) (var_ref execute_flag) (constant bool (0)) ) | |
(assign (expression bool && (var_ref if_to_cond_assign_then@544) (expression bool ! (var_ref if_to_cond_assign_then@545) ) ) (xy) (var_ref tex) (expression vec2 * (expression vec2 fract (var_ref return_value@533) ) (expression vec2 rcp (swiz xy (var_ref source_wh) )) ) ) | |
(declare (temporary ) vec4 vec_ctor) | |
(assign (var_ref execute_flag) (w) (var_ref vec_ctor) (constant float (1.000000)) ) | |
(assign (var_ref execute_flag) (xyz) (var_ref vec_ctor) (swiz xyz (tex vec4 (var_ref source_sampler) (var_ref tex) 0 1 () ))) | |
(assign (var_ref execute_flag) (xyzw) (var_ref return_value) (var_ref vec_ctor) ) | |
(assign (var_ref execute_flag) (x) (var_ref execute_flag) (constant bool (0)) ) | |
(assign (xyzw) (var_ref gl_FragColor) (var_ref return_value) ) | |
)) | |
) | |
) | |
: | |
: | |
: NIR IR for linked vertex program 36: | |
shader: MESA_SHADER_VERTEX | |
name: GLSL36 | |
label: composite | |
inputs: 0 | |
outputs: 0 | |
uniforms: 0 | |
shared: 0 | |
decl_var shader_in INTERP_MODE_NONE vec4 v_position (VERT_ATTRIB_GENERIC0, 0, 0) | |
decl_var shader_in INTERP_MODE_NONE vec4 v_texcoord0 (VERT_ATTRIB_GENERIC1, 0, 0) | |
decl_var shader_out INTERP_MODE_NONE vec4 gl_Position (VARYING_SLOT_POS, 0, 0) | |
decl_var shader_out INTERP_MODE_NONE vec2 packed:source_texture (VARYING_SLOT_VAR0.xy, 0, 0) | |
decl_function main returning void | |
impl main { | |
decl_var INTERP_MODE_NONE vec2 out@packed:source_texture-temp | |
decl_var INTERP_MODE_NONE vec4 in@v_texcoord0-temp | |
decl_var INTERP_MODE_NONE vec4 in@v_position-temp | |
decl_var INTERP_MODE_NONE vec4 out@gl_Position-temp | |
block block_0: | |
/* preds: */ | |
vec4 32 ssa_2 = intrinsic load_var () (v_position) () | |
vec4 32 ssa_3 = intrinsic load_var () (v_texcoord0) () | |
intrinsic store_var (ssa_2) (gl_Position) (15) /* wrmask=xyzw */ | |
vec2 32 ssa_53 = vec2 ssa_3.x, ssa_3.y | |
intrinsic store_var (ssa_53) (packed:source_texture) (3) /* wrmask=xy */ | |
/* succs: block_0 */ | |
block block_0: | |
} | |
: | |
: | |
: NIR IR for linked fragment program 36: | |
shader: MESA_SHADER_FRAGMENT | |
name: GLSL36 | |
label: composite | |
inputs: 0 | |
outputs: 0 | |
uniforms: 0 | |
shared: 0 | |
decl_var uniform INTERP_MODE_NONE int source_repeat_mode (0, 0, 0) | |
decl_var uniform INTERP_MODE_NONE sampler2D source_sampler (1, 0, 0) | |
decl_var uniform INTERP_MODE_NONE vec4 source_wh (2, 0, 0) | |
decl_var shader_in INTERP_MODE_NONE vec2 packed:source_texture (VARYING_SLOT_VAR0.xy, 0, 0) | |
decl_var shader_out INTERP_MODE_NONE vec4 gl_FragColor (FRAG_RESULT_COLOR, 0, 0) | |
decl_function main returning void | |
impl main { | |
decl_var INTERP_MODE_NONE vec2 tex | |
decl_var INTERP_MODE_NONE bool execute_flag | |
decl_var INTERP_MODE_NONE bool const_temp | |
decl_var INTERP_MODE_NONE vec4 return_value | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then | |
decl_var INTERP_MODE_NONE int const_temp@0 | |
decl_var INTERP_MODE_NONE vec2 return_value@1 | |
decl_var INTERP_MODE_NONE vec2 rel_tex | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@2 | |
decl_var INTERP_MODE_NONE int const_temp@3 | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_else | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@4 | |
decl_var INTERP_MODE_NONE int const_temp@5 | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_else@6 | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@7 | |
decl_var INTERP_MODE_NONE int const_temp@8 | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@9 | |
decl_var INTERP_MODE_NONE float const_temp@10 | |
decl_var INTERP_MODE_NONE float const_temp@11 | |
decl_var INTERP_MODE_NONE float const_temp@12 | |
decl_var INTERP_MODE_NONE float const_temp@13 | |
decl_var INTERP_MODE_NONE float const_temp@14 | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@15 | |
decl_var INTERP_MODE_NONE float const_temp@16 | |
decl_var INTERP_MODE_NONE float const_temp@17 | |
decl_var INTERP_MODE_NONE float const_temp@18 | |
decl_var INTERP_MODE_NONE float const_temp@19 | |
decl_var INTERP_MODE_NONE float const_temp@20 | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@21 | |
decl_var INTERP_MODE_NONE int const_temp@22 | |
decl_var INTERP_MODE_NONE float mod_x | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@23 | |
decl_var INTERP_MODE_NONE float const_temp@24 | |
decl_var INTERP_MODE_NONE float const_temp@25 | |
decl_var INTERP_MODE_NONE float const_temp@26 | |
decl_var INTERP_MODE_NONE float const_temp@27 | |
decl_var INTERP_MODE_NONE float const_temp@28 | |
decl_var INTERP_MODE_NONE float const_temp@29 | |
decl_var INTERP_MODE_NONE float mod_x@30 | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@31 | |
decl_var INTERP_MODE_NONE float const_temp@32 | |
decl_var INTERP_MODE_NONE float const_temp@33 | |
decl_var INTERP_MODE_NONE float const_temp@34 | |
decl_var INTERP_MODE_NONE float const_temp@35 | |
decl_var INTERP_MODE_NONE float const_temp@36 | |
decl_var INTERP_MODE_NONE float const_temp@37 | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@38 | |
decl_var INTERP_MODE_NONE int const_temp@39 | |
decl_var INTERP_MODE_NONE bool if_to_cond_assign_then@40 | |
decl_var INTERP_MODE_NONE float const_temp@41 | |
decl_var INTERP_MODE_NONE float const_temp@42 | |
decl_var INTERP_MODE_NONE float const_temp@43 | |
decl_var INTERP_MODE_NONE float const_temp@44 | |
decl_var INTERP_MODE_NONE vec4 const_temp@45 | |
decl_var INTERP_MODE_NONE bool const_temp@46 | |
decl_var INTERP_MODE_NONE vec4 vec_ctor | |
decl_var INTERP_MODE_NONE float const_temp@47 | |
decl_var INTERP_MODE_NONE bool const_temp@48 | |
decl_var INTERP_MODE_NONE vec4 out@gl_FragColor-temp | |
block block_0: | |
/* preds: */ | |
vec1 32 ssa_261 = load_const (0x0000000a /* 0.000000 */) | |
vec1 32 ssa_263 = load_const (0x0000000b /* 0.000000 */) | |
vec1 32 ssa_264 = load_const (0x0000000c /* 0.000000 */) | |
vec1 32 ssa_265 = load_const (0x3f800000 /* 1.000000 */) | |
vec1 32 ssa_267 = load_const (0x3f000000 /* 0.500000 */) | |
vec1 32 ssa_268 = load_const (0x00000000 /* 0.000000 */) | |
vec1 32 ssa_275 = load_const (0x0000000d /* 0.000000 */) | |
vec1 32 ssa_277 = load_const (0x40000000 /* 2.000000 */) | |
vec1 32 ssa_279 = load_const (0x3a83126f /* 0.001000 */) | |
vec2 32 ssa_297 = intrinsic load_var () (packed:source_texture) () | |
vec1 32 ssa_0 = intrinsic load_var () (source_repeat_mode) () | |
vec1 32 ssa_2 = sge ssa_0, ssa_261 | |
vec2 32 ssa_3 = intrinsic load_var () (packed:source_texture) () | |
vec4 32 ssa_4 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_556 = fmul ssa_3.x, ssa_4.x | |
vec1 32 ssa_557 = fmul ssa_3.y, ssa_4.y | |
vec1 32 ssa_9 = intrinsic load_var () (source_repeat_mode) () | |
vec1 32 ssa_11 = seq ssa_9, ssa_261 | |
vec1 32 ssa_12 = fand ssa_2, ssa_11 | |
vec1 32 ssa_16 = fnot ssa_12 | |
vec1 32 ssa_17 = fand ssa_2, ssa_16 | |
vec1 32 ssa_19 = intrinsic load_var () (source_repeat_mode) () | |
vec1 32 ssa_21 = seq ssa_19, ssa_263 | |
vec1 32 ssa_22 = fand ssa_17, ssa_21 | |
vec1 32 ssa_571 = ffloor ssa_556 | |
vec1 32 ssa_572 = ffloor ssa_557 | |
vec1 32 ssa_577 = ffract ssa_556 | |
vec1 32 ssa_578 = ffract ssa_557 | |
vec4 32 ssa_27 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_583 = frcp ssa_27.x | |
vec1 32 ssa_584 = frcp ssa_27.y | |
vec1 32 ssa_586 = fmul ssa_577, ssa_583 | |
vec1 32 ssa_587 = fmul ssa_578, ssa_584 | |
vec1 32 ssa_589 = fadd ssa_571, ssa_586 | |
vec1 32 ssa_590 = fadd ssa_572, ssa_587 | |
vec1 32 ssa_922 = bcsel ssa_22, ssa_589, ssa_556 | |
vec1 32 ssa_923 = bcsel ssa_22, ssa_590, ssa_557 | |
vec1 32 ssa_35 = fnot ssa_22 | |
vec1 32 ssa_36 = fand ssa_17, ssa_35 | |
vec1 32 ssa_38 = intrinsic load_var () (source_repeat_mode) () | |
vec1 32 ssa_40 = seq ssa_38, ssa_264 | |
vec1 32 ssa_41 = fand ssa_36, ssa_40 | |
vec1 32 ssa_46 = sge ssa_922, ssa_265 | |
vec1 32 ssa_47 = fand ssa_41, ssa_46 | |
vec4 32 ssa_49 = intrinsic load_var () (source_wh) () | |
vec4 32 ssa_51 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_968 = fmul ssa_49.z, ssa_267 | |
vec1 32 ssa_969 = fmul ssa_968, ssa_51.x | |
vec1 32 ssa_56 = fneg ssa_969 | |
vec1 32 ssa_57 = fadd ssa_265, ssa_56 | |
vec1 32 ssa_924 = bcsel ssa_47, ssa_57, ssa_922 | |
vec1 32 ssa_64 = fnot ssa_47 | |
vec1 32 ssa_65 = fand ssa_41, ssa_64 | |
vec1 32 ssa_69 = slt ssa_924, ssa_268 | |
vec1 32 ssa_70 = fand ssa_65, ssa_69 | |
vec1 32 ssa_925 = bcsel ssa_70, ssa_268, ssa_924 | |
vec1 32 ssa_75 = sge ssa_923, ssa_265 | |
vec1 32 ssa_76 = fand ssa_41, ssa_75 | |
vec4 32 ssa_78 = intrinsic load_var () (source_wh) () | |
vec4 32 ssa_80 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_965 = fmul ssa_78.w, ssa_267 | |
vec1 32 ssa_966 = fmul ssa_965, ssa_80.y | |
vec1 32 ssa_85 = fneg ssa_966 | |
vec1 32 ssa_86 = fadd ssa_265, ssa_85 | |
vec1 32 ssa_926 = bcsel ssa_76, ssa_86, ssa_923 | |
vec1 32 ssa_93 = fnot ssa_76 | |
vec1 32 ssa_94 = fand ssa_41, ssa_93 | |
vec1 32 ssa_98 = slt ssa_926, ssa_268 | |
vec1 32 ssa_99 = fand ssa_94, ssa_98 | |
vec1 32 ssa_927 = bcsel ssa_99, ssa_268, ssa_926 | |
vec4 32 ssa_101 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_625 = frcp ssa_101.x | |
vec1 32 ssa_626 = frcp ssa_101.y | |
vec1 32 ssa_628 = fmul ssa_925, ssa_625 | |
vec1 32 ssa_629 = fmul ssa_927, ssa_626 | |
vec1 32 ssa_928 = bcsel ssa_41, ssa_628, ssa_925 | |
vec1 32 ssa_929 = bcsel ssa_41, ssa_629, ssa_927 | |
vec1 32 ssa_108 = fnot ssa_41 | |
vec1 32 ssa_109 = fand ssa_36, ssa_108 | |
vec1 32 ssa_110 = intrinsic load_var () (source_repeat_mode) () | |
vec1 32 ssa_112 = seq ssa_110, ssa_275 | |
vec1 32 ssa_113 = fand ssa_109, ssa_112 | |
vec1 32 ssa_116 = ffloor ssa_928 | |
vec1 32 ssa_117 = fabs ssa_116 | |
vec1 32 ssa_125 = fmul ssa_117, ssa_267 | |
vec1 32 ssa_126 = ffloor ssa_125 | |
vec1 32 ssa_127 = fmul ssa_277, ssa_126 | |
vec1 32 ssa_128 = fneg ssa_127 | |
vec1 32 ssa_129 = fadd ssa_117, ssa_128 | |
vec1 32 ssa_130 = fneg ssa_129 | |
vec1 32 ssa_131 = fadd ssa_265, ssa_130 | |
vec1 32 ssa_133 = slt ssa_131, ssa_279 | |
vec1 32 ssa_134 = fand ssa_113, ssa_133 | |
vec1 32 ssa_139 = ffract ssa_928 | |
vec1 32 ssa_140 = fneg ssa_139 | |
vec1 32 ssa_141 = fadd ssa_265, ssa_140 | |
vec4 32 ssa_142 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_144 = frcp ssa_142.x | |
vec1 32 ssa_145 = fmul ssa_141, ssa_144 | |
vec1 32 ssa_146 = fneg ssa_145 | |
vec1 32 ssa_147 = fadd ssa_277, ssa_146 | |
vec1 32 ssa_931 = bcsel ssa_134, ssa_147, ssa_928 | |
vec1 32 ssa_152 = ffract ssa_931 | |
vec4 32 ssa_153 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_155 = frcp ssa_153.x | |
vec1 32 ssa_156 = fmul ssa_152, ssa_155 | |
vec1 32 ssa_160 = fnot ssa_134 | |
vec1 32 ssa_161 = fand ssa_113, ssa_160 | |
vec1 32 ssa_932 = bcsel ssa_161, ssa_156, ssa_931 | |
vec1 32 ssa_164 = ffloor ssa_929 | |
vec1 32 ssa_165 = fabs ssa_164 | |
vec1 32 ssa_173 = fmul ssa_165, ssa_267 | |
vec1 32 ssa_174 = ffloor ssa_173 | |
vec1 32 ssa_175 = fmul ssa_277, ssa_174 | |
vec1 32 ssa_176 = fneg ssa_175 | |
vec1 32 ssa_177 = fadd ssa_165, ssa_176 | |
vec1 32 ssa_178 = fneg ssa_177 | |
vec1 32 ssa_179 = fadd ssa_265, ssa_178 | |
vec1 32 ssa_181 = slt ssa_179, ssa_279 | |
vec1 32 ssa_182 = fand ssa_113, ssa_181 | |
vec1 32 ssa_187 = ffract ssa_929 | |
vec1 32 ssa_188 = fneg ssa_187 | |
vec1 32 ssa_189 = fadd ssa_265, ssa_188 | |
vec4 32 ssa_190 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_192 = frcp ssa_190.y | |
vec1 32 ssa_193 = fmul ssa_189, ssa_192 | |
vec1 32 ssa_194 = fneg ssa_193 | |
vec1 32 ssa_195 = fadd ssa_277, ssa_194 | |
vec1 32 ssa_934 = bcsel ssa_182, ssa_195, ssa_929 | |
vec1 32 ssa_200 = ffract ssa_934 | |
vec4 32 ssa_201 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_203 = frcp ssa_201.y | |
vec1 32 ssa_204 = fmul ssa_200, ssa_203 | |
vec1 32 ssa_208 = fnot ssa_182 | |
vec1 32 ssa_209 = fand ssa_113, ssa_208 | |
vec1 32 ssa_935 = bcsel ssa_209, ssa_204, ssa_934 | |
vec1 32 ssa_936 = bcsel ssa_17, ssa_932, ssa_556 | |
vec1 32 ssa_937 = bcsel ssa_17, ssa_935, ssa_557 | |
vec1 32 ssa_938 = bcsel ssa_2, ssa_936, ssa_297.x | |
vec1 32 ssa_939 = bcsel ssa_2, ssa_937, ssa_297.y | |
vec1 32 ssa_213 = intrinsic load_var () (source_repeat_mode) () | |
vec1 32 ssa_215 = seq ssa_213, ssa_261 | |
vec1 32 ssa_216 = fand ssa_2, ssa_215 | |
vec1 32 ssa_221 = slt ssa_936, ssa_268 | |
vec1 32 ssa_225 = sge ssa_936, ssa_265 | |
vec1 32 ssa_226 = for ssa_221, ssa_225 | |
vec1 32 ssa_230 = slt ssa_937, ssa_268 | |
vec1 32 ssa_231 = for ssa_226, ssa_230 | |
vec1 32 ssa_235 = sge ssa_937, ssa_265 | |
vec1 32 ssa_236 = for ssa_231, ssa_235 | |
vec1 32 ssa_237 = fand ssa_216, ssa_236 | |
vec1 32 ssa_701 = ffract ssa_936 | |
vec1 32 ssa_702 = ffract ssa_937 | |
vec4 32 ssa_242 = intrinsic load_var () (source_wh) () | |
vec1 32 ssa_707 = frcp ssa_242.x | |
vec1 32 ssa_708 = frcp ssa_242.y | |
vec1 32 ssa_710 = fmul ssa_701, ssa_707 | |
vec1 32 ssa_711 = fmul ssa_702, ssa_708 | |
vec1 32 ssa_248 = fnot ssa_237 | |
vec1 32 ssa_249 = fand ssa_216, ssa_248 | |
vec1 32 ssa_945 = bcsel ssa_249, ssa_710, ssa_938 | |
vec1 32 ssa_946 = bcsel ssa_249, ssa_711, ssa_939 | |
vec2 32 ssa_723 = vec2 ssa_945, ssa_946 | |
vec4 32 ssa_254 = tex ssa_723 (coord), source_sampler (texture) | |
vec1 32 ssa_993 = bcsel ssa_237, ssa_268, ssa_254.x | |
vec1 32 ssa_991 = bcsel ssa_237, ssa_268, ssa_254.y | |
vec1 32 ssa_989 = bcsel ssa_237, ssa_268, ssa_254.z | |
vec1 32 ssa_995 = inot ssa_237 | |
vec1 32 ssa_996 = b2f ssa_995 | |
vec4 32 ssa_757 = vec4 ssa_993, ssa_991, ssa_989, ssa_996 | |
intrinsic store_var (ssa_757) (gl_FragColor) (15) /* wrmask=xyzw */ | |
/* succs: block_0 */ | |
block block_0: | |
} | |
: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment