Skip to content

Instantly share code, notes, and snippets.

@Triang3l
Created December 7, 2018 20:04
Show Gist options
  • Save Triang3l/eaaab1ce0271c948d7f2093afacecdcc to your computer and use it in GitHub Desktop.
Save Triang3l/eaaab1ce0271c948d7f2093afacecdcc to your computer and use it in GitHub Desktop.
G> 00000004 Generated vertex shader (2592b) - hash 95451A57451AAEF9:
/* 0.0 */ exec
/* 28 */ add r0.___w, r1.xxxx, c131.xxxx
/* 29 */ vfetch_full r2.__yx, r0.w, vf2, DataFormat=FMT_16_16, Stride=3, NumFormat=integer, PrefetchCount=3
/* 30 */ vfetch_mini r2.yx__, Offset=1, DataFormat=FMT_16_16, NumFormat=integer
/* 31 */ vfetch_mini r1.__yx, Offset=2, DataFormat=FMT_16_16, NumFormat=integer
/* 32 */ serialize
vfetch_full r4.xyz1, r2.z, vf0, DataFormat=FMT_32_32_32_FLOAT, Stride=8, Signed=true, NumFormat=integer, PrefetchCount=8
/* 33 */ vfetch_mini r12.xy0_, Offset=3, DataFormat=FMT_32_32_FLOAT, Signed=true, NumFormat=integer
/* 0.1 */ exec
/* 34 */ vfetch_mini r8.xyz1, Offset=6, DataFormat=FMT_11_11_10, Signed=true
/* 35 */ vfetch_mini r15.xyz1, Offset=7, DataFormat=FMT_11_11_10, Signed=true
/* 36 */ vfetch_full r9.yx__, r2.z, vf4, DataFormat=FMT_16_16, Stride=1
/* 37 */ vfetch_full r10.xy__, r2.w, vf3, DataFormat=FMT_32_32_32_FLOAT, Stride=9, Signed=true, NumFormat=integer
/* 38 */ vfetch_full r9.__xy, r2.w, vf3, Offset=6, DataFormat=FMT_32_32_32_FLOAT, Stride=9, Signed=true, NumFormat=integer
/* 39 */ vfetch_full r16.xyz1, r2.x, vf0, DataFormat=FMT_32_32_32_FLOAT, Stride=8, Signed=true, NumFormat=integer, PrefetchCount=8
/* 1.0 */ exec
/* 40 */ vfetch_mini r13.xy0_, Offset=3, DataFormat=FMT_32_32_FLOAT, Signed=true, NumFormat=integer
/* 41 */ vfetch_mini r14.xyz1, Offset=6, DataFormat=FMT_11_11_10, Signed=true
/* 42 */ vfetch_mini r3.xyz1, Offset=7, DataFormat=FMT_11_11_10, Signed=true
/* 43 */ vfetch_full r18.yx__, r2.x, vf4, DataFormat=FMT_16_16, Stride=1
/* 44 */ vfetch_full r17.xy__, r2.y, vf3, DataFormat=FMT_32_32_32_FLOAT, Stride=9, Signed=true, NumFormat=integer
/* 45 */ vfetch_full r6.xy__, r2.y, vf3, Offset=6, DataFormat=FMT_32_32_32_FLOAT, Stride=9, Signed=true, NumFormat=integer
/* 1.1 */ exec
/* 46 */ vfetch_full r2.xyz1, r1.z, vf0, DataFormat=FMT_32_32_32_FLOAT, Stride=8, Signed=true, NumFormat=integer, PrefetchCount=8
/* 47 */ vfetch_mini r11.xy0_, Offset=3, DataFormat=FMT_32_32_FLOAT, Signed=true, NumFormat=integer
/* 48 */ vfetch_mini r5.xyz1, Offset=6, DataFormat=FMT_11_11_10, Signed=true
/* 49 */ vfetch_mini r7.xyz1, Offset=7, DataFormat=FMT_11_11_10, Signed=true
/* 50 */ vfetch_full r18.__yx, r1.z, vf4, DataFormat=FMT_16_16, Stride=1
/* 51 */ vfetch_full r17.__xy, r1.w, vf3, DataFormat=FMT_32_32_32_FLOAT, Stride=9, Signed=true, NumFormat=integer
/* 2.0 */ exec
/* 52 */ vfetch_full r6.__xy, r1.w, vf3, Offset=6, DataFormat=FMT_32_32_32_FLOAT, Stride=9, Signed=true, NumFormat=integer
/* 53 */ serialize
seq r1.__z_, c21.xxxx, c255.wwww
/* 54 */ seq r19, c255, r1.yyyy
/* 55 */ seq r10.__zw, c254.xxxy, r1.yyyy
/* 56 */ mul r1.xy_w, r10.wwww, r0.zyxx
/* 57 */ mad r1.xy_w, r10.zzzz, r0.yxzz, r1.xyww
/* 2.1 */ exec
/* 58 */ mad r1.xy_w, r19.xxxx, r0.xzyy, r1.xyww
/* 59 */ mad r1.xy_w, r19.yyyy, r0.yzxx, r1.xyww
/* 60 */ mad r1.xy_w, r19.wwww, r0.zxyy, r1.xyww
/* 61 */ mad r0.xyz_, r19.zzzz, r0.yxzz, r1.yxww
/* 62 */ dp2add r1.x___, r0.yxxx, r6.zxxx, c255.zzzz
/* 63 */ dp2add r1._y__, r0.yxxx, r6.wyyy, c255.zzzz
/* 3.0 */ exec
/* 64 */ dp2add r6.x___, r0.yxxx, r18.zxxx, c255.zzzz
/* 65 */ dp2add r6._y__, r0.yxxx, r18.wyyy, c255.zzzz
/* 66 */ dp2add r6.__z_, r0.yxxx, r17.wyyy, c255.zzzz
/* 67 */ dp2add r6.___w, r0.yxxx, r17.zxxx, c255.zzzz
/* 68 */ mul r11.xyz_, r0.yyyy, r11.xyzz
/* 69 */ mul r5, r0.yyyy, r5
/* 3.1 */ exec
/* 70 */ mul r3, r0.xxxx, r3
/* 71 */ mul r2, r0.yyyy, r2
/* 72 */ mad r2, r0.xxxx, r16, r2
/* 73 */ mad r3, r0.zzzz, r15, r3
/* 74 */ mad r5, r0.xxxx, r14, r5
/* 75 */ mad r11.xyz_, r0.xxxx, r13.xyzz, r11.xyzz
/* 4.0 */ exec
/* 76 */ mad r11.xyz_, r0.zzzz, r12.xyzz, r11.xyzz
/* 77 */ mad r0.x__w, r0.zzzz, r10.xyyy, r6.wzzz
/* 78 */ mad r6.xy__, r0.zzzz, r9.xyyy, r6.xyyy
/* 79 */ mad r10.xy__, r0.zzzz, r9.zwww, r1.xyyy
/* 80 */ mad r5, r0.zzzz, r8, r5
/* 81 */ mad r3, -r0.yyyy, r7, -r3
/* 4.1 */ exec
/* 82 */ mad r4, r0.zzzz, r4, r2
/* 83 */ add r1.xy_w, -r4.xyzz, c7.xyzz
+ sges r0._y__, r_abs[0].x
/* 84 */ dp4 r2._y__, r3.wzxy, r3.wzxy
+ rcp r2.x___, c19.x
/* 85 */ dp4 r0.__z_, r5.wzxy, r5.wzxy
+ rsq r2.__z_, r_abs[2].y
/* 86 */ dp3 r2._y__, r1.wxyy, r1.wxyy
+ rsq r0.__z_, r_abs[0].z
/* 87 */ mul r8, r5, r0.zzzz
+ rsq r0.__z_, r_abs[2].y
/* 5.0 */ exec
/* 88 */ mul r7, r3, r2.zzzz
+ sqrt r3.___w, r_abs[2].y
/* 89 */ mul r3.xyz_, r1.xyww, r0.zzzz
+ sges r0.__z_, r_abs[0].x
/* 90 */ mul r1.xy_w, r8.zxyy, r7.yzxx
+ maxs r0._, r2.xx
/* 91 */ mad r2.xyz_, r8.yzxx, r7.zxyy, -r1.xyww
/* 92 */ dp3 r1.x___, r2.zxyy, r2.zxyy
+ muls_prev r1._y__, r3.w
/* 93 */ max r11.___w, r1.yyyy, c255.wwww
+ rsq r1.x___, r_abs[1].x
/* 5.1 */ exec // PredicateClean=false
/* 94 */ mul r9.xyz_, r2.xyzz, r1.xxxx
+ setp_ne r0._, r1.z
/* 6.0 */ (!p0) jmp L15
/* 6.1 */ exec
/* 95 */ setTexLOD r11.w
/* 96 */ tfetch2D r0._yx_, r10.xy, tf23, UseComputedLOD=false, UseRegisterLOD=true
/* 97 */ serialize
nop
/* 7.0 */ jmp L17
label L15
/* 7.1 */ exec // PredicateClean=false
/* 98 */ seq r1.x___, c21.xxxx, c255.yyyy
/* 99 */ setp_ne r0._, r1.x
/* 8.0 */ (p0) exec
/* 100 */ (p0) rcp r0.__z_, c20.x
/* 101 */ (p0) mul_sat r0.__z_, r0.wwww, r0.zzzz
label L17
/* 8.1 */ exec
/* 102 */ sgts r6.__z_, -r_abs[0].x
/* 9.0 */ cexec b101
/* 103 */ add r1._yz_, r4.xxyy, -c7.xxyy
+ rcp r1.x___, c133.x
/* 104 */ mul r1._yz_, r1.yyzz, r1.xxxx
/* 105 */ dp2add r1.x___, r1.yzzz, r1.yzzz, c255.zzzz
/* 106 */ sqrt r1.x___, r_abs[1].x
/* 107 */ rsq r1.x___, r_abs[1].x
/* 108 */ mad r1.xy__, r1.yzzz, r1.xxxx, c134.xyyy
/* 9.1 */ cexec b101
/* 109 */ mad_sat r6.__zw, r1.xxxy, c252.yyyy, c252.yyyy
/* 10.0 */ cexec !b101
/* 110 */ sgts r6.___w, -r_abs[0].x
/* 10.1 */ exec
/* 111 */ max r5.x__w, c255.zwww, c255.zwww
/* 11.0 */ cjmp !b102, L38
/* 11.1 */ exec // PredicateClean=false
/* 112 */ sgt r5.__z_, -r_abs[0].xxxx, c255.zzzz
+ setp_eq r0._, c22.x
/* 12.0 */ (!p0) jmp L33
/* 12.1 */ exec
/* 113 */ mul r5.x___, -c136.xxxx, c252.yyyy
+ maxs r0._, -c128.xx
/* 114 */ mul r5.__z_, -c137.xxxx, c252.yyyy
+ muls_prev r5._y__, c252.y
/* 115 */ mad r2.xy__, r11.xyyy, c250.xyyy, c250.zwww
/* 116 */ mad r1.xy__, r11.xyyy, c13.xyyy, c13.zwww
/* 13.0 */ cexec b104
/* 117 */ sgts r1.___w, -r_abs[0].x
/* 13.1 */ cexec !b104
/* 118 */ maxs r1.___w, r11.ww
/* 14.0 */ exec
/* 119 */ max r2.__z_, c251.xxxx, c251.xxxx
+ maxs r1.__z_, c14.xx
/* 120 */ setTexLOD r1.w
/* 121 */ tfetch3D r1.yxz_, r1.xyz, tf22, UseComputedLOD=false, UseRegisterLOD=true
/* 122 */ serialize
setTexLOD r1.w
/* 123 */ tfetch3D r2._xyz, r2.xyz, tf22, UseComputedLOD=false, UseRegisterLOD=true
/* 124 */ serialize
add r1.___w, c12.xxxx, c129.xxxx
+ muls r5.___w, c250.xy
/* 14.1 */ exec
/* 125 */ mul r13.x___, r1.xxxx, c136.xxxx
+ mulsc r2.x___, c252.y, r0.x
/* 126 */ mul r12.__zw, r2.xxxw, c137.xxxx
+ mulsc r13._y__, c128.x, r1.y
/* 127 */ mul r1.___w, r12.zzzz, r1.wwww
+ rsq r9.___w, r_abs[5].w
/* 128 */ mul r5.___w, r1.wwww, r9.wwww
+ mulsc r13.__z_, c137.x, r1.z
/* 129 */ add r1.xyz_, r13.xyzz, r5.xyzz
+ mulsc r12.x___, c136.x, r2.z
/* 130 */ mul r1.xyz_, r1.yzxx, c129.xxxx
+ mulsc r12._y__, c128.x, r2.y
/* 15.0 */ exec
/* 131 */ add r2._yzw, r12.xxyw, r5.xxyz
+ mulsc r2.x___, c17.x, r0.y
/* 132 */ mul r2._yzw, r2.zzwy, c12.xxxx
+ mulsc r1.___w, c16.x, r0.y
/* 133 */ mul r1.xyz_, r1.yxzz, r9.wwww
+ mulsc r0._y__, c18.x, r0.y
/* 134 */ mad r1.xyz_, r2.wyzz, r9.wwww, r1.zyxx
/* 135 */ mul r1.__z_, r1.zzzz, r0.xxxx
+ maxs r0._, r0.yy
/* 136 */ cndge r0._y__, r1.yyyy, r2.xxxx, r1.wwww
/* 15.1 */ exec
/* 137 */ mul r1._y__, r1.yyyy, r0.yyyy
+ muls_prev r1.x___, r1.x
/* 138 */ mul r5.xyz_, r1.zxyy, r0.zxxx
/* 16.0 */ jmp L34
label L33
/* 16.1 */ exec
/* 139 */ sgt r5.xy__, -r_abs[0].xxxx, c255.zzzz
label L34
/* 17.0 */ cexec b101
/* 140 */ tfetch2D r0.x___, r6.zw, tf21, UseComputedLOD=false
/* 141 */ serialize
mad r1.x___, r0.xxxx, c255.yyyy, c253.wwww
/* 142 */ mul r0._y__, r_abs[1].xxxx, c252.zzzz
+ mulsc r0.x___, c253.z, r0.w
/* 143 */ add r0.xy__, r0.yxxx, c254.wzzz
/* 144 */ mul r1.x___, r1.xxxx, c254.zzzz
+ rcp r0.x___, r0.x
/* 145 */ min r0._y__, r0.yyyy, c255.wwww
+ maxs r0._, r0.xx
/* 17.1 */ cexec b101
/* 146 */ mul r5._yz_, r0.xxxx, r5.yyzz
+ muls_prev r0.x___, r5.x
/* 147 */ mad r0.x___, r1.xxxx, r0.yyyy, r0.xxxx
/* 18.0 */ cexec !b101
/* 148 */ maxs r0.x___, r5.xx
/* 18.1 */ exec
/* 149 */ sges r4.___w, r_abs[0].x
/* 150 */ mad r1.xyz_, r9.xyzz, r0.xxxx, r4.xyzz
/* 151 */ mad r1.xyz_, r7.xyzz, r5.yyyy, r1.xyzz
/* 152 */ mad r4.xyz_, r8.xyzz, r5.zzzz, r1.xyzz
label L38
/* 19.0 */ exec // PredicateClean=false
/* 153 */ setp_ge r0._, c234.w
/* 19.1 */ (!p0) jmp L48
/* 20.0 */ exec
/* 154 */ add r2.xyz_, -r4.xyzz, c7.xyzz
/* 155 */ dp3 r0.x___, r2.zxyy, r2.zxyy
/* 156 */ add r1.x___, r4.zzzz, -c236.wwww
+ rsq r0._y__, r_abs[0].x
/* 157 */ add r1._y__, c7.zzzz, -c236.wwww
+ sqrt r0.x___, r_abs[0].x
/* 158 */ mul r2.xyz_, r2.xyzz, r0.yyyy
+ addsc r1.__z_, c233.w, r0.x
/* 159 */ max r1.xyz_, r1.xyzz, c255.zzzz
+ rcp r0._y__, c237.w
/* 20.1 */ exec // PredicateClean=false
/* 160 */ mul r1.___w, r1.xxxx, c252.xxxx
+ rcp r0.x___, c238.w
/* 161 */ dp3 r2.___w, r2.zxyy, c233.zxyy
+ mulsc r2.x___, c252.x, r1.y
/* 162 */ mul r2.xy__, -r2.xxxx, r0.xyyy
+ subs r1.x___, r1.yx
/* 163 */ mul r2.__z_, r1.xxxx, r1.xxxx
+ exp r2._y__, r2.y
/* 164 */ sgt r2.__z_, r2.zzzz, c253.yyyy
+ exp r2.x___, r2.x
/* 165 */ min r1._y__, r1.zzzz, c234.wwww
+ setp_ne r0._, r2.z
/* 21.0 */ (p0) exec
/* 166 */ (p0) mul r0.xy__, -r1.wwww, r0.xyyy
/* 167 */ (p0) exp r0.x___, r0.x
/* 168 */ (p0) exp r0._y__, r0.y
/* 169 */ (p0) add r0.xy__, r2.xyyy, -r0.xyyy
/* 170 */ (p0) mul r0.xy__, -r0.xyyy, r1.yyyy
/* 171 */ (p0) mulsc r1._y__, c237.w, r0.y
/* 21.1 */ (p0) exec
/* 172 */ (p0) mul r1.__z_, r0.xxxx, c238.wwww
+ (p0) rcp r0._y__, r1.x
/* 173 */ (p0) mul r1.x__w, r1.yzzz, r0.yyyy
/* 174 */ (p0) mul r1.xyz_, r1.xxxx, c236.xyzz
/* 175 */ (p0) mad r1.xyz_, r1.wwww, c235.xyzz, r1.xyzz
/* 176 */ (p0) exp r2.x___, -r1.x
/* 177 */ (p0) exp r2._y__, -r1.y
/* 22.0 */ exec
/* 178 */ (p0) exp r2.__z_, -r1.z
/* 179 */ (!p0) mul r1.x__w, r1.yyyy, r2.yxxx
/* 180 */ (!p0) mul r1.xyz_, r1.xxxx, c236.xyzz
/* 181 */ (!p0) mad r1.xyz_, r1.wwww, c235.xyzz, r1.xyzz
/* 182 */ (!p0) exp r2.x___, -r1.x
/* 183 */ (!p0) exp r2._y__, -r1.y
/* 22.1 */ exec
/* 184 */ (!p0) exp r2.__z_, -r1.z
/* 185 */ mad r1.___w, -r2.wwww, -r2.wwww, c255.wwww
/* 186 */ mad r0._y__, r2.wwww, c15.xxxx, c235.wwww
/* 187 */ log r0._y__, r_abs[0].y
/* 188 */ mulsc r0._y__, c253.x, r0.y
/* 189 */ add r1.xyz_, -r2.xyzz, c255.wwww
+ exp r0._y__, r0.y
/* 23.0 */ exec
/* 190 */ mul r12.xyz_, r0.yyyy, c238.xyzz
/* 191 */ mad r12.xyz_, r1.wwww, c237.xyzz, r12.xyzz
/* 192 */ mul r12.xyz_, r12.xyzz, c234.xyzz
/* 193 */ mul r1.xyz_, r12.xyzz, r1.xyzz
/* 23.1 */ jmp L49
label L48
/* 24.0 */ exec
/* 194 */ sgt r1.xyz_, -r_abs[0].xxxx, c255.zzzz
/* 195 */ sge r2.xyz_, r_abs[0].xxxx, c255.zzzz
label L49
/* 24.1 */ alloc position
/* 25.0 */ exec
/* 196 */ dp4 r12.__z_, r4.wzxy, c2.wzxy
/* 197 */ dp4 r12._y__, r4.wzxy, c1.wzxy
/* 198 */ dp4 r12.x___, r4.wzxy, c0.wzxy
/* 199 */ dp4 r12.___w, r4.wzxy, c3.wzxy
+ mulsc r0._y__, c129.x, r0.z
/* 200 */ max oPos, r12, r12
/* 25.1 */ alloc interpolators
/* 26.0 */ exec
/* 201 */ mul r0.x___, r0.zzzz, c12.xxxx
+ sqrt r0.__z_, r_abs[0].y
/* 202 */ mul r10.__zw, r5.xxxw, c253.zzzz
+ sqrt r0.x___, r_abs[0].x
/* 203 */ max o1.xyz0, r9.xyzz, r9.xyzz
/* 204 */ max o7.xy0w, r0.xzww, r0.xzww
/* 205 */ max o10.xyz0, r2.xyzz, r2.xyzz
/* 206 */ max o11.xyz0, r1.xyzz, r1.xyzz
/* 26.1 */ exec
/* 207 */ max o0, r11, r11
/* 208 */ max o2, r8, r8
/* 209 */ max o3, r7, r7
/* 210 */ max o4, r12, r12
/* 211 */ max o5, r3, r3
/* 212 */ max o6, r4, r4
/* 27.0 */ exece
/* 213 */ max o8, r10, r10
/* 214 */ max o9, r6, r6
/* 27.1 */ cnop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment