Changeset 561 for trunk/src/opengl/util/fragmentprograms_p.h
- Timestamp:
- Feb 11, 2010, 11:19:06 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to (toggle deleted branches)
/branches/vendor/nokia/qt/4.6.1 merged eligible /branches/vendor/nokia/qt/current merged eligible /branches/vendor/trolltech/qt/current 3-149
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/src/opengl/util/fragmentprograms_p.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtOpenGL module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** 40 40 ****************************************************************************/ 41 #ifndef FRAGMENTPROGRAMS_H 42 #define FRAGMENTPROGRAMS_H 41 42 #ifndef FRAGMENTPROGRAMS_P_H 43 #define FRAGMENTPROGRAMS_P_H 43 44 44 45 // … … 72 73 VAR_FMP, 73 74 VAR_INV_MATRIX_M0, 74 VAR_ANGLE ,75 VAR_ANGLE 75 76 }; 76 77 … … 81 82 FRAGMENT_PROGRAM_BRUSH_LINEAR, 82 83 FRAGMENT_PROGRAM_BRUSH_TEXTURE, 83 FRAGMENT_PROGRAM_BRUSH_PATTERN ,84 FRAGMENT_PROGRAM_BRUSH_PATTERN 84 85 }; 85 86 … … 110 111 COMPOSITION_MODES_EXCLUSION_NOMASK, 111 112 COMPOSITION_MODE_BLEND_MODE_MASK, 112 COMPOSITION_MODE_BLEND_MODE_NOMASK ,113 COMPOSITION_MODE_BLEND_MODE_NOMASK 113 114 }; 114 115 115 116 enum FragmentMaskType { 116 117 FRAGMENT_PROGRAM_MASK_TRAPEZOID_AA, 117 FRAGMENT_PROGRAM_MASK_ELLIPSE_AA ,118 FRAGMENT_PROGRAM_MASK_ELLIPSE_AA 118 119 }; 119 120 … … 132 133 "TEMP R3;\n" 133 134 "TEMP R4;\n" 134 "ADD R 4.x, fragment.position, c[0];\n"135 "ADD R3.z, fragment.position.x, c[0].x;\n" 135 136 "ADD R0.y, fragment.position, -c[0].x;\n" 136 "MAX R 2.x, R0.y, fragment.texcoord[0].y;\n"137 "MAX R4.x, fragment.texcoord[0].y, R0.y;\n" 137 138 "ADD R0.x, fragment.position.y, c[0];\n" 138 "MIN R2.y, R0.x, fragment.texcoord[0].x;\n" 139 "ADD R3.x, fragment.position, -c[0];\n" 140 "ADD R1.zw, -fragment.texcoord[0], -fragment.texcoord[0];\n" 141 "MOV R3.y, R4.x;\n" 142 "MOV R0.yw, R2.x;\n" 143 "MOV R0.xz, R2.y;\n" 139 "MIN R3.w, R0.x, fragment.texcoord[0].x;\n" 140 "ADD R2.z, fragment.position.x, -c[0].x;\n" 141 "MOV R2.w, R3.z;\n" 142 "MOV R0.yw, R4.x;\n" 143 "MOV R0.xz, R3.w;\n" 144 144 "MAD R0, fragment.texcoord[1].xxzz, R0, fragment.texcoord[1].yyww;\n" 145 "MAD R 1.xy, fragment.position.x, c[0].y, -R0.zwzw;\n"146 "MOV R 0.w, R1.x;\n"147 "MOV R 1.x, R0.y;\n"148 "MOV R 0.z, R0.x;\n"149 " SGE R2.zw, R1.xyxy, R0;\n"150 "M AX R0.xy, R0.zwzw, R1;\n"151 " MIN R0.zw, R0, R1.xyxy;\n"152 " MAD R2.zw, R2, R1,fragment.texcoord[0];\n"153 " ADD R1, R3.xyxy, -R0.zzww;\n"154 " MAD R1, R1, R2.zzww, R2.x;\n"155 " ADD R3.zw, R0.xyxy, R0;\n"156 "ADD R3. y, R2, -R2.x;\n"157 "ADD R 2.zw, R1.xyyw, -R2.x;\n"158 "ADD R 4.zw, R4.x, -R0;\n"159 " MUL R2.zw, R4, R2;\n"160 " ADD R4.zw, R1.xyyw, R1.xyxz;\n"161 " ADD R1.xz, R2.y, -R1;\n"162 "MAD R 2.zw, -R2, c[0].x, R3.y;\n"163 " MAD R3.zw, R3, c[0].x, -R3.x;\n"164 "M AD R3.zw, R3, R3.y, -R2;\n"165 "ADD R 1.y, R4.x, -R3.x;\n"166 " MAD R4.zw, -R4, c[0].x, R2.y;\n"167 "MUL R 4.zw, R4, R1.y;\n"168 "ADD R 1.yw, R0.xxzy, -R3.x;\n"169 "M UL R1.xy, R1.xzzw, R1.ywzw;\n"170 "MAD R 1.zw, R1.xyxy, c[0].x, -R4;\n"171 " SGE R1.xy, R4.x, R0;\n"172 " MUL R1.zw, R1.xyxy, R1;\n"173 "MAD R 1.xy, R1, R3.zwzw, R2.zwzw;\n"174 " SGE R2.zw, R3.x, R0;\n"175 " ADD R1.zw, R4, R1;\n"176 "ADD R 1.zw, R1, -R1.xyxy;\n"177 " MAD R1.xy, R2.zwzw, R1.zwzw, R1;\n"178 " ADD R1.xy, R1, -R3.y;\n"179 "SGE R0.zw, R 4.x, R0;\n"180 " MAD R0.zw, R0, R1.xyxy, R3.y;\n"181 "SGE R 0.xy, R0, R3.x;\n"182 "M UL R0.xy, R0.zwzw, R0;\n"183 " ADD R0.x, R3.y, -R0;\n"184 "SGE R0.z, R 2.y, R2.x;\n"185 " ADD R0.x, R0, -R0.y;\n"145 "MAD R0.zw, fragment.position.x, c[0].y, -R0;\n" 146 "MOV R2.x, R0;\n" 147 "MOV R2.y, R0.z;\n" 148 "MOV R1.w, R0;\n" 149 "MOV R1.z, R0.y;\n" 150 "MIN R1.xy, R2, R1.zwzw;\n" 151 "SGE R0.xy, R1.zwzw, R2;\n" 152 "ADD R0.zw, -fragment.texcoord[0], -fragment.texcoord[0];\n" 153 "MAD R3.xy, R0, R0.zwzw, fragment.texcoord[0].zwzw;\n" 154 "ADD R0, -R1.xxyy, R2.zwzw;\n" 155 "MAD R0, R0, R3.xxyy, R4.x;\n" 156 "ADD R3.xy, R0.ywzw, R0.xzzw;\n" 157 "ADD R4.zw, R3.w, -R0.xyxz;\n" 158 "ADD R0.zw, -R4.x, R0.xyyw;\n" 159 "ADD R0.xy, R3.z, -R1;\n" 160 "MAX R1.zw, R2.xyxy, R1;\n" 161 "MUL R0.xy, R0, R0.zwzw;\n" 162 "MAD R3.xy, -R3, c[0].x, R3.w;\n" 163 "ADD R2.w, R3.z, -R2.z;\n" 164 "MUL R2.xy, R3, R2.w;\n" 165 "ADD R2.w, R3, -R4.x;\n" 166 "ADD R3.xy, -R2.z, R1.zwzw;\n" 167 "MUL R3.xy, R4.zwzw, R3;\n" 168 "ADD R4.zw, R1.xyxy, R1;\n" 169 "MAD R0.zw, R4, c[0].x, -R2.z;\n" 170 "MAD R0.xy, -R0, c[0].x, R2.w;\n" 171 "MAD R4.zw, R0, R2.w, -R0.xyxy;\n" 172 "SGE R0.zw, R3.z, R1;\n" 173 "MAD R0.xy, R0.zwzw, R4.zwzw, R0;\n" 174 "MAD R3.xy, R3, c[0].x, -R2;\n" 175 "MAD R0.zw, R0, R3.xyxy, R2.xyxy;\n" 176 "ADD R2.xy, R0.zwzw, -R0;\n" 177 "SGE R0.zw, R2.z, R1.xyxy;\n" 178 "MAD R0.xy, R0.zwzw, R2, R0;\n" 179 "SGE R0.zw, R1, R2.z;\n" 180 "ADD R0.xy, R0, -R2.w;\n" 181 "SGE R1.xy, R3.z, R1;\n" 182 "MAD R0.xy, R1, R0, R2.w;\n" 183 "MAD R0.x, -R0, R0.z, R2.w;\n" 184 "SGE R0.z, R3.w, R4.x;\n" 185 "MAD R0.x, -R0.y, R0.w, R0;\n" 186 186 "MUL result.color, R0.x, R0.z;\n" 187 187 "END\n" … … 196 196 "TEMP R1;\n" 197 197 "TEMP R2;\n" 198 "ADD R0.xy, fragment.position, c[ 0];\n"199 "MUL R1.xyz, R0.y, c[ 2];\n"200 "MAD R0.xyz, R0.x, c[ 1], R1;\n"201 "ADD R0.xyz, R0, c[ 3];\n"198 "ADD R0.xy, fragment.position, c[3];\n" 199 "MUL R1.xyz, R0.y, c[1];\n" 200 "MAD R0.xyz, R0.x, c[0], R1;\n" 201 "ADD R0.xyz, R0, c[2];\n" 202 202 "RCP R2.z, R0.z;\n" 203 203 "MUL R0.zw, R0.xyxy, R2.z;\n" 204 204 "MUL R2.xy, R0.zwzw, fragment.texcoord[0];\n" 205 "MOV R1.xy, c[ 1];\n"206 "MOV R1.zw, c[ 2].xyxy;\n"207 "MOV R0.x, c[ 1].z;\n"208 "MOV R0.y, c[ 2].z;\n"209 "MAD R0, -R0.xyxy, R0.zzww, R1.xzyw;\n"205 "MOV R1.xy, c[0];\n" 206 "MOV R1.zw, c[1].xyxy;\n" 207 "MOV R0.x, c[0].z;\n" 208 "MOV R0.y, c[1].z;\n" 209 "MAD R0, R0.zzww, -R0.xyxy, R1.xzyw;\n" 210 210 "MUL R1.xy, R2, fragment.texcoord[0];\n" 211 "MUL R0, R 0, R2.z;\n"211 "MUL R0, R2.z, R0;\n" 212 212 "MUL R1.xy, R1, c[4].x;\n" 213 213 "MUL R1.zw, R1.xyxy, R0.xyxz;\n" 214 "MUL R0.xy, R1, R0.ywzw;\n" 215 "ADD R0.w, R0.x, R0.y;\n" 216 "MUL R0.xy, R2, R2;\n" 214 "MUL R0.zw, R1.xyxy, R0.xyyw;\n" 215 "ADD R0.y, R0.z, R0.w;\n" 216 "ADD R0.x, R1.z, R1.w;\n" 217 "MUL R0.xy, R0, R0;\n" 217 218 "ADD R0.x, R0, R0.y;\n" 218 "ADD R0.z, R1, R1.w;\n" 219 "MUL R0.zw, R0, R0;\n" 220 "ADD R0.y, R0.z, R0.w;\n" 221 "RSQ R0.y, R0.y;\n" 222 "ADD R0.x, -R0, c[4].y;\n" 223 "MAD_SAT R0.x, R0.y, R0, -c[4].z;\n" 219 "MUL R0.zw, R2.xyxy, R2.xyxy;\n" 220 "ADD R0.z, R0, R0.w;\n" 221 "ADD R0.y, -R0.z, c[4];\n" 222 "RSQ R0.x, R0.x;\n" 223 "MAD_SAT R0.x, R0, R0.y, -c[4].z;\n" 224 224 "MUL R0.y, -R0.x, c[4].w;\n" 225 225 "ADD R0.y, R0, c[5].x;\n" … … 231 231 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SIMPLE_PORTER_DUFF = 232 232 "!!ARBfp1.0\n" 233 "PARAM c[7] = { program.local[0..3],\n" 234 " { 1 },\n" 235 " program.local[5..6] };\n" 233 "PARAM c[7] = { program.local[0..5],\n" 234 " { 1 } };\n" 236 235 "TEMP R0;\n" 237 236 "TEMP R1;\n" … … 239 238 "TEMP R3;\n" 240 239 "MUL R0.xy, fragment.position, c[3];\n" 241 "TEX R1, R0, texture[0], 2D;\n" 242 "MUL R0.xyz, R1, c[6].y;\n" 243 "MUL R2.xyz, R0, fragment.color.primary.w;\n" 244 "MUL R0.xyz, fragment.color.primary, c[6].x;\n" 245 "MAD R2.xyz, R0, R1.w, R2;\n" 246 "ADD R3.xy, fragment.position, c[0];\n" 247 "ADD R0.w, -R1, c[4].x;\n" 248 "MUL R0.xyz, fragment.color.primary, c[5].y;\n" 249 "MAD R2.xyz, R0, R0.w, R2;\n" 250 "MUL R0.xyz, R1, c[5].z;\n" 251 "ADD R0.w, -fragment.color.primary, c[4].x;\n" 252 "MAD R2.xyz, R0, R0.w, R2;\n" 253 "ADD R0.y, -R1.w, c[4].x;\n" 254 "MUL R0.x, fragment.color.primary.w, R1.w;\n" 255 "MUL R0.y, fragment.color.primary.w, R0;\n" 256 "MUL R0.z, R1.w, R0.w;\n" 257 "DP3 R2.w, R0, c[5];\n" 258 "MUL R3.xy, R3, c[1];\n" 259 "TEX R0, R3, texture[1], 2D;\n" 260 "ADD R2, R2, -R1;\n" 261 "DP4 R0.x, R0, c[2];\n" 262 "MAD result.color, R0.x, R2, R1;\n" 240 "TEX R0, R0, texture[0], 2D;\n" 241 "MUL R1.xyz, R0, c[0].y;\n" 242 "MUL R2.xyz, fragment.color.primary.w, R1;\n" 243 "MUL R1.xyz, fragment.color.primary, c[0].x;\n" 244 "MAD R2.xyz, R0.w, R1, R2;\n" 245 "ADD R3.xy, fragment.position, c[4];\n" 246 "ADD R1.w, -R0, c[6].x;\n" 247 "MUL R1.xyz, fragment.color.primary, c[1].y;\n" 248 "MAD R2.xyz, R1.w, R1, R2;\n" 249 "MUL R1.xyz, R0, c[1].z;\n" 250 "ADD R2.w, -fragment.color.primary, c[6].x;\n" 251 "MAD R2.xyz, R2.w, R1, R2;\n" 252 "MUL R1.z, R0.w, R2.w;\n" 253 "MUL R1.x, fragment.color.primary.w, R0.w;\n" 254 "MUL R1.y, fragment.color.primary.w, R1.w;\n" 255 "DP3 R2.w, R1, c[1];\n" 256 "MUL R3.xy, R3, c[2];\n" 257 "TEX R1, R3, texture[1], 2D;\n" 258 "ADD R2, R2, -R0;\n" 259 "DP4 R1.x, R1, c[5];\n" 260 "MAD result.color, R1.x, R2, R0;\n" 263 261 "END\n" 264 262 ; … … 271 269 "TEMP R1;\n" 272 270 "TEMP R2;\n" 273 "MUL R0.xy, fragment.position, c[ 3];\n"274 "TEX R 1, R0, texture[0], 2D;\n"275 "ADD R 0.x, -R1.w, c[4];\n"276 "MUL R 0.xyz, fragment.color.primary, R0.x;\n"277 "MAD R 0.xyz, fragment.color.primary, R1, R0;\n"278 "ADD R 0.w, -fragment.color.primary, c[4].x;\n"279 "MAD R2.xyz, R 1, R0.w, R0;\n"280 "ADD R 0.z, fragment.color.primary.w, R1.w;\n"281 "MAD R2.w, -fragment.color.primary, R 1, R0.z;\n"282 "ADD R 0.xy, fragment.position, c[0];\n"283 "MUL R 0.xy, R0, c[1];\n"284 "TEX R 0, R0, texture[1], 2D;\n"285 "ADD R2, R2, -R 1;\n"286 "DP4 R 0.x, R0, c[2];\n"287 "MAD result.color, R 0.x, R2, R1;\n"271 "MUL R0.xy, fragment.position, c[1];\n" 272 "TEX R0, R0, texture[0], 2D;\n" 273 "ADD R1.x, -R0.w, c[4];\n" 274 "MUL R1.xyz, fragment.color.primary, R1.x;\n" 275 "MAD R1.xyz, fragment.color.primary, R0, R1;\n" 276 "ADD R1.w, -fragment.color.primary, c[4].x;\n" 277 "MAD R2.xyz, R0, R1.w, R1;\n" 278 "ADD R1.z, fragment.color.primary.w, R0.w;\n" 279 "MAD R2.w, -fragment.color.primary, R0, R1.z;\n" 280 "ADD R1.xy, fragment.position, c[2];\n" 281 "MUL R1.xy, R1, c[0];\n" 282 "TEX R1, R1, texture[1], 2D;\n" 283 "ADD R2, R2, -R0;\n" 284 "DP4 R1.x, R1, c[3];\n" 285 "MAD result.color, R1.x, R2, R0;\n" 288 286 "END\n" 289 287 ; … … 295 293 "TEMP R1;\n" 296 294 "TEMP R2;\n" 297 "MUL R0.xy, fragment.position, c[ 3];\n"298 "TEX R 1, R0, texture[0], 2D;\n"299 "ADD R 0.xy, fragment.position, c[0];\n"300 "ADD R2, fragment.color.primary, R 1;\n"301 "MUL R 0.xy, R0, c[1];\n"302 "MAD R2, -fragment.color.primary, R 1, R2;\n"303 "TEX R 0, R0, texture[1], 2D;\n"304 "ADD R2, R2, -R 1;\n"305 "DP4 R 0.x, R0, c[2];\n"306 "MAD result.color, R 0.x, R2, R1;\n"295 "MUL R0.xy, fragment.position, c[1];\n" 296 "TEX R0, R0, texture[0], 2D;\n" 297 "ADD R1.xy, fragment.position, c[2];\n" 298 "ADD R2, fragment.color.primary, R0;\n" 299 "MUL R1.xy, R1, c[0];\n" 300 "MAD R2, -fragment.color.primary, R0, R2;\n" 301 "TEX R1, R1, texture[1], 2D;\n" 302 "ADD R2, R2, -R0;\n" 303 "DP4 R1.x, R1, c[3];\n" 304 "MAD result.color, R1.x, R2, R0;\n" 307 305 "END\n" 308 306 ; … … 316 314 "TEMP R2;\n" 317 315 "TEMP R3;\n" 318 "MUL R0.xy, fragment.position, c[ 3];\n"316 "MUL R0.xy, fragment.position, c[1];\n" 319 317 "TEX R1, R0, texture[0], 2D;\n" 320 318 "ADD R0.w, -R1, c[4].y;\n" … … 337 335 "ADD R0.z, fragment.color.primary.w, R1.w;\n" 338 336 "MAD R2.w, -fragment.color.primary, R1, R0.z;\n" 339 "ADD R0.xy, fragment.position, c[ 0];\n"340 "MUL R0.xy, R0, c[ 1];\n"337 "ADD R0.xy, fragment.position, c[2];\n" 338 "MUL R0.xy, R0, c[0];\n" 341 339 "TEX R0, R0, texture[1], 2D;\n" 342 340 "ADD R2, R2, -R1;\n" 343 "DP4 R0.x, R0, c[ 2];\n"341 "DP4 R0.x, R0, c[3];\n" 344 342 "MAD result.color, R0.x, R2, R1;\n" 345 343 "END\n" … … 353 351 "TEMP R1;\n" 354 352 "TEMP R2;\n" 355 "MUL R0.xy, fragment.position, c[ 3];\n"356 "TEX R 1, R0, texture[0], 2D;\n"357 "MUL R2.xyz, R1, fragment.color.primary.w;\n"358 "MUL R 0.xyz, fragment.color.primary, R1.w;\n"359 "MIN R 0.xyz, R0, R2;\n"360 "ADD R 0.w, -R1, c[4].x;\n"361 "MAD R 0.xyz, fragment.color.primary, R0.w, R0;\n"362 "ADD R 0.w, -fragment.color.primary, c[4].x;\n"363 "MAD R2.xyz, R 1, R0.w, R0;\n"364 "ADD R 0.z, fragment.color.primary.w, R1.w;\n"365 "MAD R2.w, -fragment.color.primary, R 1, R0.z;\n"366 "ADD R 0.xy, fragment.position, c[0];\n"367 "MUL R 0.xy, R0, c[1];\n"368 "TEX R 0, R0, texture[1], 2D;\n"369 "ADD R2, R2, -R 1;\n"370 "DP4 R 0.x, R0, c[2];\n"371 "MAD result.color, R 0.x, R2, R1;\n"353 "MUL R0.xy, fragment.position, c[1];\n" 354 "TEX R0, R0, texture[0], 2D;\n" 355 "MUL R2.xyz, fragment.color.primary.w, R0;\n" 356 "MUL R1.xyz, fragment.color.primary, R0.w;\n" 357 "MIN R1.xyz, R1, R2;\n" 358 "ADD R1.w, -R0, c[4].x;\n" 359 "MAD R1.xyz, fragment.color.primary, R1.w, R1;\n" 360 "ADD R1.w, -fragment.color.primary, c[4].x;\n" 361 "MAD R2.xyz, R0, R1.w, R1;\n" 362 "ADD R1.z, fragment.color.primary.w, R0.w;\n" 363 "MAD R2.w, -fragment.color.primary, R0, R1.z;\n" 364 "ADD R1.xy, fragment.position, c[2];\n" 365 "MUL R1.xy, R1, c[0];\n" 366 "TEX R1, R1, texture[1], 2D;\n" 367 "ADD R2, R2, -R0;\n" 368 "DP4 R1.x, R1, c[3];\n" 369 "MAD result.color, R1.x, R2, R0;\n" 372 370 "END\n" 373 371 ; … … 380 378 "TEMP R1;\n" 381 379 "TEMP R2;\n" 382 "MUL R0.xy, fragment.position, c[ 3];\n"383 "TEX R 1, R0, texture[0], 2D;\n"384 "MUL R2.xyz, R1, fragment.color.primary.w;\n"385 "MUL R 0.xyz, fragment.color.primary, R1.w;\n"386 "MAX R 0.xyz, R0, R2;\n"387 "ADD R 0.w, -R1, c[4].x;\n"388 "MAD R 0.xyz, fragment.color.primary, R0.w, R0;\n"389 "ADD R 0.w, -fragment.color.primary, c[4].x;\n"390 "MAD R2.xyz, R 1, R0.w, R0;\n"391 "ADD R 0.z, fragment.color.primary.w, R1.w;\n"392 "MAD R2.w, -fragment.color.primary, R 1, R0.z;\n"393 "ADD R 0.xy, fragment.position, c[0];\n"394 "MUL R 0.xy, R0, c[1];\n"395 "TEX R 0, R0, texture[1], 2D;\n"396 "ADD R2, R2, -R 1;\n"397 "DP4 R 0.x, R0, c[2];\n"398 "MAD result.color, R 0.x, R2, R1;\n"380 "MUL R0.xy, fragment.position, c[1];\n" 381 "TEX R0, R0, texture[0], 2D;\n" 382 "MUL R2.xyz, fragment.color.primary.w, R0;\n" 383 "MUL R1.xyz, fragment.color.primary, R0.w;\n" 384 "MAX R1.xyz, R1, R2;\n" 385 "ADD R1.w, -R0, c[4].x;\n" 386 "MAD R1.xyz, fragment.color.primary, R1.w, R1;\n" 387 "ADD R1.w, -fragment.color.primary, c[4].x;\n" 388 "MAD R2.xyz, R0, R1.w, R1;\n" 389 "ADD R1.z, fragment.color.primary.w, R0.w;\n" 390 "MAD R2.w, -fragment.color.primary, R0, R1.z;\n" 391 "ADD R1.xy, fragment.position, c[2];\n" 392 "MUL R1.xy, R1, c[0];\n" 393 "TEX R1, R1, texture[1], 2D;\n" 394 "ADD R2, R2, -R0;\n" 395 "DP4 R1.x, R1, c[3];\n" 396 "MAD result.color, R1.x, R2, R0;\n" 399 397 "END\n" 400 398 ; … … 403 401 "!!ARBfp1.0\n" 404 402 "PARAM c[5] = { program.local[0..3],\n" 405 " { 1, 1e-0 6 } };\n"406 "TEMP R0;\n" 407 "TEMP R1;\n" 408 "TEMP R2;\n" 409 "TEMP R3;\n" 410 "MUL R0.xy, fragment.position, c[ 3];\n"403 " { 1, 1e-006 } };\n" 404 "TEMP R0;\n" 405 "TEMP R1;\n" 406 "TEMP R2;\n" 407 "TEMP R3;\n" 408 "MUL R0.xy, fragment.position, c[1];\n" 411 409 "TEX R0, R0, texture[0], 2D;\n" 412 "ADD R1. y, -fragment.color.primary.w, c[4].x;\n"413 "MAX R1. x, fragment.color.primary.w, c[4].y;\n"414 "MUL R2.xyz, R0, R1. y;\n"410 "ADD R1.x, -fragment.color.primary.w, c[4];\n" 411 "MAX R1.y, fragment.color.primary.w, c[4];\n" 412 "MUL R2.xyz, R0, R1.x;\n" 415 413 "ADD R1.w, -R0, c[4].x;\n" 416 414 "MAD R3.xyz, fragment.color.primary, R1.w, R2;\n" 417 "RCP R1. x, R1.x;\n"418 "MAD R1.xyz, -fragment.color.primary, R1. x, c[4].x;\n"415 "RCP R1.y, R1.y;\n" 416 "MAD R1.xyz, -fragment.color.primary, R1.y, c[4].x;\n" 419 417 "MAX R1.xyz, R1, c[4].y;\n" 420 "MUL R2.xyz, R0, fragment.color.primary.w;\n"418 "MUL R2.xyz, fragment.color.primary.w, R0;\n" 421 419 "MUL R1.w, fragment.color.primary, R0;\n" 422 420 "RCP R1.x, R1.x;\n" … … 431 429 "ADD R1.z, fragment.color.primary.w, R0.w;\n" 432 430 "MAD R2.w, -fragment.color.primary, R0, R1.z;\n" 433 "ADD R1.xy, fragment.position, c[ 0];\n"434 "MUL R1.xy, R1, c[ 1];\n"431 "ADD R1.xy, fragment.position, c[2];\n" 432 "MUL R1.xy, R1, c[0];\n" 435 433 "TEX R1, R1, texture[1], 2D;\n" 436 434 "ADD R2, R2, -R0;\n" 437 "DP4 R1.x, R1, c[ 2];\n"435 "DP4 R1.x, R1, c[3];\n" 438 436 "MAD result.color, R1.x, R2, R0;\n" 439 437 "END\n" … … 443 441 "!!ARBfp1.0\n" 444 442 "PARAM c[5] = { program.local[0..3],\n" 445 " { 1, 9.9999997e-0 6 } };\n"443 " { 1, 9.9999997e-006 } };\n" 446 444 "TEMP R0;\n" 447 445 "TEMP R1;\n" … … 449 447 "TEMP R3;\n" 450 448 "TEMP R4;\n" 451 "MUL R0.xy, fragment.position, c[ 3];\n"449 "MUL R0.xy, fragment.position, c[1];\n" 452 450 "TEX R0, R0, texture[0], 2D;\n" 453 451 "ADD R1.w, -R0, c[4].x;\n" 454 "MUL R1.xyz, R0, fragment.color.primary.w;\n"452 "MUL R1.xyz, fragment.color.primary.w, R0;\n" 455 453 "MAD R2.xyz, fragment.color.primary, R0.w, R1;\n" 456 454 "MAD R1.xyz, -fragment.color.primary.w, R0.w, R2;\n" 457 455 "MUL R3.xyz, fragment.color.primary.w, R1;\n" 458 456 "MAX R1.xyz, fragment.color.primary, c[4].y;\n" 457 "ADD R2.w, -fragment.color.primary, c[4].x;\n" 459 458 "MUL R4.xyz, fragment.color.primary, R1.w;\n" 460 459 "RCP R1.x, R1.x;\n" … … 462 461 "RCP R1.z, R1.z;\n" 463 462 "MAD R3.xyz, R3, R1, R4;\n" 464 "ADD R2.w, -fragment.color.primary, c[4].x;\n"465 463 "MUL R1.xyz, R0, R2.w;\n" 466 464 "MAD R1.xyz, fragment.color.primary, R1.w, R1;\n" 467 "ADD R2.w, -fragment.color.primary, c[4].x;\n"468 465 "MAD R3.xyz, R0, R2.w, R3;\n" 469 466 "MUL R1.w, fragment.color.primary, R0;\n" … … 473 470 "ADD R1.z, fragment.color.primary.w, R0.w;\n" 474 471 "MAD R2.w, -fragment.color.primary, R0, R1.z;\n" 475 "ADD R1.xy, fragment.position, c[ 0];\n"476 "MUL R1.xy, R1, c[ 1];\n"472 "ADD R1.xy, fragment.position, c[2];\n" 473 "MUL R1.xy, R1, c[0];\n" 477 474 "TEX R1, R1, texture[1], 2D;\n" 478 475 "ADD R2, R2, -R0;\n" 479 "DP4 R1.x, R1, c[ 2];\n"476 "DP4 R1.x, R1, c[3];\n" 480 477 "MAD result.color, R1.x, R2, R0;\n" 481 478 "END\n" … … 490 487 "TEMP R2;\n" 491 488 "TEMP R3;\n" 492 "MUL R0.xy, fragment.position, c[ 3];\n"489 "MUL R0.xy, fragment.position, c[1];\n" 493 490 "TEX R1, R0, texture[0], 2D;\n" 494 491 "ADD R0.w, -R1, c[4].y;\n" … … 511 508 "ADD R0.z, fragment.color.primary.w, R1.w;\n" 512 509 "MAD R2.w, -fragment.color.primary, R1, R0.z;\n" 513 "ADD R0.xy, fragment.position, c[ 0];\n"514 "MUL R0.xy, R0, c[ 1];\n"510 "ADD R0.xy, fragment.position, c[2];\n" 511 "MUL R0.xy, R0, c[0];\n" 515 512 "TEX R0, R0, texture[1], 2D;\n" 516 513 "ADD R2, R2, -R1;\n" 517 "DP4 R0.x, R0, c[ 2];\n"514 "DP4 R0.x, R0, c[3];\n" 518 515 "MAD result.color, R0.x, R2, R1;\n" 519 516 "END\n" … … 523 520 "!!ARBfp1.0\n" 524 521 "PARAM c[6] = { program.local[0..3],\n" 525 " { 1, 9.9999997e-06, 2, 8},\n"526 " { 3 } };\n"522 " { 1, 2, 9.9999997e-006, 4 },\n" 523 " { 16, 12, 3 } };\n" 527 524 "TEMP R0;\n" 528 525 "TEMP R1;\n" … … 531 528 "TEMP R4;\n" 532 529 "TEMP R5;\n" 533 "MUL R0.xy, fragment.position, c[ 3];\n"530 "MUL R0.xy, fragment.position, c[1];\n" 534 531 "TEX R0, R0, texture[0], 2D;\n" 535 "MAX R1.x, R0.w, c[4].y;\n" 536 "RCP R1.w, R1.x;\n" 537 "MUL R2.xyz, R0, R1.w;\n" 538 "MUL R1.xyz, -R2, c[4].w;\n" 539 "RSQ R2.w, R2.x;\n" 540 "ADD R4.xyz, R1, c[5].x;\n" 541 "MAD R1.xyz, -R0, R1.w, c[4].x;\n" 542 "RSQ R2.z, R2.z;\n" 543 "RSQ R2.y, R2.y;\n" 544 "RCP R2.x, R2.w;\n" 545 "RCP R2.z, R2.z;\n" 546 "RCP R2.y, R2.y;\n" 547 "MAD R5.xyz, R2, R0.w, -R0;\n" 548 "MAD R2.xyz, fragment.color.primary, c[4].z, -fragment.color.primary.w;\n" 549 "MUL R3.xyz, R1, R2;\n" 550 "MAD R3.xyz, -R3, R4, fragment.color.primary.w;\n" 551 "MUL R4.xyz, R5, R2;\n" 552 "MAD R1.xyz, -R1, R2, fragment.color.primary.w;\n" 553 "MAD R5.xyz, R0, fragment.color.primary.w, R4;\n" 554 "MUL R3.xyz, R0, R3;\n" 555 "MUL R4.xyz, R0, c[4].w;\n" 556 "ADD R5.xyz, R5, -R3;\n" 557 "SGE R4.xyz, R4, R0.w;\n" 558 "MUL R4.xyz, R4, R5;\n" 559 "ADD R2.xyz, R3, R4;\n" 532 "MAX R1.x, R0.w, c[4].z;\n" 533 "RCP R1.x, R1.x;\n" 534 "MUL R2.xyz, R0, R1.x;\n" 535 "MAD R1.xyz, R2, c[5].x, -c[5].y;\n" 536 "MAD R3.xyz, R2, R1, c[5].z;\n" 537 "MAD R1.xyz, fragment.color.primary, c[4].y, -fragment.color.primary.w;\n" 538 "MUL R4.xyz, R0.w, R1;\n" 539 "MUL R5.xyz, R4, R3;\n" 540 "RSQ R1.w, R2.x;\n" 541 "RSQ R2.w, R2.z;\n" 542 "RCP R3.x, R1.w;\n" 543 "RSQ R1.w, R2.y;\n" 544 "MUL R5.xyz, R2, R5;\n" 545 "RCP R3.z, R2.w;\n" 546 "RCP R3.y, R1.w;\n" 547 "ADD R3.xyz, -R2, R3;\n" 548 "MUL R3.xyz, R4, R3;\n" 549 "ADD R2.xyz, -R2, c[4].x;\n" 550 "MAD R1.xyz, R1, R2, fragment.color.primary.w;\n" 551 "MUL R2.xyz, fragment.color.primary, c[4].y;\n" 552 "MAD R4.xyz, fragment.color.primary.w, R0, R5;\n" 553 "MAD R3.xyz, fragment.color.primary.w, R0, R3;\n" 554 "ADD R5.xyz, R3, -R4;\n" 555 "MUL R3.xyz, R0, c[4].w;\n" 556 "SGE R3.xyz, R3, R0.w;\n" 557 "MAD R3.xyz, R3, R5, R4;\n" 558 "MAD R3.xyz, -R0, R1, R3;\n" 560 559 "MUL R1.xyz, R0, R1;\n" 561 "MUL R3.xyz, fragment.color.primary, c[4].z;\n" 562 "ADD R2.xyz, R2, -R1;\n" 563 "SGE R3.xyz, R3, fragment.color.primary.w;\n" 564 "MUL R2.xyz, R3, R2;\n" 565 "ADD R1.xyz, R1, R2;\n" 566 "ADD R1.w, -R0, c[4].x;\n" 560 "SGE R2.xyz, R2, fragment.color.primary.w;\n" 561 "MAD R2.xyz, R2, R3, R1;\n" 562 "ADD R1.x, -R0.w, c[4];\n" 563 "MAD R2.xyz, fragment.color.primary, R1.x, R2;\n" 564 "ADD R1.x, -fragment.color.primary.w, c[4];\n" 565 "MAD R2.xyz, R0, R1.x, R2;\n" 566 "ADD R1.z, fragment.color.primary.w, R0.w;\n" 567 "MAD R2.w, -fragment.color.primary, R0, R1.z;\n" 568 "ADD R1.xy, fragment.position, c[2];\n" 569 "MUL R1.xy, R1, c[0];\n" 570 "TEX R1, R1, texture[1], 2D;\n" 571 "ADD R2, R2, -R0;\n" 572 "DP4 R1.x, R1, c[3];\n" 573 "MAD result.color, R1.x, R2, R0;\n" 574 "END\n" 575 ; 576 577 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_DIFFERENCE = 578 "!!ARBfp1.0\n" 579 "PARAM c[5] = { program.local[0..3],\n" 580 " { 2 } };\n" 581 "TEMP R0;\n" 582 "TEMP R1;\n" 583 "TEMP R2;\n" 584 "TEMP R3;\n" 585 "MUL R0.xy, fragment.position, c[1];\n" 586 "TEX R0, R0, texture[0], 2D;\n" 587 "ADD R1.xyz, fragment.color.primary, R0;\n" 588 "MUL R3.xyz, fragment.color.primary.w, R0;\n" 589 "MUL R2.xyz, fragment.color.primary, R0.w;\n" 590 "MIN R2.xyz, R2, R3;\n" 591 "MAD R2.xyz, -R2, c[4].x, R1;\n" 592 "ADD R1.z, fragment.color.primary.w, R0.w;\n" 593 "MAD R2.w, -fragment.color.primary, R0, R1.z;\n" 594 "ADD R1.xy, fragment.position, c[2];\n" 595 "MUL R1.xy, R1, c[0];\n" 596 "TEX R1, R1, texture[1], 2D;\n" 597 "ADD R2, R2, -R0;\n" 598 "DP4 R1.x, R1, c[3];\n" 599 "MAD result.color, R1.x, R2, R0;\n" 600 "END\n" 601 ; 602 603 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_EXCLUSION = 604 "!!ARBfp1.0\n" 605 "PARAM c[5] = { program.local[0..3],\n" 606 " { 2, 1 } };\n" 607 "TEMP R0;\n" 608 "TEMP R1;\n" 609 "TEMP R2;\n" 610 "MUL R0.xy, fragment.position, c[1];\n" 611 "TEX R0, R0, texture[0], 2D;\n" 612 "MUL R1.xyz, fragment.color.primary.w, R0;\n" 613 "MAD R2.xyz, fragment.color.primary, R0.w, R1;\n" 614 "MUL R1.xyz, fragment.color.primary, R0;\n" 615 "MAD R1.xyz, -R1, c[4].x, R2;\n" 616 "ADD R1.w, -R0, c[4].y;\n" 567 617 "MAD R1.xyz, fragment.color.primary, R1.w, R1;\n" 568 "ADD R1.w, -fragment.color.primary, c[4]. x;\n"618 "ADD R1.w, -fragment.color.primary, c[4].y;\n" 569 619 "MAD R2.xyz, R0, R1.w, R1;\n" 570 620 "ADD R1.z, fragment.color.primary.w, R0.w;\n" 571 621 "MAD R2.w, -fragment.color.primary, R0, R1.z;\n" 572 "ADD R1.xy, fragment.position, c[ 0];\n"573 "MUL R1.xy, R1, c[ 1];\n"622 "ADD R1.xy, fragment.position, c[2];\n" 623 "MUL R1.xy, R1, c[0];\n" 574 624 "TEX R1, R1, texture[1], 2D;\n" 575 625 "ADD R2, R2, -R0;\n" 576 "DP4 R1.x, R1, c[ 2];\n"626 "DP4 R1.x, R1, c[3];\n" 577 627 "MAD result.color, R1.x, R2, R0;\n" 578 628 "END\n" 579 629 ; 580 630 581 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_DIFFERENCE =582 "!!ARBfp1.0\n"583 "PARAM c[5] = { program.local[0..3],\n"584 " { 2 } };\n"585 "TEMP R0;\n"586 "TEMP R1;\n"587 "TEMP R2;\n"588 "TEMP R3;\n"589 "MUL R0.xy, fragment.position, c[3];\n"590 "TEX R1, R0, texture[0], 2D;\n"591 "MUL R2.xyz, R1, fragment.color.primary.w;\n"592 "MUL R0.xyz, fragment.color.primary, R1.w;\n"593 "MIN R0.xyz, R0, R2;\n"594 "ADD R3.xyz, fragment.color.primary, R1;\n"595 "MAD R2.xyz, -R0, c[4].x, R3;\n"596 "ADD R0.z, fragment.color.primary.w, R1.w;\n"597 "MAD R2.w, -fragment.color.primary, R1, R0.z;\n"598 "ADD R0.xy, fragment.position, c[0];\n"599 "MUL R0.xy, R0, c[1];\n"600 "TEX R0, R0, texture[1], 2D;\n"601 "ADD R2, R2, -R1;\n"602 "DP4 R0.x, R0, c[2];\n"603 "MAD result.color, R0.x, R2, R1;\n"604 "END\n"605 ;606 607 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_EXCLUSION =608 "!!ARBfp1.0\n"609 "PARAM c[5] = { program.local[0..3],\n"610 " { 1, 2 } };\n"611 "TEMP R0;\n"612 "TEMP R1;\n"613 "TEMP R2;\n"614 "MUL R0.xy, fragment.position, c[3];\n"615 "TEX R1, R0, texture[0], 2D;\n"616 "MUL R0.xyz, R1, fragment.color.primary.w;\n"617 "MAD R2.xyz, fragment.color.primary, R1.w, R0;\n"618 "MUL R0.xyz, fragment.color.primary, R1;\n"619 "MAD R0.xyz, -R0, c[4].y, R2;\n"620 "ADD R0.w, -R1, c[4].x;\n"621 "MAD R0.xyz, fragment.color.primary, R0.w, R0;\n"622 "ADD R0.w, -fragment.color.primary, c[4].x;\n"623 "MAD R2.xyz, R1, R0.w, R0;\n"624 "ADD R0.z, fragment.color.primary.w, R1.w;\n"625 "MAD R2.w, -fragment.color.primary, R1, R0.z;\n"626 "ADD R0.xy, fragment.position, c[0];\n"627 "MUL R0.xy, R0, c[1];\n"628 "TEX R0, R0, texture[1], 2D;\n"629 "ADD R2, R2, -R1;\n"630 "DP4 R0.x, R0, c[2];\n"631 "MAD result.color, R0.x, R2, R1;\n"632 "END\n"633 ;634 635 631 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK = 636 632 "!!ARBfp1.0\n" 637 "PARAM c[4] = { program.local[0],\n" 638 " { 1 },\n" 639 " program.local[2..3] };\n" 640 "TEMP R0;\n" 641 "TEMP R1;\n" 642 "TEMP R2;\n" 643 "MUL R0.xy, fragment.position, c[0];\n" 633 "PARAM c[4] = { program.local[0..2],\n" 634 " { 1 } };\n" 635 "TEMP R0;\n" 636 "TEMP R1;\n" 637 "TEMP R2;\n" 638 "MUL R0.xy, fragment.position, c[2];\n" 644 639 "TEX R0, R0, texture[0], 2D;\n" 645 "MUL R1.xyz, R0, c[3].y;\n" 646 "MUL R2.xyz, R1, fragment.color.primary.w;\n" 647 "MUL R1.xyz, fragment.color.primary, c[3].x;\n" 648 "MAD R2.xyz, R1, R0.w, R2;\n" 649 "MUL R0.xyz, R0, c[2].z;\n" 650 "ADD R1.w, -R0, c[1].x;\n" 651 "MUL R1.xyz, fragment.color.primary, c[2].y;\n" 652 "MAD R1.xyz, R1, R1.w, R2;\n" 653 "ADD R1.w, -fragment.color.primary, c[1].x;\n" 654 "MAD result.color.xyz, R0, R1.w, R1;\n" 655 "ADD R0.y, -R0.w, c[1].x;\n" 640 "MUL R1.xyz, R0, c[0].y;\n" 641 "MUL R2.xyz, fragment.color.primary.w, R1;\n" 642 "MUL R1.xyz, fragment.color.primary, c[0].x;\n" 643 "MAD R2.xyz, R0.w, R1, R2;\n" 644 "MUL R0.xyz, R0, c[1].z;\n" 645 "ADD R1.w, -R0, c[3].x;\n" 646 "MUL R1.xyz, fragment.color.primary, c[1].y;\n" 647 "MAD R1.xyz, R1.w, R1, R2;\n" 648 "ADD R2.x, -fragment.color.primary.w, c[3];\n" 649 "MAD result.color.xyz, R2.x, R0, R1;\n" 656 650 "MUL R0.x, fragment.color.primary.w, R0.w;\n" 657 "MUL R0.z, R0.w, R 1.w;\n"658 "MUL R0.y, fragment.color.primary.w, R 0;\n"659 "DP3 result.color.w, R0, c[ 2];\n"651 "MUL R0.z, R0.w, R2.x;\n" 652 "MUL R0.y, fragment.color.primary.w, R1.w;\n" 653 "DP3 result.color.w, R0, c[1];\n" 660 654 "END\n" 661 655 ; … … 733 727 "MUL R0.xy, fragment.position, c[0];\n" 734 728 "TEX R0, R0, texture[0], 2D;\n" 735 "MUL R2.xyz, R0, fragment.color.primary.w;\n"729 "MUL R2.xyz, fragment.color.primary.w, R0;\n" 736 730 "MUL R1.xyz, fragment.color.primary, R0.w;\n" 737 731 "MIN R1.xyz, R1, R2;\n" … … 754 748 "MUL R0.xy, fragment.position, c[0];\n" 755 749 "TEX R0, R0, texture[0], 2D;\n" 756 "MUL R2.xyz, R0, fragment.color.primary.w;\n"750 "MUL R2.xyz, fragment.color.primary.w, R0;\n" 757 751 "MUL R1.xyz, fragment.color.primary, R0.w;\n" 758 752 "MAX R1.xyz, R1, R2;\n" … … 769 763 "!!ARBfp1.0\n" 770 764 "PARAM c[2] = { program.local[0],\n" 771 " { 1, 1e-0 6 } };\n"765 " { 1, 1e-006 } };\n" 772 766 "TEMP R0;\n" 773 767 "TEMP R1;\n" … … 783 777 "MAD R2.xyz, -fragment.color.primary, R2.x, c[1].x;\n" 784 778 "MAX R2.xyz, R2, c[1].y;\n" 785 "MUL R0.xyz, R0, fragment.color.primary.w;\n"779 "MUL R0.xyz, fragment.color.primary.w, R0;\n" 786 780 "MUL R1.w, fragment.color.primary, R0;\n" 787 781 "RCP R2.x, R2.x;\n" … … 802 796 "!!ARBfp1.0\n" 803 797 "PARAM c[2] = { program.local[0],\n" 804 " { 1, 9.9999997e-0 6 } };\n"798 " { 1, 9.9999997e-006 } };\n" 805 799 "TEMP R0;\n" 806 800 "TEMP R1;\n" … … 810 804 "MUL R0.xy, fragment.position, c[0];\n" 811 805 "TEX R0, R0, texture[0], 2D;\n" 812 "MUL R1.xyz, R0, fragment.color.primary.w;\n"806 "MUL R1.xyz, fragment.color.primary.w, R0;\n" 813 807 "MAD R2.xyz, fragment.color.primary, R0.w, R1;\n" 814 808 "MAD R1.xyz, -fragment.color.primary.w, R0.w, R2;\n" … … 823 817 "MAD R1.xyz, R3, R1, R4;\n" 824 818 "MUL R3.xyz, R0, R2.w;\n" 825 "ADD R2.w, -fragment.color.primary, c[1].x;\n"826 819 "MAD R0.xyz, R0, R2.w, R1;\n" 827 820 "MAD R1.xyz, fragment.color.primary, R1.w, R3;\n" … … 870 863 "!!ARBfp1.0\n" 871 864 "PARAM c[3] = { program.local[0],\n" 872 " { 1, 9.9999997e-06, 2, 8},\n"873 " { 3 } };\n"865 " { 1, 2, 9.9999997e-006, 4 },\n" 866 " { 16, 12, 3 } };\n" 874 867 "TEMP R0;\n" 875 868 "TEMP R1;\n" … … 880 873 "MUL R0.xy, fragment.position, c[0];\n" 881 874 "TEX R0, R0, texture[0], 2D;\n" 882 "MAX R1.x, R0.w, c[1].y;\n" 883 "RCP R1.w, R1.x;\n" 884 "MUL R2.xyz, R0, R1.w;\n" 885 "MUL R1.xyz, -R2, c[1].w;\n" 886 "ADD R4.xyz, R1, c[2].x;\n" 887 "MAD R1.xyz, -R0, R1.w, c[1].x;\n" 888 "RSQ R2.w, R2.x;\n" 889 "RSQ R2.z, R2.z;\n" 890 "RSQ R2.y, R2.y;\n" 891 "RCP R2.x, R2.w;\n" 892 "RCP R2.z, R2.z;\n" 893 "RCP R2.y, R2.y;\n" 894 "MAD R5.xyz, R2, R0.w, -R0;\n" 895 "MAD R2.xyz, fragment.color.primary, c[1].z, -fragment.color.primary.w;\n" 896 "MUL R3.xyz, R1, R2;\n" 897 "MAD R3.xyz, -R3, R4, fragment.color.primary.w;\n" 898 "MUL R4.xyz, R5, R2;\n" 899 "MAD R1.xyz, -R1, R2, fragment.color.primary.w;\n" 900 "MAD R5.xyz, R0, fragment.color.primary.w, R4;\n" 901 "MUL R3.xyz, R0, R3;\n" 902 "MUL R4.xyz, R0, c[1].w;\n" 903 "ADD R5.xyz, R5, -R3;\n" 904 "SGE R4.xyz, R4, R0.w;\n" 905 "MUL R4.xyz, R4, R5;\n" 906 "ADD R2.xyz, R3, R4;\n" 875 "MAX R1.x, R0.w, c[1].z;\n" 876 "RCP R1.x, R1.x;\n" 877 "MUL R2.xyz, R0, R1.x;\n" 878 "MAD R1.xyz, R2, c[2].x, -c[2].y;\n" 879 "MAD R3.xyz, R2, R1, c[2].z;\n" 880 "MAD R1.xyz, fragment.color.primary, c[1].y, -fragment.color.primary.w;\n" 881 "MUL R4.xyz, R0.w, R1;\n" 882 "MUL R5.xyz, R4, R3;\n" 883 "RSQ R1.w, R2.x;\n" 884 "RCP R3.x, R1.w;\n" 885 "RSQ R2.w, R2.z;\n" 886 "RSQ R1.w, R2.y;\n" 887 "MUL R5.xyz, R2, R5;\n" 888 "RCP R3.z, R2.w;\n" 889 "RCP R3.y, R1.w;\n" 890 "ADD R3.xyz, -R2, R3;\n" 891 "MUL R3.xyz, R4, R3;\n" 892 "ADD R2.xyz, -R2, c[1].x;\n" 893 "MAD R1.xyz, R1, R2, fragment.color.primary.w;\n" 894 "MUL R2.xyz, fragment.color.primary, c[1].y;\n" 895 "MAD R4.xyz, fragment.color.primary.w, R0, R5;\n" 896 "MAD R3.xyz, fragment.color.primary.w, R0, R3;\n" 897 "ADD R5.xyz, R3, -R4;\n" 898 "MUL R3.xyz, R0, c[1].w;\n" 899 "SGE R3.xyz, R3, R0.w;\n" 900 "MAD R3.xyz, R3, R5, R4;\n" 901 "MAD R3.xyz, -R0, R1, R3;\n" 907 902 "MUL R1.xyz, R0, R1;\n" 908 "MUL R3.xyz, fragment.color.primary, c[1].z;\n" 909 "ADD R2.xyz, R2, -R1;\n" 910 "SGE R3.xyz, R3, fragment.color.primary.w;\n" 911 "MUL R2.xyz, R3, R2;\n" 912 "ADD R1.xyz, R1, R2;\n" 913 "ADD R1.w, -R0, c[1].x;\n" 914 "MAD R1.xyz, fragment.color.primary, R1.w, R1;\n" 915 "ADD R1.w, fragment.color.primary, R0;\n" 916 "ADD R2.x, -fragment.color.primary.w, c[1];\n" 917 "MAD result.color.xyz, R0, R2.x, R1;\n" 918 "MAD result.color.w, -fragment.color.primary, R0, R1;\n" 903 "SGE R2.xyz, R2, fragment.color.primary.w;\n" 904 "MAD R2.xyz, R2, R3, R1;\n" 905 "ADD R1.x, -R0.w, c[1];\n" 906 "MAD R2.xyz, fragment.color.primary, R1.x, R2;\n" 907 "ADD R1.x, fragment.color.primary.w, R0.w;\n" 908 "ADD R1.y, -fragment.color.primary.w, c[1].x;\n" 909 "MAD result.color.xyz, R0, R1.y, R2;\n" 910 "MAD result.color.w, -fragment.color.primary, R0, R1.x;\n" 919 911 "END\n" 920 912 ; … … 929 921 "MUL R0.xy, fragment.position, c[0];\n" 930 922 "TEX R0, R0, texture[0], 2D;\n" 931 "MUL R2.xyz, R0, fragment.color.primary.w;\n"923 "MUL R2.xyz, fragment.color.primary.w, R0;\n" 932 924 "MUL R1.xyz, fragment.color.primary, R0.w;\n" 933 925 "ADD R1.w, fragment.color.primary, R0;\n" … … 942 934 "!!ARBfp1.0\n" 943 935 "PARAM c[2] = { program.local[0],\n" 944 " { 1, 2} };\n"936 " { 2, 1 } };\n" 945 937 "TEMP R0;\n" 946 938 "TEMP R1;\n" … … 948 940 "MUL R0.xy, fragment.position, c[0];\n" 949 941 "TEX R0, R0, texture[0], 2D;\n" 950 "MUL R1.xyz, R0, fragment.color.primary.w;\n"942 "MUL R1.xyz, fragment.color.primary.w, R0;\n" 951 943 "MAD R2.xyz, fragment.color.primary, R0.w, R1;\n" 952 944 "MUL R1.xyz, fragment.color.primary, R0;\n" 953 "MAD R1.xyz, -R1, c[1]. y, R2;\n"954 "ADD R1.w, -R0, c[1]. x;\n"945 "MAD R1.xyz, -R1, c[1].x, R2;\n" 946 "ADD R1.w, -R0, c[1].y;\n" 955 947 "MAD R1.xyz, fragment.color.primary, R1.w, R1;\n" 956 948 "ADD R1.w, fragment.color.primary, R0;\n" 957 "ADD R2.x, -fragment.color.primary.w, c[1] ;\n"949 "ADD R2.x, -fragment.color.primary.w, c[1].y;\n" 958 950 "MAD result.color.xyz, R0, R2.x, R1;\n" 959 951 "MAD result.color.w, -fragment.color.primary, R0, R1;\n" … … 965 957 "PARAM c[3] = { program.local[0..2] };\n" 966 958 "TEMP R0;\n" 967 "ADD R0.xy, fragment.position, c[ 0];\n"968 "MUL R0.xy, R0, c[ 1];\n"959 "ADD R0.xy, fragment.position, c[1];\n" 960 "MUL R0.xy, R0, c[0];\n" 969 961 "TEX R0, R0, texture[0], 2D;\n" 970 962 "DP4 R0.x, R0, c[2];\n" … … 975 967 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE_BLEND_MODE_NOMASK = 976 968 "!!ARBfp1.0\n" 977 "PARAM c[1] = { program.local[0] };\n"978 969 "MOV result.color, fragment.color.primary;\n" 979 970 "END\n" … … 982 973 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SIMPLE_PORTER_DUFF = 983 974 "!!ARBfp1.0\n" 984 "PARAM c[12] = { program.local[0..6],\n" 985 " { 2, 4, 1 },\n" 986 " program.local[8..11] };\n" 987 "TEMP R0;\n" 988 "TEMP R1;\n" 989 "TEMP R2;\n" 990 "TEMP R3;\n" 991 "MUL R0.xyz, fragment.position.y, c[4];\n" 992 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 993 "ADD R0.xyz, R0, c[5];\n" 975 "PARAM c[12] = { program.local[0..10],\n" 976 " { 2, 4, 1 } };\n" 977 "TEMP R0;\n" 978 "TEMP R1;\n" 979 "TEMP R2;\n" 980 "TEMP R3;\n" 981 "MUL R0.xyz, fragment.position.y, c[3];\n" 982 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 983 "ADD R0.xyz, R0, c[4];\n" 994 984 "RCP R0.z, R0.z;\n" 995 985 "MUL R0.xy, R0, R0.z;\n" 996 986 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 997 987 "ADD R0.z, R0, R0.w;\n" 998 "MUL R0.xy, R0, c[ 6];\n"988 "MUL R0.xy, R0, c[0];\n" 999 989 "ADD R0.x, R0, R0.y;\n" 1000 "MUL R0.z, c[8].x, -R0;\n"1001 "MUL R0.y, R0. z, c[7];\n"1002 "MUL R0. x, R0, c[7];\n"1003 "MAD R0. y, R0.x, R0.x, -R0;\n"1004 "RSQ R0. z, R0.y;\n"1005 "RCP R0.z, R0. z;\n"1006 "ADD R 0.x, -R0, R0.z;\n"1007 "M UL R0.zw, fragment.position.xyxy, c[9].xyxy;\n"1008 " TEX R1, R0.zwzw, texture[0], 2D;\n"1009 " MOV R0.y, c[7].x;\n"1010 "MUL R0. y, c[8].x, R0;\n"1011 " RCP R0.y, R0.y;\n"1012 "MUL R 0.x, R0, R0.y;\n"1013 "TEX R 0, R0, texture[2], 1D;\n"1014 "MUL R2.xyz, R 1, c[11].y;\n"1015 "MUL R3.xyz, R 2, R0.w;\n"1016 "MUL R2.xyz, R 0, c[11].x;\n"1017 "MAD R2.xyz, R 2, R1.w, R3;\n"1018 "ADD R3.xy, fragment.position, c[ 0];\n"1019 "ADD R2.w, -R 1, c[7].z;\n"1020 "MUL R 0.xyz, R0, c[10].y;\n"1021 "MAD R2.xyz, R 0, R2.w, R2;\n"1022 "MUL R 0.xyz, R1, c[10].z;\n"1023 "ADD R3.z, -R 0.w, c[7];\n"1024 "MAD R2.xyz, R 0, R3.z, R2;\n"1025 "MUL R 0.y, R0.w, R2.w;\n"1026 "MUL R 0.x, R0.w, R1.w;\n"1027 "MUL R 0.z, R1.w, R3;\n"1028 "DP3 R2.w, R 0, c[10];\n"1029 "MUL R3.xy, R3, c[ 1];\n"1030 "TEX R 0, R3, texture[1], 2D;\n"1031 "ADD R2, R2, -R 1;\n"1032 "DP4 R 0.x, R0, c[2];\n"1033 "MAD result.color, R 0.x, R2, R1;\n"990 "MUL R0.z, -R0, c[1].x;\n" 991 "MUL R0.y, R0.x, c[11].x;\n" 992 "MUL R0.z, R0, c[11].y;\n" 993 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 994 "RSQ R0.x, R0.x;\n" 995 "RCP R0.z, R0.x;\n" 996 "ADD R1.x, -R0.y, R0.z;\n" 997 "MOV R0.x, c[11];\n" 998 "MUL R0.z, R0.x, c[1].x;\n" 999 "RCP R1.y, R0.z;\n" 1000 "MUL R0.xy, fragment.position, c[8];\n" 1001 "TEX R0, R0, texture[0], 2D;\n" 1002 "MUL R1.x, R1, R1.y;\n" 1003 "TEX R1, R1, texture[2], 1D;\n" 1004 "MUL R2.xyz, R0, c[5].y;\n" 1005 "MUL R3.xyz, R1.w, R2;\n" 1006 "MUL R2.xyz, R1, c[5].x;\n" 1007 "MAD R2.xyz, R0.w, R2, R3;\n" 1008 "ADD R3.xy, fragment.position, c[9];\n" 1009 "ADD R2.w, -R0, c[11].z;\n" 1010 "MUL R1.xyz, R1, c[6].y;\n" 1011 "MAD R2.xyz, R2.w, R1, R2;\n" 1012 "MUL R1.xyz, R0, c[6].z;\n" 1013 "ADD R3.z, -R1.w, c[11];\n" 1014 "MAD R2.xyz, R3.z, R1, R2;\n" 1015 "MUL R1.y, R1.w, R2.w;\n" 1016 "MUL R1.x, R1.w, R0.w;\n" 1017 "MUL R1.z, R0.w, R3;\n" 1018 "DP3 R2.w, R1, c[6];\n" 1019 "MUL R3.xy, R3, c[7];\n" 1020 "TEX R1, R3, texture[1], 2D;\n" 1021 "ADD R2, R2, -R0;\n" 1022 "DP4 R1.x, R1, c[10];\n" 1023 "MAD result.color, R1.x, R2, R0;\n" 1034 1024 "END\n" 1035 1025 ; … … 1037 1027 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_MULTIPLY = 1038 1028 "!!ARBfp1.0\n" 1039 "PARAM c[10] = { program.local[0..6],\n" 1040 " { 2, 4, 1 },\n" 1041 " program.local[8..9] };\n" 1042 "TEMP R0;\n" 1043 "TEMP R1;\n" 1044 "TEMP R2;\n" 1045 "MUL R0.xyz, fragment.position.y, c[4];\n" 1046 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 1047 "ADD R0.xyz, R0, c[5];\n" 1029 "PARAM c[10] = { program.local[0..8],\n" 1030 " { 2, 4, 1 } };\n" 1031 "TEMP R0;\n" 1032 "TEMP R1;\n" 1033 "TEMP R2;\n" 1034 "MUL R0.xyz, fragment.position.y, c[3];\n" 1035 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1036 "ADD R0.xyz, R0, c[4];\n" 1048 1037 "RCP R0.z, R0.z;\n" 1049 1038 "MUL R0.xy, R0, R0.z;\n" 1050 1039 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1051 "MUL R0.xy, R0, c[6];\n"1052 1040 "ADD R0.z, R0, R0.w;\n" 1041 "MUL R0.xy, R0, c[0];\n" 1053 1042 "ADD R0.x, R0, R0.y;\n" 1054 "MUL R0.z, c[8].x, -R0;\n"1055 "MUL R0.y, R0. z, c[7];\n"1056 "MUL R0. x, R0, c[7];\n"1057 "MAD R0. y, R0.x, R0.x, -R0;\n"1058 "RSQ R0. y, R0.y;\n"1059 "RCP R0.z, R0. y;\n"1060 "ADD R 0.x, -R0, R0.z;\n"1061 "M UL R0.zw, fragment.position.xyxy, c[9].xyxy;\n"1062 " TEX R1, R0.zwzw, texture[0], 2D;\n"1063 " MOV R0.y, c[7].x;\n"1064 "MUL R0. y, c[8].x, R0;\n"1065 " RCP R0.y, R0.y;\n"1066 "MUL R 0.x, R0, R0.y;\n"1067 "TEX R 0, R0, texture[2], 1D;\n"1068 "ADD R2.x, -R 1.w, c[7].z;\n"1069 "MUL R2.xyz, R 0, R2.x;\n"1070 "MAD R 0.xyz, R0, R1, R2;\n"1071 "ADD R2.x, -R 0.w, c[7].z;\n"1072 "MAD R2.xyz, R 1, R2.x, R0;\n"1073 "ADD R 0.z, R0.w, R1.w;\n"1074 "MAD R2.w, -R 0, R1, R0.z;\n"1075 "ADD R 0.xy, fragment.position, c[0];\n"1076 "MUL R 0.xy, R0, c[1];\n"1077 "TEX R 0, R0, texture[1], 2D;\n"1078 "ADD R2, R2, -R 1;\n"1079 "DP4 R 0.x, R0, c[2];\n"1080 "MAD result.color, R 0.x, R2, R1;\n"1043 "MUL R0.z, -R0, c[1].x;\n" 1044 "MUL R0.y, R0.x, c[9].x;\n" 1045 "MUL R0.z, R0, c[9].y;\n" 1046 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1047 "RSQ R0.x, R0.x;\n" 1048 "RCP R0.z, R0.x;\n" 1049 "ADD R1.x, -R0.y, R0.z;\n" 1050 "MOV R0.x, c[9];\n" 1051 "MUL R0.z, R0.x, c[1].x;\n" 1052 "RCP R1.y, R0.z;\n" 1053 "MUL R0.xy, fragment.position, c[6];\n" 1054 "TEX R0, R0, texture[0], 2D;\n" 1055 "MUL R1.x, R1, R1.y;\n" 1056 "TEX R1, R1, texture[2], 1D;\n" 1057 "ADD R2.x, -R0.w, c[9].z;\n" 1058 "MUL R2.xyz, R1, R2.x;\n" 1059 "MAD R1.xyz, R1, R0, R2;\n" 1060 "ADD R2.x, -R1.w, c[9].z;\n" 1061 "MAD R2.xyz, R0, R2.x, R1;\n" 1062 "ADD R1.z, R1.w, R0.w;\n" 1063 "MAD R2.w, -R1, R0, R1.z;\n" 1064 "ADD R1.xy, fragment.position, c[7];\n" 1065 "MUL R1.xy, R1, c[5];\n" 1066 "TEX R1, R1, texture[1], 2D;\n" 1067 "ADD R2, R2, -R0;\n" 1068 "DP4 R1.x, R1, c[8];\n" 1069 "MAD result.color, R1.x, R2, R0;\n" 1081 1070 "END\n" 1082 1071 ; … … 1084 1073 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SCREEN = 1085 1074 "!!ARBfp1.0\n" 1086 "PARAM c[10] = { program.local[0..6],\n" 1087 " { 2, 4 },\n" 1088 " program.local[8..9] };\n" 1089 "TEMP R0;\n" 1090 "TEMP R1;\n" 1091 "TEMP R2;\n" 1092 "TEMP R3;\n" 1093 "MUL R0.xyz, fragment.position.y, c[4];\n" 1094 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 1095 "ADD R0.xyz, R0, c[5];\n" 1075 "PARAM c[10] = { program.local[0..8],\n" 1076 " { 2, 4 } };\n" 1077 "TEMP R0;\n" 1078 "TEMP R1;\n" 1079 "TEMP R2;\n" 1080 "TEMP R3;\n" 1081 "MUL R0.xyz, fragment.position.y, c[3];\n" 1082 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1083 "ADD R0.xyz, R0, c[4];\n" 1096 1084 "RCP R0.z, R0.z;\n" 1097 1085 "MUL R0.xy, R0, R0.z;\n" 1098 1086 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1099 "MUL R0.xy, R0, c[6];\n"1100 1087 "ADD R0.z, R0, R0.w;\n" 1088 "MUL R0.xy, R0, c[0];\n" 1101 1089 "ADD R0.x, R0, R0.y;\n" 1102 "MUL R0.z, c[8].x, -R0;\n" 1103 "MUL R0.y, R0.z, c[7];\n" 1104 "MUL R0.x, R0, c[7];\n" 1105 "MAD R0.y, R0.x, R0.x, -R0;\n" 1106 "MOV R0.z, c[7].x;\n" 1107 "RSQ R0.y, R0.y;\n" 1108 "RCP R0.y, R0.y;\n" 1109 "MUL R0.z, c[8].x, R0;\n" 1110 "MUL R1.xy, fragment.position, c[9];\n" 1111 "ADD R3.xy, fragment.position, c[0];\n" 1090 "MUL R0.y, R0.x, c[9].x;\n" 1091 "MOV R0.x, c[9];\n" 1092 "MUL R0.z, -R0, c[1].x;\n" 1093 "MUL R0.z, R0, c[9].y;\n" 1094 "MAD R0.z, R0.y, R0.y, -R0;\n" 1095 "ADD R3.xy, fragment.position, c[7];\n" 1096 "MUL R0.w, R0.x, c[1].x;\n" 1097 "RSQ R0.z, R0.z;\n" 1098 "RCP R0.x, R0.z;\n" 1099 "RCP R0.z, R0.w;\n" 1100 "ADD R0.x, -R0.y, R0;\n" 1101 "MUL R0.z, R0.x, R0;\n" 1102 "TEX R1, R0.z, texture[2], 1D;\n" 1103 "MUL R0.xy, fragment.position, c[6];\n" 1104 "TEX R0, R0, texture[0], 2D;\n" 1105 "ADD R2, R1, R0;\n" 1106 "MAD R2, -R1, R0, R2;\n" 1107 "MUL R3.xy, R3, c[5];\n" 1108 "TEX R1, R3, texture[1], 2D;\n" 1109 "ADD R2, R2, -R0;\n" 1110 "DP4 R1.x, R1, c[8];\n" 1111 "MAD result.color, R1.x, R2, R0;\n" 1112 "END\n" 1113 ; 1114 1115 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_OVERLAY = 1116 "!!ARBfp1.0\n" 1117 "PARAM c[10] = { program.local[0..8],\n" 1118 " { 2, 4, 1 } };\n" 1119 "TEMP R0;\n" 1120 "TEMP R1;\n" 1121 "TEMP R2;\n" 1122 "TEMP R3;\n" 1123 "TEMP R4;\n" 1124 "MUL R0.xyz, fragment.position.y, c[3];\n" 1125 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1126 "ADD R0.xyz, R0, c[4];\n" 1127 "RCP R0.z, R0.z;\n" 1128 "MUL R0.xy, R0, R0.z;\n" 1129 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1130 "ADD R0.z, R0, R0.w;\n" 1131 "MUL R0.xy, R0, c[0];\n" 1132 "ADD R0.x, R0, R0.y;\n" 1133 "MUL R0.y, R0.x, c[9].x;\n" 1134 "MOV R0.x, c[9];\n" 1135 "MUL R0.z, -R0, c[1].x;\n" 1136 "MUL R0.z, R0, c[9].y;\n" 1137 "MAD R0.z, R0.y, R0.y, -R0;\n" 1138 "MUL R1.xy, fragment.position, c[6];\n" 1112 1139 "TEX R1, R1, texture[0], 2D;\n" 1113 "ADD R0.x, -R0, R0.y;\n" 1114 "RCP R0.z, R0.z;\n" 1140 "MUL R0.w, R0.x, c[1].x;\n" 1141 "RSQ R0.z, R0.z;\n" 1142 "RCP R0.x, R0.z;\n" 1143 "ADD R2.w, -R1, c[9].z;\n" 1144 "RCP R0.z, R0.w;\n" 1145 "ADD R0.x, -R0.y, R0;\n" 1115 1146 "MUL R0.x, R0, R0.z;\n" 1116 1147 "TEX R0, R0, texture[2], 1D;\n" 1117 "ADD R2, R0, R1;\n"1118 "MAD R2, -R0, R1, R2;\n"1119 "MUL R3.xy, R3, c[1];\n"1120 "TEX R0, R3, texture[1], 2D;\n"1121 "ADD R2, R2, -R1;\n"1122 "DP4 R0.x, R0, c[2];\n"1123 "MAD result.color, R0.x, R2, R1;\n"1124 "END\n"1125 ;1126 1127 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_OVERLAY =1128 "!!ARBfp1.0\n"1129 "PARAM c[10] = { program.local[0..6],\n"1130 " { 2, 4, 1 },\n"1131 " program.local[8..9] };\n"1132 "TEMP R0;\n"1133 "TEMP R1;\n"1134 "TEMP R2;\n"1135 "TEMP R3;\n"1136 "TEMP R4;\n"1137 "MUL R0.xyz, fragment.position.y, c[4];\n"1138 "MAD R0.xyz, fragment.position.x, c[3], R0;\n"1139 "ADD R0.xyz, R0, c[5];\n"1140 "RCP R0.z, R0.z;\n"1141 "MUL R0.xy, R0, R0.z;\n"1142 "MUL R0.zw, R0.xyxy, R0.xyxy;\n"1143 "MUL R0.xy, R0, c[6];\n"1144 "ADD R0.z, R0, R0.w;\n"1145 "ADD R0.x, R0, R0.y;\n"1146 "MUL R0.z, c[8].x, -R0;\n"1147 "MUL R0.y, R0.z, c[7];\n"1148 "MUL R0.x, R0, c[7];\n"1149 "MAD R0.y, R0.x, R0.x, -R0;\n"1150 "MOV R0.z, c[7].x;\n"1151 "RSQ R0.y, R0.y;\n"1152 "RCP R0.y, R0.y;\n"1153 "MUL R0.z, c[8].x, R0;\n"1154 "MUL R1.xy, fragment.position, c[9];\n"1155 "TEX R1, R1, texture[0], 2D;\n"1156 "ADD R0.x, -R0, R0.y;\n"1157 "RCP R0.z, R0.z;\n"1158 "MUL R0.x, R0, R0.z;\n"1159 "TEX R0, R0, texture[2], 1D;\n"1160 "ADD R2.w, -R1, c[7].z;\n"1161 1148 "ADD R3.xyz, R0.w, -R0;\n" 1162 1149 "ADD R2.xyz, R1.w, -R1;\n" 1163 1150 "MUL R2.xyz, R2, R3;\n" 1164 "MUL R2.xyz, R2, c[ 7].x;\n"1151 "MUL R2.xyz, R2, c[9].x;\n" 1165 1152 "MAD R2.xyz, R0.w, R1.w, -R2;\n" 1166 1153 "MUL R4.xyz, R0, R2.w;\n" 1167 1154 "MUL R3.xyz, R0, R1;\n" 1168 1155 "MAD R0.xyz, R0, R2.w, R2;\n" 1169 "ADD R2.x, -R0.w, c[ 7].z;\n"1170 "MAD R3.xyz, R3, c[ 7].x, R4;\n"1156 "ADD R2.x, -R0.w, c[9].z;\n" 1157 "MAD R3.xyz, R3, c[9].x, R4;\n" 1171 1158 "MAD R3.xyz, R1, R2.x, R3;\n" 1172 1159 "MAD R0.xyz, R1, R2.x, R0;\n" 1173 "MUL R2.xyz, R1, c[ 7].x;\n"1160 "MUL R2.xyz, R1, c[9].x;\n" 1174 1161 "ADD R0.xyz, R0, -R3;\n" 1175 1162 "SGE R2.xyz, R2, R1.w;\n" … … 1177 1164 "ADD R0.z, R0.w, R1.w;\n" 1178 1165 "MAD R2.w, -R0, R1, R0.z;\n" 1179 "ADD R0.xy, fragment.position, c[ 0];\n"1180 "MUL R0.xy, R0, c[ 1];\n"1166 "ADD R0.xy, fragment.position, c[7];\n" 1167 "MUL R0.xy, R0, c[5];\n" 1181 1168 "TEX R0, R0, texture[1], 2D;\n" 1182 1169 "ADD R2, R2, -R1;\n" 1183 "DP4 R0.x, R0, c[ 2];\n"1170 "DP4 R0.x, R0, c[8];\n" 1184 1171 "MAD result.color, R0.x, R2, R1;\n" 1185 1172 "END\n" … … 1188 1175 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_DARKEN = 1189 1176 "!!ARBfp1.0\n" 1190 "PARAM c[10] = { program.local[0..6],\n" 1191 " { 2, 4, 1 },\n" 1192 " program.local[8..9] };\n" 1193 "TEMP R0;\n" 1194 "TEMP R1;\n" 1195 "TEMP R2;\n" 1196 "TEMP R3;\n" 1197 "MUL R0.xyz, fragment.position.y, c[4];\n" 1198 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 1199 "ADD R0.xyz, R0, c[5];\n" 1177 "PARAM c[10] = { program.local[0..8],\n" 1178 " { 2, 4, 1 } };\n" 1179 "TEMP R0;\n" 1180 "TEMP R1;\n" 1181 "TEMP R2;\n" 1182 "TEMP R3;\n" 1183 "MUL R0.xyz, fragment.position.y, c[3];\n" 1184 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1185 "ADD R0.xyz, R0, c[4];\n" 1200 1186 "RCP R0.z, R0.z;\n" 1201 1187 "MUL R0.xy, R0, R0.z;\n" 1202 1188 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1203 "MUL R0.xy, R0, c[6];\n"1204 1189 "ADD R0.z, R0, R0.w;\n" 1190 "MUL R0.xy, R0, c[0];\n" 1205 1191 "ADD R0.x, R0, R0.y;\n" 1206 "MUL R0.z, c[8].x, -R0;\n" 1207 "MUL R0.y, R0.z, c[7];\n" 1208 "MUL R0.x, R0, c[7];\n" 1209 "MAD R0.y, R0.x, R0.x, -R0;\n" 1210 "MOV R0.z, c[7].x;\n" 1211 "RSQ R0.y, R0.y;\n" 1212 "RCP R0.y, R0.y;\n" 1213 "MUL R0.z, c[8].x, R0;\n" 1214 "MUL R1.xy, fragment.position, c[9];\n" 1215 "TEX R1, R1, texture[0], 2D;\n" 1216 "ADD R0.x, -R0, R0.y;\n" 1217 "RCP R0.z, R0.z;\n" 1192 "MUL R0.z, -R0, c[1].x;\n" 1193 "MUL R0.y, R0.x, c[9].x;\n" 1194 "MUL R0.z, R0, c[9].y;\n" 1195 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1196 "RSQ R0.z, R0.x;\n" 1197 "MOV R0.x, c[9];\n" 1198 "MUL R0.x, R0, c[1];\n" 1199 "RCP R0.z, R0.z;\n" 1200 "ADD R0.z, -R0.y, R0;\n" 1201 "RCP R0.w, R0.x;\n" 1202 "MUL R1.x, R0.z, R0.w;\n" 1203 "MUL R0.xy, fragment.position, c[6];\n" 1204 "TEX R0, R0, texture[0], 2D;\n" 1205 "TEX R1, R1, texture[2], 1D;\n" 1206 "MUL R3.xyz, R1.w, R0;\n" 1207 "MUL R2.xyz, R1, R0.w;\n" 1208 "MIN R2.xyz, R2, R3;\n" 1209 "ADD R2.w, -R0, c[9].z;\n" 1210 "MAD R1.xyz, R1, R2.w, R2;\n" 1211 "ADD R2.x, -R1.w, c[9].z;\n" 1212 "MAD R2.xyz, R0, R2.x, R1;\n" 1213 "ADD R1.z, R1.w, R0.w;\n" 1214 "MAD R2.w, -R1, R0, R1.z;\n" 1215 "ADD R1.xy, fragment.position, c[7];\n" 1216 "MUL R1.xy, R1, c[5];\n" 1217 "TEX R1, R1, texture[1], 2D;\n" 1218 "ADD R2, R2, -R0;\n" 1219 "DP4 R1.x, R1, c[8];\n" 1220 "MAD result.color, R1.x, R2, R0;\n" 1221 "END\n" 1222 ; 1223 1224 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_LIGHTEN = 1225 "!!ARBfp1.0\n" 1226 "PARAM c[10] = { program.local[0..8],\n" 1227 " { 2, 4, 1 } };\n" 1228 "TEMP R0;\n" 1229 "TEMP R1;\n" 1230 "TEMP R2;\n" 1231 "TEMP R3;\n" 1232 "MUL R0.xyz, fragment.position.y, c[3];\n" 1233 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1234 "ADD R0.xyz, R0, c[4];\n" 1235 "RCP R0.z, R0.z;\n" 1236 "MUL R0.xy, R0, R0.z;\n" 1237 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1238 "ADD R0.z, R0, R0.w;\n" 1239 "MUL R0.xy, R0, c[0];\n" 1240 "ADD R0.x, R0, R0.y;\n" 1241 "MUL R0.z, -R0, c[1].x;\n" 1242 "MUL R0.y, R0.x, c[9].x;\n" 1243 "MUL R0.z, R0, c[9].y;\n" 1244 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1245 "RSQ R0.z, R0.x;\n" 1246 "MOV R0.x, c[9];\n" 1247 "MUL R0.x, R0, c[1];\n" 1248 "RCP R0.z, R0.z;\n" 1249 "ADD R0.z, -R0.y, R0;\n" 1250 "RCP R0.w, R0.x;\n" 1251 "MUL R1.x, R0.z, R0.w;\n" 1252 "MUL R0.xy, fragment.position, c[6];\n" 1253 "TEX R0, R0, texture[0], 2D;\n" 1254 "TEX R1, R1, texture[2], 1D;\n" 1255 "MUL R3.xyz, R1.w, R0;\n" 1256 "MUL R2.xyz, R1, R0.w;\n" 1257 "MAX R2.xyz, R2, R3;\n" 1258 "ADD R2.w, -R0, c[9].z;\n" 1259 "MAD R1.xyz, R1, R2.w, R2;\n" 1260 "ADD R2.x, -R1.w, c[9].z;\n" 1261 "MAD R2.xyz, R0, R2.x, R1;\n" 1262 "ADD R1.z, R1.w, R0.w;\n" 1263 "MAD R2.w, -R1, R0, R1.z;\n" 1264 "ADD R1.xy, fragment.position, c[7];\n" 1265 "MUL R1.xy, R1, c[5];\n" 1266 "TEX R1, R1, texture[1], 2D;\n" 1267 "ADD R2, R2, -R0;\n" 1268 "DP4 R1.x, R1, c[8];\n" 1269 "MAD result.color, R1.x, R2, R0;\n" 1270 "END\n" 1271 ; 1272 1273 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORDODGE = 1274 "!!ARBfp1.0\n" 1275 "PARAM c[10] = { program.local[0..8],\n" 1276 " { 2, 4, 1, 1e-006 } };\n" 1277 "TEMP R0;\n" 1278 "TEMP R1;\n" 1279 "TEMP R2;\n" 1280 "TEMP R3;\n" 1281 "TEMP R4;\n" 1282 "MUL R0.xyz, fragment.position.y, c[3];\n" 1283 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1284 "ADD R0.xyz, R0, c[4];\n" 1285 "RCP R0.z, R0.z;\n" 1286 "MUL R0.xy, R0, R0.z;\n" 1287 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1288 "ADD R0.z, R0, R0.w;\n" 1289 "MUL R0.xy, R0, c[0];\n" 1290 "ADD R0.x, R0, R0.y;\n" 1291 "MUL R0.y, R0.x, c[9].x;\n" 1292 "MOV R0.x, c[9];\n" 1293 "MUL R0.z, -R0, c[1].x;\n" 1294 "MUL R0.z, R0, c[9].y;\n" 1295 "MAD R0.z, R0.y, R0.y, -R0;\n" 1296 "MUL R0.w, R0.x, c[1].x;\n" 1297 "RSQ R0.z, R0.z;\n" 1298 "RCP R0.x, R0.z;\n" 1299 "RCP R0.z, R0.w;\n" 1300 "ADD R0.x, -R0.y, R0;\n" 1218 1301 "MUL R0.x, R0, R0.z;\n" 1219 1302 "TEX R0, R0, texture[2], 1D;\n" 1220 "MUL R3.xyz, R1, R0.w;\n" 1221 "MUL R2.xyz, R0, R1.w;\n" 1222 "MIN R2.xyz, R2, R3;\n" 1223 "ADD R2.w, -R1, c[7].z;\n" 1224 "MAD R0.xyz, R0, R2.w, R2;\n" 1225 "ADD R2.x, -R0.w, c[7].z;\n" 1226 "MAD R2.xyz, R1, R2.x, R0;\n" 1227 "ADD R0.z, R0.w, R1.w;\n" 1228 "MAD R2.w, -R0, R1, R0.z;\n" 1229 "ADD R0.xy, fragment.position, c[0];\n" 1230 "MUL R0.xy, R0, c[1];\n" 1231 "TEX R0, R0, texture[1], 2D;\n" 1232 "ADD R2, R2, -R1;\n" 1233 "DP4 R0.x, R0, c[2];\n" 1234 "MAD result.color, R0.x, R2, R1;\n" 1235 "END\n" 1236 ; 1237 1238 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_LIGHTEN = 1239 "!!ARBfp1.0\n" 1240 "PARAM c[10] = { program.local[0..6],\n" 1241 " { 2, 4, 1 },\n" 1242 " program.local[8..9] };\n" 1243 "TEMP R0;\n" 1244 "TEMP R1;\n" 1245 "TEMP R2;\n" 1246 "TEMP R3;\n" 1247 "MUL R0.xyz, fragment.position.y, c[4];\n" 1248 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 1249 "ADD R0.xyz, R0, c[5];\n" 1250 "RCP R0.z, R0.z;\n" 1251 "MUL R0.xy, R0, R0.z;\n" 1252 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1253 "MUL R0.xy, R0, c[6];\n" 1254 "ADD R0.z, R0, R0.w;\n" 1255 "ADD R0.x, R0, R0.y;\n" 1256 "MUL R0.z, c[8].x, -R0;\n" 1257 "MUL R0.y, R0.z, c[7];\n" 1258 "MUL R0.x, R0, c[7];\n" 1259 "MAD R0.y, R0.x, R0.x, -R0;\n" 1260 "MOV R0.z, c[7].x;\n" 1261 "RSQ R0.y, R0.y;\n" 1262 "RCP R0.y, R0.y;\n" 1263 "MUL R0.z, c[8].x, R0;\n" 1264 "MUL R1.xy, fragment.position, c[9];\n" 1303 "MAX R1.x, R0.w, c[9].w;\n" 1304 "RCP R1.x, R1.x;\n" 1305 "MAD R1.xyz, -R0, R1.x, c[9].z;\n" 1306 "MAX R2.xyz, R1, c[9].w;\n" 1307 "MUL R1.xy, fragment.position, c[6];\n" 1265 1308 "TEX R1, R1, texture[0], 2D;\n" 1266 "ADD R0.x, -R0, R0.y;\n" 1267 "RCP R0.z, R0.z;\n" 1268 "MUL R0.x, R0, R0.z;\n" 1269 "TEX R0, R0, texture[2], 1D;\n" 1270 "MUL R3.xyz, R1, R0.w;\n" 1271 "MUL R2.xyz, R0, R1.w;\n" 1272 "MAX R2.xyz, R2, R3;\n" 1273 "ADD R2.w, -R1, c[7].z;\n" 1274 "MAD R0.xyz, R0, R2.w, R2;\n" 1275 "ADD R2.x, -R0.w, c[7].z;\n" 1276 "MAD R2.xyz, R1, R2.x, R0;\n" 1277 "ADD R0.z, R0.w, R1.w;\n" 1278 "MAD R2.w, -R0, R1, R0.z;\n" 1279 "ADD R0.xy, fragment.position, c[0];\n" 1280 "MUL R0.xy, R0, c[1];\n" 1281 "TEX R0, R0, texture[1], 2D;\n" 1282 "ADD R2, R2, -R1;\n" 1283 "DP4 R0.x, R0, c[2];\n" 1284 "MAD result.color, R0.x, R2, R1;\n" 1285 "END\n" 1286 ; 1287 1288 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORDODGE = 1289 "!!ARBfp1.0\n" 1290 "PARAM c[10] = { program.local[0..6],\n" 1291 " { 2, 4, 1, 1e-06 },\n" 1292 " program.local[8..9] };\n" 1293 "TEMP R0;\n" 1294 "TEMP R1;\n" 1295 "TEMP R2;\n" 1296 "TEMP R3;\n" 1297 "TEMP R4;\n" 1298 "MUL R0.xyz, fragment.position.y, c[4];\n" 1299 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 1300 "ADD R0.xyz, R0, c[5];\n" 1301 "RCP R0.z, R0.z;\n" 1302 "MUL R0.xy, R0, R0.z;\n" 1303 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1304 "MUL R0.xy, R0, c[6];\n" 1305 "ADD R0.z, R0, R0.w;\n" 1306 "ADD R0.x, R0, R0.y;\n" 1307 "MUL R0.z, c[8].x, -R0;\n" 1308 "MUL R0.y, R0.z, c[7];\n" 1309 "MUL R0.x, R0, c[7];\n" 1310 "MAD R0.y, R0.x, R0.x, -R0;\n" 1311 "MOV R0.z, c[7].x;\n" 1312 "RSQ R0.y, R0.y;\n" 1313 "RCP R0.y, R0.y;\n" 1314 "MUL R0.z, c[8].x, R0;\n" 1315 "ADD R0.x, -R0, R0.y;\n" 1316 "RCP R0.z, R0.z;\n" 1317 "MUL R0.x, R0, R0.z;\n" 1318 "TEX R0, R0, texture[2], 1D;\n" 1319 "MAX R1.x, R0.w, c[7].w;\n" 1320 "RCP R1.x, R1.x;\n" 1321 "MAD R1.xyz, -R0, R1.x, c[7].z;\n" 1322 "MAX R2.xyz, R1, c[7].w;\n" 1323 "MUL R1.xy, fragment.position, c[9];\n" 1324 "TEX R1, R1, texture[0], 2D;\n" 1325 "ADD R2.w, -R0, c[7].z;\n" 1309 "ADD R2.w, -R0, c[9].z;\n" 1326 1310 "MUL R3.xyz, R1, R2.w;\n" 1327 "ADD R2.w, -R1, c[ 7].z;\n"1311 "ADD R2.w, -R1, c[9].z;\n" 1328 1312 "MAD R4.xyz, R0, R2.w, R3;\n" 1329 "MUL R3.xyz, R 1, R0.w;\n"1313 "MUL R3.xyz, R0.w, R1;\n" 1330 1314 "MUL R2.w, R0, R1;\n" 1331 1315 "MAD R0.xyz, R0, R1.w, R3;\n" … … 1340 1324 "ADD R0.z, R0.w, R1.w;\n" 1341 1325 "MAD R2.w, -R0, R1, R0.z;\n" 1342 "ADD R0.xy, fragment.position, c[ 0];\n"1343 "MUL R0.xy, R0, c[ 1];\n"1326 "ADD R0.xy, fragment.position, c[7];\n" 1327 "MUL R0.xy, R0, c[5];\n" 1344 1328 "TEX R0, R0, texture[1], 2D;\n" 1345 1329 "ADD R2, R2, -R1;\n" 1346 "DP4 R0.x, R0, c[ 2];\n"1330 "DP4 R0.x, R0, c[8];\n" 1347 1331 "MAD result.color, R0.x, R2, R1;\n" 1348 1332 "END\n" … … 1351 1335 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORBURN = 1352 1336 "!!ARBfp1.0\n" 1353 "PARAM c[10] = { program.local[0..6],\n" 1354 " { 2, 4, 1, 9.9999997e-06 },\n" 1355 " program.local[8..9] };\n" 1337 "PARAM c[10] = { program.local[0..8],\n" 1338 " { 2, 4, 1, 9.9999997e-006 } };\n" 1356 1339 "TEMP R0;\n" 1357 1340 "TEMP R1;\n" … … 1360 1343 "TEMP R4;\n" 1361 1344 "TEMP R5;\n" 1362 "MUL R0.xyz, fragment.position.y, c[ 4];\n"1363 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"1364 "ADD R0.xyz, R0, c[ 5];\n"1345 "MUL R0.xyz, fragment.position.y, c[3];\n" 1346 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1347 "ADD R0.xyz, R0, c[4];\n" 1365 1348 "RCP R0.z, R0.z;\n" 1366 1349 "MUL R0.xy, R0, R0.z;\n" 1367 1350 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1368 "MUL R0.xy, R0, c[6];\n"1369 1351 "ADD R0.z, R0, R0.w;\n" 1352 "MUL R0.xy, R0, c[0];\n" 1370 1353 "ADD R0.x, R0, R0.y;\n" 1371 "MUL R0.z, c[8].x, -R0;\n"1372 "MUL R0.y, R0. z, c[7];\n"1373 "MUL R0. x, R0, c[7];\n"1374 "MAD R0. y, R0.x, R0.x, -R0;\n"1375 " MOV R0.z, c[7].x;\n"1376 " RSQ R0.y, R0.y;\n"1377 " RCP R0.y, R0.y;\n"1378 " MUL R0.z, c[8].x, R0;\n"1379 " MUL R1.xy, fragment.position, c[9];\n"1380 " TEX R1, R1, texture[0], 2D;\n"1381 " ADD R0.x, -R0, R0.y;\n"1382 " RCP R0.z, R0.z;\n"1383 "MUL R0.x, R0, R0. z;\n"1354 "MUL R0.z, -R0, c[1].x;\n" 1355 "MUL R0.y, R0.x, c[9].x;\n" 1356 "MUL R0.z, R0, c[9].y;\n" 1357 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1358 "RSQ R0.z, R0.x;\n" 1359 "MOV R0.x, c[9];\n" 1360 "MUL R0.w, R0.x, c[1].x;\n" 1361 "RCP R0.z, R0.z;\n" 1362 "ADD R0.x, -R0.y, R0.z;\n" 1363 "RCP R0.y, R0.w;\n" 1364 "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n" 1365 "TEX R1, R0.zwzw, texture[0], 2D;\n" 1366 "MUL R0.x, R0, R0.y;\n" 1384 1367 "TEX R0, R0, texture[2], 1D;\n" 1385 "MUL R2.xyz, R 1, R0.w;\n"1368 "MUL R2.xyz, R0.w, R1;\n" 1386 1369 "MAD R3.xyz, R0, R1.w, R2;\n" 1387 1370 "MAD R2.xyz, -R0.w, R1.w, R3;\n" 1388 1371 "MUL R4.xyz, R0.w, R2;\n" 1389 "MAX R2.xyz, R0, c[ 7].w;\n"1390 "ADD R2.w, -R1, c[ 7].z;\n"1372 "MAX R2.xyz, R0, c[9].w;\n" 1373 "ADD R2.w, -R1, c[9].z;\n" 1391 1374 "MUL R5.xyz, R0, R2.w;\n" 1392 "ADD R3.w, -R0, c[ 7].z;\n"1375 "ADD R3.w, -R0, c[9].z;\n" 1393 1376 "RCP R2.x, R2.x;\n" 1394 1377 "RCP R2.y, R2.y;\n" … … 1404 1387 "ADD R0.z, R0.w, R1.w;\n" 1405 1388 "MAD R2.w, -R0, R1, R0.z;\n" 1406 "ADD R0.xy, fragment.position, c[ 0];\n"1407 "MUL R0.xy, R0, c[ 1];\n"1389 "ADD R0.xy, fragment.position, c[7];\n" 1390 "MUL R0.xy, R0, c[5];\n" 1408 1391 "TEX R0, R0, texture[1], 2D;\n" 1409 1392 "ADD R2, R2, -R1;\n" 1410 "DP4 R0.x, R0, c[ 2];\n"1393 "DP4 R0.x, R0, c[8];\n" 1411 1394 "MAD result.color, R0.x, R2, R1;\n" 1412 1395 "END\n" … … 1415 1398 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_HARDLIGHT = 1416 1399 "!!ARBfp1.0\n" 1417 "PARAM c[10] = { program.local[0..6],\n" 1418 " { 2, 4, 1 },\n" 1419 " program.local[8..9] };\n" 1400 "PARAM c[10] = { program.local[0..8],\n" 1401 " { 2, 4, 1 } };\n" 1420 1402 "TEMP R0;\n" 1421 1403 "TEMP R1;\n" … … 1423 1405 "TEMP R3;\n" 1424 1406 "TEMP R4;\n" 1425 "MUL R0.xyz, fragment.position.y, c[ 4];\n"1426 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"1427 "ADD R0.xyz, R0, c[ 5];\n"1407 "MUL R0.xyz, fragment.position.y, c[3];\n" 1408 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1409 "ADD R0.xyz, R0, c[4];\n" 1428 1410 "RCP R0.z, R0.z;\n" 1429 1411 "MUL R0.xy, R0, R0.z;\n" 1430 1412 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1431 "MUL R0.xy, R0, c[6];\n"1432 1413 "ADD R0.z, R0, R0.w;\n" 1414 "MUL R0.xy, R0, c[0];\n" 1433 1415 "ADD R0.x, R0, R0.y;\n" 1434 "MUL R0.z, c[8].x, -R0;\n" 1435 "MUL R0.y, R0.z, c[7];\n" 1436 "MUL R0.x, R0, c[7];\n" 1437 "MAD R0.y, R0.x, R0.x, -R0;\n" 1438 "MOV R0.z, c[7].x;\n" 1439 "RSQ R0.y, R0.y;\n" 1440 "RCP R0.y, R0.y;\n" 1441 "MUL R0.z, c[8].x, R0;\n" 1442 "MUL R1.xy, fragment.position, c[9];\n" 1416 "MUL R0.y, R0.x, c[9].x;\n" 1417 "MOV R0.x, c[9];\n" 1418 "MUL R0.z, -R0, c[1].x;\n" 1419 "MUL R0.z, R0, c[9].y;\n" 1420 "MAD R0.z, R0.y, R0.y, -R0;\n" 1421 "MUL R1.xy, fragment.position, c[6];\n" 1443 1422 "TEX R1, R1, texture[0], 2D;\n" 1444 "ADD R0.x, -R0, R0.y;\n" 1445 "RCP R0.z, R0.z;\n" 1423 "MUL R0.w, R0.x, c[1].x;\n" 1424 "RSQ R0.z, R0.z;\n" 1425 "RCP R0.x, R0.z;\n" 1426 "ADD R2.w, -R1, c[9].z;\n" 1427 "RCP R0.z, R0.w;\n" 1428 "ADD R0.x, -R0.y, R0;\n" 1446 1429 "MUL R0.x, R0, R0.z;\n" 1447 1430 "TEX R0, R0, texture[2], 1D;\n" 1448 "ADD R2.w, -R1, c[7].z;\n"1449 1431 "ADD R3.xyz, R0.w, -R0;\n" 1450 1432 "ADD R2.xyz, R1.w, -R1;\n" 1451 1433 "MUL R2.xyz, R2, R3;\n" 1452 "MUL R2.xyz, R2, c[ 7].x;\n"1434 "MUL R2.xyz, R2, c[9].x;\n" 1453 1435 "MAD R2.xyz, R0.w, R1.w, -R2;\n" 1454 1436 "MUL R4.xyz, R0, R2.w;\n" 1455 1437 "MAD R2.xyz, R0, R2.w, R2;\n" 1456 1438 "MUL R3.xyz, R0, R1;\n" 1457 "ADD R2.w, -R0, c[ 7].z;\n"1458 "MAD R3.xyz, R3, c[ 7].x, R4;\n"1459 "MUL R0.xyz, R0, c[ 7].x;\n"1439 "ADD R2.w, -R0, c[9].z;\n" 1440 "MAD R3.xyz, R3, c[9].x, R4;\n" 1441 "MUL R0.xyz, R0, c[9].x;\n" 1460 1442 "SGE R0.xyz, R0, R0.w;\n" 1461 1443 "MAD R3.xyz, R1, R2.w, R3;\n" … … 1465 1447 "ADD R0.z, R0.w, R1.w;\n" 1466 1448 "MAD R2.w, -R0, R1, R0.z;\n" 1467 "ADD R0.xy, fragment.position, c[ 0];\n"1468 "MUL R0.xy, R0, c[ 1];\n"1449 "ADD R0.xy, fragment.position, c[7];\n" 1450 "MUL R0.xy, R0, c[5];\n" 1469 1451 "TEX R0, R0, texture[1], 2D;\n" 1470 1452 "ADD R2, R2, -R1;\n" 1471 "DP4 R0.x, R0, c[ 2];\n"1453 "DP4 R0.x, R0, c[8];\n" 1472 1454 "MAD result.color, R0.x, R2, R1;\n" 1473 1455 "END\n" … … 1476 1458 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SOFTLIGHT = 1477 1459 "!!ARBfp1.0\n" 1478 "PARAM c[11] = { program.local[0..6],\n" 1479 " { 2, 4, 1, 9.9999997e-06 },\n" 1480 " program.local[8..9],\n" 1481 " { 8, 3 } };\n" 1460 "PARAM c[11] = { program.local[0..8],\n" 1461 " { 2, 4, 1, 9.9999997e-006 },\n" 1462 " { 16, 12, 3 } };\n" 1482 1463 "TEMP R0;\n" 1483 1464 "TEMP R1;\n" … … 1487 1468 "TEMP R5;\n" 1488 1469 "TEMP R6;\n" 1489 "MUL R0.xyz, fragment.position.y, c[ 4];\n"1490 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"1491 "ADD R0.xyz, R0, c[ 5];\n"1470 "MUL R0.xyz, fragment.position.y, c[3];\n" 1471 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1472 "ADD R0.xyz, R0, c[4];\n" 1492 1473 "RCP R0.z, R0.z;\n" 1493 1474 "MUL R0.xy, R0, R0.z;\n" 1494 1475 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1495 "MUL R0.xy, R0, c[6];\n"1496 1476 "ADD R0.z, R0, R0.w;\n" 1477 "MUL R0.xy, R0, c[0];\n" 1497 1478 "ADD R0.x, R0, R0.y;\n" 1498 "MUL R0.z, c[8].x, -R0;\n" 1499 "MUL R0.y, R0.z, c[7];\n" 1500 "MUL R0.zw, fragment.position.xyxy, c[9].xyxy;\n" 1479 "MUL R0.z, -R0, c[1].x;\n" 1480 "MUL R0.y, R0.z, c[9];\n" 1481 "MUL R0.x, R0, c[9];\n" 1482 "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n" 1501 1483 "TEX R1, R0.zwzw, texture[0], 2D;\n" 1502 "MUL R0.x, R0, c[7];\n"1503 1484 "MAD R0.y, R0.x, R0.x, -R0;\n" 1504 "MAX R0.z, R1.w, c[7].w;\n"1505 "RCP R2.w, R0.z;\n"1506 "MUL R2.xyz, R1, R2.w;\n"1507 "MUL R6.xyz, -R2, c[10].x;\n"1508 "MAD R3.xyz, -R1, R2.w, c[7].z;\n"1509 1485 "RSQ R0.y, R0.y;\n" 1510 1486 "RCP R0.y, R0.y;\n" 1511 "ADD R0.x, -R0, R0.y;\n" 1512 "MOV R0.y, c[7].x;\n" 1513 "MUL R0.y, c[8].x, R0;\n" 1514 "RCP R0.y, R0.y;\n" 1515 "MUL R0.x, R0, R0.y;\n" 1487 "ADD R0.y, -R0.x, R0;\n" 1488 "MOV R0.x, c[9];\n" 1489 "MUL R0.x, R0, c[1];\n" 1490 "MAX R0.z, R1.w, c[9].w;\n" 1491 "RCP R0.z, R0.z;\n" 1492 "MUL R3.xyz, R1, R0.z;\n" 1493 "MAD R4.xyz, R3, c[10].x, -c[10].y;\n" 1494 "RCP R0.x, R0.x;\n" 1495 "MUL R0.x, R0.y, R0;\n" 1516 1496 "TEX R0, R0, texture[2], 1D;\n" 1517 "MAD R 4.xyz, R0, c[7].x, -R0.w;\n"1518 "M UL R5.xyz, R3, R4;\n"1519 "M AD R3.xyz, -R3, R4, R0.w;\n"1520 " ADD R6.xyz, R6, c[10].y;\n"1521 "RSQ R2. x, R2.x;\n"1522 "R SQ R2.z, R2.z;\n"1523 "RSQ R2. y, R2.y;\n"1524 " MAD R5.xyz, -R5, R6, R0.w;\n"1525 " MUL R3.xyz, R1, R3;\n"1526 " ADD R2.w, -R1, c[7].z;\n"1527 " RCP R2.x, R2.x;\n"1528 " RCP R2.z, R2.z;\n"1529 " RCP R2.y, R2.y;\n"1530 " MAD R2.xyz, R2, R1.w, -R1;\n"1531 "M UL R6.xyz, R2, R4;\n"1532 "MUL R 2.xyz, R1, R5;\n"1533 "MAD R 6.xyz, R1, R0.w, R6;\n"1534 "M UL R4.xyz, R0, c[7].x;\n"1535 " MUL R5.xyz, R1, c[10].x;\n"1536 " ADD R6.xyz, R6, -R2;\n"1537 "SGE R 5.xyz, R5, R1.w;\n"1538 "M UL R5.xyz, R5, R6;\n"1539 " ADD R2.xyz, R2, R5;\n"1540 "SGE R 4.xyz, R4, R0.w;\n"1541 " ADD R2.xyz, R2, -R3;\n"1542 " MUL R2.xyz, R4, R2;\n"1543 " ADD R2.xyz, R3, R2;\n"1544 "MAD R 0.xyz, R0, R2.w, R2;\n"1545 "ADD R 2.x, -R0.w, c[7].z;\n"1546 "MAD R2.xyz, R1, R 2.x, R0;\n"1497 "MAD R2.xyz, R0, c[9].x, -R0.w;\n" 1498 "MAD R4.xyz, R3, R4, c[10].z;\n" 1499 "MUL R5.xyz, R1.w, R2;\n" 1500 "MUL R6.xyz, R5, R4;\n" 1501 "RSQ R2.w, R3.x;\n" 1502 "RCP R4.x, R2.w;\n" 1503 "RSQ R2.w, R3.y;\n" 1504 "RSQ R3.w, R3.z;\n" 1505 "RCP R4.y, R2.w;\n" 1506 "RCP R4.z, R3.w;\n" 1507 "ADD R4.xyz, -R3, R4;\n" 1508 "MUL R6.xyz, R3, R6;\n" 1509 "MUL R4.xyz, R5, R4;\n" 1510 "ADD R3.xyz, -R3, c[9].z;\n" 1511 "MAD R2.xyz, R2, R3, R0.w;\n" 1512 "MUL R3.xyz, R0, c[9].x;\n" 1513 "MAD R5.xyz, R0.w, R1, R6;\n" 1514 "MAD R4.xyz, R0.w, R1, R4;\n" 1515 "ADD R6.xyz, R4, -R5;\n" 1516 "MUL R4.xyz, R1, c[9].y;\n" 1517 "SGE R4.xyz, R4, R1.w;\n" 1518 "MAD R4.xyz, R4, R6, R5;\n" 1519 "MAD R4.xyz, -R1, R2, R4;\n" 1520 "SGE R3.xyz, R3, R0.w;\n" 1521 "MUL R2.xyz, R1, R2;\n" 1522 "ADD R2.w, -R1, c[9].z;\n" 1523 "MAD R2.xyz, R3, R4, R2;\n" 1524 "MAD R2.xyz, R0, R2.w, R2;\n" 1525 "ADD R0.x, -R0.w, c[9].z;\n" 1526 "MAD R2.xyz, R1, R0.x, R2;\n" 1547 1527 "ADD R0.z, R0.w, R1.w;\n" 1548 1528 "MAD R2.w, -R0, R1, R0.z;\n" 1549 "ADD R0.xy, fragment.position, c[ 0];\n"1550 "MUL R0.xy, R0, c[ 1];\n"1529 "ADD R0.xy, fragment.position, c[7];\n" 1530 "MUL R0.xy, R0, c[5];\n" 1551 1531 "TEX R0, R0, texture[1], 2D;\n" 1552 1532 "ADD R2, R2, -R1;\n" 1553 "DP4 R0.x, R0, c[ 2];\n"1533 "DP4 R0.x, R0, c[8];\n" 1554 1534 "MAD result.color, R0.x, R2, R1;\n" 1555 1535 "END\n" … … 1558 1538 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_DIFFERENCE = 1559 1539 "!!ARBfp1.0\n" 1560 "PARAM c[10] = { program.local[0..6],\n" 1561 " { 2, 4 },\n" 1562 " program.local[8..9] };\n" 1563 "TEMP R0;\n" 1564 "TEMP R1;\n" 1565 "TEMP R2;\n" 1566 "TEMP R3;\n" 1567 "MUL R0.xyz, fragment.position.y, c[4];\n" 1568 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 1569 "ADD R0.xyz, R0, c[5];\n" 1540 "PARAM c[10] = { program.local[0..8],\n" 1541 " { 2, 4 } };\n" 1542 "TEMP R0;\n" 1543 "TEMP R1;\n" 1544 "TEMP R2;\n" 1545 "TEMP R3;\n" 1546 "MUL R0.xyz, fragment.position.y, c[3];\n" 1547 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1548 "ADD R0.xyz, R0, c[4];\n" 1570 1549 "RCP R0.z, R0.z;\n" 1571 1550 "MUL R0.xy, R0, R0.z;\n" 1572 1551 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1573 1552 "ADD R0.z, R0, R0.w;\n" 1574 "MUL R0.xy, R0, c[ 6];\n"1553 "MUL R0.xy, R0, c[0];\n" 1575 1554 "ADD R0.x, R0, R0.y;\n" 1576 "MUL R0.z, c[8].x, -R0;\n"1577 "MUL R0.y, R0. z, c[7];\n"1578 "MUL R0. x, R0, c[7];\n"1579 "MAD R0. y, R0.x, R0.x, -R0;\n"1580 "RSQ R0.z, R0. y;\n"1581 " RCP R0.z, R0.z;\n"1582 " ADD R0.x, -R0, R0.z;\n"1583 " MUL R0.zw, fragment.position.xyxy, c[9].xyxy;\n"1584 " MOV R0.y, c[7].x;\n"1585 " MUL R0.y, c[8].x, R0;\n"1586 " RCP R0.y, R0.y;\n"1587 " TEX R1, R0.zwzw, texture[0], 2D;\n"1588 " MUL R0.x, R0, R0.y;\n"1589 "TEX R 0, R0, texture[2], 1D;\n"1590 "ADD R 3.xyz, R0, R1;\n"1591 "MUL R 2.xyz, R1, R0.w;\n"1592 "MUL R 0.xyz, R0, R1.w;\n"1593 "MIN R 0.xyz, R0, R2;\n"1594 "MAD R2.xyz, -R 0, c[7].x, R3;\n"1595 "ADD R 0.z, R0.w, R1.w;\n"1596 "MAD R2.w, -R 0, R1, R0.z;\n"1597 "ADD R 0.xy, fragment.position, c[0];\n"1598 "MUL R 0.xy, R0, c[1];\n"1599 "TEX R 0, R0, texture[1], 2D;\n"1600 "ADD R2, R2, -R 1;\n"1601 "DP4 R 0.x, R0, c[2];\n"1602 "MAD result.color, R 0.x, R2, R1;\n"1555 "MUL R0.z, -R0, c[1].x;\n" 1556 "MUL R0.y, R0.x, c[9].x;\n" 1557 "MUL R0.z, R0, c[9].y;\n" 1558 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1559 "RSQ R0.z, R0.x;\n" 1560 "MOV R0.x, c[9];\n" 1561 "MUL R0.x, R0, c[1];\n" 1562 "RCP R0.z, R0.z;\n" 1563 "ADD R0.z, -R0.y, R0;\n" 1564 "RCP R0.w, R0.x;\n" 1565 "MUL R1.x, R0.z, R0.w;\n" 1566 "MUL R0.xy, fragment.position, c[6];\n" 1567 "TEX R0, R0, texture[0], 2D;\n" 1568 "TEX R1, R1, texture[2], 1D;\n" 1569 "ADD R2.xyz, R1, R0;\n" 1570 "MUL R3.xyz, R1.w, R0;\n" 1571 "MUL R1.xyz, R1, R0.w;\n" 1572 "MIN R1.xyz, R1, R3;\n" 1573 "MAD R2.xyz, -R1, c[9].x, R2;\n" 1574 "ADD R1.z, R1.w, R0.w;\n" 1575 "MAD R2.w, -R1, R0, R1.z;\n" 1576 "ADD R1.xy, fragment.position, c[7];\n" 1577 "MUL R1.xy, R1, c[5];\n" 1578 "TEX R1, R1, texture[1], 2D;\n" 1579 "ADD R2, R2, -R0;\n" 1580 "DP4 R1.x, R1, c[8];\n" 1581 "MAD result.color, R1.x, R2, R0;\n" 1603 1582 "END\n" 1604 1583 ; … … 1606 1585 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_EXCLUSION = 1607 1586 "!!ARBfp1.0\n" 1608 "PARAM c[10] = { program.local[0..6],\n" 1609 " { 2, 4, 1 },\n" 1610 " program.local[8..9] };\n" 1611 "TEMP R0;\n" 1612 "TEMP R1;\n" 1613 "TEMP R2;\n" 1614 "TEMP R3;\n" 1615 "MUL R0.xyz, fragment.position.y, c[4];\n" 1616 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 1617 "ADD R0.xyz, R0, c[5];\n" 1618 "RCP R0.z, R0.z;\n" 1619 "MUL R0.xy, R0, R0.z;\n" 1620 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1621 "MUL R0.xy, R0, c[6];\n" 1622 "ADD R0.z, R0, R0.w;\n" 1623 "ADD R0.x, R0, R0.y;\n" 1624 "MUL R0.z, c[8].x, -R0;\n" 1625 "MUL R0.y, R0.z, c[7];\n" 1626 "MUL R0.x, R0, c[7];\n" 1627 "MAD R0.y, R0.x, R0.x, -R0;\n" 1628 "MOV R0.z, c[7].x;\n" 1629 "RSQ R0.y, R0.y;\n" 1630 "RCP R0.y, R0.y;\n" 1631 "MUL R0.z, c[8].x, R0;\n" 1632 "MUL R1.xy, fragment.position, c[9];\n" 1633 "TEX R1, R1, texture[0], 2D;\n" 1634 "ADD R0.x, -R0, R0.y;\n" 1635 "RCP R0.z, R0.z;\n" 1636 "MUL R0.x, R0, R0.z;\n" 1637 "TEX R0, R0, texture[2], 1D;\n" 1638 "MUL R2.xyz, R1, R0.w;\n" 1639 "MAD R3.xyz, R0, R1.w, R2;\n" 1640 "MUL R2.xyz, R0, R1;\n" 1641 "MAD R2.xyz, -R2, c[7].x, R3;\n" 1642 "ADD R2.w, -R1, c[7].z;\n" 1643 "MAD R0.xyz, R0, R2.w, R2;\n" 1644 "ADD R2.x, -R0.w, c[7].z;\n" 1645 "MAD R2.xyz, R1, R2.x, R0;\n" 1646 "ADD R0.z, R0.w, R1.w;\n" 1647 "MAD R2.w, -R0, R1, R0.z;\n" 1648 "ADD R0.xy, fragment.position, c[0];\n" 1649 "MUL R0.xy, R0, c[1];\n" 1650 "TEX R0, R0, texture[1], 2D;\n" 1651 "ADD R2, R2, -R1;\n" 1652 "DP4 R0.x, R0, c[2];\n" 1653 "MAD result.color, R0.x, R2, R1;\n" 1654 "END\n" 1655 ; 1656 1657 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK = 1658 "!!ARBfp1.0\n" 1659 "PARAM c[9] = { program.local[0..3],\n" 1660 " { 2, 4, 1 },\n" 1661 " program.local[5..8] };\n" 1662 "TEMP R0;\n" 1663 "TEMP R1;\n" 1664 "TEMP R2;\n" 1665 "TEMP R3;\n" 1666 "MUL R0.xyz, fragment.position.y, c[1];\n" 1667 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 1668 "ADD R0.xyz, R0, c[2];\n" 1587 "PARAM c[10] = { program.local[0..8],\n" 1588 " { 2, 4, 1 } };\n" 1589 "TEMP R0;\n" 1590 "TEMP R1;\n" 1591 "TEMP R2;\n" 1592 "TEMP R3;\n" 1593 "MUL R0.xyz, fragment.position.y, c[3];\n" 1594 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1595 "ADD R0.xyz, R0, c[4];\n" 1669 1596 "RCP R0.z, R0.z;\n" 1670 1597 "MUL R0.xy, R0, R0.z;\n" 1671 1598 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1672 1599 "ADD R0.z, R0, R0.w;\n" 1673 "MUL R0.xy, R0, c[ 3];\n"1600 "MUL R0.xy, R0, c[0];\n" 1674 1601 "ADD R0.x, R0, R0.y;\n" 1675 "MUL R0.z, c[5].x, -R0;\n" 1676 "MUL R0.y, R0.z, c[4];\n" 1677 "MUL R0.x, R0, c[4];\n" 1678 "MAD R0.y, R0.x, R0.x, -R0;\n" 1679 "RSQ R0.z, R0.y;\n" 1680 "RCP R0.z, R0.z;\n" 1681 "ADD R0.x, -R0, R0.z;\n" 1682 "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n" 1602 "MUL R0.z, -R0, c[1].x;\n" 1603 "MUL R0.y, R0.x, c[9].x;\n" 1604 "MUL R0.z, R0, c[9].y;\n" 1605 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1606 "RSQ R0.z, R0.x;\n" 1607 "MOV R0.x, c[9];\n" 1608 "MUL R0.x, R0, c[1];\n" 1609 "RCP R0.z, R0.z;\n" 1610 "ADD R0.z, -R0.y, R0;\n" 1611 "RCP R0.w, R0.x;\n" 1612 "MUL R1.x, R0.z, R0.w;\n" 1613 "MUL R0.xy, fragment.position, c[6];\n" 1614 "TEX R0, R0, texture[0], 2D;\n" 1615 "TEX R1, R1, texture[2], 1D;\n" 1616 "MUL R2.xyz, R1.w, R0;\n" 1617 "MAD R3.xyz, R1, R0.w, R2;\n" 1618 "MUL R2.xyz, R1, R0;\n" 1619 "MAD R2.xyz, -R2, c[9].x, R3;\n" 1620 "ADD R2.w, -R0, c[9].z;\n" 1621 "MAD R1.xyz, R1, R2.w, R2;\n" 1622 "ADD R2.x, -R1.w, c[9].z;\n" 1623 "MAD R2.xyz, R0, R2.x, R1;\n" 1624 "ADD R1.z, R1.w, R0.w;\n" 1625 "MAD R2.w, -R1, R0, R1.z;\n" 1626 "ADD R1.xy, fragment.position, c[7];\n" 1627 "MUL R1.xy, R1, c[5];\n" 1628 "TEX R1, R1, texture[1], 2D;\n" 1629 "ADD R2, R2, -R0;\n" 1630 "DP4 R1.x, R1, c[8];\n" 1631 "MAD result.color, R1.x, R2, R0;\n" 1632 "END\n" 1633 ; 1634 1635 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK = 1636 "!!ARBfp1.0\n" 1637 "PARAM c[9] = { program.local[0..7],\n" 1638 " { 2, 4, 1 } };\n" 1639 "TEMP R0;\n" 1640 "TEMP R1;\n" 1641 "TEMP R2;\n" 1642 "TEMP R3;\n" 1643 "MUL R0.xyz, fragment.position.y, c[3];\n" 1644 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1645 "ADD R0.xyz, R0, c[4];\n" 1646 "RCP R0.z, R0.z;\n" 1647 "MUL R0.xy, R0, R0.z;\n" 1648 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1649 "ADD R0.z, R0, R0.w;\n" 1650 "MUL R0.xy, R0, c[0];\n" 1651 "ADD R0.x, R0, R0.y;\n" 1652 "MUL R0.z, -R0, c[1].x;\n" 1653 "MUL R0.y, R0.x, c[8].x;\n" 1654 "MUL R0.z, R0, c[8].y;\n" 1655 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1656 "RSQ R0.x, R0.x;\n" 1657 "RCP R0.z, R0.x;\n" 1658 "ADD R0.y, -R0, R0.z;\n" 1659 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n" 1683 1660 "TEX R1, R0.zwzw, texture[0], 2D;\n" 1684 "MUL R2.xyz, R1, c[ 8].y;\n"1685 "MOV R0. y, c[4].x;\n"1686 "MUL R0. y, c[5].x, R0;\n"1687 "RCP R0. y, R0.y;\n"1688 "MUL R0.x, R0 , R0.y;\n"1661 "MUL R2.xyz, R1, c[5].y;\n" 1662 "MOV R0.x, c[8];\n" 1663 "MUL R0.x, R0, c[1];\n" 1664 "RCP R0.x, R0.x;\n" 1665 "MUL R0.x, R0.y, R0;\n" 1689 1666 "TEX R0, R0, texture[1], 1D;\n" 1690 "MUL R3.xyz, R 2, R0.w;\n"1691 "MUL R2.xyz, R0, c[ 8].x;\n"1692 "MAD R2.xyz, R 2, R1.w, R3;\n"1693 "ADD R2.w, -R1, c[ 4].z;\n"1694 "MUL R0.xyz, R0, c[ 7].y;\n"1695 "MAD R0.xyz, R 0, R2.w, R2;\n"1696 "ADD R2.x, -R0.w, c[ 4].z;\n"1697 "MUL R1.xyz, R1, c[ 7].z;\n"1698 "MAD result.color.xyz, R 1, R2.x, R0;\n"1667 "MUL R3.xyz, R0.w, R2;\n" 1668 "MUL R2.xyz, R0, c[5].x;\n" 1669 "MAD R2.xyz, R1.w, R2, R3;\n" 1670 "ADD R2.w, -R1, c[8].z;\n" 1671 "MUL R0.xyz, R0, c[6].y;\n" 1672 "MAD R0.xyz, R2.w, R0, R2;\n" 1673 "ADD R2.x, -R0.w, c[8].z;\n" 1674 "MUL R1.xyz, R1, c[6].z;\n" 1675 "MAD result.color.xyz, R2.x, R1, R0;\n" 1699 1676 "MUL R0.x, R0.w, R1.w;\n" 1700 1677 "MUL R0.z, R1.w, R2.x;\n" 1701 1678 "MUL R0.y, R0.w, R2.w;\n" 1702 "DP3 result.color.w, R0, c[ 7];\n"1679 "DP3 result.color.w, R0, c[6];\n" 1703 1680 "END\n" 1704 1681 ; … … 1706 1683 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_MULTIPLY_NOMASK = 1707 1684 "!!ARBfp1.0\n" 1708 "PARAM c[7] = { program.local[0..3],\n" 1709 " { 2, 4, 1 },\n" 1710 " program.local[5..6] };\n" 1711 "TEMP R0;\n" 1712 "TEMP R1;\n" 1713 "TEMP R2;\n" 1714 "MUL R0.xyz, fragment.position.y, c[1];\n" 1715 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 1716 "ADD R0.xyz, R0, c[2];\n" 1685 "PARAM c[7] = { program.local[0..5],\n" 1686 " { 2, 4, 1 } };\n" 1687 "TEMP R0;\n" 1688 "TEMP R1;\n" 1689 "TEMP R2;\n" 1690 "MUL R0.xyz, fragment.position.y, c[3];\n" 1691 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1692 "ADD R0.xyz, R0, c[4];\n" 1717 1693 "RCP R0.z, R0.z;\n" 1718 1694 "MUL R0.xy, R0, R0.z;\n" 1719 1695 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1720 "MUL R0.xy, R0, c[3];\n"1721 1696 "ADD R0.z, R0, R0.w;\n" 1697 "MUL R0.xy, R0, c[0];\n" 1722 1698 "ADD R0.x, R0, R0.y;\n" 1723 "MUL R0.z, c[5].x, -R0;\n"1724 "MUL R0.y, R0. z, c[4];\n"1725 "MUL R0. x, R0, c[4];\n"1726 "MAD R0. y, R0.x, R0.x, -R0;\n"1727 "RSQ R0. y, R0.y;\n"1728 "RCP R0.z, R0. y;\n"1729 "ADD R0. x, -R0, R0.z;\n"1730 "MUL R0.zw, fragment.position.xyxy, c[ 6].xyxy;\n"1699 "MUL R0.z, -R0, c[1].x;\n" 1700 "MUL R0.y, R0.x, c[6].x;\n" 1701 "MUL R0.z, R0, c[6].y;\n" 1702 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1703 "RSQ R0.x, R0.x;\n" 1704 "RCP R0.z, R0.x;\n" 1705 "ADD R0.y, -R0, R0.z;\n" 1706 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 1731 1707 "TEX R1, R0.zwzw, texture[0], 2D;\n" 1732 "MOV R0. y, c[4].x;\n"1733 "MUL R0. y, c[5].x, R0;\n"1734 "RCP R0. y, R0.y;\n"1735 "MUL R0.x, R0 , R0.y;\n"1708 "MOV R0.x, c[6];\n" 1709 "MUL R0.x, R0, c[1];\n" 1710 "RCP R0.x, R0.x;\n" 1711 "MUL R0.x, R0.y, R0;\n" 1736 1712 "TEX R0, R0, texture[1], 1D;\n" 1737 "ADD R2.x, -R1.w, c[ 4].z;\n"1713 "ADD R2.x, -R1.w, c[6].z;\n" 1738 1714 "MUL R2.xyz, R0, R2.x;\n" 1739 1715 "MAD R0.xyz, R0, R1, R2;\n" 1740 1716 "ADD R2.x, R0.w, R1.w;\n" 1741 "ADD R2.y, -R0.w, c[ 4].z;\n"1717 "ADD R2.y, -R0.w, c[6].z;\n" 1742 1718 "MAD result.color.xyz, R1, R2.y, R0;\n" 1743 1719 "MAD result.color.w, -R0, R1, R2.x;\n" … … 1747 1723 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SCREEN_NOMASK = 1748 1724 "!!ARBfp1.0\n" 1749 "PARAM c[7] = { program.local[0..3],\n" 1750 " { 2, 4 },\n" 1751 " program.local[5..6] };\n" 1752 "TEMP R0;\n" 1753 "TEMP R1;\n" 1754 "TEMP R2;\n" 1755 "MUL R0.xyz, fragment.position.y, c[1];\n" 1756 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 1757 "ADD R0.xyz, R0, c[2];\n" 1725 "PARAM c[7] = { program.local[0..5],\n" 1726 " { 2, 4 } };\n" 1727 "TEMP R0;\n" 1728 "TEMP R1;\n" 1729 "TEMP R2;\n" 1730 "MUL R0.xyz, fragment.position.y, c[3];\n" 1731 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1732 "ADD R0.xyz, R0, c[4];\n" 1758 1733 "RCP R0.z, R0.z;\n" 1759 1734 "MUL R0.xy, R0, R0.z;\n" 1760 1735 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1761 1736 "ADD R0.z, R0, R0.w;\n" 1762 "MUL R0.xy, R0, c[ 3];\n"1737 "MUL R0.xy, R0, c[0];\n" 1763 1738 "ADD R0.x, R0, R0.y;\n" 1764 "MUL R0.z, c[5].x, -R0;\n"1765 "MUL R0.y, R0. z, c[4];\n"1766 "MUL R0. x, R0, c[4];\n"1767 "MAD R0. y, R0.x, R0.x, -R0;\n"1768 "RSQ R0.z, R0. y;\n"1769 " RCP R0.z, R0.z;\n"1770 " ADD R0.x, -R0, R0.z;\n"1771 " MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"1772 " MOV R0.y, c[4].x;\n"1773 " MUL R0.y, c[5].x, R0;\n"1774 " RCP R0.y, R0.y;\n"1739 "MUL R0.z, -R0, c[1].x;\n" 1740 "MUL R0.y, R0.x, c[6].x;\n" 1741 "MUL R0.z, R0, c[6].y;\n" 1742 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1743 "RSQ R0.z, R0.x;\n" 1744 "MOV R0.x, c[6];\n" 1745 "MUL R0.w, R0.x, c[1].x;\n" 1746 "RCP R0.z, R0.z;\n" 1747 "ADD R0.x, -R0.y, R0.z;\n" 1748 "RCP R0.y, R0.w;\n" 1749 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 1775 1750 "TEX R1, R0.zwzw, texture[0], 2D;\n" 1776 1751 "MUL R0.x, R0, R0.y;\n" … … 1783 1758 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_OVERLAY_NOMASK = 1784 1759 "!!ARBfp1.0\n" 1785 "PARAM c[7] = { program.local[0..3],\n" 1786 " { 2, 4, 1 },\n" 1787 " program.local[5..6] };\n" 1788 "TEMP R0;\n" 1789 "TEMP R1;\n" 1790 "TEMP R2;\n" 1791 "TEMP R3;\n" 1792 "MUL R0.xyz, fragment.position.y, c[1];\n" 1793 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 1794 "ADD R0.xyz, R0, c[2];\n" 1760 "PARAM c[7] = { program.local[0..5],\n" 1761 " { 2, 4, 1 } };\n" 1762 "TEMP R0;\n" 1763 "TEMP R1;\n" 1764 "TEMP R2;\n" 1765 "TEMP R3;\n" 1766 "MUL R0.xyz, fragment.position.y, c[3];\n" 1767 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1768 "ADD R0.xyz, R0, c[4];\n" 1795 1769 "RCP R0.z, R0.z;\n" 1796 1770 "MUL R0.xy, R0, R0.z;\n" 1797 1771 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1798 "MUL R0.xy, R0, c[3];\n"1799 1772 "ADD R0.z, R0, R0.w;\n" 1773 "MUL R0.xy, R0, c[0];\n" 1800 1774 "ADD R0.x, R0, R0.y;\n" 1801 "MUL R0.z, c[5].x, -R0;\n" 1802 "MUL R0.y, R0.z, c[4];\n" 1803 "MUL R0.x, R0, c[4];\n" 1804 "MAD R0.y, R0.x, R0.x, -R0;\n" 1805 "MOV R0.z, c[4].x;\n" 1806 "RSQ R0.y, R0.y;\n" 1807 "RCP R0.y, R0.y;\n" 1808 "MUL R0.z, c[5].x, R0;\n" 1809 "MUL R1.xy, fragment.position, c[6];\n" 1775 "MUL R0.y, R0.x, c[6].x;\n" 1776 "MOV R0.x, c[6];\n" 1777 "MUL R0.z, -R0, c[1].x;\n" 1778 "MUL R0.z, R0, c[6].y;\n" 1779 "MAD R0.z, R0.y, R0.y, -R0;\n" 1780 "MUL R1.xy, fragment.position, c[5];\n" 1810 1781 "TEX R1, R1, texture[0], 2D;\n" 1811 "ADD R0.x, -R0, R0.y;\n" 1812 "RCP R0.z, R0.z;\n" 1782 "MUL R0.w, R0.x, c[1].x;\n" 1783 "RSQ R0.z, R0.z;\n" 1784 "RCP R0.x, R0.z;\n" 1785 "ADD R2.w, -R1, c[6].z;\n" 1786 "RCP R0.z, R0.w;\n" 1787 "ADD R0.x, -R0.y, R0;\n" 1813 1788 "MUL R0.x, R0, R0.z;\n" 1814 1789 "TEX R0, R0, texture[1], 1D;\n" … … 1816 1791 "ADD R2.xyz, R1.w, -R1;\n" 1817 1792 "MUL R2.xyz, R2, R3;\n" 1818 "ADD R2.w, -R1, c[4].z;\n" 1819 "MUL R2.xyz, R2, c[4].x;\n" 1793 "MUL R2.xyz, R2, c[6].x;\n" 1820 1794 "MAD R2.xyz, R0.w, R1.w, -R2;\n" 1821 1795 "MAD R2.xyz, R0, R2.w, R2;\n" 1822 1796 "MUL R3.xyz, R0, R2.w;\n" 1823 1797 "MUL R0.xyz, R0, R1;\n" 1824 "ADD R2.w, -R0, c[ 4].z;\n"1825 "MAD R0.xyz, R0, c[ 4].x, R3;\n"1798 "ADD R2.w, -R0, c[6].z;\n" 1799 "MAD R0.xyz, R0, c[6].x, R3;\n" 1826 1800 "MAD R0.xyz, R1, R2.w, R0;\n" 1827 1801 "MAD R2.xyz, R1, R2.w, R2;\n" 1828 "MUL R1.xyz, R1, c[ 4].x;\n"1802 "MUL R1.xyz, R1, c[6].x;\n" 1829 1803 "ADD R2.w, R0, R1;\n" 1830 1804 "ADD R2.xyz, R2, -R0;\n" … … 1837 1811 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_DARKEN_NOMASK = 1838 1812 "!!ARBfp1.0\n" 1839 "PARAM c[7] = { program.local[0..3],\n" 1840 " { 2, 4, 1 },\n" 1841 " program.local[5..6] };\n" 1842 "TEMP R0;\n" 1843 "TEMP R1;\n" 1844 "TEMP R2;\n" 1845 "TEMP R3;\n" 1846 "MUL R0.xyz, fragment.position.y, c[1];\n" 1847 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 1848 "ADD R0.xyz, R0, c[2];\n" 1813 "PARAM c[7] = { program.local[0..5],\n" 1814 " { 2, 4, 1 } };\n" 1815 "TEMP R0;\n" 1816 "TEMP R1;\n" 1817 "TEMP R2;\n" 1818 "TEMP R3;\n" 1819 "MUL R0.xyz, fragment.position.y, c[3];\n" 1820 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1821 "ADD R0.xyz, R0, c[4];\n" 1849 1822 "RCP R0.z, R0.z;\n" 1850 1823 "MUL R0.xy, R0, R0.z;\n" 1851 1824 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1852 "MUL R0.xy, R0, c[3];\n"1853 1825 "ADD R0.z, R0, R0.w;\n" 1826 "MUL R0.xy, R0, c[0];\n" 1854 1827 "ADD R0.x, R0, R0.y;\n" 1855 "MUL R0.z, c[5].x, -R0;\n" 1856 "MUL R0.y, R0.z, c[4];\n" 1857 "MUL R0.x, R0, c[4];\n" 1858 "MAD R0.y, R0.x, R0.x, -R0;\n" 1859 "MOV R0.z, c[4].x;\n" 1860 "RSQ R0.y, R0.y;\n" 1861 "RCP R0.y, R0.y;\n" 1862 "MUL R0.z, c[5].x, R0;\n" 1863 "MUL R1.xy, fragment.position, c[6];\n" 1864 "TEX R1, R1, texture[0], 2D;\n" 1865 "ADD R0.x, -R0, R0.y;\n" 1866 "RCP R0.z, R0.z;\n" 1828 "MUL R0.z, -R0, c[1].x;\n" 1829 "MUL R0.y, R0.x, c[6].x;\n" 1830 "MUL R0.z, R0, c[6].y;\n" 1831 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1832 "RSQ R0.z, R0.x;\n" 1833 "MOV R0.x, c[6];\n" 1834 "MUL R0.w, R0.x, c[1].x;\n" 1835 "RCP R0.z, R0.z;\n" 1836 "ADD R0.x, -R0.y, R0.z;\n" 1837 "RCP R0.y, R0.w;\n" 1838 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 1839 "TEX R1, R0.zwzw, texture[0], 2D;\n" 1840 "MUL R0.x, R0, R0.y;\n" 1841 "TEX R0, R0, texture[1], 1D;\n" 1842 "MUL R2.xyz, R0, R1.w;\n" 1843 "MUL R3.xyz, R0.w, R1;\n" 1844 "MIN R2.xyz, R2, R3;\n" 1845 "ADD R2.w, -R1, c[6].z;\n" 1846 "MAD R0.xyz, R0, R2.w, R2;\n" 1847 "ADD R2.x, R0.w, R1.w;\n" 1848 "ADD R2.y, -R0.w, c[6].z;\n" 1849 "MAD result.color.xyz, R1, R2.y, R0;\n" 1850 "MAD result.color.w, -R0, R1, R2.x;\n" 1851 "END\n" 1852 ; 1853 1854 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_LIGHTEN_NOMASK = 1855 "!!ARBfp1.0\n" 1856 "PARAM c[7] = { program.local[0..5],\n" 1857 " { 2, 4, 1 } };\n" 1858 "TEMP R0;\n" 1859 "TEMP R1;\n" 1860 "TEMP R2;\n" 1861 "TEMP R3;\n" 1862 "MUL R0.xyz, fragment.position.y, c[3];\n" 1863 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1864 "ADD R0.xyz, R0, c[4];\n" 1865 "RCP R0.z, R0.z;\n" 1866 "MUL R0.xy, R0, R0.z;\n" 1867 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1868 "ADD R0.z, R0, R0.w;\n" 1869 "MUL R0.xy, R0, c[0];\n" 1870 "ADD R0.x, R0, R0.y;\n" 1871 "MUL R0.z, -R0, c[1].x;\n" 1872 "MUL R0.y, R0.x, c[6].x;\n" 1873 "MUL R0.z, R0, c[6].y;\n" 1874 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1875 "RSQ R0.z, R0.x;\n" 1876 "MOV R0.x, c[6];\n" 1877 "MUL R0.w, R0.x, c[1].x;\n" 1878 "RCP R0.z, R0.z;\n" 1879 "ADD R0.x, -R0.y, R0.z;\n" 1880 "RCP R0.y, R0.w;\n" 1881 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 1882 "TEX R1, R0.zwzw, texture[0], 2D;\n" 1883 "MUL R0.x, R0, R0.y;\n" 1884 "TEX R0, R0, texture[1], 1D;\n" 1885 "MUL R2.xyz, R0, R1.w;\n" 1886 "MUL R3.xyz, R0.w, R1;\n" 1887 "MAX R2.xyz, R2, R3;\n" 1888 "ADD R2.w, -R1, c[6].z;\n" 1889 "MAD R0.xyz, R0, R2.w, R2;\n" 1890 "ADD R2.x, R0.w, R1.w;\n" 1891 "ADD R2.y, -R0.w, c[6].z;\n" 1892 "MAD result.color.xyz, R1, R2.y, R0;\n" 1893 "MAD result.color.w, -R0, R1, R2.x;\n" 1894 "END\n" 1895 ; 1896 1897 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORDODGE_NOMASK = 1898 "!!ARBfp1.0\n" 1899 "PARAM c[7] = { program.local[0..5],\n" 1900 " { 2, 4, 1, 1e-006 } };\n" 1901 "TEMP R0;\n" 1902 "TEMP R1;\n" 1903 "TEMP R2;\n" 1904 "TEMP R3;\n" 1905 "MUL R0.xyz, fragment.position.y, c[3];\n" 1906 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1907 "ADD R0.xyz, R0, c[4];\n" 1908 "RCP R0.z, R0.z;\n" 1909 "MUL R0.xy, R0, R0.z;\n" 1910 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1911 "ADD R0.z, R0, R0.w;\n" 1912 "MUL R0.xy, R0, c[0];\n" 1913 "ADD R0.x, R0, R0.y;\n" 1914 "MUL R0.y, R0.x, c[6].x;\n" 1915 "MOV R0.x, c[6];\n" 1916 "MUL R0.z, -R0, c[1].x;\n" 1917 "MUL R0.z, R0, c[6].y;\n" 1918 "MAD R0.z, R0.y, R0.y, -R0;\n" 1919 "MUL R0.w, R0.x, c[1].x;\n" 1920 "RSQ R0.z, R0.z;\n" 1921 "RCP R0.x, R0.z;\n" 1922 "RCP R0.z, R0.w;\n" 1923 "ADD R0.x, -R0.y, R0;\n" 1867 1924 "MUL R0.x, R0, R0.z;\n" 1868 1925 "TEX R0, R0, texture[1], 1D;\n" 1869 "MUL R2.xyz, R0, R1.w;\n" 1870 "MUL R3.xyz, R1, R0.w;\n" 1871 "MIN R2.xyz, R2, R3;\n" 1872 "ADD R2.w, -R1, c[4].z;\n" 1873 "MAD R0.xyz, R0, R2.w, R2;\n" 1874 "ADD R2.x, R0.w, R1.w;\n" 1875 "ADD R2.y, -R0.w, c[4].z;\n" 1876 "MAD result.color.xyz, R1, R2.y, R0;\n" 1877 "MAD result.color.w, -R0, R1, R2.x;\n" 1878 "END\n" 1879 ; 1880 1881 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_LIGHTEN_NOMASK = 1882 "!!ARBfp1.0\n" 1883 "PARAM c[7] = { program.local[0..3],\n" 1884 " { 2, 4, 1 },\n" 1885 " program.local[5..6] };\n" 1886 "TEMP R0;\n" 1887 "TEMP R1;\n" 1888 "TEMP R2;\n" 1889 "TEMP R3;\n" 1890 "MUL R0.xyz, fragment.position.y, c[1];\n" 1891 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 1892 "ADD R0.xyz, R0, c[2];\n" 1893 "RCP R0.z, R0.z;\n" 1894 "MUL R0.xy, R0, R0.z;\n" 1895 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1896 "MUL R0.xy, R0, c[3];\n" 1897 "ADD R0.z, R0, R0.w;\n" 1898 "ADD R0.x, R0, R0.y;\n" 1899 "MUL R0.z, c[5].x, -R0;\n" 1900 "MUL R0.y, R0.z, c[4];\n" 1901 "MUL R0.x, R0, c[4];\n" 1902 "MAD R0.y, R0.x, R0.x, -R0;\n" 1903 "MOV R0.z, c[4].x;\n" 1904 "RSQ R0.y, R0.y;\n" 1905 "RCP R0.y, R0.y;\n" 1906 "MUL R0.z, c[5].x, R0;\n" 1907 "MUL R1.xy, fragment.position, c[6];\n" 1926 "MAX R1.x, R0.w, c[6].w;\n" 1927 "RCP R1.x, R1.x;\n" 1928 "MAD R1.xyz, -R0, R1.x, c[6].z;\n" 1929 "MAX R2.xyz, R1, c[6].w;\n" 1930 "MUL R1.xy, fragment.position, c[5];\n" 1908 1931 "TEX R1, R1, texture[0], 2D;\n" 1909 "ADD R0.x, -R0, R0.y;\n" 1910 "RCP R0.z, R0.z;\n" 1911 "MUL R0.x, R0, R0.z;\n" 1912 "TEX R0, R0, texture[1], 1D;\n" 1913 "MUL R2.xyz, R0, R1.w;\n" 1914 "MUL R3.xyz, R1, R0.w;\n" 1915 "MAX R2.xyz, R2, R3;\n" 1916 "ADD R2.w, -R1, c[4].z;\n" 1917 "MAD R0.xyz, R0, R2.w, R2;\n" 1918 "ADD R2.x, R0.w, R1.w;\n" 1919 "ADD R2.y, -R0.w, c[4].z;\n" 1920 "MAD result.color.xyz, R1, R2.y, R0;\n" 1921 "MAD result.color.w, -R0, R1, R2.x;\n" 1922 "END\n" 1923 ; 1924 1925 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORDODGE_NOMASK = 1926 "!!ARBfp1.0\n" 1927 "PARAM c[7] = { program.local[0..3],\n" 1928 " { 2, 4, 1, 1e-06 },\n" 1929 " program.local[5..6] };\n" 1930 "TEMP R0;\n" 1931 "TEMP R1;\n" 1932 "TEMP R2;\n" 1933 "TEMP R3;\n" 1934 "MUL R0.xyz, fragment.position.y, c[1];\n" 1935 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 1936 "ADD R0.xyz, R0, c[2];\n" 1937 "RCP R0.z, R0.z;\n" 1938 "MUL R0.xy, R0, R0.z;\n" 1939 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1940 "MUL R0.xy, R0, c[3];\n" 1941 "ADD R0.z, R0, R0.w;\n" 1942 "ADD R0.x, R0, R0.y;\n" 1943 "MUL R0.z, c[5].x, -R0;\n" 1944 "MUL R0.y, R0.z, c[4];\n" 1945 "MUL R0.x, R0, c[4];\n" 1946 "MAD R0.y, R0.x, R0.x, -R0;\n" 1947 "MOV R0.z, c[4].x;\n" 1948 "RSQ R0.y, R0.y;\n" 1949 "RCP R0.y, R0.y;\n" 1950 "MUL R0.z, c[5].x, R0;\n" 1951 "ADD R0.x, -R0, R0.y;\n" 1952 "RCP R0.z, R0.z;\n" 1953 "MUL R0.x, R0, R0.z;\n" 1954 "TEX R0, R0, texture[1], 1D;\n" 1955 "MAX R1.x, R0.w, c[4].w;\n" 1956 "RCP R1.x, R1.x;\n" 1957 "MAD R1.xyz, -R0, R1.x, c[4].z;\n" 1958 "MAX R2.xyz, R1, c[4].w;\n" 1959 "MUL R1.xy, fragment.position, c[6];\n" 1960 "TEX R1, R1, texture[0], 2D;\n" 1961 "ADD R2.w, -R0, c[4].z;\n" 1932 "ADD R2.w, -R0, c[6].z;\n" 1962 1933 "MUL R3.xyz, R1, R2.w;\n" 1963 "ADD R2.w, -R1, c[ 4].z;\n"1934 "ADD R2.w, -R1, c[6].z;\n" 1964 1935 "MAD R3.xyz, R0, R2.w, R3;\n" 1965 "MUL R1.xyz, R 1, R0.w;\n"1936 "MUL R1.xyz, R0.w, R1;\n" 1966 1937 "MAD R0.xyz, R0, R1.w, R1;\n" 1967 1938 "MUL R2.w, R0, R1;\n" … … 1981 1952 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORBURN_NOMASK = 1982 1953 "!!ARBfp1.0\n" 1983 "PARAM c[7] = { program.local[0..3],\n" 1984 " { 2, 4, 1, 9.9999997e-06 },\n" 1985 " program.local[5..6] };\n" 1954 "PARAM c[7] = { program.local[0..5],\n" 1955 " { 2, 4, 1, 9.9999997e-006 } };\n" 1986 1956 "TEMP R0;\n" 1987 1957 "TEMP R1;\n" … … 1990 1960 "TEMP R4;\n" 1991 1961 "TEMP R5;\n" 1992 "MUL R0.xyz, fragment.position.y, c[ 1];\n"1993 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"1994 "ADD R0.xyz, R0, c[ 2];\n"1962 "MUL R0.xyz, fragment.position.y, c[3];\n" 1963 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 1964 "ADD R0.xyz, R0, c[4];\n" 1995 1965 "RCP R0.z, R0.z;\n" 1996 1966 "MUL R0.xy, R0, R0.z;\n" 1997 1967 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 1998 "MUL R0.xy, R0, c[3];\n"1999 1968 "ADD R0.z, R0, R0.w;\n" 1969 "MUL R0.xy, R0, c[0];\n" 2000 1970 "ADD R0.x, R0, R0.y;\n" 2001 "MUL R0.z, c[5].x, -R0;\n"2002 "MUL R0.y, R0. z, c[4];\n"2003 "MUL R0. x, R0, c[4];\n"2004 "MAD R0. y, R0.x, R0.x, -R0;\n"2005 " MOV R0.z, c[4].x;\n"2006 " RSQ R0.y, R0.y;\n"2007 " RCP R0.y, R0.y;\n"2008 " MUL R0.z, c[5].x, R0;\n"2009 " MUL R1.xy, fragment.position, c[6];\n"2010 " TEX R1, R1, texture[0], 2D;\n"2011 " ADD R0.x, -R0, R0.y;\n"2012 " RCP R0.z, R0.z;\n"2013 "MUL R0.x, R0, R0. z;\n"1971 "MUL R0.z, -R0, c[1].x;\n" 1972 "MUL R0.y, R0.x, c[6].x;\n" 1973 "MUL R0.z, R0, c[6].y;\n" 1974 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 1975 "RSQ R0.z, R0.x;\n" 1976 "MOV R0.x, c[6];\n" 1977 "MUL R0.w, R0.x, c[1].x;\n" 1978 "RCP R0.z, R0.z;\n" 1979 "ADD R0.x, -R0.y, R0.z;\n" 1980 "RCP R0.y, R0.w;\n" 1981 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 1982 "TEX R1, R0.zwzw, texture[0], 2D;\n" 1983 "MUL R0.x, R0, R0.y;\n" 2014 1984 "TEX R0, R0, texture[1], 1D;\n" 2015 "MUL R2.xyz, R 1, R0.w;\n"1985 "MUL R2.xyz, R0.w, R1;\n" 2016 1986 "MAD R3.xyz, R0, R1.w, R2;\n" 2017 "ADD R2.w, -R1, c[ 4].z;\n"1987 "ADD R2.w, -R1, c[6].z;\n" 2018 1988 "MAD R2.xyz, -R0.w, R1.w, R3;\n" 2019 1989 "MUL R4.xyz, R0.w, R2;\n" 2020 "MAX R2.xyz, R0, c[ 4].w;\n"1990 "MAX R2.xyz, R0, c[6].w;\n" 2021 1991 "MUL R5.xyz, R0, R2.w;\n" 2022 "ADD R3.w, -R0, c[ 4].z;\n"1992 "ADD R3.w, -R0, c[6].z;\n" 2023 1993 "RCP R2.x, R2.x;\n" 2024 1994 "RCP R2.y, R2.y;\n" … … 2039 2009 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_HARDLIGHT_NOMASK = 2040 2010 "!!ARBfp1.0\n" 2041 "PARAM c[7] = { program.local[0..3],\n" 2042 " { 2, 4, 1 },\n" 2043 " program.local[5..6] };\n" 2011 "PARAM c[7] = { program.local[0..5],\n" 2012 " { 2, 4, 1 } };\n" 2044 2013 "TEMP R0;\n" 2045 2014 "TEMP R1;\n" … … 2047 2016 "TEMP R3;\n" 2048 2017 "TEMP R4;\n" 2049 "MUL R0.xyz, fragment.position.y, c[ 1];\n"2050 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"2051 "ADD R0.xyz, R0, c[ 2];\n"2018 "MUL R0.xyz, fragment.position.y, c[3];\n" 2019 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 2020 "ADD R0.xyz, R0, c[4];\n" 2052 2021 "RCP R0.z, R0.z;\n" 2053 2022 "MUL R0.xy, R0, R0.z;\n" 2054 2023 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 2055 "MUL R0.xy, R0, c[3];\n"2056 2024 "ADD R0.z, R0, R0.w;\n" 2025 "MUL R0.xy, R0, c[0];\n" 2057 2026 "ADD R0.x, R0, R0.y;\n" 2058 "MUL R0.z, c[5].x, -R0;\n" 2059 "MUL R0.y, R0.z, c[4];\n" 2060 "MUL R0.x, R0, c[4];\n" 2061 "MAD R0.y, R0.x, R0.x, -R0;\n" 2062 "MOV R0.z, c[4].x;\n" 2063 "RSQ R0.y, R0.y;\n" 2064 "RCP R0.y, R0.y;\n" 2065 "MUL R0.z, c[5].x, R0;\n" 2066 "MUL R1.xy, fragment.position, c[6];\n" 2027 "MUL R0.y, R0.x, c[6].x;\n" 2028 "MOV R0.x, c[6];\n" 2029 "MUL R0.z, -R0, c[1].x;\n" 2030 "MUL R0.z, R0, c[6].y;\n" 2031 "MAD R0.z, R0.y, R0.y, -R0;\n" 2032 "MUL R1.xy, fragment.position, c[5];\n" 2067 2033 "TEX R1, R1, texture[0], 2D;\n" 2068 "ADD R0.x, -R0, R0.y;\n" 2069 "RCP R0.z, R0.z;\n" 2034 "MUL R0.w, R0.x, c[1].x;\n" 2035 "RSQ R0.z, R0.z;\n" 2036 "RCP R0.x, R0.z;\n" 2037 "ADD R2.w, -R1, c[6].z;\n" 2038 "RCP R0.z, R0.w;\n" 2039 "ADD R0.x, -R0.y, R0;\n" 2070 2040 "MUL R0.x, R0, R0.z;\n" 2071 2041 "TEX R0, R0, texture[1], 1D;\n" 2072 "ADD R2.w, -R1, c[4].z;\n"2073 2042 "ADD R3.xyz, R0.w, -R0;\n" 2074 2043 "ADD R2.xyz, R1.w, -R1;\n" 2075 2044 "MUL R2.xyz, R2, R3;\n" 2076 "MUL R2.xyz, R2, c[ 4].x;\n"2045 "MUL R2.xyz, R2, c[6].x;\n" 2077 2046 "MAD R2.xyz, R0.w, R1.w, -R2;\n" 2078 2047 "MUL R4.xyz, R0, R2.w;\n" 2079 2048 "MUL R3.xyz, R0, R1;\n" 2080 2049 "MAD R2.xyz, R0, R2.w, R2;\n" 2081 "ADD R2.w, -R0, c[ 4].z;\n"2082 "MUL R0.xyz, R0, c[ 4].x;\n"2050 "ADD R2.w, -R0, c[6].z;\n" 2051 "MUL R0.xyz, R0, c[6].x;\n" 2083 2052 "MAD R2.xyz, R1, R2.w, R2;\n" 2084 "MAD R3.xyz, R3, c[ 4].x, R4;\n"2053 "MAD R3.xyz, R3, c[6].x, R4;\n" 2085 2054 "MAD R1.xyz, R1, R2.w, R3;\n" 2086 2055 "ADD R2.w, R0, R1;\n" … … 2094 2063 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SOFTLIGHT_NOMASK = 2095 2064 "!!ARBfp1.0\n" 2096 "PARAM c[8] = { program.local[0..3],\n" 2097 " { 2, 4, 1, 9.9999997e-06 },\n" 2098 " program.local[5..6],\n" 2099 " { 8, 3 } };\n" 2065 "PARAM c[8] = { program.local[0..5],\n" 2066 " { 2, 4, 1, 9.9999997e-006 },\n" 2067 " { 16, 12, 3 } };\n" 2100 2068 "TEMP R0;\n" 2101 2069 "TEMP R1;\n" … … 2105 2073 "TEMP R5;\n" 2106 2074 "TEMP R6;\n" 2107 "MUL R0.xyz, fragment.position.y, c[ 1];\n"2108 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"2109 "ADD R0.xyz, R0, c[ 2];\n"2075 "MUL R0.xyz, fragment.position.y, c[3];\n" 2076 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 2077 "ADD R0.xyz, R0, c[4];\n" 2110 2078 "RCP R0.z, R0.z;\n" 2111 2079 "MUL R0.xy, R0, R0.z;\n" 2112 2080 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 2113 "MUL R0.xy, R0, c[3];\n"2114 2081 "ADD R0.z, R0, R0.w;\n" 2082 "MUL R0.xy, R0, c[0];\n" 2115 2083 "ADD R0.x, R0, R0.y;\n" 2116 "MUL R0.z, c[5].x, -R0;\n" 2117 "MUL R0.y, R0.z, c[4];\n" 2118 "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n" 2084 "MUL R0.z, -R0, c[1].x;\n" 2085 "MUL R0.y, R0.z, c[6];\n" 2086 "MUL R0.x, R0, c[6];\n" 2087 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 2119 2088 "TEX R1, R0.zwzw, texture[0], 2D;\n" 2120 "MUL R0.x, R0, c[4];\n"2121 2089 "MAD R0.y, R0.x, R0.x, -R0;\n" 2122 "MAX R0.z, R1.w, c[4].w;\n"2123 "RCP R2.w, R0.z;\n"2124 "MUL R2.xyz, R1, R2.w;\n"2125 "MUL R6.xyz, -R2, c[7].x;\n"2126 "MAD R3.xyz, -R1, R2.w, c[4].z;\n"2127 2090 "RSQ R0.y, R0.y;\n" 2128 2091 "RCP R0.y, R0.y;\n" 2129 "ADD R0.x, -R0, R0.y;\n" 2130 "MOV R0.y, c[4].x;\n" 2131 "MUL R0.y, c[5].x, R0;\n" 2132 "RCP R0.y, R0.y;\n" 2092 "ADD R0.y, -R0.x, R0;\n" 2093 "MOV R0.x, c[6];\n" 2094 "MUL R0.x, R0, c[1];\n" 2095 "MAX R0.z, R1.w, c[6].w;\n" 2096 "RCP R0.z, R0.z;\n" 2097 "MUL R3.xyz, R1, R0.z;\n" 2098 "MAD R4.xyz, R3, c[7].x, -c[7].y;\n" 2099 "RCP R0.x, R0.x;\n" 2100 "MUL R0.x, R0.y, R0;\n" 2101 "TEX R0, R0, texture[1], 1D;\n" 2102 "MAD R2.xyz, R0, c[6].x, -R0.w;\n" 2103 "MAD R4.xyz, R3, R4, c[7].z;\n" 2104 "MUL R5.xyz, R1.w, R2;\n" 2105 "MUL R6.xyz, R5, R4;\n" 2106 "RSQ R2.w, R3.x;\n" 2107 "RCP R4.x, R2.w;\n" 2108 "RSQ R2.w, R3.y;\n" 2109 "RSQ R3.w, R3.z;\n" 2110 "RCP R4.y, R2.w;\n" 2111 "RCP R4.z, R3.w;\n" 2112 "ADD R4.xyz, -R3, R4;\n" 2113 "MUL R6.xyz, R3, R6;\n" 2114 "MUL R4.xyz, R5, R4;\n" 2115 "ADD R3.xyz, -R3, c[6].z;\n" 2116 "MAD R2.xyz, R2, R3, R0.w;\n" 2117 "MUL R3.xyz, R0, c[6].x;\n" 2118 "MAD R5.xyz, R0.w, R1, R6;\n" 2119 "MAD R4.xyz, R0.w, R1, R4;\n" 2120 "ADD R6.xyz, R4, -R5;\n" 2121 "MUL R4.xyz, R1, c[6].y;\n" 2122 "SGE R4.xyz, R4, R1.w;\n" 2123 "MAD R4.xyz, R4, R6, R5;\n" 2124 "MAD R4.xyz, -R1, R2, R4;\n" 2125 "MUL R2.xyz, R1, R2;\n" 2126 "SGE R3.xyz, R3, R0.w;\n" 2127 "MAD R2.xyz, R3, R4, R2;\n" 2128 "ADD R2.w, -R1, c[6].z;\n" 2129 "MAD R2.xyz, R0, R2.w, R2;\n" 2130 "ADD R0.x, R0.w, R1.w;\n" 2131 "ADD R0.y, -R0.w, c[6].z;\n" 2132 "MAD result.color.xyz, R1, R0.y, R2;\n" 2133 "MAD result.color.w, -R0, R1, R0.x;\n" 2134 "END\n" 2135 ; 2136 2137 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_DIFFERENCE_NOMASK = 2138 "!!ARBfp1.0\n" 2139 "PARAM c[7] = { program.local[0..5],\n" 2140 " { 2, 4 } };\n" 2141 "TEMP R0;\n" 2142 "TEMP R1;\n" 2143 "TEMP R2;\n" 2144 "TEMP R3;\n" 2145 "MUL R0.xyz, fragment.position.y, c[3];\n" 2146 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 2147 "ADD R0.xyz, R0, c[4];\n" 2148 "RCP R0.z, R0.z;\n" 2149 "MUL R0.xy, R0, R0.z;\n" 2150 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 2151 "ADD R0.z, R0, R0.w;\n" 2152 "MUL R0.xy, R0, c[0];\n" 2153 "ADD R0.x, R0, R0.y;\n" 2154 "MUL R0.z, -R0, c[1].x;\n" 2155 "MUL R0.y, R0.x, c[6].x;\n" 2156 "MUL R0.z, R0, c[6].y;\n" 2157 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 2158 "RSQ R0.z, R0.x;\n" 2159 "MOV R0.x, c[6];\n" 2160 "MUL R0.w, R0.x, c[1].x;\n" 2161 "RCP R0.z, R0.z;\n" 2162 "ADD R0.x, -R0.y, R0.z;\n" 2163 "RCP R0.y, R0.w;\n" 2164 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 2165 "TEX R1, R0.zwzw, texture[0], 2D;\n" 2133 2166 "MUL R0.x, R0, R0.y;\n" 2134 2167 "TEX R0, R0, texture[1], 1D;\n" 2135 "MAD R4.xyz, R0, c[4].x, -R0.w;\n"2136 "MUL R5.xyz, R3, R4;\n"2137 "MAD R3.xyz, -R3, R4, R0.w;\n"2138 "ADD R6.xyz, R6, c[7].y;\n"2139 "RSQ R2.x, R2.x;\n"2140 "RSQ R2.z, R2.z;\n"2141 "RSQ R2.y, R2.y;\n"2142 "MAD R5.xyz, -R5, R6, R0.w;\n"2143 "MUL R3.xyz, R1, R3;\n"2144 "RCP R2.x, R2.x;\n"2145 "RCP R2.z, R2.z;\n"2146 "RCP R2.y, R2.y;\n"2147 "MAD R2.xyz, R2, R1.w, -R1;\n"2148 "MUL R6.xyz, R2, R4;\n"2149 "MUL R2.xyz, R1, R5;\n"2150 "MUL R4.xyz, R0, c[4].x;\n"2151 "MAD R6.xyz, R1, R0.w, R6;\n"2152 "MUL R5.xyz, R1, c[7].x;\n"2153 "ADD R6.xyz, R6, -R2;\n"2154 "SGE R5.xyz, R5, R1.w;\n"2155 "MUL R5.xyz, R5, R6;\n"2156 "ADD R2.xyz, R2, R5;\n"2157 "ADD R2.xyz, R2, -R3;\n"2158 "SGE R4.xyz, R4, R0.w;\n"2159 "MUL R2.xyz, R4, R2;\n"2160 "ADD R2.xyz, R3, R2;\n"2161 "ADD R2.w, -R1, c[4].z;\n"2162 "MAD R0.xyz, R0, R2.w, R2;\n"2163 "ADD R2.x, R0.w, R1.w;\n"2164 "ADD R2.y, -R0.w, c[4].z;\n"2165 "MAD result.color.xyz, R1, R2.y, R0;\n"2166 "MAD result.color.w, -R0, R1, R2.x;\n"2167 "END\n"2168 ;2169 2170 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_DIFFERENCE_NOMASK =2171 "!!ARBfp1.0\n"2172 "PARAM c[7] = { program.local[0..3],\n"2173 " { 2, 4 },\n"2174 " program.local[5..6] };\n"2175 "TEMP R0;\n"2176 "TEMP R1;\n"2177 "TEMP R2;\n"2178 "TEMP R3;\n"2179 "MUL R0.xyz, fragment.position.y, c[1];\n"2180 "MAD R0.xyz, fragment.position.x, c[0], R0;\n"2181 "ADD R0.xyz, R0, c[2];\n"2182 "RCP R0.z, R0.z;\n"2183 "MUL R0.xy, R0, R0.z;\n"2184 "MUL R0.zw, R0.xyxy, R0.xyxy;\n"2185 "MUL R0.xy, R0, c[3];\n"2186 "ADD R0.z, R0, R0.w;\n"2187 "ADD R0.x, R0, R0.y;\n"2188 "MUL R0.z, c[5].x, -R0;\n"2189 "MUL R0.y, R0.z, c[4];\n"2190 "MUL R0.x, R0, c[4];\n"2191 "MAD R0.y, R0.x, R0.x, -R0;\n"2192 "MOV R0.z, c[4].x;\n"2193 "RSQ R0.y, R0.y;\n"2194 "RCP R0.y, R0.y;\n"2195 "MUL R0.z, c[5].x, R0;\n"2196 "MUL R1.xy, fragment.position, c[6];\n"2197 "TEX R1, R1, texture[0], 2D;\n"2198 "ADD R0.x, -R0, R0.y;\n"2199 "RCP R0.z, R0.z;\n"2200 "MUL R0.x, R0, R0.z;\n"2201 "TEX R0, R0, texture[1], 1D;\n"2202 2168 "MUL R2.xyz, R0, R1.w;\n" 2203 "MUL R3.xyz, R 1, R0.w;\n"2169 "MUL R3.xyz, R0.w, R1;\n" 2204 2170 "ADD R0.xyz, R0, R1;\n" 2205 2171 "MIN R2.xyz, R2, R3;\n" 2206 2172 "ADD R1.x, R0.w, R1.w;\n" 2207 "MAD result.color.xyz, -R2, c[ 4].x, R0;\n"2173 "MAD result.color.xyz, -R2, c[6].x, R0;\n" 2208 2174 "MAD result.color.w, -R0, R1, R1.x;\n" 2209 2175 "END\n" … … 2212 2178 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_EXCLUSION_NOMASK = 2213 2179 "!!ARBfp1.0\n" 2214 "PARAM c[7] = { program.local[0..3],\n" 2215 " { 2, 4, 1 },\n" 2216 " program.local[5..6] };\n" 2217 "TEMP R0;\n" 2218 "TEMP R1;\n" 2219 "TEMP R2;\n" 2220 "TEMP R3;\n" 2221 "MUL R0.xyz, fragment.position.y, c[1];\n" 2222 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 2223 "ADD R0.xyz, R0, c[2];\n" 2180 "PARAM c[7] = { program.local[0..5],\n" 2181 " { 2, 4, 1 } };\n" 2182 "TEMP R0;\n" 2183 "TEMP R1;\n" 2184 "TEMP R2;\n" 2185 "TEMP R3;\n" 2186 "MUL R0.xyz, fragment.position.y, c[3];\n" 2187 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 2188 "ADD R0.xyz, R0, c[4];\n" 2224 2189 "RCP R0.z, R0.z;\n" 2225 2190 "MUL R0.xy, R0, R0.z;\n" 2226 2191 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 2227 "MUL R0.xy, R0, c[3];\n"2228 2192 "ADD R0.z, R0, R0.w;\n" 2193 "MUL R0.xy, R0, c[0];\n" 2229 2194 "ADD R0.x, R0, R0.y;\n" 2230 "MUL R0.z, c[5].x, -R0;\n"2231 "MUL R0.y, R0. z, c[4];\n"2232 "MUL R0. x, R0, c[4];\n"2233 "MAD R0. y, R0.x, R0.x, -R0;\n"2234 " MOV R0.z, c[4].x;\n"2235 " RSQ R0.y, R0.y;\n"2236 " RCP R0.y, R0.y;\n"2237 " MUL R0.z, c[5].x, R0;\n"2238 " MUL R1.xy, fragment.position, c[6];\n"2239 " TEX R1, R1, texture[0], 2D;\n"2240 " ADD R0.x, -R0, R0.y;\n"2241 " RCP R0.z, R0.z;\n"2242 "MUL R0.x, R0, R0. z;\n"2195 "MUL R0.z, -R0, c[1].x;\n" 2196 "MUL R0.y, R0.x, c[6].x;\n" 2197 "MUL R0.z, R0, c[6].y;\n" 2198 "MAD R0.x, R0.y, R0.y, -R0.z;\n" 2199 "RSQ R0.z, R0.x;\n" 2200 "MOV R0.x, c[6];\n" 2201 "MUL R0.w, R0.x, c[1].x;\n" 2202 "RCP R0.z, R0.z;\n" 2203 "ADD R0.x, -R0.y, R0.z;\n" 2204 "RCP R0.y, R0.w;\n" 2205 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 2206 "TEX R1, R0.zwzw, texture[0], 2D;\n" 2207 "MUL R0.x, R0, R0.y;\n" 2243 2208 "TEX R0, R0, texture[1], 1D;\n" 2244 "MUL R2.xyz, R 1, R0.w;\n"2209 "MUL R2.xyz, R0.w, R1;\n" 2245 2210 "MAD R3.xyz, R0, R1.w, R2;\n" 2246 2211 "MUL R2.xyz, R0, R1;\n" 2247 "MAD R2.xyz, -R2, c[ 4].x, R3;\n"2248 "ADD R2.w, -R1, c[ 4].z;\n"2212 "MAD R2.xyz, -R2, c[6].x, R3;\n" 2213 "ADD R2.w, -R1, c[6].z;\n" 2249 2214 "MAD R0.xyz, R0, R2.w, R2;\n" 2250 2215 "ADD R2.x, R0.w, R1.w;\n" 2251 "ADD R2.y, -R0.w, c[ 4].z;\n"2216 "ADD R2.y, -R0.w, c[6].z;\n" 2252 2217 "MAD result.color.xyz, R1, R2.y, R0;\n" 2253 2218 "MAD result.color.w, -R0, R1, R2.x;\n" … … 2257 2222 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODE_BLEND_MODE_MASK = 2258 2223 "!!ARBfp1.0\n" 2259 "PARAM c[9] = { program.local[0..3],\n" 2260 " { 2, 4 },\n" 2261 " program.local[5..8] };\n" 2262 "TEMP R0;\n" 2263 "TEMP R1;\n" 2264 "MUL R0.xyz, fragment.position.y, c[1];\n" 2265 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 2266 "ADD R0.xyz, R0, c[2];\n" 2224 "PARAM c[9] = { program.local[0..7],\n" 2225 " { 2, 4 } };\n" 2226 "TEMP R0;\n" 2227 "TEMP R1;\n" 2228 "MUL R0.xyz, fragment.position.y, c[3];\n" 2229 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 2230 "ADD R0.xyz, R0, c[4];\n" 2267 2231 "RCP R0.z, R0.z;\n" 2268 2232 "MUL R0.xy, R0, R0.z;\n" 2269 2233 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 2270 "MUL R0.xy, R0, c[3];\n"2271 2234 "ADD R0.z, R0, R0.w;\n" 2235 "MUL R0.xy, R0, c[0];\n" 2272 2236 "ADD R0.x, R0, R0.y;\n" 2273 "MUL R0.z, c[5].x, -R0;\n"2274 "MUL R0.y, R0.z, c[ 4];\n"2275 "MUL R0.x, R0, c[ 4];\n"2237 "MUL R0.z, -R0, c[1].x;\n" 2238 "MUL R0.y, R0.z, c[8];\n" 2239 "MUL R0.x, R0, c[8];\n" 2276 2240 "MAD R0.y, R0.x, R0.x, -R0;\n" 2277 2241 "RSQ R0.y, R0.y;\n" 2278 2242 "RCP R0.y, R0.y;\n" 2279 2243 "ADD R1.x, -R0, R0.y;\n" 2280 "MOV R0. z, c[4].x;\n"2281 "MUL R0. z, c[5].x, R0;\n"2282 "RCP R1.y, R0. z;\n"2283 "ADD R0. xy, fragment.position, c[6];\n"2284 "MUL R0. xy, R0, c[7];\n"2285 "TEX R0, R0 , texture[0], 2D;\n"2244 "MOV R0.x, c[8];\n" 2245 "MUL R0.x, R0, c[1];\n" 2246 "RCP R1.y, R0.x;\n" 2247 "ADD R0.zw, fragment.position.xyxy, c[6].xyxy;\n" 2248 "MUL R0.zw, R0, c[5].xyxy;\n" 2249 "TEX R0, R0.zwzw, texture[0], 2D;\n" 2286 2250 "MUL R1.x, R1, R1.y;\n" 2287 "DP4 R1.y, R0, c[ 8];\n"2251 "DP4 R1.y, R0, c[7];\n" 2288 2252 "TEX R0, R1, texture[1], 1D;\n" 2289 2253 "MUL result.color, R0, R1.y;\n" … … 2293 2257 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODE_BLEND_MODE_NOMASK = 2294 2258 "!!ARBfp1.0\n" 2295 "PARAM c[6] = { program.local[0..3],\n" 2296 " { 2, 4 },\n" 2297 " program.local[5] };\n" 2298 "TEMP R0;\n" 2299 "MUL R0.xyz, fragment.position.y, c[1];\n" 2300 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 2301 "ADD R0.xyz, R0, c[2];\n" 2259 "PARAM c[6] = { program.local[0..4],\n" 2260 " { 2, 4 } };\n" 2261 "TEMP R0;\n" 2262 "MUL R0.xyz, fragment.position.y, c[3];\n" 2263 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" 2264 "ADD R0.xyz, R0, c[4];\n" 2302 2265 "RCP R0.z, R0.z;\n" 2303 2266 "MUL R0.xy, R0, R0.z;\n" 2304 2267 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" 2305 "MUL R0.xy, R0, c[3];\n" 2268 "MUL R0.xy, R0, c[0];\n" 2269 "ADD R0.z, R0, R0.w;\n" 2306 2270 "ADD R0.x, R0, R0.y;\n" 2307 "ADD R0.z, R0, R0.w;\n" 2308 "MUL R0.z, c[5].x, -R0;\n" 2309 "MUL R0.y, R0.z, c[4];\n" 2310 "MUL R0.x, R0, c[4];\n" 2311 "MAD R0.y, R0.x, R0.x, -R0;\n" 2312 "MOV R0.z, c[4].x;\n" 2313 "RSQ R0.y, R0.y;\n" 2314 "MUL R0.z, c[5].x, R0;\n" 2315 "RCP R0.y, R0.y;\n" 2316 "RCP R0.z, R0.z;\n" 2271 "MUL R0.z, -R0, c[1].x;\n" 2272 "MUL R0.y, R0.z, c[5];\n" 2273 "MUL R0.x, R0, c[5];\n" 2274 "MAD R0.z, R0.x, R0.x, -R0.y;\n" 2275 "MOV R0.y, c[5].x;\n" 2276 "RSQ R0.z, R0.z;\n" 2277 "MUL R0.w, R0.y, c[1].x;\n" 2278 "RCP R0.y, R0.z;\n" 2279 "RCP R0.z, R0.w;\n" 2317 2280 "ADD R0.x, -R0, R0.y;\n" 2318 2281 "MUL R0.x, R0, R0.z;\n" … … 2323 2286 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SIMPLE_PORTER_DUFF = 2324 2287 "!!ARBfp1.0\n" 2325 "PARAM c[13] = { program.local[0..5],\n" 2326 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2327 " { 2.3561945, 0.78539819, -1, 1 },\n" 2328 " program.local[8],\n" 2329 " { 0.15915494 },\n" 2330 " program.local[10..12] };\n" 2331 "TEMP R0;\n" 2332 "TEMP R1;\n" 2333 "TEMP R2;\n" 2334 "TEMP R3;\n" 2335 "MUL R0.xyz, fragment.position.y, c[4];\n" 2336 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 2337 "ADD R0.xyz, R0, c[5];\n" 2338 "RCP R0.z, R0.z;\n" 2339 "MUL R0.xy, R0, R0.z;\n" 2340 "ABS R0.w, R0.x;\n" 2341 "ABS R0.z, R0.y;\n" 2342 "ADD R0.z, R0, -R0.w;\n" 2343 "ADD R0.w, R0.y, c[6].x;\n" 2344 "ABS R0.z, R0;\n" 2345 "CMP R0.y, -R0.z, R0, R0.w;\n" 2346 "ABS R0.z, -R0.y;\n" 2347 "ADD R0.z, R0, c[6].y;\n" 2348 "ADD R0.w, R0.x, R0.z;\n" 2349 "ADD R1.x, R0.z, -R0;\n" 2350 "RCP R1.y, R0.w;\n" 2351 "RCP R1.x, R1.x;\n" 2352 "MUL R0.w, R0, R1.x;\n" 2353 "ADD R0.z, R0.x, -R0;\n" 2354 "MUL R0.z, R0, R1.y;\n" 2355 "CMP R0.z, R0.x, R0.w, R0;\n" 2356 "MUL R0.w, R0.z, R0.z;\n" 2357 "MOV R1.x, c[7].y;\n" 2358 "CMP R0.x, R0, c[7], R1;\n" 2359 "MAD R0.w, R0, c[6].z, -c[6];\n" 2360 "MAD R0.x, R0.w, R0.z, R0;\n" 2361 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2362 "MAD R0.x, R0, R0.y, c[8];\n" 2363 "MUL R0.x, R0, c[9];\n" 2288 "PARAM c[13] = { program.local[0..9],\n" 2289 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 2290 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 2291 " { 0.33299461, 0.99999559, 1 } };\n" 2292 "TEMP R0;\n" 2293 "TEMP R1;\n" 2294 "TEMP R2;\n" 2295 "TEMP R3;\n" 2296 "MUL R0.xyz, fragment.position.y, c[2];\n" 2297 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2298 "ADD R0.xyz, R0, c[3];\n" 2299 "RCP R0.z, R0.z;\n" 2300 "MUL R0.xy, R0, R0.z;\n" 2301 "ABS R0.z, R0.x;\n" 2302 "ABS R0.w, R0.y;\n" 2303 "ADD R0.w, R0, -R0.z;\n" 2304 "ADD R1.x, R0.y, c[10].y;\n" 2305 "ABS R0.w, R0;\n" 2306 "CMP R0.y, -R0.w, R0, R1.x;\n" 2307 "ABS R0.w, -R0.y;\n" 2308 "MAX R1.x, R0.z, R0.w;\n" 2309 "RCP R1.y, R1.x;\n" 2310 "MIN R1.x, R0.z, R0.w;\n" 2311 "MUL R1.x, R1, R1.y;\n" 2312 "MUL R1.y, R1.x, R1.x;\n" 2313 "MAD R1.z, R1.y, c[11].x, c[11].y;\n" 2314 "MAD R1.z, R1, R1.y, -c[11];\n" 2315 "MAD R1.z, R1, R1.y, c[11].w;\n" 2316 "MAD R1.z, R1, R1.y, -c[12].x;\n" 2317 "MAD R1.y, R1.z, R1, c[12];\n" 2318 "MUL R1.x, R1.y, R1;\n" 2319 "ADD R1.y, -R1.x, c[10].w;\n" 2320 "ADD R0.z, -R0, R0.w;\n" 2321 "CMP R0.z, -R0, R1.y, R1.x;\n" 2322 "ADD R0.w, -R0.z, c[10].z;\n" 2323 "CMP R0.x, R0, R0.w, R0.z;\n" 2324 "CMP R0.x, -R0.y, -R0, R0;\n" 2325 "ADD R0.x, R0, c[0];\n" 2326 "MUL R1.x, R0, c[10];\n" 2327 "FLR R1.y, R1.x;\n" 2328 "MUL R0.xy, fragment.position, c[7];\n" 2329 "TEX R0, R0, texture[0], 2D;\n" 2330 "ADD R1.x, R1, -R1.y;\n" 2331 "TEX R1, R1, texture[2], 1D;\n" 2332 "MUL R2.xyz, R0, c[4].y;\n" 2333 "MUL R3.xyz, R1.w, R2;\n" 2334 "MUL R2.xyz, R1, c[4].x;\n" 2335 "MAD R2.xyz, R0.w, R2, R3;\n" 2336 "ADD R3.xy, fragment.position, c[8];\n" 2337 "ADD R2.w, -R0, c[12].z;\n" 2338 "MUL R1.xyz, R1, c[5].y;\n" 2339 "MAD R2.xyz, R2.w, R1, R2;\n" 2340 "MUL R1.xyz, R0, c[5].z;\n" 2341 "ADD R3.z, -R1.w, c[12];\n" 2342 "MAD R2.xyz, R3.z, R1, R2;\n" 2343 "MUL R1.y, R1.w, R2.w;\n" 2344 "MUL R1.x, R1.w, R0.w;\n" 2345 "MUL R1.z, R0.w, R3;\n" 2346 "DP3 R2.w, R1, c[5];\n" 2347 "MUL R3.xy, R3, c[6];\n" 2348 "TEX R1, R3, texture[1], 2D;\n" 2349 "ADD R2, R2, -R0;\n" 2350 "DP4 R1.x, R1, c[9];\n" 2351 "MAD result.color, R1.x, R2, R0;\n" 2352 "END\n" 2353 ; 2354 2355 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_MULTIPLY = 2356 "!!ARBfp1.0\n" 2357 "PARAM c[11] = { program.local[0..7],\n" 2358 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 2359 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 2360 " { 0.33299461, 0.99999559, 1 } };\n" 2361 "TEMP R0;\n" 2362 "TEMP R1;\n" 2363 "TEMP R2;\n" 2364 "MUL R0.xyz, fragment.position.y, c[2];\n" 2365 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2366 "ADD R0.xyz, R0, c[3];\n" 2367 "RCP R0.z, R0.z;\n" 2368 "MUL R0.xy, R0, R0.z;\n" 2369 "ABS R0.z, R0.x;\n" 2370 "ABS R0.w, R0.y;\n" 2371 "ADD R0.w, R0, -R0.z;\n" 2372 "ADD R1.x, R0.y, c[8].y;\n" 2373 "ABS R0.w, R0;\n" 2374 "CMP R0.y, -R0.w, R0, R1.x;\n" 2375 "ABS R0.w, -R0.y;\n" 2376 "MAX R1.x, R0.z, R0.w;\n" 2377 "RCP R1.y, R1.x;\n" 2378 "MIN R1.x, R0.z, R0.w;\n" 2379 "MUL R1.x, R1, R1.y;\n" 2380 "MUL R1.y, R1.x, R1.x;\n" 2381 "MAD R1.z, R1.y, c[9].x, c[9].y;\n" 2382 "MAD R1.z, R1, R1.y, -c[9];\n" 2383 "MAD R1.z, R1, R1.y, c[9].w;\n" 2384 "MAD R1.z, R1, R1.y, -c[10].x;\n" 2385 "MAD R1.y, R1.z, R1, c[10];\n" 2386 "MUL R1.x, R1.y, R1;\n" 2387 "ADD R1.y, -R1.x, c[8].w;\n" 2388 "ADD R0.z, -R0, R0.w;\n" 2389 "CMP R0.z, -R0, R1.y, R1.x;\n" 2390 "ADD R0.w, -R0.z, c[8].z;\n" 2391 "CMP R0.x, R0, R0.w, R0.z;\n" 2392 "CMP R0.x, -R0.y, -R0, R0;\n" 2393 "ADD R0.x, R0, c[0];\n" 2394 "MUL R1.x, R0, c[8];\n" 2395 "FLR R1.y, R1.x;\n" 2396 "MUL R0.xy, fragment.position, c[5];\n" 2397 "TEX R0, R0, texture[0], 2D;\n" 2398 "ADD R1.x, R1, -R1.y;\n" 2399 "TEX R1, R1, texture[2], 1D;\n" 2400 "ADD R2.x, -R0.w, c[10].z;\n" 2401 "MUL R2.xyz, R1, R2.x;\n" 2402 "MAD R1.xyz, R1, R0, R2;\n" 2403 "ADD R2.x, -R1.w, c[10].z;\n" 2404 "MAD R2.xyz, R0, R2.x, R1;\n" 2405 "ADD R1.z, R1.w, R0.w;\n" 2406 "MAD R2.w, -R1, R0, R1.z;\n" 2407 "ADD R1.xy, fragment.position, c[6];\n" 2408 "MUL R1.xy, R1, c[4];\n" 2409 "TEX R1, R1, texture[1], 2D;\n" 2410 "ADD R2, R2, -R0;\n" 2411 "DP4 R1.x, R1, c[7];\n" 2412 "MAD result.color, R1.x, R2, R0;\n" 2413 "END\n" 2414 ; 2415 2416 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SCREEN = 2417 "!!ARBfp1.0\n" 2418 "PARAM c[11] = { program.local[0..7],\n" 2419 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 2420 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 2421 " { 0.33299461, 0.99999559 } };\n" 2422 "TEMP R0;\n" 2423 "TEMP R1;\n" 2424 "TEMP R2;\n" 2425 "TEMP R3;\n" 2426 "MUL R0.xyz, fragment.position.y, c[2];\n" 2427 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2428 "ADD R0.xyz, R0, c[3];\n" 2429 "RCP R0.z, R0.z;\n" 2430 "MUL R0.xy, R0, R0.z;\n" 2431 "ADD R3.xy, fragment.position, c[6];\n" 2432 "ABS R0.z, R0.x;\n" 2433 "ABS R0.w, R0.y;\n" 2434 "ADD R0.w, R0, -R0.z;\n" 2435 "ADD R1.x, R0.y, c[8].y;\n" 2436 "ABS R0.w, R0;\n" 2437 "CMP R0.y, -R0.w, R0, R1.x;\n" 2438 "ABS R0.w, -R0.y;\n" 2439 "MAX R1.x, R0.z, R0.w;\n" 2440 "RCP R1.y, R1.x;\n" 2441 "MIN R1.x, R0.z, R0.w;\n" 2442 "MUL R1.x, R1, R1.y;\n" 2443 "MUL R1.y, R1.x, R1.x;\n" 2444 "MAD R1.z, R1.y, c[9].x, c[9].y;\n" 2445 "MAD R1.z, R1, R1.y, -c[9];\n" 2446 "MAD R1.z, R1, R1.y, c[9].w;\n" 2447 "MAD R1.z, R1, R1.y, -c[10].x;\n" 2448 "MAD R1.y, R1.z, R1, c[10];\n" 2449 "MUL R1.x, R1.y, R1;\n" 2450 "ADD R0.z, -R0, R0.w;\n" 2451 "ADD R1.y, -R1.x, c[8].w;\n" 2452 "CMP R0.z, -R0, R1.y, R1.x;\n" 2453 "ADD R0.w, -R0.z, c[8].z;\n" 2454 "CMP R0.x, R0, R0.w, R0.z;\n" 2455 "CMP R0.x, -R0.y, -R0, R0;\n" 2456 "ADD R0.x, R0, c[0];\n" 2457 "MUL R0.x, R0, c[8];\n" 2364 2458 "FLR R0.y, R0.x;\n" 2365 "MUL R0.zw, fragment.position.xyxy, c[10].xyxy;\n" 2366 "TEX R1, R0.zwzw, texture[0], 2D;\n" 2367 "ADD R0.x, R0, -R0.y;\n" 2368 "TEX R0, R0, texture[2], 1D;\n" 2369 "MUL R2.xyz, R1, c[12].y;\n" 2370 "MUL R3.xyz, R2, R0.w;\n" 2371 "MUL R2.xyz, R0, c[12].x;\n" 2372 "MAD R2.xyz, R2, R1.w, R3;\n" 2373 "ADD R3.xy, fragment.position, c[0];\n" 2374 "ADD R2.w, -R1, c[7];\n" 2375 "MUL R0.xyz, R0, c[11].y;\n" 2376 "MAD R2.xyz, R0, R2.w, R2;\n" 2377 "MUL R0.xyz, R1, c[11].z;\n" 2378 "ADD R3.z, -R0.w, c[7].w;\n" 2379 "MAD R2.xyz, R0, R3.z, R2;\n" 2380 "MUL R0.y, R0.w, R2.w;\n" 2381 "MUL R0.x, R0.w, R1.w;\n" 2382 "MUL R0.z, R1.w, R3;\n" 2383 "DP3 R2.w, R0, c[11];\n" 2384 "MUL R3.xy, R3, c[1];\n" 2385 "TEX R0, R3, texture[1], 2D;\n" 2386 "ADD R2, R2, -R1;\n" 2387 "DP4 R0.x, R0, c[2];\n" 2388 "MAD result.color, R0.x, R2, R1;\n" 2389 "END\n" 2390 ; 2391 2392 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_MULTIPLY = 2393 "!!ARBfp1.0\n" 2394 "PARAM c[11] = { program.local[0..5],\n" 2395 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2396 " { 2.3561945, 0.78539819, -1, 1 },\n" 2397 " program.local[8],\n" 2398 " { 0.15915494 },\n" 2399 " program.local[10] };\n" 2400 "TEMP R0;\n" 2401 "TEMP R1;\n" 2402 "TEMP R2;\n" 2403 "MUL R0.xyz, fragment.position.y, c[4];\n" 2404 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 2405 "ADD R0.xyz, R0, c[5];\n" 2406 "RCP R0.z, R0.z;\n" 2407 "MUL R0.xy, R0, R0.z;\n" 2408 "ABS R0.w, R0.x;\n" 2409 "ABS R0.z, R0.y;\n" 2410 "ADD R0.z, R0, -R0.w;\n" 2411 "ADD R0.w, R0.y, c[6].x;\n" 2412 "ABS R0.z, R0;\n" 2413 "CMP R0.y, -R0.z, R0, R0.w;\n" 2414 "ABS R0.z, -R0.y;\n" 2415 "ADD R0.z, R0, c[6].y;\n" 2416 "ADD R0.w, R0.x, R0.z;\n" 2417 "ADD R1.x, R0.z, -R0;\n" 2418 "RCP R1.y, R0.w;\n" 2419 "RCP R1.x, R1.x;\n" 2420 "MUL R0.w, R0, R1.x;\n" 2421 "ADD R0.z, R0.x, -R0;\n" 2422 "MUL R0.z, R0, R1.y;\n" 2423 "CMP R0.z, R0.x, R0.w, R0;\n" 2424 "MUL R0.w, R0.z, R0.z;\n" 2425 "MOV R1.x, c[7].y;\n" 2426 "CMP R0.x, R0, c[7], R1;\n" 2427 "MAD R0.w, R0, c[6].z, -c[6];\n" 2428 "MAD R0.x, R0.w, R0.z, R0;\n" 2429 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2430 "MAD R0.x, R0, R0.y, c[8];\n" 2431 "MUL R0.x, R0, c[9];\n" 2432 "FLR R0.y, R0.x;\n" 2433 "MUL R0.zw, fragment.position.xyxy, c[10].xyxy;\n" 2434 "TEX R1, R0.zwzw, texture[0], 2D;\n" 2435 "ADD R0.x, R0, -R0.y;\n" 2436 "TEX R0, R0, texture[2], 1D;\n" 2437 "ADD R2.x, -R1.w, c[7].w;\n" 2438 "MUL R2.xyz, R0, R2.x;\n" 2439 "MAD R0.xyz, R0, R1, R2;\n" 2440 "ADD R2.x, -R0.w, c[7].w;\n" 2441 "MAD R2.xyz, R1, R2.x, R0;\n" 2442 "ADD R0.z, R0.w, R1.w;\n" 2443 "MAD R2.w, -R0, R1, R0.z;\n" 2444 "ADD R0.xy, fragment.position, c[0];\n" 2445 "MUL R0.xy, R0, c[1];\n" 2446 "TEX R0, R0, texture[1], 2D;\n" 2447 "ADD R2, R2, -R1;\n" 2448 "DP4 R0.x, R0, c[2];\n" 2449 "MAD result.color, R0.x, R2, R1;\n" 2450 "END\n" 2451 ; 2452 2453 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SCREEN = 2454 "!!ARBfp1.0\n" 2455 "PARAM c[11] = { program.local[0..5],\n" 2456 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2457 " { 2.3561945, 0.78539819, -1, 1 },\n" 2458 " program.local[8],\n" 2459 " { 0.15915494 },\n" 2460 " program.local[10] };\n" 2461 "TEMP R0;\n" 2462 "TEMP R1;\n" 2463 "TEMP R2;\n" 2464 "TEMP R3;\n" 2465 "MUL R0.xyz, fragment.position.y, c[4];\n" 2466 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 2467 "ADD R0.xyz, R0, c[5];\n" 2468 "RCP R0.z, R0.z;\n" 2469 "MUL R0.xy, R0, R0.z;\n" 2470 "ADD R3.xy, fragment.position, c[0];\n" 2471 "ABS R0.w, R0.x;\n" 2472 "ABS R0.z, R0.y;\n" 2473 "ADD R0.z, R0, -R0.w;\n" 2474 "ADD R0.w, R0.y, c[6].x;\n" 2475 "ABS R0.z, R0;\n" 2476 "CMP R0.y, -R0.z, R0, R0.w;\n" 2477 "ABS R0.z, -R0.y;\n" 2478 "ADD R0.z, R0, c[6].y;\n" 2479 "ADD R0.w, R0.x, R0.z;\n" 2480 "ADD R1.x, R0.z, -R0;\n" 2481 "RCP R1.y, R0.w;\n" 2482 "RCP R1.x, R1.x;\n" 2483 "MUL R0.w, R0, R1.x;\n" 2484 "ADD R0.z, R0.x, -R0;\n" 2485 "MUL R0.z, R0, R1.y;\n" 2486 "CMP R0.z, R0.x, R0.w, R0;\n" 2487 "MUL R0.w, R0.z, R0.z;\n" 2488 "MOV R1.x, c[7].y;\n" 2489 "CMP R0.x, R0, c[7], R1;\n" 2490 "MAD R0.w, R0, c[6].z, -c[6];\n" 2491 "MUL R1.xy, fragment.position, c[10];\n" 2492 "TEX R1, R1, texture[0], 2D;\n" 2493 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2494 "MAD R0.x, R0.w, R0.z, R0;\n" 2495 "MAD R0.x, R0, R0.y, c[8];\n" 2496 "MUL R0.x, R0, c[9];\n" 2459 "ADD R0.z, R0.x, -R0.y;\n" 2460 "TEX R1, R0.z, texture[2], 1D;\n" 2461 "MUL R0.xy, fragment.position, c[5];\n" 2462 "TEX R0, R0, texture[0], 2D;\n" 2463 "ADD R2, R1, R0;\n" 2464 "MAD R2, -R1, R0, R2;\n" 2465 "MUL R3.xy, R3, c[4];\n" 2466 "TEX R1, R3, texture[1], 2D;\n" 2467 "ADD R2, R2, -R0;\n" 2468 "DP4 R1.x, R1, c[7];\n" 2469 "MAD result.color, R1.x, R2, R0;\n" 2470 "END\n" 2471 ; 2472 2473 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_OVERLAY = 2474 "!!ARBfp1.0\n" 2475 "PARAM c[11] = { program.local[0..7],\n" 2476 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 2477 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 2478 " { 3.141593, 0.15915494, 2, 1 } };\n" 2479 "TEMP R0;\n" 2480 "TEMP R1;\n" 2481 "TEMP R2;\n" 2482 "TEMP R3;\n" 2483 "TEMP R4;\n" 2484 "MUL R0.xyz, fragment.position.y, c[2];\n" 2485 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2486 "ADD R0.xyz, R0, c[3];\n" 2487 "RCP R0.z, R0.z;\n" 2488 "MUL R0.xy, R0, R0.z;\n" 2489 "ABS R0.z, R0.x;\n" 2490 "ABS R0.w, R0.y;\n" 2491 "ADD R0.w, R0, -R0.z;\n" 2492 "ADD R1.x, R0.y, c[8];\n" 2493 "ABS R0.w, R0;\n" 2494 "CMP R0.y, -R0.w, R0, R1.x;\n" 2495 "ABS R0.w, -R0.y;\n" 2496 "MAX R1.x, R0.z, R0.w;\n" 2497 "RCP R1.y, R1.x;\n" 2498 "MIN R1.x, R0.z, R0.w;\n" 2499 "MUL R1.x, R1, R1.y;\n" 2500 "MUL R1.y, R1.x, R1.x;\n" 2501 "MAD R1.z, R1.y, c[8].y, c[8];\n" 2502 "MAD R1.z, R1, R1.y, -c[8].w;\n" 2503 "MAD R1.z, R1, R1.y, c[9].x;\n" 2504 "MAD R1.z, R1, R1.y, -c[9].y;\n" 2505 "MAD R1.y, R1.z, R1, c[9].z;\n" 2506 "MUL R1.x, R1.y, R1;\n" 2507 "ADD R0.z, -R0, R0.w;\n" 2508 "ADD R1.y, -R1.x, c[9].w;\n" 2509 "CMP R0.z, -R0, R1.y, R1.x;\n" 2510 "ADD R0.w, -R0.z, c[10].x;\n" 2511 "CMP R0.x, R0, R0.w, R0.z;\n" 2512 "CMP R0.x, -R0.y, -R0, R0;\n" 2513 "ADD R0.x, R0, c[0];\n" 2514 "MUL R0.x, R0, c[10].y;\n" 2497 2515 "FLR R0.y, R0.x;\n" 2498 2516 "ADD R0.x, R0, -R0.y;\n" 2499 2517 "TEX R0, R0, texture[2], 1D;\n" 2500 "ADD R2, R0, R1;\n" 2501 "MAD R2, -R0, R1, R2;\n" 2502 "MUL R3.xy, R3, c[1];\n" 2503 "TEX R0, R3, texture[1], 2D;\n" 2504 "ADD R2, R2, -R1;\n" 2505 "DP4 R0.x, R0, c[2];\n" 2506 "MAD result.color, R0.x, R2, R1;\n" 2507 "END\n" 2508 ; 2509 2510 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_OVERLAY = 2511 "!!ARBfp1.0\n" 2512 "PARAM c[11] = { program.local[0..5],\n" 2513 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2514 " { 2.3561945, 0.78539819, -1, 1 },\n" 2515 " program.local[8],\n" 2516 " { 0.15915494, 2 },\n" 2517 " program.local[10] };\n" 2518 "TEMP R0;\n" 2519 "TEMP R1;\n" 2520 "TEMP R2;\n" 2521 "TEMP R3;\n" 2522 "TEMP R4;\n" 2523 "MUL R0.xyz, fragment.position.y, c[4];\n" 2524 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 2525 "ADD R0.xyz, R0, c[5];\n" 2526 "RCP R0.z, R0.z;\n" 2527 "MUL R0.xy, R0, R0.z;\n" 2528 "ABS R0.w, R0.x;\n" 2529 "ABS R0.z, R0.y;\n" 2530 "ADD R0.z, R0, -R0.w;\n" 2531 "ADD R0.w, R0.y, c[6].x;\n" 2532 "ABS R0.z, R0;\n" 2533 "CMP R0.y, -R0.z, R0, R0.w;\n" 2534 "ABS R0.z, -R0.y;\n" 2535 "ADD R0.z, R0, c[6].y;\n" 2536 "ADD R0.w, R0.x, R0.z;\n" 2537 "ADD R1.x, R0.z, -R0;\n" 2538 "RCP R1.y, R0.w;\n" 2539 "RCP R1.x, R1.x;\n" 2540 "MUL R0.w, R0, R1.x;\n" 2541 "ADD R0.z, R0.x, -R0;\n" 2542 "MUL R0.z, R0, R1.y;\n" 2543 "CMP R0.z, R0.x, R0.w, R0;\n" 2544 "MUL R0.w, R0.z, R0.z;\n" 2545 "MOV R1.x, c[7].y;\n" 2546 "CMP R0.x, R0, c[7], R1;\n" 2547 "MAD R0.w, R0, c[6].z, -c[6];\n" 2548 "MUL R1.xy, fragment.position, c[10];\n" 2518 "MUL R1.xy, fragment.position, c[5];\n" 2549 2519 "TEX R1, R1, texture[0], 2D;\n" 2550 "ADD R2.w, -R1, c[7];\n" 2551 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2552 "MAD R0.x, R0.w, R0.z, R0;\n" 2553 "MAD R0.x, R0, R0.y, c[8];\n" 2554 "MUL R0.x, R0, c[9];\n" 2555 "FLR R0.y, R0.x;\n" 2556 "ADD R0.x, R0, -R0.y;\n" 2557 "TEX R0, R0, texture[2], 1D;\n" 2520 "ADD R2.w, -R1, c[10];\n" 2558 2521 "ADD R3.xyz, R0.w, -R0;\n" 2559 2522 "ADD R2.xyz, R1.w, -R1;\n" 2560 2523 "MUL R2.xyz, R2, R3;\n" 2561 "MUL R2.xyz, R2, c[ 9].y;\n"2524 "MUL R2.xyz, R2, c[10].z;\n" 2562 2525 "MAD R2.xyz, R0.w, R1.w, -R2;\n" 2563 2526 "MUL R4.xyz, R0, R2.w;\n" 2564 2527 "MUL R3.xyz, R0, R1;\n" 2565 2528 "MAD R0.xyz, R0, R2.w, R2;\n" 2566 "ADD R2.x, -R0.w, c[ 7].w;\n"2567 "MAD R3.xyz, R3, c[ 9].y, R4;\n"2529 "ADD R2.x, -R0.w, c[10].w;\n" 2530 "MAD R3.xyz, R3, c[10].z, R4;\n" 2568 2531 "MAD R3.xyz, R1, R2.x, R3;\n" 2569 2532 "MAD R0.xyz, R1, R2.x, R0;\n" 2570 "MUL R2.xyz, R1, c[ 9].y;\n"2533 "MUL R2.xyz, R1, c[10].z;\n" 2571 2534 "ADD R0.xyz, R0, -R3;\n" 2572 2535 "SGE R2.xyz, R2, R1.w;\n" … … 2574 2537 "ADD R0.z, R0.w, R1.w;\n" 2575 2538 "MAD R2.w, -R0, R1, R0.z;\n" 2576 "ADD R0.xy, fragment.position, c[ 0];\n"2577 "MUL R0.xy, R0, c[ 1];\n"2539 "ADD R0.xy, fragment.position, c[6];\n" 2540 "MUL R0.xy, R0, c[4];\n" 2578 2541 "TEX R0, R0, texture[1], 2D;\n" 2579 2542 "ADD R2, R2, -R1;\n" 2580 "DP4 R0.x, R0, c[ 2];\n"2543 "DP4 R0.x, R0, c[7];\n" 2581 2544 "MAD result.color, R0.x, R2, R1;\n" 2582 2545 "END\n" … … 2585 2548 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DARKEN = 2586 2549 "!!ARBfp1.0\n" 2587 "PARAM c[11] = { program.local[0..5],\n" 2588 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2589 " { 2.3561945, 0.78539819, -1, 1 },\n" 2590 " program.local[8],\n" 2591 " { 0.15915494 },\n" 2592 " program.local[10] };\n" 2593 "TEMP R0;\n" 2594 "TEMP R1;\n" 2595 "TEMP R2;\n" 2596 "TEMP R3;\n" 2597 "MUL R0.xyz, fragment.position.y, c[4];\n" 2598 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 2599 "ADD R0.xyz, R0, c[5];\n" 2600 "RCP R0.z, R0.z;\n" 2601 "MUL R0.xy, R0, R0.z;\n" 2602 "ABS R0.w, R0.x;\n" 2603 "ABS R0.z, R0.y;\n" 2604 "ADD R0.z, R0, -R0.w;\n" 2605 "ADD R0.w, R0.y, c[6].x;\n" 2606 "ABS R0.z, R0;\n" 2607 "CMP R0.y, -R0.z, R0, R0.w;\n" 2608 "ABS R0.z, -R0.y;\n" 2609 "ADD R0.z, R0, c[6].y;\n" 2610 "ADD R0.w, R0.x, R0.z;\n" 2611 "ADD R1.x, R0.z, -R0;\n" 2612 "RCP R1.y, R0.w;\n" 2613 "RCP R1.x, R1.x;\n" 2614 "MUL R0.w, R0, R1.x;\n" 2615 "ADD R0.z, R0.x, -R0;\n" 2616 "MUL R0.z, R0, R1.y;\n" 2617 "CMP R0.z, R0.x, R0.w, R0;\n" 2618 "MUL R0.w, R0.z, R0.z;\n" 2619 "MOV R1.x, c[7].y;\n" 2620 "CMP R0.x, R0, c[7], R1;\n" 2621 "MAD R0.w, R0, c[6].z, -c[6];\n" 2622 "MUL R1.xy, fragment.position, c[10];\n" 2623 "TEX R1, R1, texture[0], 2D;\n" 2624 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2625 "MAD R0.x, R0.w, R0.z, R0;\n" 2626 "MAD R0.x, R0, R0.y, c[8];\n" 2627 "MUL R0.x, R0, c[9];\n" 2550 "PARAM c[11] = { program.local[0..7],\n" 2551 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 2552 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 2553 " { 0.33299461, 0.99999559, 1 } };\n" 2554 "TEMP R0;\n" 2555 "TEMP R1;\n" 2556 "TEMP R2;\n" 2557 "TEMP R3;\n" 2558 "MUL R0.xyz, fragment.position.y, c[2];\n" 2559 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2560 "ADD R0.xyz, R0, c[3];\n" 2561 "RCP R0.z, R0.z;\n" 2562 "MUL R0.xy, R0, R0.z;\n" 2563 "ABS R0.z, R0.x;\n" 2564 "ABS R0.w, R0.y;\n" 2565 "ADD R0.w, R0, -R0.z;\n" 2566 "ADD R1.x, R0.y, c[8].y;\n" 2567 "ABS R0.w, R0;\n" 2568 "CMP R0.y, -R0.w, R0, R1.x;\n" 2569 "ABS R0.w, -R0.y;\n" 2570 "MAX R1.x, R0.z, R0.w;\n" 2571 "RCP R1.y, R1.x;\n" 2572 "MIN R1.x, R0.z, R0.w;\n" 2573 "MUL R1.x, R1, R1.y;\n" 2574 "MUL R1.y, R1.x, R1.x;\n" 2575 "MAD R1.z, R1.y, c[9].x, c[9].y;\n" 2576 "MAD R1.z, R1, R1.y, -c[9];\n" 2577 "MAD R1.z, R1, R1.y, c[9].w;\n" 2578 "MAD R1.z, R1, R1.y, -c[10].x;\n" 2579 "MAD R1.y, R1.z, R1, c[10];\n" 2580 "MUL R1.x, R1.y, R1;\n" 2581 "ADD R1.y, -R1.x, c[8].w;\n" 2582 "ADD R0.z, -R0, R0.w;\n" 2583 "CMP R0.z, -R0, R1.y, R1.x;\n" 2584 "ADD R0.w, -R0.z, c[8].z;\n" 2585 "CMP R0.x, R0, R0.w, R0.z;\n" 2586 "CMP R0.x, -R0.y, -R0, R0;\n" 2587 "ADD R0.x, R0, c[0];\n" 2588 "MUL R0.z, R0.x, c[8].x;\n" 2589 "FLR R0.w, R0.z;\n" 2590 "ADD R1.x, R0.z, -R0.w;\n" 2591 "MUL R0.xy, fragment.position, c[5];\n" 2592 "TEX R0, R0, texture[0], 2D;\n" 2593 "TEX R1, R1, texture[2], 1D;\n" 2594 "MUL R3.xyz, R1.w, R0;\n" 2595 "MUL R2.xyz, R1, R0.w;\n" 2596 "MIN R2.xyz, R2, R3;\n" 2597 "ADD R2.w, -R0, c[10].z;\n" 2598 "MAD R1.xyz, R1, R2.w, R2;\n" 2599 "ADD R2.x, -R1.w, c[10].z;\n" 2600 "MAD R2.xyz, R0, R2.x, R1;\n" 2601 "ADD R1.z, R1.w, R0.w;\n" 2602 "MAD R2.w, -R1, R0, R1.z;\n" 2603 "ADD R1.xy, fragment.position, c[6];\n" 2604 "MUL R1.xy, R1, c[4];\n" 2605 "TEX R1, R1, texture[1], 2D;\n" 2606 "ADD R2, R2, -R0;\n" 2607 "DP4 R1.x, R1, c[7];\n" 2608 "MAD result.color, R1.x, R2, R0;\n" 2609 "END\n" 2610 ; 2611 2612 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_LIGHTEN = 2613 "!!ARBfp1.0\n" 2614 "PARAM c[11] = { program.local[0..7],\n" 2615 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 2616 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 2617 " { 0.33299461, 0.99999559, 1 } };\n" 2618 "TEMP R0;\n" 2619 "TEMP R1;\n" 2620 "TEMP R2;\n" 2621 "TEMP R3;\n" 2622 "MUL R0.xyz, fragment.position.y, c[2];\n" 2623 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2624 "ADD R0.xyz, R0, c[3];\n" 2625 "RCP R0.z, R0.z;\n" 2626 "MUL R0.xy, R0, R0.z;\n" 2627 "ABS R0.z, R0.x;\n" 2628 "ABS R0.w, R0.y;\n" 2629 "ADD R0.w, R0, -R0.z;\n" 2630 "ADD R1.x, R0.y, c[8].y;\n" 2631 "ABS R0.w, R0;\n" 2632 "CMP R0.y, -R0.w, R0, R1.x;\n" 2633 "ABS R0.w, -R0.y;\n" 2634 "MAX R1.x, R0.z, R0.w;\n" 2635 "RCP R1.y, R1.x;\n" 2636 "MIN R1.x, R0.z, R0.w;\n" 2637 "MUL R1.x, R1, R1.y;\n" 2638 "MUL R1.y, R1.x, R1.x;\n" 2639 "MAD R1.z, R1.y, c[9].x, c[9].y;\n" 2640 "MAD R1.z, R1, R1.y, -c[9];\n" 2641 "MAD R1.z, R1, R1.y, c[9].w;\n" 2642 "MAD R1.z, R1, R1.y, -c[10].x;\n" 2643 "MAD R1.y, R1.z, R1, c[10];\n" 2644 "MUL R1.x, R1.y, R1;\n" 2645 "ADD R1.y, -R1.x, c[8].w;\n" 2646 "ADD R0.z, -R0, R0.w;\n" 2647 "CMP R0.z, -R0, R1.y, R1.x;\n" 2648 "ADD R0.w, -R0.z, c[8].z;\n" 2649 "CMP R0.x, R0, R0.w, R0.z;\n" 2650 "CMP R0.x, -R0.y, -R0, R0;\n" 2651 "ADD R0.x, R0, c[0];\n" 2652 "MUL R0.z, R0.x, c[8].x;\n" 2653 "FLR R0.w, R0.z;\n" 2654 "ADD R1.x, R0.z, -R0.w;\n" 2655 "MUL R0.xy, fragment.position, c[5];\n" 2656 "TEX R0, R0, texture[0], 2D;\n" 2657 "TEX R1, R1, texture[2], 1D;\n" 2658 "MUL R3.xyz, R1.w, R0;\n" 2659 "MUL R2.xyz, R1, R0.w;\n" 2660 "MAX R2.xyz, R2, R3;\n" 2661 "ADD R2.w, -R0, c[10].z;\n" 2662 "MAD R1.xyz, R1, R2.w, R2;\n" 2663 "ADD R2.x, -R1.w, c[10].z;\n" 2664 "MAD R2.xyz, R0, R2.x, R1;\n" 2665 "ADD R1.z, R1.w, R0.w;\n" 2666 "MAD R2.w, -R1, R0, R1.z;\n" 2667 "ADD R1.xy, fragment.position, c[6];\n" 2668 "MUL R1.xy, R1, c[4];\n" 2669 "TEX R1, R1, texture[1], 2D;\n" 2670 "ADD R2, R2, -R0;\n" 2671 "DP4 R1.x, R1, c[7];\n" 2672 "MAD result.color, R1.x, R2, R0;\n" 2673 "END\n" 2674 ; 2675 2676 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_COLORDODGE = 2677 "!!ARBfp1.0\n" 2678 "PARAM c[11] = { program.local[0..7],\n" 2679 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 2680 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 2681 " { 3.141593, 0.15915494, 1, 1e-006 } };\n" 2682 "TEMP R0;\n" 2683 "TEMP R1;\n" 2684 "TEMP R2;\n" 2685 "TEMP R3;\n" 2686 "TEMP R4;\n" 2687 "MUL R0.xyz, fragment.position.y, c[2];\n" 2688 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2689 "ADD R0.xyz, R0, c[3];\n" 2690 "RCP R0.z, R0.z;\n" 2691 "MUL R0.xy, R0, R0.z;\n" 2692 "ABS R0.z, R0.x;\n" 2693 "ABS R0.w, R0.y;\n" 2694 "ADD R0.w, R0, -R0.z;\n" 2695 "ADD R1.x, R0.y, c[8];\n" 2696 "ABS R0.w, R0;\n" 2697 "CMP R0.y, -R0.w, R0, R1.x;\n" 2698 "ABS R0.w, -R0.y;\n" 2699 "MAX R1.x, R0.z, R0.w;\n" 2700 "RCP R1.y, R1.x;\n" 2701 "MIN R1.x, R0.z, R0.w;\n" 2702 "MUL R1.x, R1, R1.y;\n" 2703 "MUL R1.y, R1.x, R1.x;\n" 2704 "MAD R1.z, R1.y, c[8].y, c[8];\n" 2705 "MAD R1.z, R1, R1.y, -c[8].w;\n" 2706 "MAD R1.z, R1, R1.y, c[9].x;\n" 2707 "MAD R1.z, R1, R1.y, -c[9].y;\n" 2708 "MAD R1.y, R1.z, R1, c[9].z;\n" 2709 "MUL R1.x, R1.y, R1;\n" 2710 "ADD R1.y, -R1.x, c[9].w;\n" 2711 "ADD R0.z, -R0, R0.w;\n" 2712 "CMP R0.z, -R0, R1.y, R1.x;\n" 2713 "ADD R0.w, -R0.z, c[10].x;\n" 2714 "CMP R0.x, R0, R0.w, R0.z;\n" 2715 "CMP R0.x, -R0.y, -R0, R0;\n" 2716 "ADD R0.x, R0, c[0];\n" 2717 "MUL R0.x, R0, c[10].y;\n" 2628 2718 "FLR R0.y, R0.x;\n" 2629 2719 "ADD R0.x, R0, -R0.y;\n" 2630 2720 "TEX R0, R0, texture[2], 1D;\n" 2631 "MUL R3.xyz, R1, R0.w;\n" 2632 "MUL R2.xyz, R0, R1.w;\n" 2633 "MIN R2.xyz, R2, R3;\n" 2634 "ADD R2.w, -R1, c[7];\n" 2635 "MAD R0.xyz, R0, R2.w, R2;\n" 2636 "ADD R2.x, -R0.w, c[7].w;\n" 2637 "MAD R2.xyz, R1, R2.x, R0;\n" 2638 "ADD R0.z, R0.w, R1.w;\n" 2639 "MAD R2.w, -R0, R1, R0.z;\n" 2640 "ADD R0.xy, fragment.position, c[0];\n" 2641 "MUL R0.xy, R0, c[1];\n" 2642 "TEX R0, R0, texture[1], 2D;\n" 2643 "ADD R2, R2, -R1;\n" 2644 "DP4 R0.x, R0, c[2];\n" 2645 "MAD result.color, R0.x, R2, R1;\n" 2646 "END\n" 2647 ; 2648 2649 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_LIGHTEN = 2650 "!!ARBfp1.0\n" 2651 "PARAM c[11] = { program.local[0..5],\n" 2652 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2653 " { 2.3561945, 0.78539819, -1, 1 },\n" 2654 " program.local[8],\n" 2655 " { 0.15915494 },\n" 2656 " program.local[10] };\n" 2657 "TEMP R0;\n" 2658 "TEMP R1;\n" 2659 "TEMP R2;\n" 2660 "TEMP R3;\n" 2661 "MUL R0.xyz, fragment.position.y, c[4];\n" 2662 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 2663 "ADD R0.xyz, R0, c[5];\n" 2664 "RCP R0.z, R0.z;\n" 2665 "MUL R0.xy, R0, R0.z;\n" 2666 "ABS R0.w, R0.x;\n" 2667 "ABS R0.z, R0.y;\n" 2668 "ADD R0.z, R0, -R0.w;\n" 2669 "ADD R0.w, R0.y, c[6].x;\n" 2670 "ABS R0.z, R0;\n" 2671 "CMP R0.y, -R0.z, R0, R0.w;\n" 2672 "ABS R0.z, -R0.y;\n" 2673 "ADD R0.z, R0, c[6].y;\n" 2674 "ADD R0.w, R0.x, R0.z;\n" 2675 "ADD R1.x, R0.z, -R0;\n" 2676 "RCP R1.y, R0.w;\n" 2721 "MAX R1.x, R0.w, c[10].w;\n" 2677 2722 "RCP R1.x, R1.x;\n" 2678 "MUL R0.w, R0, R1.x;\n" 2679 "ADD R0.z, R0.x, -R0;\n" 2680 "MUL R0.z, R0, R1.y;\n" 2681 "CMP R0.z, R0.x, R0.w, R0;\n" 2682 "MUL R0.w, R0.z, R0.z;\n" 2683 "MOV R1.x, c[7].y;\n" 2684 "CMP R0.x, R0, c[7], R1;\n" 2685 "MAD R0.w, R0, c[6].z, -c[6];\n" 2686 "MUL R1.xy, fragment.position, c[10];\n" 2723 "MAD R1.xyz, -R0, R1.x, c[10].z;\n" 2724 "MAX R2.xyz, R1, c[10].w;\n" 2725 "MUL R1.xy, fragment.position, c[5];\n" 2687 2726 "TEX R1, R1, texture[0], 2D;\n" 2688 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2689 "MAD R0.x, R0.w, R0.z, R0;\n" 2690 "MAD R0.x, R0, R0.y, c[8];\n" 2691 "MUL R0.x, R0, c[9];\n" 2692 "FLR R0.y, R0.x;\n" 2693 "ADD R0.x, R0, -R0.y;\n" 2694 "TEX R0, R0, texture[2], 1D;\n" 2695 "MUL R3.xyz, R1, R0.w;\n" 2696 "MUL R2.xyz, R0, R1.w;\n" 2697 "MAX R2.xyz, R2, R3;\n" 2698 "ADD R2.w, -R1, c[7];\n" 2699 "MAD R0.xyz, R0, R2.w, R2;\n" 2700 "ADD R2.x, -R0.w, c[7].w;\n" 2701 "MAD R2.xyz, R1, R2.x, R0;\n" 2702 "ADD R0.z, R0.w, R1.w;\n" 2703 "MAD R2.w, -R0, R1, R0.z;\n" 2704 "ADD R0.xy, fragment.position, c[0];\n" 2705 "MUL R0.xy, R0, c[1];\n" 2706 "TEX R0, R0, texture[1], 2D;\n" 2707 "ADD R2, R2, -R1;\n" 2708 "DP4 R0.x, R0, c[2];\n" 2709 "MAD result.color, R0.x, R2, R1;\n" 2710 "END\n" 2711 ; 2712 2713 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_COLORDODGE = 2714 "!!ARBfp1.0\n" 2715 "PARAM c[11] = { program.local[0..5],\n" 2716 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2717 " { 2.3561945, 0.78539819, -1, 1 },\n" 2718 " program.local[8],\n" 2719 " { 0.15915494, 1e-06 },\n" 2720 " program.local[10] };\n" 2721 "TEMP R0;\n" 2722 "TEMP R1;\n" 2723 "TEMP R2;\n" 2724 "TEMP R3;\n" 2725 "TEMP R4;\n" 2726 "MUL R0.xyz, fragment.position.y, c[4];\n" 2727 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 2728 "ADD R0.xyz, R0, c[5];\n" 2729 "RCP R0.z, R0.z;\n" 2730 "MUL R0.xy, R0, R0.z;\n" 2731 "ABS R0.w, R0.x;\n" 2732 "ABS R0.z, R0.y;\n" 2733 "ADD R0.z, R0, -R0.w;\n" 2734 "ADD R0.w, R0.y, c[6].x;\n" 2735 "ABS R0.z, R0;\n" 2736 "CMP R0.y, -R0.z, R0, R0.w;\n" 2737 "ABS R0.z, -R0.y;\n" 2738 "ADD R0.z, R0, c[6].y;\n" 2739 "ADD R0.w, R0.x, R0.z;\n" 2740 "ADD R1.x, R0.z, -R0;\n" 2741 "RCP R1.y, R0.w;\n" 2742 "RCP R1.x, R1.x;\n" 2743 "MUL R0.w, R0, R1.x;\n" 2744 "ADD R0.z, R0.x, -R0;\n" 2745 "MUL R0.z, R0, R1.y;\n" 2746 "CMP R0.z, R0.x, R0.w, R0;\n" 2747 "MUL R0.w, R0.z, R0.z;\n" 2748 "MOV R1.x, c[7].y;\n" 2749 "CMP R0.x, R0, c[7], R1;\n" 2750 "MAD R0.w, R0, c[6].z, -c[6];\n" 2751 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2752 "MAD R0.x, R0.w, R0.z, R0;\n" 2753 "MAD R0.x, R0, R0.y, c[8];\n" 2754 "MUL R0.x, R0, c[9];\n" 2755 "FLR R0.y, R0.x;\n" 2756 "ADD R0.x, R0, -R0.y;\n" 2757 "TEX R0, R0, texture[2], 1D;\n" 2758 "MAX R1.x, R0.w, c[9].y;\n" 2759 "RCP R1.x, R1.x;\n" 2760 "MAD R1.xyz, -R0, R1.x, c[7].w;\n" 2761 "MAX R2.xyz, R1, c[9].y;\n" 2762 "MUL R1.xy, fragment.position, c[10];\n" 2763 "TEX R1, R1, texture[0], 2D;\n" 2764 "ADD R2.w, -R0, c[7];\n" 2727 "ADD R2.w, -R0, c[10].z;\n" 2765 2728 "MUL R3.xyz, R1, R2.w;\n" 2766 "ADD R2.w, -R1, c[ 7];\n"2729 "ADD R2.w, -R1, c[10].z;\n" 2767 2730 "MAD R4.xyz, R0, R2.w, R3;\n" 2768 "MUL R3.xyz, R 1, R0.w;\n"2731 "MUL R3.xyz, R0.w, R1;\n" 2769 2732 "MUL R2.w, R0, R1;\n" 2770 2733 "MAD R0.xyz, R0, R1.w, R3;\n" … … 2779 2742 "ADD R0.z, R0.w, R1.w;\n" 2780 2743 "MAD R2.w, -R0, R1, R0.z;\n" 2781 "ADD R0.xy, fragment.position, c[ 0];\n"2782 "MUL R0.xy, R0, c[ 1];\n"2744 "ADD R0.xy, fragment.position, c[6];\n" 2745 "MUL R0.xy, R0, c[4];\n" 2783 2746 "TEX R0, R0, texture[1], 2D;\n" 2784 2747 "ADD R2, R2, -R1;\n" 2785 "DP4 R0.x, R0, c[ 2];\n"2748 "DP4 R0.x, R0, c[7];\n" 2786 2749 "MAD result.color, R0.x, R2, R1;\n" 2787 2750 "END\n" … … 2790 2753 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_COLORBURN = 2791 2754 "!!ARBfp1.0\n" 2792 "PARAM c[11] = { program.local[0..5],\n" 2793 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2794 " { 2.3561945, 0.78539819, -1, 1 },\n" 2795 " program.local[8],\n" 2796 " { 0.15915494, 9.9999997e-06 },\n" 2797 " program.local[10] };\n" 2755 "PARAM c[11] = { program.local[0..7],\n" 2756 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 2757 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 2758 " { 3.141593, 0.15915494, 1, 9.9999997e-006 } };\n" 2798 2759 "TEMP R0;\n" 2799 2760 "TEMP R1;\n" … … 2802 2763 "TEMP R4;\n" 2803 2764 "TEMP R5;\n" 2804 "MUL R0.xyz, fragment.position.y, c[ 4];\n"2805 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"2806 "ADD R0.xyz, R0, c[ 5];\n"2765 "MUL R0.xyz, fragment.position.y, c[2];\n" 2766 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2767 "ADD R0.xyz, R0, c[3];\n" 2807 2768 "RCP R0.z, R0.z;\n" 2808 2769 "MUL R0.xy, R0, R0.z;\n" … … 2810 2771 "ABS R0.z, R0.y;\n" 2811 2772 "ADD R0.z, R0, -R0.w;\n" 2812 "ADD R 0.w, R0.y, c[6].x;\n"2773 "ADD R1.x, R0.y, c[8];\n" 2813 2774 "ABS R0.z, R0;\n" 2814 "CMP R0.y, -R0.z, R0, R 0.w;\n"2775 "CMP R0.y, -R0.z, R0, R1.x;\n" 2815 2776 "ABS R0.z, -R0.y;\n" 2816 "ADD R0.z, R0, c[6].y;\n" 2817 "ADD R0.w, R0.x, R0.z;\n" 2818 "ADD R1.x, R0.z, -R0;\n" 2819 "RCP R1.y, R0.w;\n" 2820 "RCP R1.x, R1.x;\n" 2821 "MUL R0.w, R0, R1.x;\n" 2822 "ADD R0.z, R0.x, -R0;\n" 2823 "MUL R0.z, R0, R1.y;\n" 2824 "CMP R0.z, R0.x, R0.w, R0;\n" 2825 "MUL R0.w, R0.z, R0.z;\n" 2826 "MOV R1.x, c[7].y;\n" 2827 "CMP R0.x, R0, c[7], R1;\n" 2828 "MAD R0.w, R0, c[6].z, -c[6];\n" 2829 "MUL R1.xy, fragment.position, c[10];\n" 2830 "TEX R1, R1, texture[0], 2D;\n" 2831 "ADD R2.w, -R1, c[7];\n" 2832 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2833 "MAD R0.x, R0.w, R0.z, R0;\n" 2834 "MAD R0.x, R0, R0.y, c[8];\n" 2835 "MUL R0.x, R0, c[9];\n" 2777 "MAX R1.x, R0.w, R0.z;\n" 2778 "RCP R1.y, R1.x;\n" 2779 "MIN R1.x, R0.w, R0.z;\n" 2780 "MUL R1.x, R1, R1.y;\n" 2781 "MUL R1.y, R1.x, R1.x;\n" 2782 "MAD R1.z, R1.y, c[8].y, c[8];\n" 2783 "MAD R1.z, R1, R1.y, -c[8].w;\n" 2784 "MAD R1.z, R1, R1.y, c[9].x;\n" 2785 "MAD R1.z, R1, R1.y, -c[9].y;\n" 2786 "MAD R1.y, R1.z, R1, c[9].z;\n" 2787 "MUL R1.x, R1.y, R1;\n" 2788 "ADD R1.y, -R1.x, c[9].w;\n" 2789 "ADD R0.z, -R0.w, R0;\n" 2790 "CMP R0.z, -R0, R1.y, R1.x;\n" 2791 "ADD R0.w, -R0.z, c[10].x;\n" 2792 "CMP R0.x, R0, R0.w, R0.z;\n" 2793 "CMP R0.x, -R0.y, -R0, R0;\n" 2794 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 2795 "TEX R1, R0.zwzw, texture[0], 2D;\n" 2796 "ADD R0.x, R0, c[0];\n" 2797 "MUL R0.x, R0, c[10].y;\n" 2836 2798 "FLR R0.y, R0.x;\n" 2837 2799 "ADD R0.x, R0, -R0.y;\n" 2838 2800 "TEX R0, R0, texture[2], 1D;\n" 2839 "MUL R2.xyz, R 1, R0.w;\n"2801 "MUL R2.xyz, R0.w, R1;\n" 2840 2802 "MAD R3.xyz, R0, R1.w, R2;\n" 2841 2803 "MAD R2.xyz, -R0.w, R1.w, R3;\n" 2842 2804 "MUL R4.xyz, R0.w, R2;\n" 2843 "MAX R2.xyz, R0, c[9].y;\n" 2844 "ADD R3.w, -R0, c[7];\n" 2805 "MAX R2.xyz, R0, c[10].w;\n" 2806 "ADD R2.w, -R1, c[10].z;\n" 2807 "ADD R3.w, -R0, c[10].z;\n" 2845 2808 "MUL R5.xyz, R0, R2.w;\n" 2846 2809 "RCP R2.x, R2.x;\n" … … 2857 2820 "ADD R0.z, R0.w, R1.w;\n" 2858 2821 "MAD R2.w, -R0, R1, R0.z;\n" 2859 "ADD R0.xy, fragment.position, c[ 0];\n"2860 "MUL R0.xy, R0, c[ 1];\n"2822 "ADD R0.xy, fragment.position, c[6];\n" 2823 "MUL R0.xy, R0, c[4];\n" 2861 2824 "TEX R0, R0, texture[1], 2D;\n" 2862 2825 "ADD R2, R2, -R1;\n" 2863 "DP4 R0.x, R0, c[ 2];\n"2826 "DP4 R0.x, R0, c[7];\n" 2864 2827 "MAD result.color, R0.x, R2, R1;\n" 2865 2828 "END\n" … … 2868 2831 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_HARDLIGHT = 2869 2832 "!!ARBfp1.0\n" 2870 "PARAM c[11] = { program.local[0..5],\n" 2871 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2872 " { 2.3561945, 0.78539819, -1, 1 },\n" 2873 " program.local[8],\n" 2874 " { 0.15915494, 2 },\n" 2875 " program.local[10] };\n" 2833 "PARAM c[11] = { program.local[0..7],\n" 2834 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 2835 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 2836 " { 3.141593, 0.15915494, 2, 1 } };\n" 2876 2837 "TEMP R0;\n" 2877 2838 "TEMP R1;\n" … … 2879 2840 "TEMP R3;\n" 2880 2841 "TEMP R4;\n" 2881 "MUL R0.xyz, fragment.position.y, c[4];\n" 2882 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 2883 "ADD R0.xyz, R0, c[5];\n" 2884 "RCP R0.z, R0.z;\n" 2885 "MUL R0.xy, R0, R0.z;\n" 2886 "ABS R0.w, R0.x;\n" 2887 "ABS R0.z, R0.y;\n" 2888 "ADD R0.z, R0, -R0.w;\n" 2889 "ADD R0.w, R0.y, c[6].x;\n" 2890 "ABS R0.z, R0;\n" 2891 "CMP R0.y, -R0.z, R0, R0.w;\n" 2892 "ABS R0.z, -R0.y;\n" 2893 "ADD R0.z, R0, c[6].y;\n" 2894 "ADD R0.w, R0.x, R0.z;\n" 2895 "ADD R1.x, R0.z, -R0;\n" 2896 "RCP R1.y, R0.w;\n" 2897 "RCP R1.x, R1.x;\n" 2898 "MUL R0.w, R0, R1.x;\n" 2899 "ADD R0.z, R0.x, -R0;\n" 2900 "MUL R0.z, R0, R1.y;\n" 2901 "CMP R0.z, R0.x, R0.w, R0;\n" 2902 "MUL R0.w, R0.z, R0.z;\n" 2903 "MOV R1.x, c[7].y;\n" 2904 "CMP R0.x, R0, c[7], R1;\n" 2905 "MAD R0.w, R0, c[6].z, -c[6];\n" 2906 "MUL R1.xy, fragment.position, c[10];\n" 2907 "TEX R1, R1, texture[0], 2D;\n" 2908 "ADD R2.w, -R1, c[7];\n" 2909 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2910 "MAD R0.x, R0.w, R0.z, R0;\n" 2911 "MAD R0.x, R0, R0.y, c[8];\n" 2912 "MUL R0.x, R0, c[9];\n" 2842 "MUL R0.xyz, fragment.position.y, c[2];\n" 2843 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2844 "ADD R0.xyz, R0, c[3];\n" 2845 "RCP R0.z, R0.z;\n" 2846 "MUL R0.xy, R0, R0.z;\n" 2847 "ABS R0.z, R0.x;\n" 2848 "ABS R0.w, R0.y;\n" 2849 "ADD R0.w, R0, -R0.z;\n" 2850 "ADD R1.x, R0.y, c[8];\n" 2851 "ABS R0.w, R0;\n" 2852 "CMP R0.y, -R0.w, R0, R1.x;\n" 2853 "ABS R0.w, -R0.y;\n" 2854 "MAX R1.x, R0.z, R0.w;\n" 2855 "RCP R1.y, R1.x;\n" 2856 "MIN R1.x, R0.z, R0.w;\n" 2857 "MUL R1.x, R1, R1.y;\n" 2858 "MUL R1.y, R1.x, R1.x;\n" 2859 "MAD R1.z, R1.y, c[8].y, c[8];\n" 2860 "MAD R1.z, R1, R1.y, -c[8].w;\n" 2861 "MAD R1.z, R1, R1.y, c[9].x;\n" 2862 "MAD R1.z, R1, R1.y, -c[9].y;\n" 2863 "MAD R1.y, R1.z, R1, c[9].z;\n" 2864 "MUL R1.x, R1.y, R1;\n" 2865 "ADD R0.z, -R0, R0.w;\n" 2866 "ADD R1.y, -R1.x, c[9].w;\n" 2867 "CMP R0.z, -R0, R1.y, R1.x;\n" 2868 "ADD R0.w, -R0.z, c[10].x;\n" 2869 "CMP R0.x, R0, R0.w, R0.z;\n" 2870 "CMP R0.x, -R0.y, -R0, R0;\n" 2871 "ADD R0.x, R0, c[0];\n" 2872 "MUL R0.x, R0, c[10].y;\n" 2913 2873 "FLR R0.y, R0.x;\n" 2914 2874 "ADD R0.x, R0, -R0.y;\n" 2915 2875 "TEX R0, R0, texture[2], 1D;\n" 2876 "MUL R1.xy, fragment.position, c[5];\n" 2877 "TEX R1, R1, texture[0], 2D;\n" 2878 "ADD R2.w, -R1, c[10];\n" 2916 2879 "ADD R3.xyz, R0.w, -R0;\n" 2917 2880 "ADD R2.xyz, R1.w, -R1;\n" 2918 2881 "MUL R2.xyz, R2, R3;\n" 2919 "MUL R2.xyz, R2, c[ 9].y;\n"2882 "MUL R2.xyz, R2, c[10].z;\n" 2920 2883 "MAD R2.xyz, R0.w, R1.w, -R2;\n" 2921 2884 "MUL R4.xyz, R0, R2.w;\n" 2922 2885 "MAD R2.xyz, R0, R2.w, R2;\n" 2923 2886 "MUL R3.xyz, R0, R1;\n" 2924 "ADD R2.w, -R0, c[ 7];\n"2925 "MAD R3.xyz, R3, c[ 9].y, R4;\n"2926 "MUL R0.xyz, R0, c[ 9].y;\n"2887 "ADD R2.w, -R0, c[10];\n" 2888 "MAD R3.xyz, R3, c[10].z, R4;\n" 2889 "MUL R0.xyz, R0, c[10].z;\n" 2927 2890 "SGE R0.xyz, R0, R0.w;\n" 2928 2891 "MAD R3.xyz, R1, R2.w, R3;\n" … … 2932 2895 "ADD R0.z, R0.w, R1.w;\n" 2933 2896 "MAD R2.w, -R0, R1, R0.z;\n" 2934 "ADD R0.xy, fragment.position, c[ 0];\n"2935 "MUL R0.xy, R0, c[ 1];\n"2897 "ADD R0.xy, fragment.position, c[6];\n" 2898 "MUL R0.xy, R0, c[4];\n" 2936 2899 "TEX R0, R0, texture[1], 2D;\n" 2937 2900 "ADD R2, R2, -R1;\n" 2938 "DP4 R0.x, R0, c[ 2];\n"2901 "DP4 R0.x, R0, c[7];\n" 2939 2902 "MAD result.color, R0.x, R2, R1;\n" 2940 2903 "END\n" … … 2943 2906 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SOFTLIGHT = 2944 2907 "!!ARBfp1.0\n" 2945 "PARAM c[12] = { program.local[0..5],\n" 2946 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 2947 " { 2.3561945, 0.78539819, -1, 1 },\n" 2948 " program.local[8],\n" 2949 " { 0.15915494, 9.9999997e-06, 2, 8 },\n" 2950 " program.local[10],\n" 2908 "PARAM c[13] = { program.local[0..7],\n" 2909 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 2910 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 2911 " { 3.141593, 0.15915494, 1, 2 },\n" 2912 " { 9.9999997e-006, 4, 16, 12 },\n" 2951 2913 " { 3 } };\n" 2952 2914 "TEMP R0;\n" … … 2957 2919 "TEMP R5;\n" 2958 2920 "TEMP R6;\n" 2959 "MUL R0.xyz, fragment.position.y, c[ 4];\n"2960 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"2961 "ADD R0.xyz, R0, c[ 5];\n"2921 "MUL R0.xyz, fragment.position.y, c[2];\n" 2922 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 2923 "ADD R0.xyz, R0, c[3];\n" 2962 2924 "RCP R0.z, R0.z;\n" 2963 2925 "MUL R0.xy, R0, R0.z;\n" … … 2965 2927 "ABS R0.z, R0.y;\n" 2966 2928 "ADD R0.z, R0, -R0.w;\n" 2967 "ADD R 0.w, R0.y, c[6].x;\n"2929 "ADD R1.x, R0.y, c[8];\n" 2968 2930 "ABS R0.z, R0;\n" 2969 "CMP R0.y, -R0.z, R0, R 0.w;\n"2931 "CMP R0.y, -R0.z, R0, R1.x;\n" 2970 2932 "ABS R0.z, -R0.y;\n" 2971 "ADD R0.z, R0, c[6].y;\n" 2972 "ADD R0.w, R0.x, R0.z;\n" 2973 "ADD R1.x, R0.z, -R0;\n" 2974 "RCP R1.y, R0.w;\n" 2975 "RCP R1.x, R1.x;\n" 2976 "MUL R0.w, R0, R1.x;\n" 2977 "ADD R0.z, R0.x, -R0;\n" 2978 "MUL R0.z, R0, R1.y;\n" 2979 "CMP R0.z, R0.x, R0.w, R0;\n" 2980 "MOV R1.x, c[7].y;\n" 2981 "MUL R0.w, R0.z, R0.z;\n" 2982 "CMP R0.x, R0, c[7], R1;\n" 2983 "MAD R0.w, R0, c[6].z, -c[6];\n" 2984 "MAD R0.x, R0.w, R0.z, R0;\n" 2985 "MUL R0.zw, fragment.position.xyxy, c[10].xyxy;\n" 2933 "MAX R1.x, R0.w, R0.z;\n" 2934 "RCP R1.y, R1.x;\n" 2935 "MIN R1.x, R0.w, R0.z;\n" 2936 "MUL R1.x, R1, R1.y;\n" 2937 "MUL R1.y, R1.x, R1.x;\n" 2938 "MAD R1.z, R1.y, c[8].y, c[8];\n" 2939 "MAD R1.z, R1, R1.y, -c[8].w;\n" 2940 "MAD R1.z, R1, R1.y, c[9].x;\n" 2941 "MAD R1.z, R1, R1.y, -c[9].y;\n" 2942 "MAD R1.y, R1.z, R1, c[9].z;\n" 2943 "MUL R1.x, R1.y, R1;\n" 2944 "ADD R1.y, -R1.x, c[9].w;\n" 2945 "ADD R0.z, -R0.w, R0;\n" 2946 "CMP R0.z, -R0, R1.y, R1.x;\n" 2947 "ADD R0.w, -R0.z, c[10].x;\n" 2948 "CMP R0.x, R0, R0.w, R0.z;\n" 2949 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 2986 2950 "TEX R1, R0.zwzw, texture[0], 2D;\n" 2987 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 2988 "MAD R0.x, R0, R0.y, c[8];\n" 2989 "MUL R0.x, R0, c[9];\n" 2990 "FLR R0.y, R0.x;\n" 2991 "MAX R0.z, R1.w, c[9].y;\n" 2992 "RCP R2.w, R0.z;\n" 2993 "MUL R2.xyz, R1, R2.w;\n" 2994 "RSQ R3.w, R2.x;\n" 2995 "RSQ R4.y, R2.z;\n" 2996 "RCP R4.x, R3.w;\n" 2997 "ADD R0.x, R0, -R0.y;\n" 2998 "TEX R0, R0, texture[2], 1D;\n" 2999 "MAD R3.xyz, R0, c[9].z, -R0.w;\n" 3000 "RSQ R3.w, R2.y;\n" 3001 "RCP R4.z, R4.y;\n" 3002 "RCP R4.y, R3.w;\n" 3003 "MAD R4.xyz, R4, R1.w, -R1;\n" 3004 "MUL R6.xyz, R4, R3;\n" 3005 "MUL R4.xyz, -R2, c[9].w;\n" 3006 "MAD R2.xyz, -R1, R2.w, c[7].w;\n" 3007 "ADD R5.xyz, R4, c[11].x;\n" 3008 "MUL R4.xyz, R2, R3;\n" 3009 "MAD R4.xyz, -R4, R5, R0.w;\n" 3010 "MAD R2.xyz, -R2, R3, R0.w;\n" 3011 "MAD R5.xyz, R1, R0.w, R6;\n" 3012 "MUL R4.xyz, R1, R4;\n" 3013 "MUL R6.xyz, R1, c[9].w;\n" 3014 "ADD R5.xyz, R5, -R4;\n" 3015 "SGE R6.xyz, R6, R1.w;\n" 3016 "MUL R5.xyz, R6, R5;\n" 3017 "ADD R3.xyz, R4, R5;\n" 3018 "MUL R2.xyz, R1, R2;\n" 3019 "MUL R4.xyz, R0, c[9].z;\n" 3020 "ADD R3.xyz, R3, -R2;\n" 3021 "SGE R4.xyz, R4, R0.w;\n" 3022 "MUL R3.xyz, R4, R3;\n" 3023 "ADD R2.xyz, R2, R3;\n" 3024 "ADD R2.w, -R1, c[7];\n" 3025 "MAD R0.xyz, R0, R2.w, R2;\n" 3026 "ADD R2.x, -R0.w, c[7].w;\n" 3027 "MAD R2.xyz, R1, R2.x, R0;\n" 3028 "ADD R0.z, R0.w, R1.w;\n" 3029 "MAD R2.w, -R0, R1, R0.z;\n" 3030 "ADD R0.xy, fragment.position, c[0];\n" 3031 "MUL R0.xy, R0, c[1];\n" 3032 "TEX R0, R0, texture[1], 2D;\n" 3033 "ADD R2, R2, -R1;\n" 3034 "DP4 R0.x, R0, c[2];\n" 3035 "MAD result.color, R0.x, R2, R1;\n" 3036 "END\n" 3037 ; 3038 3039 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DIFFERENCE = 3040 "!!ARBfp1.0\n" 3041 "PARAM c[11] = { program.local[0..5],\n" 3042 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3043 " { 2.3561945, 0.78539819, -1, 1 },\n" 3044 " program.local[8],\n" 3045 " { 0.15915494, 2 },\n" 3046 " program.local[10] };\n" 3047 "TEMP R0;\n" 3048 "TEMP R1;\n" 3049 "TEMP R2;\n" 3050 "TEMP R3;\n" 3051 "MUL R0.xyz, fragment.position.y, c[4];\n" 3052 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 3053 "ADD R0.xyz, R0, c[5];\n" 3054 "RCP R0.z, R0.z;\n" 3055 "MUL R0.xy, R0, R0.z;\n" 3056 "ABS R0.w, R0.x;\n" 3057 "ABS R0.z, R0.y;\n" 3058 "ADD R0.z, R0, -R0.w;\n" 3059 "ADD R0.w, R0.y, c[6].x;\n" 3060 "ABS R0.z, R0;\n" 3061 "CMP R0.y, -R0.z, R0, R0.w;\n" 3062 "ABS R0.z, -R0.y;\n" 3063 "ADD R0.z, R0, c[6].y;\n" 3064 "ADD R0.w, R0.x, R0.z;\n" 3065 "ADD R1.x, R0.z, -R0;\n" 3066 "RCP R1.y, R0.w;\n" 3067 "RCP R1.x, R1.x;\n" 3068 "MUL R0.w, R0, R1.x;\n" 3069 "ADD R0.z, R0.x, -R0;\n" 3070 "MUL R0.z, R0, R1.y;\n" 3071 "CMP R0.z, R0.x, R0.w, R0;\n" 3072 "MUL R0.w, R0.z, R0.z;\n" 3073 "MOV R1.x, c[7].y;\n" 3074 "CMP R0.x, R0, c[7], R1;\n" 3075 "MAD R0.w, R0, c[6].z, -c[6];\n" 3076 "MAD R0.x, R0.w, R0.z, R0;\n" 3077 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 3078 "MAD R0.x, R0, R0.y, c[8];\n" 3079 "MUL R0.x, R0, c[9];\n" 3080 "FLR R0.y, R0.x;\n" 3081 "MUL R0.zw, fragment.position.xyxy, c[10].xyxy;\n" 3082 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3083 "ADD R0.x, R0, -R0.y;\n" 3084 "TEX R0, R0, texture[2], 1D;\n" 3085 "ADD R3.xyz, R0, R1;\n" 3086 "MUL R2.xyz, R1, R0.w;\n" 3087 "MUL R0.xyz, R0, R1.w;\n" 3088 "MIN R0.xyz, R0, R2;\n" 3089 "MAD R2.xyz, -R0, c[9].y, R3;\n" 3090 "ADD R0.z, R0.w, R1.w;\n" 3091 "MAD R2.w, -R0, R1, R0.z;\n" 3092 "ADD R0.xy, fragment.position, c[0];\n" 3093 "MUL R0.xy, R0, c[1];\n" 3094 "TEX R0, R0, texture[1], 2D;\n" 3095 "ADD R2, R2, -R1;\n" 3096 "DP4 R0.x, R0, c[2];\n" 3097 "MAD result.color, R0.x, R2, R1;\n" 3098 "END\n" 3099 ; 3100 3101 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_EXCLUSION = 3102 "!!ARBfp1.0\n" 3103 "PARAM c[11] = { program.local[0..5],\n" 3104 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3105 " { 2.3561945, 0.78539819, -1, 1 },\n" 3106 " program.local[8],\n" 3107 " { 0.15915494, 2 },\n" 3108 " program.local[10] };\n" 3109 "TEMP R0;\n" 3110 "TEMP R1;\n" 3111 "TEMP R2;\n" 3112 "TEMP R3;\n" 3113 "MUL R0.xyz, fragment.position.y, c[4];\n" 3114 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 3115 "ADD R0.xyz, R0, c[5];\n" 3116 "RCP R0.z, R0.z;\n" 3117 "MUL R0.xy, R0, R0.z;\n" 3118 "ABS R0.w, R0.x;\n" 3119 "ABS R0.z, R0.y;\n" 3120 "ADD R0.z, R0, -R0.w;\n" 3121 "ADD R0.w, R0.y, c[6].x;\n" 3122 "ABS R0.z, R0;\n" 3123 "CMP R0.y, -R0.z, R0, R0.w;\n" 3124 "ABS R0.z, -R0.y;\n" 3125 "ADD R0.z, R0, c[6].y;\n" 3126 "ADD R0.w, R0.x, R0.z;\n" 3127 "ADD R1.x, R0.z, -R0;\n" 3128 "RCP R1.y, R0.w;\n" 3129 "RCP R1.x, R1.x;\n" 3130 "MUL R0.w, R0, R1.x;\n" 3131 "ADD R0.z, R0.x, -R0;\n" 3132 "MUL R0.z, R0, R1.y;\n" 3133 "CMP R0.z, R0.x, R0.w, R0;\n" 3134 "MUL R0.w, R0.z, R0.z;\n" 3135 "MOV R1.x, c[7].y;\n" 3136 "CMP R0.x, R0, c[7], R1;\n" 3137 "MAD R0.w, R0, c[6].z, -c[6];\n" 3138 "MUL R1.xy, fragment.position, c[10];\n" 3139 "TEX R1, R1, texture[0], 2D;\n" 3140 "CMP R0.y, -R0, c[7].z, c[7].w;\n" 3141 "MAD R0.x, R0.w, R0.z, R0;\n" 3142 "MAD R0.x, R0, R0.y, c[8];\n" 3143 "MUL R0.x, R0, c[9];\n" 2951 "CMP R0.x, -R0.y, -R0, R0;\n" 2952 "MAX R0.z, R1.w, c[11].x;\n" 2953 "RCP R2.x, R0.z;\n" 2954 "MUL R3.xyz, R1, R2.x;\n" 2955 "MAD R4.xyz, R3, c[11].z, -c[11].w;\n" 2956 "ADD R0.x, R0, c[0];\n" 2957 "MUL R0.x, R0, c[10].y;\n" 3144 2958 "FLR R0.y, R0.x;\n" 3145 2959 "ADD R0.x, R0, -R0.y;\n" 3146 2960 "TEX R0, R0, texture[2], 1D;\n" 3147 "MUL R2.xyz, R1, R0.w;\n" 3148 "MAD R3.xyz, R0, R1.w, R2;\n" 3149 "MUL R2.xyz, R0, R1;\n" 3150 "MAD R2.xyz, -R2, c[9].y, R3;\n" 3151 "ADD R2.w, -R1, c[7];\n" 3152 "MAD R0.xyz, R0, R2.w, R2;\n" 3153 "ADD R2.x, -R0.w, c[7].w;\n" 3154 "MAD R2.xyz, R1, R2.x, R0;\n" 2961 "MAD R2.xyz, R0, c[10].w, -R0.w;\n" 2962 "MAD R4.xyz, R3, R4, c[12].x;\n" 2963 "MUL R5.xyz, R1.w, R2;\n" 2964 "MUL R6.xyz, R5, R4;\n" 2965 "RSQ R2.w, R3.x;\n" 2966 "RCP R4.x, R2.w;\n" 2967 "RSQ R2.w, R3.y;\n" 2968 "RSQ R3.w, R3.z;\n" 2969 "RCP R4.y, R2.w;\n" 2970 "RCP R4.z, R3.w;\n" 2971 "ADD R4.xyz, -R3, R4;\n" 2972 "MUL R6.xyz, R3, R6;\n" 2973 "MUL R4.xyz, R5, R4;\n" 2974 "ADD R3.xyz, -R3, c[10].z;\n" 2975 "MAD R2.xyz, R2, R3, R0.w;\n" 2976 "MUL R3.xyz, R0, c[10].w;\n" 2977 "MAD R5.xyz, R0.w, R1, R6;\n" 2978 "MAD R4.xyz, R0.w, R1, R4;\n" 2979 "ADD R6.xyz, R4, -R5;\n" 2980 "MUL R4.xyz, R1, c[11].y;\n" 2981 "SGE R4.xyz, R4, R1.w;\n" 2982 "MAD R4.xyz, R4, R6, R5;\n" 2983 "MAD R4.xyz, -R1, R2, R4;\n" 2984 "SGE R3.xyz, R3, R0.w;\n" 2985 "MUL R2.xyz, R1, R2;\n" 2986 "ADD R2.w, -R1, c[10].z;\n" 2987 "MAD R2.xyz, R3, R4, R2;\n" 2988 "MAD R2.xyz, R0, R2.w, R2;\n" 2989 "ADD R0.x, -R0.w, c[10].z;\n" 2990 "MAD R2.xyz, R1, R0.x, R2;\n" 3155 2991 "ADD R0.z, R0.w, R1.w;\n" 3156 2992 "MAD R2.w, -R0, R1, R0.z;\n" 3157 "ADD R0.xy, fragment.position, c[ 0];\n"3158 "MUL R0.xy, R0, c[ 1];\n"2993 "ADD R0.xy, fragment.position, c[6];\n" 2994 "MUL R0.xy, R0, c[4];\n" 3159 2995 "TEX R0, R0, texture[1], 2D;\n" 3160 2996 "ADD R2, R2, -R1;\n" 3161 "DP4 R0.x, R0, c[ 2];\n"2997 "DP4 R0.x, R0, c[7];\n" 3162 2998 "MAD result.color, R0.x, R2, R1;\n" 3163 2999 "END\n" 3164 3000 ; 3165 3001 3002 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DIFFERENCE = 3003 "!!ARBfp1.0\n" 3004 "PARAM c[11] = { program.local[0..7],\n" 3005 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3006 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3007 " { 0.33299461, 0.99999559, 2 } };\n" 3008 "TEMP R0;\n" 3009 "TEMP R1;\n" 3010 "TEMP R2;\n" 3011 "TEMP R3;\n" 3012 "MUL R0.xyz, fragment.position.y, c[2];\n" 3013 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3014 "ADD R0.xyz, R0, c[3];\n" 3015 "RCP R0.z, R0.z;\n" 3016 "MUL R0.xy, R0, R0.z;\n" 3017 "ABS R0.z, R0.x;\n" 3018 "ABS R0.w, R0.y;\n" 3019 "ADD R0.w, R0, -R0.z;\n" 3020 "ADD R1.x, R0.y, c[8].y;\n" 3021 "ABS R0.w, R0;\n" 3022 "CMP R0.y, -R0.w, R0, R1.x;\n" 3023 "ABS R0.w, -R0.y;\n" 3024 "MAX R1.x, R0.z, R0.w;\n" 3025 "RCP R1.y, R1.x;\n" 3026 "MIN R1.x, R0.z, R0.w;\n" 3027 "MUL R1.x, R1, R1.y;\n" 3028 "MUL R1.y, R1.x, R1.x;\n" 3029 "MAD R1.z, R1.y, c[9].x, c[9].y;\n" 3030 "MAD R1.z, R1, R1.y, -c[9];\n" 3031 "MAD R1.z, R1, R1.y, c[9].w;\n" 3032 "MAD R1.z, R1, R1.y, -c[10].x;\n" 3033 "MAD R1.y, R1.z, R1, c[10];\n" 3034 "MUL R1.x, R1.y, R1;\n" 3035 "ADD R1.y, -R1.x, c[8].w;\n" 3036 "ADD R0.z, -R0, R0.w;\n" 3037 "CMP R0.z, -R0, R1.y, R1.x;\n" 3038 "ADD R0.w, -R0.z, c[8].z;\n" 3039 "CMP R0.x, R0, R0.w, R0.z;\n" 3040 "CMP R0.x, -R0.y, -R0, R0;\n" 3041 "ADD R0.x, R0, c[0];\n" 3042 "MUL R0.z, R0.x, c[8].x;\n" 3043 "FLR R0.w, R0.z;\n" 3044 "ADD R1.x, R0.z, -R0.w;\n" 3045 "MUL R0.xy, fragment.position, c[5];\n" 3046 "TEX R0, R0, texture[0], 2D;\n" 3047 "TEX R1, R1, texture[2], 1D;\n" 3048 "ADD R2.xyz, R1, R0;\n" 3049 "MUL R3.xyz, R1.w, R0;\n" 3050 "MUL R1.xyz, R1, R0.w;\n" 3051 "MIN R1.xyz, R1, R3;\n" 3052 "MAD R2.xyz, -R1, c[10].z, R2;\n" 3053 "ADD R1.z, R1.w, R0.w;\n" 3054 "MAD R2.w, -R1, R0, R1.z;\n" 3055 "ADD R1.xy, fragment.position, c[6];\n" 3056 "MUL R1.xy, R1, c[4];\n" 3057 "TEX R1, R1, texture[1], 2D;\n" 3058 "ADD R2, R2, -R0;\n" 3059 "DP4 R1.x, R1, c[7];\n" 3060 "MAD result.color, R1.x, R2, R0;\n" 3061 "END\n" 3062 ; 3063 3064 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_EXCLUSION = 3065 "!!ARBfp1.0\n" 3066 "PARAM c[11] = { program.local[0..7],\n" 3067 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3068 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3069 " { 0.33299461, 0.99999559, 2, 1 } };\n" 3070 "TEMP R0;\n" 3071 "TEMP R1;\n" 3072 "TEMP R2;\n" 3073 "TEMP R3;\n" 3074 "MUL R0.xyz, fragment.position.y, c[2];\n" 3075 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3076 "ADD R0.xyz, R0, c[3];\n" 3077 "RCP R0.z, R0.z;\n" 3078 "MUL R0.xy, R0, R0.z;\n" 3079 "ABS R0.z, R0.x;\n" 3080 "ABS R0.w, R0.y;\n" 3081 "ADD R0.w, R0, -R0.z;\n" 3082 "ADD R1.x, R0.y, c[8].y;\n" 3083 "ABS R0.w, R0;\n" 3084 "CMP R0.y, -R0.w, R0, R1.x;\n" 3085 "ABS R0.w, -R0.y;\n" 3086 "MAX R1.x, R0.z, R0.w;\n" 3087 "RCP R1.y, R1.x;\n" 3088 "MIN R1.x, R0.z, R0.w;\n" 3089 "MUL R1.x, R1, R1.y;\n" 3090 "MUL R1.y, R1.x, R1.x;\n" 3091 "MAD R1.z, R1.y, c[9].x, c[9].y;\n" 3092 "MAD R1.z, R1, R1.y, -c[9];\n" 3093 "MAD R1.z, R1, R1.y, c[9].w;\n" 3094 "MAD R1.z, R1, R1.y, -c[10].x;\n" 3095 "MAD R1.y, R1.z, R1, c[10];\n" 3096 "MUL R1.x, R1.y, R1;\n" 3097 "ADD R1.y, -R1.x, c[8].w;\n" 3098 "ADD R0.z, -R0, R0.w;\n" 3099 "CMP R0.z, -R0, R1.y, R1.x;\n" 3100 "ADD R0.w, -R0.z, c[8].z;\n" 3101 "CMP R0.x, R0, R0.w, R0.z;\n" 3102 "CMP R0.x, -R0.y, -R0, R0;\n" 3103 "ADD R0.x, R0, c[0];\n" 3104 "MUL R0.z, R0.x, c[8].x;\n" 3105 "FLR R0.w, R0.z;\n" 3106 "ADD R1.x, R0.z, -R0.w;\n" 3107 "MUL R0.xy, fragment.position, c[5];\n" 3108 "TEX R0, R0, texture[0], 2D;\n" 3109 "TEX R1, R1, texture[2], 1D;\n" 3110 "MUL R2.xyz, R1.w, R0;\n" 3111 "MAD R3.xyz, R1, R0.w, R2;\n" 3112 "MUL R2.xyz, R1, R0;\n" 3113 "MAD R2.xyz, -R2, c[10].z, R3;\n" 3114 "ADD R2.w, -R0, c[10];\n" 3115 "MAD R1.xyz, R1, R2.w, R2;\n" 3116 "ADD R2.x, -R1.w, c[10].w;\n" 3117 "MAD R2.xyz, R0, R2.x, R1;\n" 3118 "ADD R1.z, R1.w, R0.w;\n" 3119 "MAD R2.w, -R1, R0, R1.z;\n" 3120 "ADD R1.xy, fragment.position, c[6];\n" 3121 "MUL R1.xy, R1, c[4];\n" 3122 "TEX R1, R1, texture[1], 2D;\n" 3123 "ADD R2, R2, -R0;\n" 3124 "DP4 R1.x, R1, c[7];\n" 3125 "MAD result.color, R1.x, R2, R0;\n" 3126 "END\n" 3127 ; 3128 3166 3129 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK = 3167 3130 "!!ARBfp1.0\n" 3168 "PARAM c[10] = { program.local[0..2],\n" 3169 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3170 " { 2.3561945, 0.78539819, -1, 1 },\n" 3171 " program.local[5],\n" 3172 " { 0.15915494 },\n" 3173 " program.local[7..9] };\n" 3174 "TEMP R0;\n" 3175 "TEMP R1;\n" 3176 "TEMP R2;\n" 3177 "TEMP R3;\n" 3178 "MUL R0.xyz, fragment.position.y, c[1];\n" 3179 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 3180 "ADD R0.xyz, R0, c[2];\n" 3181 "RCP R0.z, R0.z;\n" 3182 "MUL R0.xy, R0, R0.z;\n" 3183 "ABS R0.w, R0.x;\n" 3184 "ABS R0.z, R0.y;\n" 3185 "ADD R0.z, R0, -R0.w;\n" 3186 "ADD R0.w, R0.y, c[3].x;\n" 3187 "ABS R0.z, R0;\n" 3188 "CMP R0.y, -R0.z, R0, R0.w;\n" 3189 "ABS R0.z, -R0.y;\n" 3190 "ADD R0.z, R0, c[3].y;\n" 3191 "ADD R0.w, R0.x, R0.z;\n" 3192 "ADD R1.x, R0.z, -R0;\n" 3193 "RCP R1.y, R0.w;\n" 3194 "RCP R1.x, R1.x;\n" 3195 "MUL R0.w, R0, R1.x;\n" 3196 "ADD R0.z, R0.x, -R0;\n" 3197 "MUL R0.z, R0, R1.y;\n" 3198 "CMP R0.z, R0.x, R0.w, R0;\n" 3199 "MUL R0.w, R0.z, R0.z;\n" 3200 "MOV R1.x, c[4].y;\n" 3201 "CMP R0.x, R0, c[4], R1;\n" 3202 "MAD R0.w, R0, c[3].z, -c[3];\n" 3203 "MAD R0.x, R0.w, R0.z, R0;\n" 3204 "CMP R0.y, -R0, c[4].z, c[4].w;\n" 3205 "MAD R0.x, R0, R0.y, c[5];\n" 3206 "MUL R0.x, R0, c[6];\n" 3131 "PARAM c[10] = { program.local[0..6],\n" 3132 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3133 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3134 " { 0.33299461, 0.99999559, 1 } };\n" 3135 "TEMP R0;\n" 3136 "TEMP R1;\n" 3137 "TEMP R2;\n" 3138 "TEMP R3;\n" 3139 "MUL R0.xyz, fragment.position.y, c[2];\n" 3140 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3141 "ADD R0.xyz, R0, c[3];\n" 3142 "RCP R0.z, R0.z;\n" 3143 "MUL R0.xy, R0, R0.z;\n" 3144 "ABS R0.z, R0.x;\n" 3145 "ABS R0.w, R0.y;\n" 3146 "ADD R0.w, R0, -R0.z;\n" 3147 "ADD R1.x, R0.y, c[7].y;\n" 3148 "ABS R0.w, R0;\n" 3149 "CMP R0.y, -R0.w, R0, R1.x;\n" 3150 "ABS R0.w, -R0.y;\n" 3151 "MAX R1.x, R0.z, R0.w;\n" 3152 "RCP R1.y, R1.x;\n" 3153 "MIN R1.x, R0.z, R0.w;\n" 3154 "MUL R1.x, R1, R1.y;\n" 3155 "MUL R1.y, R1.x, R1.x;\n" 3156 "MAD R1.z, R1.y, c[8].x, c[8].y;\n" 3157 "MAD R1.z, R1, R1.y, -c[8];\n" 3158 "MAD R1.z, R1, R1.y, c[8].w;\n" 3159 "MAD R1.z, R1, R1.y, -c[9].x;\n" 3160 "MAD R1.y, R1.z, R1, c[9];\n" 3161 "MUL R1.x, R1.y, R1;\n" 3162 "ADD R0.z, -R0, R0.w;\n" 3163 "ADD R1.y, -R1.x, c[7].w;\n" 3164 "CMP R0.z, -R0, R1.y, R1.x;\n" 3165 "ADD R0.w, -R0.z, c[7].z;\n" 3166 "CMP R0.x, R0, R0.w, R0.z;\n" 3167 "CMP R0.x, -R0.y, -R0, R0;\n" 3168 "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n" 3169 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3170 "MUL R2.xyz, R1, c[4].y;\n" 3171 "ADD R0.x, R0, c[0];\n" 3172 "MUL R0.x, R0, c[7];\n" 3207 3173 "FLR R0.y, R0.x;\n" 3208 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"3209 "TEX R1, R0.zwzw, texture[0], 2D;\n"3210 "MUL R2.xyz, R1, c[9].y;\n"3211 3174 "ADD R0.x, R0, -R0.y;\n" 3212 3175 "TEX R0, R0, texture[1], 1D;\n" 3213 "MUL R3.xyz, R 2, R0.w;\n"3214 "MUL R2.xyz, R0, c[ 9].x;\n"3215 "MAD R2.xyz, R 2, R1.w, R3;\n"3216 "ADD R2.w, -R1, c[ 4];\n"3217 "MUL R0.xyz, R0, c[ 8].y;\n"3218 "MAD R0.xyz, R 0, R2.w, R2;\n"3219 "ADD R2.x, -R0.w, c[ 4].w;\n"3220 "MUL R1.xyz, R1, c[ 8].z;\n"3221 "MAD result.color.xyz, R 1, R2.x, R0;\n"3176 "MUL R3.xyz, R0.w, R2;\n" 3177 "MUL R2.xyz, R0, c[4].x;\n" 3178 "MAD R2.xyz, R1.w, R2, R3;\n" 3179 "ADD R2.w, -R1, c[9].z;\n" 3180 "MUL R0.xyz, R0, c[5].y;\n" 3181 "MAD R0.xyz, R2.w, R0, R2;\n" 3182 "ADD R2.x, -R0.w, c[9].z;\n" 3183 "MUL R1.xyz, R1, c[5].z;\n" 3184 "MAD result.color.xyz, R2.x, R1, R0;\n" 3222 3185 "MUL R0.x, R0.w, R1.w;\n" 3223 3186 "MUL R0.z, R1.w, R2.x;\n" 3224 3187 "MUL R0.y, R0.w, R2.w;\n" 3225 "DP3 result.color.w, R0, c[ 8];\n"3188 "DP3 result.color.w, R0, c[5];\n" 3226 3189 "END\n" 3227 3190 ; … … 3229 3192 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_MULTIPLY_NOMASK = 3230 3193 "!!ARBfp1.0\n" 3231 "PARAM c[8] = { program.local[0..2],\n" 3232 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3233 " { 2.3561945, 0.78539819, -1, 1 },\n" 3234 " program.local[5],\n" 3235 " { 0.15915494 },\n" 3236 " program.local[7] };\n" 3237 "TEMP R0;\n" 3238 "TEMP R1;\n" 3239 "TEMP R2;\n" 3240 "MUL R0.xyz, fragment.position.y, c[1];\n" 3241 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 3242 "ADD R0.xyz, R0, c[2];\n" 3243 "RCP R0.z, R0.z;\n" 3244 "MUL R0.xy, R0, R0.z;\n" 3245 "ABS R0.w, R0.x;\n" 3246 "ABS R0.z, R0.y;\n" 3247 "ADD R0.z, R0, -R0.w;\n" 3248 "ADD R0.w, R0.y, c[3].x;\n" 3249 "ABS R0.z, R0;\n" 3250 "CMP R0.y, -R0.z, R0, R0.w;\n" 3251 "ABS R0.z, -R0.y;\n" 3252 "ADD R0.z, R0, c[3].y;\n" 3253 "ADD R0.w, R0.x, R0.z;\n" 3254 "ADD R1.x, R0.z, -R0;\n" 3255 "RCP R1.y, R0.w;\n" 3256 "RCP R1.x, R1.x;\n" 3257 "MUL R0.w, R0, R1.x;\n" 3258 "ADD R0.z, R0.x, -R0;\n" 3259 "MUL R0.z, R0, R1.y;\n" 3260 "CMP R0.z, R0.x, R0.w, R0;\n" 3261 "MUL R0.w, R0.z, R0.z;\n" 3262 "MOV R1.x, c[4].y;\n" 3263 "CMP R0.x, R0, c[4], R1;\n" 3264 "MAD R0.w, R0, c[3].z, -c[3];\n" 3265 "MAD R0.x, R0.w, R0.z, R0;\n" 3266 "CMP R0.y, -R0, c[4].z, c[4].w;\n" 3267 "MAD R0.x, R0, R0.y, c[5];\n" 3268 "MUL R0.x, R0, c[6];\n" 3194 "PARAM c[8] = { program.local[0..4],\n" 3195 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3196 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3197 " { 0.33299461, 0.99999559, 1 } };\n" 3198 "TEMP R0;\n" 3199 "TEMP R1;\n" 3200 "TEMP R2;\n" 3201 "MUL R0.xyz, fragment.position.y, c[2];\n" 3202 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3203 "ADD R0.xyz, R0, c[3];\n" 3204 "RCP R0.z, R0.z;\n" 3205 "MUL R0.xy, R0, R0.z;\n" 3206 "ABS R0.z, R0.x;\n" 3207 "ABS R0.w, R0.y;\n" 3208 "ADD R0.w, R0, -R0.z;\n" 3209 "ADD R1.x, R0.y, c[5].y;\n" 3210 "ABS R0.w, R0;\n" 3211 "CMP R0.y, -R0.w, R0, R1.x;\n" 3212 "ABS R0.w, -R0.y;\n" 3213 "MAX R1.x, R0.z, R0.w;\n" 3214 "RCP R1.y, R1.x;\n" 3215 "MIN R1.x, R0.z, R0.w;\n" 3216 "MUL R1.x, R1, R1.y;\n" 3217 "MUL R1.y, R1.x, R1.x;\n" 3218 "MAD R1.z, R1.y, c[6].x, c[6].y;\n" 3219 "MAD R1.z, R1, R1.y, -c[6];\n" 3220 "MAD R1.z, R1, R1.y, c[6].w;\n" 3221 "MAD R1.z, R1, R1.y, -c[7].x;\n" 3222 "MAD R1.y, R1.z, R1, c[7];\n" 3223 "MUL R1.x, R1.y, R1;\n" 3224 "ADD R0.z, -R0, R0.w;\n" 3225 "ADD R1.y, -R1.x, c[5].w;\n" 3226 "CMP R0.z, -R0, R1.y, R1.x;\n" 3227 "ADD R0.w, -R0.z, c[5].z;\n" 3228 "CMP R0.x, R0, R0.w, R0.z;\n" 3229 "CMP R0.x, -R0.y, -R0, R0;\n" 3230 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 3231 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3232 "ADD R0.x, R0, c[0];\n" 3233 "MUL R0.x, R0, c[5];\n" 3269 3234 "FLR R0.y, R0.x;\n" 3270 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"3271 "TEX R1, R0.zwzw, texture[0], 2D;\n"3272 3235 "ADD R0.x, R0, -R0.y;\n" 3273 3236 "TEX R0, R0, texture[1], 1D;\n" 3274 "ADD R2.x, -R1.w, c[ 4].w;\n"3237 "ADD R2.x, -R1.w, c[7].z;\n" 3275 3238 "MUL R2.xyz, R0, R2.x;\n" 3276 3239 "MAD R0.xyz, R0, R1, R2;\n" 3277 3240 "ADD R2.x, R0.w, R1.w;\n" 3278 "ADD R2.y, -R0.w, c[ 4].w;\n"3241 "ADD R2.y, -R0.w, c[7].z;\n" 3279 3242 "MAD result.color.xyz, R1, R2.y, R0;\n" 3280 3243 "MAD result.color.w, -R0, R1, R2.x;\n" … … 3284 3247 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SCREEN_NOMASK = 3285 3248 "!!ARBfp1.0\n" 3286 "PARAM c[8] = { program.local[0..2],\n" 3287 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3288 " { 2.3561945, 0.78539819, -1, 1 },\n" 3289 " program.local[5],\n" 3290 " { 0.15915494 },\n" 3291 " program.local[7] };\n" 3292 "TEMP R0;\n" 3293 "TEMP R1;\n" 3294 "TEMP R2;\n" 3295 "MUL R0.xyz, fragment.position.y, c[1];\n" 3296 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 3297 "ADD R0.xyz, R0, c[2];\n" 3298 "RCP R0.z, R0.z;\n" 3299 "MUL R0.xy, R0, R0.z;\n" 3300 "ABS R0.w, R0.x;\n" 3301 "ABS R0.z, R0.y;\n" 3302 "ADD R0.z, R0, -R0.w;\n" 3303 "ADD R0.w, R0.y, c[3].x;\n" 3304 "ABS R0.z, R0;\n" 3305 "CMP R0.y, -R0.z, R0, R0.w;\n" 3306 "ABS R0.z, -R0.y;\n" 3307 "ADD R0.z, R0, c[3].y;\n" 3308 "ADD R0.w, R0.x, R0.z;\n" 3309 "ADD R1.x, R0.z, -R0;\n" 3310 "RCP R1.y, R0.w;\n" 3311 "RCP R1.x, R1.x;\n" 3312 "MUL R0.w, R0, R1.x;\n" 3313 "ADD R0.z, R0.x, -R0;\n" 3314 "MUL R0.z, R0, R1.y;\n" 3315 "CMP R0.z, R0.x, R0.w, R0;\n" 3316 "MUL R0.w, R0.z, R0.z;\n" 3317 "MOV R1.x, c[4].y;\n" 3318 "CMP R0.x, R0, c[4], R1;\n" 3319 "MAD R0.w, R0, c[3].z, -c[3];\n" 3320 "MAD R0.x, R0.w, R0.z, R0;\n" 3321 "CMP R0.y, -R0, c[4].z, c[4].w;\n" 3322 "MAD R0.x, R0, R0.y, c[5];\n" 3323 "MUL R0.x, R0, c[6];\n" 3249 "PARAM c[8] = { program.local[0..4],\n" 3250 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3251 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3252 " { 0.33299461, 0.99999559 } };\n" 3253 "TEMP R0;\n" 3254 "TEMP R1;\n" 3255 "TEMP R2;\n" 3256 "MUL R0.xyz, fragment.position.y, c[2];\n" 3257 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3258 "ADD R0.xyz, R0, c[3];\n" 3259 "RCP R0.z, R0.z;\n" 3260 "MUL R0.xy, R0, R0.z;\n" 3261 "ABS R0.z, R0.x;\n" 3262 "ABS R0.w, R0.y;\n" 3263 "ADD R0.w, R0, -R0.z;\n" 3264 "ADD R1.x, R0.y, c[5].y;\n" 3265 "ABS R0.w, R0;\n" 3266 "CMP R0.y, -R0.w, R0, R1.x;\n" 3267 "ABS R0.w, -R0.y;\n" 3268 "MAX R1.x, R0.z, R0.w;\n" 3269 "RCP R1.y, R1.x;\n" 3270 "MIN R1.x, R0.z, R0.w;\n" 3271 "MUL R1.x, R1, R1.y;\n" 3272 "MUL R1.y, R1.x, R1.x;\n" 3273 "MAD R1.z, R1.y, c[6].x, c[6].y;\n" 3274 "MAD R1.z, R1, R1.y, -c[6];\n" 3275 "MAD R1.z, R1, R1.y, c[6].w;\n" 3276 "MAD R1.z, R1, R1.y, -c[7].x;\n" 3277 "MAD R1.y, R1.z, R1, c[7];\n" 3278 "MUL R1.x, R1.y, R1;\n" 3279 "ADD R0.z, -R0, R0.w;\n" 3280 "ADD R1.y, -R1.x, c[5].w;\n" 3281 "CMP R0.z, -R0, R1.y, R1.x;\n" 3282 "ADD R0.w, -R0.z, c[5].z;\n" 3283 "CMP R0.x, R0, R0.w, R0.z;\n" 3284 "CMP R0.x, -R0.y, -R0, R0;\n" 3285 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 3286 "ADD R0.x, R0, c[0];\n" 3287 "MUL R0.x, R0, c[5];\n" 3324 3288 "FLR R0.y, R0.x;\n" 3325 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"3326 3289 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3327 3290 "ADD R0.x, R0, -R0.y;\n" … … 3334 3297 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_OVERLAY_NOMASK = 3335 3298 "!!ARBfp1.0\n" 3336 "PARAM c[8] = { program.local[0..2],\n" 3337 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3338 " { 2.3561945, 0.78539819, -1, 1 },\n" 3339 " program.local[5],\n" 3340 " { 0.15915494, 2 },\n" 3341 " program.local[7] };\n" 3342 "TEMP R0;\n" 3343 "TEMP R1;\n" 3344 "TEMP R2;\n" 3345 "TEMP R3;\n" 3346 "MUL R0.xyz, fragment.position.y, c[1];\n" 3347 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 3348 "ADD R0.xyz, R0, c[2];\n" 3349 "RCP R0.z, R0.z;\n" 3350 "MUL R0.xy, R0, R0.z;\n" 3351 "ABS R0.w, R0.x;\n" 3352 "ABS R0.z, R0.y;\n" 3353 "ADD R0.z, R0, -R0.w;\n" 3354 "ADD R0.w, R0.y, c[3].x;\n" 3355 "ABS R0.z, R0;\n" 3356 "CMP R0.y, -R0.z, R0, R0.w;\n" 3357 "ABS R0.z, -R0.y;\n" 3358 "ADD R0.z, R0, c[3].y;\n" 3359 "ADD R0.w, R0.x, R0.z;\n" 3360 "ADD R1.x, R0.z, -R0;\n" 3361 "RCP R1.y, R0.w;\n" 3362 "RCP R1.x, R1.x;\n" 3363 "MUL R0.w, R0, R1.x;\n" 3364 "ADD R0.z, R0.x, -R0;\n" 3365 "MUL R0.z, R0, R1.y;\n" 3366 "CMP R0.z, R0.x, R0.w, R0;\n" 3367 "MUL R0.w, R0.z, R0.z;\n" 3368 "MOV R1.x, c[4].y;\n" 3369 "CMP R0.x, R0, c[4], R1;\n" 3370 "MAD R0.w, R0, c[3].z, -c[3];\n" 3371 "MUL R1.xy, fragment.position, c[7];\n" 3372 "TEX R1, R1, texture[0], 2D;\n" 3373 "ADD R2.w, -R1, c[4];\n" 3374 "CMP R0.y, -R0, c[4].z, c[4].w;\n" 3375 "MAD R0.x, R0.w, R0.z, R0;\n" 3376 "MAD R0.x, R0, R0.y, c[5];\n" 3377 "MUL R0.x, R0, c[6];\n" 3299 "PARAM c[8] = { program.local[0..4],\n" 3300 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 3301 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 3302 " { 3.141593, 0.15915494, 2, 1 } };\n" 3303 "TEMP R0;\n" 3304 "TEMP R1;\n" 3305 "TEMP R2;\n" 3306 "TEMP R3;\n" 3307 "MUL R0.xyz, fragment.position.y, c[2];\n" 3308 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3309 "ADD R0.xyz, R0, c[3];\n" 3310 "RCP R0.z, R0.z;\n" 3311 "MUL R0.xy, R0, R0.z;\n" 3312 "ABS R0.z, R0.x;\n" 3313 "ABS R0.w, R0.y;\n" 3314 "ADD R0.w, R0, -R0.z;\n" 3315 "ADD R1.x, R0.y, c[5];\n" 3316 "ABS R0.w, R0;\n" 3317 "CMP R0.y, -R0.w, R0, R1.x;\n" 3318 "ABS R0.w, -R0.y;\n" 3319 "MAX R1.x, R0.z, R0.w;\n" 3320 "RCP R1.y, R1.x;\n" 3321 "MIN R1.x, R0.z, R0.w;\n" 3322 "MUL R1.x, R1, R1.y;\n" 3323 "MUL R1.y, R1.x, R1.x;\n" 3324 "MAD R1.z, R1.y, c[5].y, c[5];\n" 3325 "MAD R1.z, R1, R1.y, -c[5].w;\n" 3326 "MAD R1.z, R1, R1.y, c[6].x;\n" 3327 "MAD R1.z, R1, R1.y, -c[6].y;\n" 3328 "MAD R1.y, R1.z, R1, c[6].z;\n" 3329 "MUL R1.x, R1.y, R1;\n" 3330 "ADD R0.z, -R0, R0.w;\n" 3331 "ADD R1.y, -R1.x, c[6].w;\n" 3332 "CMP R0.z, -R0, R1.y, R1.x;\n" 3333 "ADD R0.w, -R0.z, c[7].x;\n" 3334 "CMP R0.x, R0, R0.w, R0.z;\n" 3335 "CMP R0.x, -R0.y, -R0, R0;\n" 3336 "ADD R0.x, R0, c[0];\n" 3337 "MUL R0.x, R0, c[7].y;\n" 3378 3338 "FLR R0.y, R0.x;\n" 3379 3339 "ADD R0.x, R0, -R0.y;\n" 3380 3340 "TEX R0, R0, texture[1], 1D;\n" 3341 "MUL R1.xy, fragment.position, c[4];\n" 3342 "TEX R1, R1, texture[0], 2D;\n" 3381 3343 "ADD R3.xyz, R0.w, -R0;\n" 3382 3344 "ADD R2.xyz, R1.w, -R1;\n" 3383 3345 "MUL R2.xyz, R2, R3;\n" 3384 "MUL R2.xyz, R2, c[6].y;\n" 3346 "ADD R2.w, -R1, c[7];\n" 3347 "MUL R2.xyz, R2, c[7].z;\n" 3385 3348 "MAD R2.xyz, R0.w, R1.w, -R2;\n" 3386 3349 "MAD R2.xyz, R0, R2.w, R2;\n" 3387 3350 "MUL R3.xyz, R0, R2.w;\n" 3388 3351 "MUL R0.xyz, R0, R1;\n" 3389 "ADD R2.w, -R0, c[ 4];\n"3390 "MAD R0.xyz, R0, c[ 6].y, R3;\n"3352 "ADD R2.w, -R0, c[7];\n" 3353 "MAD R0.xyz, R0, c[7].z, R3;\n" 3391 3354 "MAD R0.xyz, R1, R2.w, R0;\n" 3392 3355 "MAD R2.xyz, R1, R2.w, R2;\n" 3393 "MUL R1.xyz, R1, c[ 6].y;\n"3356 "MUL R1.xyz, R1, c[7].z;\n" 3394 3357 "ADD R2.w, R0, R1;\n" 3395 3358 "ADD R2.xyz, R2, -R0;\n" … … 3402 3365 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DARKEN_NOMASK = 3403 3366 "!!ARBfp1.0\n" 3404 "PARAM c[8] = { program.local[0.. 2],\n"3405 " { 0. 0020000001, 9.9999997e-10, 0.1963, 0.9817},\n"3406 " { 2.3561945, 0.78539819, -1, 1},\n"3407 " program.local[5],\n"3408 " { 0.15915494 },\n"3409 " program.local[7] };\n"3410 "TEMP R 0;\n"3411 "TEMP R 1;\n"3412 " TEMP R2;\n"3413 " TEMP R3;\n"3414 " MUL R0.xyz, fragment.position.y, c[1];\n"3415 " MAD R0.xyz, fragment.position.x, c[0], R0;\n"3416 " ADD R0.xyz, R0, c[2];\n"3417 " RCP R0.z, R0.z;\n"3418 " MUL R0.xy, R0, R0.z;\n"3419 "A BS R0.w, R0.x;\n"3420 "A BS R0.z, R0.y;\n"3421 "A DD R0.z, R0, -R0.w;\n"3422 " ADD R0.w, R0.y, c[3].x;\n"3423 "ABS R0. z, R0;\n"3424 " CMP R0.y, -R0.z, R0, R0.w;\n"3425 " ABS R0.z, -R0.y;\n"3426 " ADD R0.z, R0, c[3].y;\n"3427 " ADD R0.w, R0.x, R0.z;\n"3428 " ADD R1.x, R0.z, -R0;\n"3429 " RCP R1.y, R0.w;\n"3430 " RCP R1.x, R1.x;\n"3431 "M UL R0.w, R0, R1.x;\n"3432 " ADD R0.z, R0.x, -R0;\n"3433 "M UL R0.z, R0, R1.y;\n"3434 " CMP R0.z, R0.x, R0.w, R0;\n"3435 " MUL R0.w, R0.z, R0.z;\n"3436 " MOV R1.x, c[4].y;\n"3437 "CMP R0. x, R0, c[4], R1;\n"3438 " MAD R0.w, R0, c[3].z, -c[3];\n"3439 " MUL R1.xy, fragment.position, c[7];\n"3440 " TEX R1, R1, texture[0], 2D;\n"3441 " CMP R0.y, -R0, c[4].z, c[4].w;\n"3442 " MAD R0.x, R0.w, R0.z, R0;\n"3443 " MAD R0.x, R0, R0.y, c[5];\n"3444 "MUL R0.x, R0, c[ 6];\n"3367 "PARAM c[8] = { program.local[0..4],\n" 3368 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3369 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3370 " { 0.33299461, 0.99999559, 1 } };\n" 3371 "TEMP R0;\n" 3372 "TEMP R1;\n" 3373 "TEMP R2;\n" 3374 "TEMP R3;\n" 3375 "MUL R0.xyz, fragment.position.y, c[2];\n" 3376 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3377 "ADD R0.xyz, R0, c[3];\n" 3378 "RCP R0.z, R0.z;\n" 3379 "MUL R0.xy, R0, R0.z;\n" 3380 "ABS R0.z, R0.x;\n" 3381 "ABS R0.w, R0.y;\n" 3382 "ADD R0.w, R0, -R0.z;\n" 3383 "ADD R1.x, R0.y, c[5].y;\n" 3384 "ABS R0.w, R0;\n" 3385 "CMP R0.y, -R0.w, R0, R1.x;\n" 3386 "ABS R0.w, -R0.y;\n" 3387 "MAX R1.x, R0.z, R0.w;\n" 3388 "RCP R1.y, R1.x;\n" 3389 "MIN R1.x, R0.z, R0.w;\n" 3390 "MUL R1.x, R1, R1.y;\n" 3391 "MUL R1.y, R1.x, R1.x;\n" 3392 "MAD R1.z, R1.y, c[6].x, c[6].y;\n" 3393 "MAD R1.z, R1, R1.y, -c[6];\n" 3394 "MAD R1.z, R1, R1.y, c[6].w;\n" 3395 "MAD R1.z, R1, R1.y, -c[7].x;\n" 3396 "MAD R1.y, R1.z, R1, c[7];\n" 3397 "MUL R1.x, R1.y, R1;\n" 3398 "ADD R0.z, -R0, R0.w;\n" 3399 "ADD R1.y, -R1.x, c[5].w;\n" 3400 "CMP R0.z, -R0, R1.y, R1.x;\n" 3401 "ADD R0.w, -R0.z, c[5].z;\n" 3402 "CMP R0.x, R0, R0.w, R0.z;\n" 3403 "CMP R0.x, -R0.y, -R0, R0;\n" 3404 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 3405 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3406 "ADD R0.x, R0, c[0];\n" 3407 "MUL R0.x, R0, c[5];\n" 3445 3408 "FLR R0.y, R0.x;\n" 3446 3409 "ADD R0.x, R0, -R0.y;\n" 3447 3410 "TEX R0, R0, texture[1], 1D;\n" 3448 3411 "MUL R2.xyz, R0, R1.w;\n" 3449 "MUL R3.xyz, R 1, R0.w;\n"3412 "MUL R3.xyz, R0.w, R1;\n" 3450 3413 "MIN R2.xyz, R2, R3;\n" 3451 "ADD R2.w, -R1, c[ 4];\n"3414 "ADD R2.w, -R1, c[7].z;\n" 3452 3415 "MAD R0.xyz, R0, R2.w, R2;\n" 3453 3416 "ADD R2.x, R0.w, R1.w;\n" 3454 "ADD R2.y, -R0.w, c[ 4].w;\n"3417 "ADD R2.y, -R0.w, c[7].z;\n" 3455 3418 "MAD result.color.xyz, R1, R2.y, R0;\n" 3456 3419 "MAD result.color.w, -R0, R1, R2.x;\n" … … 3460 3423 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_LIGHTEN_NOMASK = 3461 3424 "!!ARBfp1.0\n" 3462 "PARAM c[8] = { program.local[0.. 2],\n"3463 " { 0. 0020000001, 9.9999997e-10, 0.1963, 0.9817},\n"3464 " { 2.3561945, 0.78539819, -1, 1},\n"3465 " program.local[5],\n"3466 " { 0.15915494 },\n"3467 " program.local[7] };\n"3468 "TEMP R 0;\n"3469 "TEMP R 1;\n"3470 " TEMP R2;\n"3471 " TEMP R3;\n"3472 " MUL R0.xyz, fragment.position.y, c[1];\n"3473 " MAD R0.xyz, fragment.position.x, c[0], R0;\n"3474 " ADD R0.xyz, R0, c[2];\n"3475 " RCP R0.z, R0.z;\n"3476 " MUL R0.xy, R0, R0.z;\n"3477 "A BS R0.w, R0.x;\n"3478 "A BS R0.z, R0.y;\n"3479 "A DD R0.z, R0, -R0.w;\n"3480 " ADD R0.w, R0.y, c[3].x;\n"3481 "ABS R0. z, R0;\n"3482 " CMP R0.y, -R0.z, R0, R0.w;\n"3483 " ABS R0.z, -R0.y;\n"3484 " ADD R0.z, R0, c[3].y;\n"3485 " ADD R0.w, R0.x, R0.z;\n"3486 " ADD R1.x, R0.z, -R0;\n"3487 " RCP R1.y, R0.w;\n"3488 " RCP R1.x, R1.x;\n"3489 "M UL R0.w, R0, R1.x;\n"3490 " ADD R0.z, R0.x, -R0;\n"3491 "M UL R0.z, R0, R1.y;\n"3492 " CMP R0.z, R0.x, R0.w, R0;\n"3493 " MUL R0.w, R0.z, R0.z;\n"3494 " MOV R1.x, c[4].y;\n"3495 "CMP R0. x, R0, c[4], R1;\n"3496 " MAD R0.w, R0, c[3].z, -c[3];\n"3497 " MUL R1.xy, fragment.position, c[7];\n"3498 " TEX R1, R1, texture[0], 2D;\n"3499 " CMP R0.y, -R0, c[4].z, c[4].w;\n"3500 " MAD R0.x, R0.w, R0.z, R0;\n"3501 " MAD R0.x, R0, R0.y, c[5];\n"3502 "MUL R0.x, R0, c[ 6];\n"3425 "PARAM c[8] = { program.local[0..4],\n" 3426 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3427 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3428 " { 0.33299461, 0.99999559, 1 } };\n" 3429 "TEMP R0;\n" 3430 "TEMP R1;\n" 3431 "TEMP R2;\n" 3432 "TEMP R3;\n" 3433 "MUL R0.xyz, fragment.position.y, c[2];\n" 3434 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3435 "ADD R0.xyz, R0, c[3];\n" 3436 "RCP R0.z, R0.z;\n" 3437 "MUL R0.xy, R0, R0.z;\n" 3438 "ABS R0.z, R0.x;\n" 3439 "ABS R0.w, R0.y;\n" 3440 "ADD R0.w, R0, -R0.z;\n" 3441 "ADD R1.x, R0.y, c[5].y;\n" 3442 "ABS R0.w, R0;\n" 3443 "CMP R0.y, -R0.w, R0, R1.x;\n" 3444 "ABS R0.w, -R0.y;\n" 3445 "MAX R1.x, R0.z, R0.w;\n" 3446 "RCP R1.y, R1.x;\n" 3447 "MIN R1.x, R0.z, R0.w;\n" 3448 "MUL R1.x, R1, R1.y;\n" 3449 "MUL R1.y, R1.x, R1.x;\n" 3450 "MAD R1.z, R1.y, c[6].x, c[6].y;\n" 3451 "MAD R1.z, R1, R1.y, -c[6];\n" 3452 "MAD R1.z, R1, R1.y, c[6].w;\n" 3453 "MAD R1.z, R1, R1.y, -c[7].x;\n" 3454 "MAD R1.y, R1.z, R1, c[7];\n" 3455 "MUL R1.x, R1.y, R1;\n" 3456 "ADD R0.z, -R0, R0.w;\n" 3457 "ADD R1.y, -R1.x, c[5].w;\n" 3458 "CMP R0.z, -R0, R1.y, R1.x;\n" 3459 "ADD R0.w, -R0.z, c[5].z;\n" 3460 "CMP R0.x, R0, R0.w, R0.z;\n" 3461 "CMP R0.x, -R0.y, -R0, R0;\n" 3462 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 3463 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3464 "ADD R0.x, R0, c[0];\n" 3465 "MUL R0.x, R0, c[5];\n" 3503 3466 "FLR R0.y, R0.x;\n" 3504 3467 "ADD R0.x, R0, -R0.y;\n" 3505 3468 "TEX R0, R0, texture[1], 1D;\n" 3506 3469 "MUL R2.xyz, R0, R1.w;\n" 3507 "MUL R3.xyz, R 1, R0.w;\n"3470 "MUL R3.xyz, R0.w, R1;\n" 3508 3471 "MAX R2.xyz, R2, R3;\n" 3509 "ADD R2.w, -R1, c[ 4];\n"3472 "ADD R2.w, -R1, c[7].z;\n" 3510 3473 "MAD R0.xyz, R0, R2.w, R2;\n" 3511 3474 "ADD R2.x, R0.w, R1.w;\n" 3512 "ADD R2.y, -R0.w, c[ 4].w;\n"3475 "ADD R2.y, -R0.w, c[7].z;\n" 3513 3476 "MAD result.color.xyz, R1, R2.y, R0;\n" 3514 3477 "MAD result.color.w, -R0, R1, R2.x;\n" … … 3518 3481 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_COLORDODGE_NOMASK = 3519 3482 "!!ARBfp1.0\n" 3520 "PARAM c[8] = { program.local[0.. 2],\n"3521 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817},\n"3522 " { 2.3561945, 0.78539819, -1, 1},\n"3523 " program.local[5],\n"3524 " { 0.15915494, 1e-06 },\n"3525 " program.local[7] };\n"3526 "TEMP R 0;\n"3527 "TEMP R 1;\n"3528 " TEMP R2;\n"3529 " TEMP R3;\n"3530 " MUL R0.xyz, fragment.position.y, c[1];\n"3531 " MAD R0.xyz, fragment.position.x, c[0], R0;\n"3532 " ADD R0.xyz, R0, c[2];\n"3533 " RCP R0.z, R0.z;\n"3534 " MUL R0.xy, R0, R0.z;\n"3535 "A BS R0.w, R0.x;\n"3536 "A BS R0.z, R0.y;\n"3537 "A DD R0.z, R0, -R0.w;\n"3538 " ADD R0.w, R0.y, c[3].x;\n"3539 "ABS R0. z, R0;\n"3540 " CMP R0.y, -R0.z, R0, R0.w;\n"3541 " ABS R0.z, -R0.y;\n"3542 " ADD R0.z, R0, c[3].y;\n"3543 " ADD R0.w, R0.x, R0.z;\n"3544 " ADD R1.x, R0.z, -R0;\n"3545 " RCP R1.y, R0.w;\n"3546 " RCP R1.x, R1.x;\n"3547 "M UL R0.w, R0, R1.x;\n"3548 " ADD R0.z, R0.x, -R0;\n"3549 "M UL R0.z, R0, R1.y;\n"3550 " CMP R0.z, R0.x, R0.w, R0;\n"3551 " MUL R0.w, R0.z, R0.z;\n"3552 " MOV R1.x, c[4].y;\n"3553 "CMP R0. x, R0, c[4], R1;\n"3554 " MAD R0.w, R0, c[3].z, -c[3];\n"3555 "CMP R0. y, -R0, c[4].z, c[4].w;\n"3556 " MAD R0.x, R0.w, R0.z, R0;\n"3557 " MAD R0.x, R0, R0.y, c[5];\n"3558 "MUL R0.x, R0, c[ 6];\n"3483 "PARAM c[8] = { program.local[0..4],\n" 3484 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 3485 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 3486 " { 3.141593, 0.15915494, 1, 1e-006 } };\n" 3487 "TEMP R0;\n" 3488 "TEMP R1;\n" 3489 "TEMP R2;\n" 3490 "TEMP R3;\n" 3491 "MUL R0.xyz, fragment.position.y, c[2];\n" 3492 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3493 "ADD R0.xyz, R0, c[3];\n" 3494 "RCP R0.z, R0.z;\n" 3495 "MUL R0.xy, R0, R0.z;\n" 3496 "ABS R0.z, R0.x;\n" 3497 "ABS R0.w, R0.y;\n" 3498 "ADD R0.w, R0, -R0.z;\n" 3499 "ADD R1.x, R0.y, c[5];\n" 3500 "ABS R0.w, R0;\n" 3501 "CMP R0.y, -R0.w, R0, R1.x;\n" 3502 "ABS R0.w, -R0.y;\n" 3503 "MAX R1.x, R0.z, R0.w;\n" 3504 "RCP R1.y, R1.x;\n" 3505 "MIN R1.x, R0.z, R0.w;\n" 3506 "MUL R1.x, R1, R1.y;\n" 3507 "MUL R1.y, R1.x, R1.x;\n" 3508 "MAD R1.z, R1.y, c[5].y, c[5];\n" 3509 "MAD R1.z, R1, R1.y, -c[5].w;\n" 3510 "MAD R1.z, R1, R1.y, c[6].x;\n" 3511 "MAD R1.z, R1, R1.y, -c[6].y;\n" 3512 "MAD R1.y, R1.z, R1, c[6].z;\n" 3513 "MUL R1.x, R1.y, R1;\n" 3514 "ADD R1.y, -R1.x, c[6].w;\n" 3515 "ADD R0.z, -R0, R0.w;\n" 3516 "CMP R0.z, -R0, R1.y, R1.x;\n" 3517 "ADD R0.w, -R0.z, c[7].x;\n" 3518 "CMP R0.x, R0, R0.w, R0.z;\n" 3519 "CMP R0.x, -R0.y, -R0, R0;\n" 3520 "ADD R0.x, R0, c[0];\n" 3521 "MUL R0.x, R0, c[7].y;\n" 3559 3522 "FLR R0.y, R0.x;\n" 3560 3523 "ADD R0.x, R0, -R0.y;\n" 3561 3524 "TEX R0, R0, texture[1], 1D;\n" 3562 "MAX R1.x, R0.w, c[ 6].y;\n"3525 "MAX R1.x, R0.w, c[7].w;\n" 3563 3526 "RCP R1.x, R1.x;\n" 3564 "MAD R1.xyz, -R0, R1.x, c[ 4].w;\n"3565 "MAX R2.xyz, R1, c[ 6].y;\n"3566 "MUL R1.xy, fragment.position, c[ 7];\n"3527 "MAD R1.xyz, -R0, R1.x, c[7].z;\n" 3528 "MAX R2.xyz, R1, c[7].w;\n" 3529 "MUL R1.xy, fragment.position, c[4];\n" 3567 3530 "TEX R1, R1, texture[0], 2D;\n" 3568 "ADD R2.w, -R0, c[ 4];\n"3531 "ADD R2.w, -R0, c[7].z;\n" 3569 3532 "MUL R3.xyz, R1, R2.w;\n" 3570 "ADD R2.w, -R1, c[ 4];\n"3533 "ADD R2.w, -R1, c[7].z;\n" 3571 3534 "MAD R3.xyz, R0, R2.w, R3;\n" 3572 "MUL R1.xyz, R 1, R0.w;\n"3535 "MUL R1.xyz, R0.w, R1;\n" 3573 3536 "MAD R0.xyz, R0, R1.w, R1;\n" 3574 3537 "MUL R2.w, R0, R1;\n" … … 3588 3551 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_COLORBURN_NOMASK = 3589 3552 "!!ARBfp1.0\n" 3590 "PARAM c[8] = { program.local[0..2],\n" 3591 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3592 " { 2.3561945, 0.78539819, -1, 1 },\n" 3593 " program.local[5],\n" 3594 " { 0.15915494, 9.9999997e-06 },\n" 3595 " program.local[7] };\n" 3553 "PARAM c[8] = { program.local[0..4],\n" 3554 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 3555 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 3556 " { 3.141593, 0.15915494, 1, 9.9999997e-006 } };\n" 3596 3557 "TEMP R0;\n" 3597 3558 "TEMP R1;\n" … … 3600 3561 "TEMP R4;\n" 3601 3562 "TEMP R5;\n" 3602 "MUL R0.xyz, fragment.position.y, c[ 1];\n"3603 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"3604 "ADD R0.xyz, R0, c[ 2];\n"3563 "MUL R0.xyz, fragment.position.y, c[2];\n" 3564 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3565 "ADD R0.xyz, R0, c[3];\n" 3605 3566 "RCP R0.z, R0.z;\n" 3606 3567 "MUL R0.xy, R0, R0.z;\n" … … 3608 3569 "ABS R0.z, R0.y;\n" 3609 3570 "ADD R0.z, R0, -R0.w;\n" 3610 "ADD R 0.w, R0.y, c[3].x;\n"3571 "ADD R1.x, R0.y, c[5];\n" 3611 3572 "ABS R0.z, R0;\n" 3612 "CMP R0.y, -R0.z, R0, R 0.w;\n"3573 "CMP R0.y, -R0.z, R0, R1.x;\n" 3613 3574 "ABS R0.z, -R0.y;\n" 3614 "ADD R0.z, R0, c[3].y;\n" 3615 "ADD R0.w, R0.x, R0.z;\n" 3616 "ADD R1.x, R0.z, -R0;\n" 3617 "RCP R1.y, R0.w;\n" 3618 "RCP R1.x, R1.x;\n" 3619 "MUL R0.w, R0, R1.x;\n" 3620 "ADD R0.z, R0.x, -R0;\n" 3621 "MUL R0.z, R0, R1.y;\n" 3622 "CMP R0.z, R0.x, R0.w, R0;\n" 3623 "MUL R0.w, R0.z, R0.z;\n" 3624 "MOV R1.x, c[4].y;\n" 3625 "CMP R0.x, R0, c[4], R1;\n" 3626 "MAD R0.w, R0, c[3].z, -c[3];\n" 3627 "MUL R1.xy, fragment.position, c[7];\n" 3628 "TEX R1, R1, texture[0], 2D;\n" 3629 "ADD R2.w, -R1, c[4];\n" 3630 "CMP R0.y, -R0, c[4].z, c[4].w;\n" 3631 "MAD R0.x, R0.w, R0.z, R0;\n" 3632 "MAD R0.x, R0, R0.y, c[5];\n" 3633 "MUL R0.x, R0, c[6];\n" 3575 "MAX R1.x, R0.w, R0.z;\n" 3576 "RCP R1.y, R1.x;\n" 3577 "MIN R1.x, R0.w, R0.z;\n" 3578 "MUL R1.x, R1, R1.y;\n" 3579 "MUL R1.y, R1.x, R1.x;\n" 3580 "MAD R1.z, R1.y, c[5].y, c[5];\n" 3581 "MAD R1.z, R1, R1.y, -c[5].w;\n" 3582 "MAD R1.z, R1, R1.y, c[6].x;\n" 3583 "MAD R1.z, R1, R1.y, -c[6].y;\n" 3584 "MAD R1.y, R1.z, R1, c[6].z;\n" 3585 "MUL R1.x, R1.y, R1;\n" 3586 "ADD R1.y, -R1.x, c[6].w;\n" 3587 "ADD R0.z, -R0.w, R0;\n" 3588 "CMP R0.z, -R0, R1.y, R1.x;\n" 3589 "ADD R0.w, -R0.z, c[7].x;\n" 3590 "CMP R0.x, R0, R0.w, R0.z;\n" 3591 "CMP R0.x, -R0.y, -R0, R0;\n" 3592 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 3593 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3594 "ADD R0.x, R0, c[0];\n" 3595 "MUL R0.x, R0, c[7].y;\n" 3634 3596 "FLR R0.y, R0.x;\n" 3635 3597 "ADD R0.x, R0, -R0.y;\n" 3636 3598 "TEX R0, R0, texture[1], 1D;\n" 3637 "MUL R2.xyz, R 1, R0.w;\n"3599 "MUL R2.xyz, R0.w, R1;\n" 3638 3600 "MAD R3.xyz, R0, R1.w, R2;\n" 3601 "ADD R2.w, -R1, c[7].z;\n" 3639 3602 "MAD R2.xyz, -R0.w, R1.w, R3;\n" 3640 3603 "MUL R4.xyz, R0.w, R2;\n" 3641 "MAX R2.xyz, R0, c[ 6].y;\n"3604 "MAX R2.xyz, R0, c[7].w;\n" 3642 3605 "MUL R5.xyz, R0, R2.w;\n" 3643 "ADD R3.w, -R0, c[ 4];\n"3606 "ADD R3.w, -R0, c[7].z;\n" 3644 3607 "RCP R2.x, R2.x;\n" 3645 3608 "RCP R2.y, R2.y;\n" … … 3660 3623 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_HARDLIGHT_NOMASK = 3661 3624 "!!ARBfp1.0\n" 3662 "PARAM c[8] = { program.local[0..2],\n" 3663 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3664 " { 2.3561945, 0.78539819, -1, 1 },\n" 3665 " program.local[5],\n" 3666 " { 0.15915494, 2 },\n" 3667 " program.local[7] };\n" 3625 "PARAM c[8] = { program.local[0..4],\n" 3626 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 3627 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 3628 " { 3.141593, 0.15915494, 2, 1 } };\n" 3668 3629 "TEMP R0;\n" 3669 3630 "TEMP R1;\n" … … 3671 3632 "TEMP R3;\n" 3672 3633 "TEMP R4;\n" 3673 "MUL R0.xyz, fragment.position.y, c[1];\n" 3674 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 3675 "ADD R0.xyz, R0, c[2];\n" 3676 "RCP R0.z, R0.z;\n" 3677 "MUL R0.xy, R0, R0.z;\n" 3678 "ABS R0.w, R0.x;\n" 3679 "ABS R0.z, R0.y;\n" 3680 "ADD R0.z, R0, -R0.w;\n" 3681 "ADD R0.w, R0.y, c[3].x;\n" 3682 "ABS R0.z, R0;\n" 3683 "CMP R0.y, -R0.z, R0, R0.w;\n" 3684 "ABS R0.z, -R0.y;\n" 3685 "ADD R0.z, R0, c[3].y;\n" 3686 "ADD R0.w, R0.x, R0.z;\n" 3687 "ADD R1.x, R0.z, -R0;\n" 3688 "RCP R1.y, R0.w;\n" 3689 "RCP R1.x, R1.x;\n" 3690 "MUL R0.w, R0, R1.x;\n" 3691 "ADD R0.z, R0.x, -R0;\n" 3692 "MUL R0.z, R0, R1.y;\n" 3693 "CMP R0.z, R0.x, R0.w, R0;\n" 3694 "MUL R0.w, R0.z, R0.z;\n" 3695 "MOV R1.x, c[4].y;\n" 3696 "CMP R0.x, R0, c[4], R1;\n" 3697 "MAD R0.w, R0, c[3].z, -c[3];\n" 3698 "MUL R1.xy, fragment.position, c[7];\n" 3699 "TEX R1, R1, texture[0], 2D;\n" 3700 "ADD R2.w, -R1, c[4];\n" 3701 "CMP R0.y, -R0, c[4].z, c[4].w;\n" 3702 "MAD R0.x, R0.w, R0.z, R0;\n" 3703 "MAD R0.x, R0, R0.y, c[5];\n" 3704 "MUL R0.x, R0, c[6];\n" 3634 "MUL R0.xyz, fragment.position.y, c[2];\n" 3635 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3636 "ADD R0.xyz, R0, c[3];\n" 3637 "RCP R0.z, R0.z;\n" 3638 "MUL R0.xy, R0, R0.z;\n" 3639 "ABS R0.z, R0.x;\n" 3640 "ABS R0.w, R0.y;\n" 3641 "ADD R0.w, R0, -R0.z;\n" 3642 "ADD R1.x, R0.y, c[5];\n" 3643 "ABS R0.w, R0;\n" 3644 "CMP R0.y, -R0.w, R0, R1.x;\n" 3645 "ABS R0.w, -R0.y;\n" 3646 "MAX R1.x, R0.z, R0.w;\n" 3647 "RCP R1.y, R1.x;\n" 3648 "MIN R1.x, R0.z, R0.w;\n" 3649 "MUL R1.x, R1, R1.y;\n" 3650 "MUL R1.y, R1.x, R1.x;\n" 3651 "MAD R1.z, R1.y, c[5].y, c[5];\n" 3652 "MAD R1.z, R1, R1.y, -c[5].w;\n" 3653 "MAD R1.z, R1, R1.y, c[6].x;\n" 3654 "MAD R1.z, R1, R1.y, -c[6].y;\n" 3655 "MAD R1.y, R1.z, R1, c[6].z;\n" 3656 "MUL R1.x, R1.y, R1;\n" 3657 "ADD R0.z, -R0, R0.w;\n" 3658 "ADD R1.y, -R1.x, c[6].w;\n" 3659 "CMP R0.z, -R0, R1.y, R1.x;\n" 3660 "ADD R0.w, -R0.z, c[7].x;\n" 3661 "CMP R0.x, R0, R0.w, R0.z;\n" 3662 "CMP R0.x, -R0.y, -R0, R0;\n" 3663 "ADD R0.x, R0, c[0];\n" 3664 "MUL R0.x, R0, c[7].y;\n" 3705 3665 "FLR R0.y, R0.x;\n" 3706 3666 "ADD R0.x, R0, -R0.y;\n" 3707 3667 "TEX R0, R0, texture[1], 1D;\n" 3668 "MUL R1.xy, fragment.position, c[4];\n" 3669 "TEX R1, R1, texture[0], 2D;\n" 3670 "ADD R2.w, -R1, c[7];\n" 3708 3671 "ADD R3.xyz, R0.w, -R0;\n" 3709 3672 "ADD R2.xyz, R1.w, -R1;\n" 3710 3673 "MUL R2.xyz, R2, R3;\n" 3711 "MUL R2.xyz, R2, c[ 6].y;\n"3674 "MUL R2.xyz, R2, c[7].z;\n" 3712 3675 "MAD R2.xyz, R0.w, R1.w, -R2;\n" 3713 3676 "MUL R4.xyz, R0, R2.w;\n" 3714 3677 "MUL R3.xyz, R0, R1;\n" 3715 3678 "MAD R2.xyz, R0, R2.w, R2;\n" 3716 "ADD R2.w, -R0, c[ 4];\n"3717 "MUL R0.xyz, R0, c[ 6].y;\n"3679 "ADD R2.w, -R0, c[7];\n" 3680 "MUL R0.xyz, R0, c[7].z;\n" 3718 3681 "MAD R2.xyz, R1, R2.w, R2;\n" 3719 "MAD R3.xyz, R3, c[ 6].y, R4;\n"3682 "MAD R3.xyz, R3, c[7].z, R4;\n" 3720 3683 "MAD R1.xyz, R1, R2.w, R3;\n" 3721 3684 "ADD R2.w, R0, R1;\n" … … 3729 3692 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SOFTLIGHT_NOMASK = 3730 3693 "!!ARBfp1.0\n" 3731 "PARAM c[9] = { program.local[0..2],\n" 3732 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3733 " { 2.3561945, 0.78539819, -1, 1 },\n" 3734 " program.local[5],\n" 3735 " { 0.15915494, 9.9999997e-06, 2, 8 },\n" 3736 " program.local[7],\n" 3694 "PARAM c[10] = { program.local[0..4],\n" 3695 " { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n" 3696 " { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n" 3697 " { 3.141593, 0.15915494, 1, 2 },\n" 3698 " { 9.9999997e-006, 4, 16, 12 },\n" 3737 3699 " { 3 } };\n" 3738 3700 "TEMP R0;\n" … … 3743 3705 "TEMP R5;\n" 3744 3706 "TEMP R6;\n" 3745 "MUL R0.xyz, fragment.position.y, c[ 1];\n"3746 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"3747 "ADD R0.xyz, R0, c[ 2];\n"3707 "MUL R0.xyz, fragment.position.y, c[2];\n" 3708 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3709 "ADD R0.xyz, R0, c[3];\n" 3748 3710 "RCP R0.z, R0.z;\n" 3749 3711 "MUL R0.xy, R0, R0.z;\n" … … 3751 3713 "ABS R0.z, R0.y;\n" 3752 3714 "ADD R0.z, R0, -R0.w;\n" 3753 "ADD R 0.w, R0.y, c[3].x;\n"3715 "ADD R1.x, R0.y, c[5];\n" 3754 3716 "ABS R0.z, R0;\n" 3755 "CMP R0.y, -R0.z, R0, R 0.w;\n"3717 "CMP R0.y, -R0.z, R0, R1.x;\n" 3756 3718 "ABS R0.z, -R0.y;\n" 3757 "ADD R0.z, R0, c[3].y;\n" 3758 "ADD R0.w, R0.x, R0.z;\n" 3759 "ADD R1.x, R0.z, -R0;\n" 3760 "RCP R1.y, R0.w;\n" 3761 "RCP R1.x, R1.x;\n" 3762 "MUL R0.w, R0, R1.x;\n" 3763 "ADD R0.z, R0.x, -R0;\n" 3764 "MUL R0.z, R0, R1.y;\n" 3765 "CMP R0.z, R0.x, R0.w, R0;\n" 3766 "MOV R1.x, c[4].y;\n" 3767 "MUL R0.w, R0.z, R0.z;\n" 3768 "CMP R0.x, R0, c[4], R1;\n" 3769 "MAD R0.w, R0, c[3].z, -c[3];\n" 3770 "MAD R0.x, R0.w, R0.z, R0;\n" 3771 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n" 3719 "MAX R1.x, R0.w, R0.z;\n" 3720 "RCP R1.y, R1.x;\n" 3721 "MIN R1.x, R0.w, R0.z;\n" 3722 "MUL R1.x, R1, R1.y;\n" 3723 "MUL R1.y, R1.x, R1.x;\n" 3724 "MAD R1.z, R1.y, c[5].y, c[5];\n" 3725 "MAD R1.z, R1, R1.y, -c[5].w;\n" 3726 "MAD R1.z, R1, R1.y, c[6].x;\n" 3727 "MAD R1.z, R1, R1.y, -c[6].y;\n" 3728 "MAD R1.y, R1.z, R1, c[6].z;\n" 3729 "MUL R1.x, R1.y, R1;\n" 3730 "ADD R1.y, -R1.x, c[6].w;\n" 3731 "ADD R0.z, -R0.w, R0;\n" 3732 "CMP R0.z, -R0, R1.y, R1.x;\n" 3733 "ADD R0.w, -R0.z, c[7].x;\n" 3734 "CMP R0.x, R0, R0.w, R0.z;\n" 3735 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 3772 3736 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3773 "CMP R0.y, -R0, c[4].z, c[4].w;\n" 3774 "MAD R0.x, R0, R0.y, c[5];\n" 3775 "MUL R0.x, R0, c[6];\n" 3776 "FLR R0.y, R0.x;\n" 3777 "MAX R0.z, R1.w, c[6].y;\n" 3778 "RCP R2.w, R0.z;\n" 3779 "MUL R2.xyz, R1, R2.w;\n" 3780 "RSQ R3.w, R2.x;\n" 3781 "RSQ R4.y, R2.z;\n" 3782 "RCP R4.x, R3.w;\n" 3783 "ADD R0.x, R0, -R0.y;\n" 3784 "TEX R0, R0, texture[1], 1D;\n" 3785 "MAD R3.xyz, R0, c[6].z, -R0.w;\n" 3786 "RSQ R3.w, R2.y;\n" 3787 "RCP R4.z, R4.y;\n" 3788 "RCP R4.y, R3.w;\n" 3789 "MAD R4.xyz, R4, R1.w, -R1;\n" 3790 "MUL R6.xyz, R4, R3;\n" 3791 "MUL R4.xyz, -R2, c[6].w;\n" 3792 "MAD R2.xyz, -R1, R2.w, c[4].w;\n" 3793 "ADD R5.xyz, R4, c[8].x;\n" 3794 "MUL R4.xyz, R2, R3;\n" 3795 "MAD R4.xyz, -R4, R5, R0.w;\n" 3796 "MAD R2.xyz, -R2, R3, R0.w;\n" 3797 "MAD R5.xyz, R1, R0.w, R6;\n" 3798 "MUL R4.xyz, R1, R4;\n" 3799 "MUL R6.xyz, R1, c[6].w;\n" 3800 "ADD R5.xyz, R5, -R4;\n" 3801 "SGE R6.xyz, R6, R1.w;\n" 3802 "MUL R5.xyz, R6, R5;\n" 3803 "ADD R3.xyz, R4, R5;\n" 3804 "MUL R2.xyz, R1, R2;\n" 3805 "MUL R4.xyz, R0, c[6].z;\n" 3806 "ADD R3.xyz, R3, -R2;\n" 3807 "SGE R4.xyz, R4, R0.w;\n" 3808 "MUL R3.xyz, R4, R3;\n" 3809 "ADD R2.xyz, R2, R3;\n" 3810 "ADD R2.w, -R1, c[4];\n" 3811 "MAD R0.xyz, R0, R2.w, R2;\n" 3812 "ADD R2.x, R0.w, R1.w;\n" 3813 "ADD R2.y, -R0.w, c[4].w;\n" 3814 "MAD result.color.xyz, R1, R2.y, R0;\n" 3815 "MAD result.color.w, -R0, R1, R2.x;\n" 3816 "END\n" 3817 ; 3818 3819 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DIFFERENCE_NOMASK = 3820 "!!ARBfp1.0\n" 3821 "PARAM c[8] = { program.local[0..2],\n" 3822 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3823 " { 2.3561945, 0.78539819, -1, 1 },\n" 3824 " program.local[5],\n" 3825 " { 0.15915494, 2 },\n" 3826 " program.local[7] };\n" 3827 "TEMP R0;\n" 3828 "TEMP R1;\n" 3829 "TEMP R2;\n" 3830 "TEMP R3;\n" 3831 "MUL R0.xyz, fragment.position.y, c[1];\n" 3832 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 3833 "ADD R0.xyz, R0, c[2];\n" 3834 "RCP R0.z, R0.z;\n" 3835 "MUL R0.xy, R0, R0.z;\n" 3836 "ABS R0.w, R0.x;\n" 3837 "ABS R0.z, R0.y;\n" 3838 "ADD R0.z, R0, -R0.w;\n" 3839 "ADD R0.w, R0.y, c[3].x;\n" 3840 "ABS R0.z, R0;\n" 3841 "CMP R0.y, -R0.z, R0, R0.w;\n" 3842 "ABS R0.z, -R0.y;\n" 3843 "ADD R0.z, R0, c[3].y;\n" 3844 "ADD R0.w, R0.x, R0.z;\n" 3845 "ADD R1.x, R0.z, -R0;\n" 3846 "RCP R1.y, R0.w;\n" 3847 "RCP R1.x, R1.x;\n" 3848 "MUL R0.w, R0, R1.x;\n" 3849 "ADD R0.z, R0.x, -R0;\n" 3850 "MUL R0.z, R0, R1.y;\n" 3851 "CMP R0.z, R0.x, R0.w, R0;\n" 3852 "MUL R0.w, R0.z, R0.z;\n" 3853 "MOV R1.x, c[4].y;\n" 3854 "CMP R0.x, R0, c[4], R1;\n" 3855 "MAD R0.w, R0, c[3].z, -c[3];\n" 3856 "MUL R1.xy, fragment.position, c[7];\n" 3857 "TEX R1, R1, texture[0], 2D;\n" 3858 "CMP R0.y, -R0, c[4].z, c[4].w;\n" 3859 "MAD R0.x, R0.w, R0.z, R0;\n" 3860 "MAD R0.x, R0, R0.y, c[5];\n" 3861 "MUL R0.x, R0, c[6];\n" 3737 "CMP R0.x, -R0.y, -R0, R0;\n" 3738 "MAX R0.z, R1.w, c[8].x;\n" 3739 "RCP R2.x, R0.z;\n" 3740 "MUL R3.xyz, R1, R2.x;\n" 3741 "MAD R4.xyz, R3, c[8].z, -c[8].w;\n" 3742 "ADD R0.x, R0, c[0];\n" 3743 "MUL R0.x, R0, c[7].y;\n" 3862 3744 "FLR R0.y, R0.x;\n" 3863 3745 "ADD R0.x, R0, -R0.y;\n" 3864 3746 "TEX R0, R0, texture[1], 1D;\n" 3747 "MAD R2.xyz, R0, c[7].w, -R0.w;\n" 3748 "MAD R4.xyz, R3, R4, c[9].x;\n" 3749 "MUL R5.xyz, R1.w, R2;\n" 3750 "MUL R6.xyz, R5, R4;\n" 3751 "RSQ R2.w, R3.x;\n" 3752 "RCP R4.x, R2.w;\n" 3753 "RSQ R2.w, R3.y;\n" 3754 "RSQ R3.w, R3.z;\n" 3755 "RCP R4.y, R2.w;\n" 3756 "RCP R4.z, R3.w;\n" 3757 "ADD R4.xyz, -R3, R4;\n" 3758 "MUL R6.xyz, R3, R6;\n" 3759 "MUL R4.xyz, R5, R4;\n" 3760 "ADD R3.xyz, -R3, c[7].z;\n" 3761 "MAD R2.xyz, R2, R3, R0.w;\n" 3762 "MUL R3.xyz, R0, c[7].w;\n" 3763 "MAD R5.xyz, R0.w, R1, R6;\n" 3764 "MAD R4.xyz, R0.w, R1, R4;\n" 3765 "ADD R6.xyz, R4, -R5;\n" 3766 "MUL R4.xyz, R1, c[8].y;\n" 3767 "SGE R4.xyz, R4, R1.w;\n" 3768 "MAD R4.xyz, R4, R6, R5;\n" 3769 "MAD R4.xyz, -R1, R2, R4;\n" 3770 "MUL R2.xyz, R1, R2;\n" 3771 "SGE R3.xyz, R3, R0.w;\n" 3772 "MAD R2.xyz, R3, R4, R2;\n" 3773 "ADD R2.w, -R1, c[7].z;\n" 3774 "MAD R2.xyz, R0, R2.w, R2;\n" 3775 "ADD R0.x, R0.w, R1.w;\n" 3776 "ADD R0.y, -R0.w, c[7].z;\n" 3777 "MAD result.color.xyz, R1, R0.y, R2;\n" 3778 "MAD result.color.w, -R0, R1, R0.x;\n" 3779 "END\n" 3780 ; 3781 3782 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DIFFERENCE_NOMASK = 3783 "!!ARBfp1.0\n" 3784 "PARAM c[8] = { program.local[0..4],\n" 3785 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3786 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3787 " { 0.33299461, 0.99999559, 2 } };\n" 3788 "TEMP R0;\n" 3789 "TEMP R1;\n" 3790 "TEMP R2;\n" 3791 "TEMP R3;\n" 3792 "MUL R0.xyz, fragment.position.y, c[2];\n" 3793 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3794 "ADD R0.xyz, R0, c[3];\n" 3795 "RCP R0.z, R0.z;\n" 3796 "MUL R0.xy, R0, R0.z;\n" 3797 "ABS R0.z, R0.x;\n" 3798 "ABS R0.w, R0.y;\n" 3799 "ADD R0.w, R0, -R0.z;\n" 3800 "ADD R1.x, R0.y, c[5].y;\n" 3801 "ABS R0.w, R0;\n" 3802 "CMP R0.y, -R0.w, R0, R1.x;\n" 3803 "ABS R0.w, -R0.y;\n" 3804 "MAX R1.x, R0.z, R0.w;\n" 3805 "RCP R1.y, R1.x;\n" 3806 "MIN R1.x, R0.z, R0.w;\n" 3807 "MUL R1.x, R1, R1.y;\n" 3808 "MUL R1.y, R1.x, R1.x;\n" 3809 "MAD R1.z, R1.y, c[6].x, c[6].y;\n" 3810 "MAD R1.z, R1, R1.y, -c[6];\n" 3811 "MAD R1.z, R1, R1.y, c[6].w;\n" 3812 "MAD R1.z, R1, R1.y, -c[7].x;\n" 3813 "MAD R1.y, R1.z, R1, c[7];\n" 3814 "MUL R1.x, R1.y, R1;\n" 3815 "ADD R0.z, -R0, R0.w;\n" 3816 "ADD R1.y, -R1.x, c[5].w;\n" 3817 "CMP R0.z, -R0, R1.y, R1.x;\n" 3818 "ADD R0.w, -R0.z, c[5].z;\n" 3819 "CMP R0.x, R0, R0.w, R0.z;\n" 3820 "CMP R0.x, -R0.y, -R0, R0;\n" 3821 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 3822 "ADD R0.x, R0, c[0];\n" 3823 "MUL R0.x, R0, c[5];\n" 3824 "FLR R0.y, R0.x;\n" 3825 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3826 "ADD R0.x, R0, -R0.y;\n" 3827 "TEX R0, R0, texture[1], 1D;\n" 3865 3828 "MUL R2.xyz, R0, R1.w;\n" 3866 "MUL R3.xyz, R 1, R0.w;\n"3829 "MUL R3.xyz, R0.w, R1;\n" 3867 3830 "ADD R0.xyz, R0, R1;\n" 3868 3831 "MIN R2.xyz, R2, R3;\n" 3869 3832 "ADD R1.x, R0.w, R1.w;\n" 3870 "MAD result.color.xyz, -R2, c[ 6].y, R0;\n"3833 "MAD result.color.xyz, -R2, c[7].z, R0;\n" 3871 3834 "MAD result.color.w, -R0, R1, R1.x;\n" 3872 3835 "END\n" … … 3875 3838 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_EXCLUSION_NOMASK = 3876 3839 "!!ARBfp1.0\n" 3877 "PARAM c[8] = { program.local[0.. 2],\n"3878 " { 0. 0020000001, 9.9999997e-10, 0.1963, 0.9817},\n"3879 " { 2.3561945, 0.78539819, -1, 1},\n"3880 " program.local[5],\n"3881 " { 0.15915494, 2 },\n"3882 " program.local[7] };\n"3883 "TEMP R 0;\n"3884 "TEMP R 1;\n"3885 " TEMP R2;\n"3886 " TEMP R3;\n"3887 " MUL R0.xyz, fragment.position.y, c[1];\n"3888 " MAD R0.xyz, fragment.position.x, c[0], R0;\n"3889 " ADD R0.xyz, R0, c[2];\n"3890 " RCP R0.z, R0.z;\n"3891 " MUL R0.xy, R0, R0.z;\n"3892 "A BS R0.w, R0.x;\n"3893 "A BS R0.z, R0.y;\n"3894 "A DD R0.z, R0, -R0.w;\n"3895 " ADD R0.w, R0.y, c[3].x;\n"3896 "ABS R0. z, R0;\n"3897 " CMP R0.y, -R0.z, R0, R0.w;\n"3898 " ABS R0.z, -R0.y;\n"3899 " ADD R0.z, R0, c[3].y;\n"3900 " ADD R0.w, R0.x, R0.z;\n"3901 " ADD R1.x, R0.z, -R0;\n"3902 " RCP R1.y, R0.w;\n"3903 " RCP R1.x, R1.x;\n"3904 "M UL R0.w, R0, R1.x;\n"3905 " ADD R0.z, R0.x, -R0;\n"3906 "M UL R0.z, R0, R1.y;\n"3907 " CMP R0.z, R0.x, R0.w, R0;\n"3908 " MUL R0.w, R0.z, R0.z;\n"3909 " MOV R1.x, c[4].y;\n"3910 "CMP R0. x, R0, c[4], R1;\n"3911 " MAD R0.w, R0, c[3].z, -c[3];\n"3912 " MUL R1.xy, fragment.position, c[7];\n"3913 " TEX R1, R1, texture[0], 2D;\n"3914 " CMP R0.y, -R0, c[4].z, c[4].w;\n"3915 " MAD R0.x, R0.w, R0.z, R0;\n"3916 " MAD R0.x, R0, R0.y, c[5];\n"3917 "MUL R0.x, R0, c[ 6];\n"3840 "PARAM c[8] = { program.local[0..4],\n" 3841 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3842 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3843 " { 0.33299461, 0.99999559, 2, 1 } };\n" 3844 "TEMP R0;\n" 3845 "TEMP R1;\n" 3846 "TEMP R2;\n" 3847 "TEMP R3;\n" 3848 "MUL R0.xyz, fragment.position.y, c[2];\n" 3849 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3850 "ADD R0.xyz, R0, c[3];\n" 3851 "RCP R0.z, R0.z;\n" 3852 "MUL R0.xy, R0, R0.z;\n" 3853 "ABS R0.z, R0.x;\n" 3854 "ABS R0.w, R0.y;\n" 3855 "ADD R0.w, R0, -R0.z;\n" 3856 "ADD R1.x, R0.y, c[5].y;\n" 3857 "ABS R0.w, R0;\n" 3858 "CMP R0.y, -R0.w, R0, R1.x;\n" 3859 "ABS R0.w, -R0.y;\n" 3860 "MAX R1.x, R0.z, R0.w;\n" 3861 "RCP R1.y, R1.x;\n" 3862 "MIN R1.x, R0.z, R0.w;\n" 3863 "MUL R1.x, R1, R1.y;\n" 3864 "MUL R1.y, R1.x, R1.x;\n" 3865 "MAD R1.z, R1.y, c[6].x, c[6].y;\n" 3866 "MAD R1.z, R1, R1.y, -c[6];\n" 3867 "MAD R1.z, R1, R1.y, c[6].w;\n" 3868 "MAD R1.z, R1, R1.y, -c[7].x;\n" 3869 "MAD R1.y, R1.z, R1, c[7];\n" 3870 "MUL R1.x, R1.y, R1;\n" 3871 "ADD R0.z, -R0, R0.w;\n" 3872 "ADD R1.y, -R1.x, c[5].w;\n" 3873 "CMP R0.z, -R0, R1.y, R1.x;\n" 3874 "ADD R0.w, -R0.z, c[5].z;\n" 3875 "CMP R0.x, R0, R0.w, R0.z;\n" 3876 "CMP R0.x, -R0.y, -R0, R0;\n" 3877 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 3878 "TEX R1, R0.zwzw, texture[0], 2D;\n" 3879 "ADD R0.x, R0, c[0];\n" 3880 "MUL R0.x, R0, c[5];\n" 3918 3881 "FLR R0.y, R0.x;\n" 3919 3882 "ADD R0.x, R0, -R0.y;\n" 3920 3883 "TEX R0, R0, texture[1], 1D;\n" 3921 "MUL R2.xyz, R 1, R0.w;\n"3884 "MUL R2.xyz, R0.w, R1;\n" 3922 3885 "MAD R3.xyz, R0, R1.w, R2;\n" 3923 3886 "MUL R2.xyz, R0, R1;\n" 3924 "MAD R2.xyz, -R2, c[ 6].y, R3;\n"3925 "ADD R2.w, -R1, c[ 4];\n"3887 "MAD R2.xyz, -R2, c[7].z, R3;\n" 3888 "ADD R2.w, -R1, c[7];\n" 3926 3889 "MAD R0.xyz, R0, R2.w, R2;\n" 3927 3890 "ADD R2.x, R0.w, R1.w;\n" 3928 "ADD R2.y, -R0.w, c[ 4].w;\n"3891 "ADD R2.y, -R0.w, c[7].w;\n" 3929 3892 "MAD result.color.xyz, R1, R2.y, R0;\n" 3930 3893 "MAD result.color.w, -R0, R1, R2.x;\n" … … 3934 3897 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODE_BLEND_MODE_MASK = 3935 3898 "!!ARBfp1.0\n" 3936 "PARAM c[10] = { program.local[0.. 2],\n"3937 " { 0. 0020000001, 9.9999997e-10, 0.1963, 0.9817},\n"3938 " { 2.3561945, 0.78539819, -1, 1},\n"3939 " program.local[5],\n"3940 " { 0.15915494 },\n"3941 " program.local[7..9] };\n"3942 " TEMP R0;\n"3943 " TEMP R1;\n"3944 " MUL R0.xyz, fragment.position.y, c[1];\n"3945 " MAD R0.xyz, fragment.position.x, c[0], R0;\n"3946 " ADD R0.xyz, R0, c[2];\n"3947 " RCP R0.z, R0.z;\n"3948 " MUL R0.xy, R0, R0.z;\n"3949 "A BS R0.w, R0.x;\n"3950 "A BS R0.z, R0.y;\n"3951 "A DD R0.z, R0, -R0.w;\n"3952 " ADD R0.w, R0.y, c[3].x;\n"3953 "ABS R0. z, R0;\n"3954 " CMP R0.y, -R0.z, R0, R0.w;\n"3955 " ABS R0.z, -R0.y;\n"3956 " ADD R0.z, R0, c[3].y;\n"3957 " ADD R0.w, R0.x, R0.z;\n"3958 " ADD R1.x, R0.z, -R0;\n"3959 " RCP R1.y, R0.w;\n"3960 " RCP R1.x, R1.x;\n"3961 "M UL R0.w, R0, R1.x;\n"3962 " ADD R0.z, R0.x, -R0;\n"3963 "M UL R0.z, R0, R1.y;\n"3964 " CMP R0.z, R0.x, R0.w, R0;\n"3965 " MUL R0.w, R0.z, R0.z;\n"3966 " MOV R1.x, c[4].y;\n"3967 "CMP R0. x, R0, c[4], R1;\n"3968 " MAD R0.w, R0, c[3].z, -c[3];\n"3969 " MAD R0.x, R0.w, R0.z, R0;\n"3970 "CMP R0. y, -R0, c[4].z, c[4].w;\n"3971 " MAD R0.z, R0.x, R0.y, c[5].x;\n"3972 "MUL R1.x, R0 .z, c[6];\n"3899 "PARAM c[10] = { program.local[0..6],\n" 3900 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3901 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3902 " { 0.33299461, 0.99999559 } };\n" 3903 "TEMP R0;\n" 3904 "TEMP R1;\n" 3905 "MUL R0.xyz, fragment.position.y, c[2];\n" 3906 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3907 "ADD R0.xyz, R0, c[3];\n" 3908 "RCP R0.z, R0.z;\n" 3909 "MUL R0.xy, R0, R0.z;\n" 3910 "ABS R0.z, R0.x;\n" 3911 "ABS R0.w, R0.y;\n" 3912 "ADD R0.w, R0, -R0.z;\n" 3913 "ADD R1.x, R0.y, c[7].y;\n" 3914 "ABS R0.w, R0;\n" 3915 "CMP R0.y, -R0.w, R0, R1.x;\n" 3916 "ABS R0.w, -R0.y;\n" 3917 "MAX R1.x, R0.z, R0.w;\n" 3918 "RCP R1.y, R1.x;\n" 3919 "MIN R1.x, R0.z, R0.w;\n" 3920 "MUL R1.x, R1, R1.y;\n" 3921 "MUL R1.y, R1.x, R1.x;\n" 3922 "MAD R1.z, R1.y, c[8].x, c[8].y;\n" 3923 "MAD R1.z, R1, R1.y, -c[8];\n" 3924 "MAD R1.z, R1, R1.y, c[8].w;\n" 3925 "MAD R1.z, R1, R1.y, -c[9].x;\n" 3926 "MAD R1.y, R1.z, R1, c[9];\n" 3927 "MUL R1.x, R1.y, R1;\n" 3928 "ADD R1.y, -R1.x, c[7].w;\n" 3929 "ADD R0.z, -R0, R0.w;\n" 3930 "CMP R0.z, -R0, R1.y, R1.x;\n" 3931 "ADD R0.w, -R0.z, c[7].z;\n" 3932 "CMP R0.x, R0, R0.w, R0.z;\n" 3933 "CMP R0.x, -R0.y, -R0, R0;\n" 3934 "ADD R0.x, R0, c[0];\n" 3935 "MUL R1.x, R0, c[7];\n" 3973 3936 "FLR R1.y, R1.x;\n" 3974 "ADD R0. xy, fragment.position, c[7];\n"3975 "MUL R0.xy, R0 , c[8];\n"3937 "ADD R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 3938 "MUL R0.xy, R0.zwzw, c[4];\n" 3976 3939 "TEX R0, R0, texture[0], 2D;\n" 3977 3940 "ADD R1.x, R1, -R1.y;\n" 3978 "DP4 R1.y, R0, c[ 9];\n"3941 "DP4 R1.y, R0, c[6];\n" 3979 3942 "TEX R0, R1, texture[1], 1D;\n" 3980 3943 "MUL result.color, R0, R1.y;\n" … … 3984 3947 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODE_BLEND_MODE_NOMASK = 3985 3948 "!!ARBfp1.0\n" 3986 "PARAM c[7] = { program.local[0..2],\n" 3987 " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n" 3988 " { 2.3561945, 0.78539819, -1, 1 },\n" 3989 " program.local[5],\n" 3990 " { 0.15915494 } };\n" 3991 "TEMP R0;\n" 3992 "TEMP R1;\n" 3993 "MUL R0.xyz, fragment.position.y, c[1];\n" 3994 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 3995 "ADD R0.xyz, R0, c[2];\n" 3996 "RCP R0.z, R0.z;\n" 3997 "MUL R0.xy, R0, R0.z;\n" 3998 "ABS R0.w, R0.x;\n" 3999 "ABS R0.z, R0.y;\n" 4000 "ADD R0.z, R0, -R0.w;\n" 4001 "ADD R0.w, R0.y, c[3].x;\n" 4002 "ABS R0.z, R0;\n" 4003 "CMP R0.y, -R0.z, R0, R0.w;\n" 4004 "ABS R0.z, -R0.y;\n" 4005 "ADD R0.z, R0, c[3].y;\n" 4006 "ADD R0.w, R0.x, R0.z;\n" 4007 "ADD R1.x, R0.z, -R0;\n" 4008 "RCP R1.x, R1.x;\n" 4009 "RCP R1.y, R0.w;\n" 4010 "MUL R0.w, R0, R1.x;\n" 4011 "ADD R0.z, R0.x, -R0;\n" 4012 "MUL R0.z, R0, R1.y;\n" 4013 "CMP R0.z, R0.x, R0.w, R0;\n" 4014 "MUL R0.w, R0.z, R0.z;\n" 4015 "MOV R1.x, c[4].y;\n" 4016 "CMP R0.y, -R0, c[4].z, c[4].w;\n" 4017 "MAD R0.w, R0, c[3].z, -c[3];\n" 4018 "CMP R0.x, R0, c[4], R1;\n" 4019 "MAD R0.x, R0.w, R0.z, R0;\n" 4020 "MAD R0.x, R0, R0.y, c[5];\n" 4021 "MUL R0.x, R0, c[6];\n" 3949 "PARAM c[7] = { program.local[0..3],\n" 3950 " { 0.15915494, 0.0020000001, 3.141593, 1.570796 },\n" 3951 " { -0.01348047, 0.05747731, 0.1212391, 0.1956359 },\n" 3952 " { 0.33299461, 0.99999559 } };\n" 3953 "TEMP R0;\n" 3954 "TEMP R1;\n" 3955 "MUL R0.xyz, fragment.position.y, c[2];\n" 3956 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 3957 "ADD R0.xyz, R0, c[3];\n" 3958 "RCP R0.z, R0.z;\n" 3959 "MUL R0.xy, R0, R0.z;\n" 3960 "ABS R0.z, R0.x;\n" 3961 "ABS R0.w, R0.y;\n" 3962 "ADD R0.w, R0, -R0.z;\n" 3963 "ADD R1.x, R0.y, c[4].y;\n" 3964 "ABS R0.w, R0;\n" 3965 "CMP R0.y, -R0.w, R0, R1.x;\n" 3966 "ABS R0.w, -R0.y;\n" 3967 "MAX R1.x, R0.z, R0.w;\n" 3968 "RCP R1.y, R1.x;\n" 3969 "MIN R1.x, R0.z, R0.w;\n" 3970 "MUL R1.x, R1, R1.y;\n" 3971 "MUL R1.y, R1.x, R1.x;\n" 3972 "MAD R1.z, R1.y, c[5].x, c[5].y;\n" 3973 "MAD R1.z, R1, R1.y, -c[5];\n" 3974 "MAD R1.z, R1, R1.y, c[5].w;\n" 3975 "MAD R1.z, R1, R1.y, -c[6].x;\n" 3976 "MAD R1.y, R1.z, R1, c[6];\n" 3977 "MUL R1.x, R1.y, R1;\n" 3978 "ADD R0.z, -R0, R0.w;\n" 3979 "ADD R1.y, -R1.x, c[4].w;\n" 3980 "CMP R0.z, -R0, R1.y, R1.x;\n" 3981 "ADD R0.w, -R0.z, c[4].z;\n" 3982 "CMP R0.x, R0, R0.w, R0.z;\n" 3983 "CMP R0.x, -R0.y, -R0, R0;\n" 3984 "ADD R0.x, R0, c[0];\n" 3985 "MUL R0.x, R0, c[4];\n" 4022 3986 "FLR R0.y, R0.x;\n" 4023 3987 "ADD R0.x, R0, -R0.y;\n" … … 4028 3992 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SIMPLE_PORTER_DUFF = 4029 3993 "!!ARBfp1.0\n" 4030 "PARAM c[11] = { program.local[0..7],\n" 4031 " { 1 },\n" 4032 " program.local[9..10] };\n" 4033 "TEMP R0;\n" 4034 "TEMP R1;\n" 4035 "TEMP R2;\n" 4036 "TEMP R3;\n" 4037 "MUL R0.xyz, fragment.position.y, c[4];\n" 4038 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 4039 "ADD R0.xyz, R0, c[5];\n" 4040 "RCP R0.z, R0.z;\n" 4041 "MUL R0.xy, R0, R0.z;\n" 4042 "MUL R0.xy, R0, c[6];\n" 4043 "ADD R0.x, R0, R0.y;\n" 4044 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n" 4045 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4046 "MUL R0.x, R0, c[6].z;\n" 4047 "TEX R0, R0, texture[2], 1D;\n" 4048 "MUL R2.xyz, R1, c[10].y;\n" 4049 "MUL R3.xyz, R2, R0.w;\n" 4050 "MUL R2.xyz, R0, c[10].x;\n" 4051 "MAD R2.xyz, R2, R1.w, R3;\n" 4052 "ADD R3.xy, fragment.position, c[0];\n" 4053 "MUL R0.xyz, R0, c[9].y;\n" 4054 "ADD R2.w, -R1, c[8].x;\n" 4055 "MAD R2.xyz, R0, R2.w, R2;\n" 4056 "MUL R0.xyz, R1, c[9].z;\n" 4057 "ADD R2.w, -R0, c[8].x;\n" 4058 "MAD R2.xyz, R0, R2.w, R2;\n" 4059 "ADD R0.y, -R1.w, c[8].x;\n" 4060 "MUL R0.z, R1.w, R2.w;\n" 4061 "MUL R0.x, R0.w, R1.w;\n" 4062 "MUL R0.y, R0.w, R0;\n" 4063 "DP3 R2.w, R0, c[9];\n" 4064 "MUL R3.xy, R3, c[1];\n" 4065 "TEX R0, R3, texture[1], 2D;\n" 4066 "ADD R2, R2, -R1;\n" 4067 "DP4 R0.x, R0, c[2];\n" 4068 "MAD result.color, R0.x, R2, R1;\n" 3994 "PARAM c[11] = { program.local[0..9],\n" 3995 " { 1 } };\n" 3996 "TEMP R0;\n" 3997 "TEMP R1;\n" 3998 "TEMP R2;\n" 3999 "TEMP R3;\n" 4000 "MUL R0.xyz, fragment.position.y, c[2];\n" 4001 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4002 "ADD R0.xyz, R0, c[3];\n" 4003 "RCP R0.z, R0.z;\n" 4004 "MUL R0.xy, R0, R0.z;\n" 4005 "MUL R0.zw, R0.xyxy, c[0].xyxy;\n" 4006 "ADD R1.x, R0.z, R0.w;\n" 4007 "MUL R0.xy, fragment.position, c[7];\n" 4008 "TEX R0, R0, texture[0], 2D;\n" 4009 "MUL R1.x, R1, c[0].z;\n" 4010 "TEX R1, R1, texture[2], 1D;\n" 4011 "MUL R2.xyz, R0, c[4].y;\n" 4012 "MUL R3.xyz, R1.w, R2;\n" 4013 "MUL R2.xyz, R1, c[4].x;\n" 4014 "MAD R2.xyz, R0.w, R2, R3;\n" 4015 "ADD R3.xy, fragment.position, c[8];\n" 4016 "ADD R2.w, -R0, c[10].x;\n" 4017 "MUL R1.xyz, R1, c[5].y;\n" 4018 "MAD R2.xyz, R2.w, R1, R2;\n" 4019 "MUL R1.xyz, R0, c[5].z;\n" 4020 "ADD R3.z, -R1.w, c[10].x;\n" 4021 "MAD R2.xyz, R3.z, R1, R2;\n" 4022 "MUL R1.y, R1.w, R2.w;\n" 4023 "MUL R1.x, R1.w, R0.w;\n" 4024 "MUL R1.z, R0.w, R3;\n" 4025 "DP3 R2.w, R1, c[5];\n" 4026 "MUL R3.xy, R3, c[6];\n" 4027 "TEX R1, R3, texture[1], 2D;\n" 4028 "ADD R2, R2, -R0;\n" 4029 "DP4 R1.x, R1, c[9];\n" 4030 "MAD result.color, R1.x, R2, R0;\n" 4069 4031 "END\n" 4070 4032 ; … … 4077 4039 "TEMP R1;\n" 4078 4040 "TEMP R2;\n" 4079 "MUL R0.xyz, fragment.position.y, c[4];\n" 4080 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 4081 "ADD R0.xyz, R0, c[5];\n" 4082 "RCP R0.z, R0.z;\n" 4083 "MUL R0.xy, R0, R0.z;\n" 4084 "MUL R0.xy, R0, c[6];\n" 4041 "MUL R0.xyz, fragment.position.y, c[2];\n" 4042 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4043 "ADD R0.xyz, R0, c[3];\n" 4044 "RCP R0.z, R0.z;\n" 4045 "MUL R0.xy, R0, R0.z;\n" 4046 "MUL R0.zw, R0.xyxy, c[0].xyxy;\n" 4047 "ADD R1.x, R0.z, R0.w;\n" 4048 "MUL R0.xy, fragment.position, c[5];\n" 4049 "TEX R0, R0, texture[0], 2D;\n" 4050 "MUL R1.x, R1, c[0].z;\n" 4051 "TEX R1, R1, texture[2], 1D;\n" 4052 "ADD R2.x, -R0.w, c[8];\n" 4053 "MUL R2.xyz, R1, R2.x;\n" 4054 "MAD R1.xyz, R1, R0, R2;\n" 4055 "ADD R2.x, -R1.w, c[8];\n" 4056 "MAD R2.xyz, R0, R2.x, R1;\n" 4057 "ADD R1.z, R1.w, R0.w;\n" 4058 "MAD R2.w, -R1, R0, R1.z;\n" 4059 "ADD R1.xy, fragment.position, c[6];\n" 4060 "MUL R1.xy, R1, c[4];\n" 4061 "TEX R1, R1, texture[1], 2D;\n" 4062 "ADD R2, R2, -R0;\n" 4063 "DP4 R1.x, R1, c[7];\n" 4064 "MAD result.color, R1.x, R2, R0;\n" 4065 "END\n" 4066 ; 4067 4068 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SCREEN = 4069 "!!ARBfp1.0\n" 4070 "PARAM c[8] = { program.local[0..7] };\n" 4071 "TEMP R0;\n" 4072 "TEMP R1;\n" 4073 "TEMP R2;\n" 4074 "TEMP R3;\n" 4075 "MUL R0.xyz, fragment.position.y, c[2];\n" 4076 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4077 "ADD R0.xyz, R0, c[3];\n" 4078 "RCP R0.z, R0.z;\n" 4079 "MUL R0.xy, R0, R0.z;\n" 4080 "MUL R0.xy, R0, c[0];\n" 4085 4081 "ADD R0.x, R0, R0.y;\n" 4086 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n" 4087 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4088 "MUL R0.x, R0, c[6].z;\n" 4089 "TEX R0, R0, texture[2], 1D;\n" 4090 "ADD R2.x, -R1.w, c[8];\n" 4091 "MUL R2.xyz, R0, R2.x;\n" 4092 "MAD R0.xyz, R0, R1, R2;\n" 4093 "ADD R2.x, -R0.w, c[8];\n" 4094 "MAD R2.xyz, R1, R2.x, R0;\n" 4095 "ADD R0.z, R0.w, R1.w;\n" 4096 "MAD R2.w, -R0, R1, R0.z;\n" 4097 "ADD R0.xy, fragment.position, c[0];\n" 4098 "MUL R0.xy, R0, c[1];\n" 4099 "TEX R0, R0, texture[1], 2D;\n" 4100 "ADD R2, R2, -R1;\n" 4101 "DP4 R0.x, R0, c[2];\n" 4102 "MAD result.color, R0.x, R2, R1;\n" 4103 "END\n" 4104 ; 4105 4106 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SCREEN = 4107 "!!ARBfp1.0\n" 4108 "PARAM c[8] = { program.local[0..7] };\n" 4109 "TEMP R0;\n" 4110 "TEMP R1;\n" 4111 "TEMP R2;\n" 4112 "TEMP R3;\n" 4113 "MUL R0.xyz, fragment.position.y, c[4];\n" 4114 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 4115 "ADD R0.xyz, R0, c[5];\n" 4116 "RCP R0.z, R0.z;\n" 4117 "MUL R0.xy, R0, R0.z;\n" 4118 "MUL R0.xy, R0, c[6];\n" 4119 "ADD R0.x, R0, R0.y;\n" 4120 "MUL R0.x, R0, c[6].z;\n" 4121 "MUL R1.xy, fragment.position, c[7];\n" 4122 "ADD R3.xy, fragment.position, c[0];\n" 4123 "TEX R1, R1, texture[0], 2D;\n" 4124 "TEX R0, R0, texture[2], 1D;\n" 4125 "ADD R2, R0, R1;\n" 4126 "MAD R2, -R0, R1, R2;\n" 4127 "MUL R3.xy, R3, c[1];\n" 4128 "TEX R0, R3, texture[1], 2D;\n" 4129 "ADD R2, R2, -R1;\n" 4130 "DP4 R0.x, R0, c[2];\n" 4131 "MAD result.color, R0.x, R2, R1;\n" 4082 "MUL R0.z, R0.x, c[0];\n" 4083 "ADD R3.xy, fragment.position, c[6];\n" 4084 "TEX R1, R0.z, texture[2], 1D;\n" 4085 "MUL R0.xy, fragment.position, c[5];\n" 4086 "TEX R0, R0, texture[0], 2D;\n" 4087 "ADD R2, R1, R0;\n" 4088 "MAD R2, -R1, R0, R2;\n" 4089 "MUL R3.xy, R3, c[4];\n" 4090 "TEX R1, R3, texture[1], 2D;\n" 4091 "ADD R2, R2, -R0;\n" 4092 "DP4 R1.x, R1, c[7];\n" 4093 "MAD result.color, R1.x, R2, R0;\n" 4132 4094 "END\n" 4133 4095 ; … … 4142 4104 "TEMP R3;\n" 4143 4105 "TEMP R4;\n" 4144 "MUL R0.xyz, fragment.position.y, c[ 4];\n"4145 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"4146 "ADD R0.xyz, R0, c[ 5];\n"4147 "RCP R0.z, R0.z;\n" 4148 "MUL R0.xy, R0, R0.z;\n" 4149 "MUL R0.xy, R0, c[ 6];\n"4106 "MUL R0.xyz, fragment.position.y, c[2];\n" 4107 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4108 "ADD R0.xyz, R0, c[3];\n" 4109 "RCP R0.z, R0.z;\n" 4110 "MUL R0.xy, R0, R0.z;\n" 4111 "MUL R0.xy, R0, c[0];\n" 4150 4112 "ADD R0.x, R0, R0.y;\n" 4151 "MUL R0.x, R0, c[ 6].z;\n"4113 "MUL R0.x, R0, c[0].z;\n" 4152 4114 "TEX R0, R0, texture[2], 1D;\n" 4153 "MUL R1.xy, fragment.position, c[ 7];\n"4115 "MUL R1.xy, fragment.position, c[5];\n" 4154 4116 "TEX R1, R1, texture[0], 2D;\n" 4155 4117 "ADD R2.w, -R1, c[8].y;\n" … … 4172 4134 "ADD R0.z, R0.w, R1.w;\n" 4173 4135 "MAD R2.w, -R0, R1, R0.z;\n" 4174 "ADD R0.xy, fragment.position, c[ 0];\n"4175 "MUL R0.xy, R0, c[ 1];\n"4136 "ADD R0.xy, fragment.position, c[6];\n" 4137 "MUL R0.xy, R0, c[4];\n" 4176 4138 "TEX R0, R0, texture[1], 2D;\n" 4177 4139 "ADD R2, R2, -R1;\n" 4178 "DP4 R0.x, R0, c[ 2];\n"4140 "DP4 R0.x, R0, c[7];\n" 4179 4141 "MAD result.color, R0.x, R2, R1;\n" 4180 4142 "END\n" … … 4189 4151 "TEMP R2;\n" 4190 4152 "TEMP R3;\n" 4191 "MUL R0.xyz, fragment.position.y, c[ 4];\n"4192 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"4193 "ADD R0.xyz, R0, c[ 5];\n"4194 "RCP R0.z, R0.z;\n" 4195 "MUL R0.xy, R0, R0.z;\n" 4196 "MUL R0.xy, R0, c[ 6];\n"4197 "ADD R0. x, R0, R0.y;\n"4198 "MUL R 0.x, R0, c[6].z;\n"4199 "MUL R 1.xy, fragment.position, c[7];\n"4200 "TEX R 1, R1, texture[0], 2D;\n"4201 "TEX R 0, R0, texture[2], 1D;\n"4202 "MUL R3.xyz, R1 , R0.w;\n"4203 "MUL R2.xyz, R 0, R1.w;\n"4153 "MUL R0.xyz, fragment.position.y, c[2];\n" 4154 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4155 "ADD R0.xyz, R0, c[3];\n" 4156 "RCP R0.z, R0.z;\n" 4157 "MUL R0.xy, R0, R0.z;\n" 4158 "MUL R0.xy, R0, c[0];\n" 4159 "ADD R0.z, R0.x, R0.y;\n" 4160 "MUL R1.x, R0.z, c[0].z;\n" 4161 "MUL R0.xy, fragment.position, c[5];\n" 4162 "TEX R0, R0, texture[0], 2D;\n" 4163 "TEX R1, R1, texture[2], 1D;\n" 4164 "MUL R3.xyz, R1.w, R0;\n" 4165 "MUL R2.xyz, R1, R0.w;\n" 4204 4166 "MIN R2.xyz, R2, R3;\n" 4205 "ADD R2.w, -R 1, c[8].x;\n"4206 "MAD R 0.xyz, R0, R2.w, R2;\n"4207 "ADD R2.x, -R 0.w, c[8];\n"4208 "MAD R2.xyz, R 1, R2.x, R0;\n"4209 "ADD R 0.z, R0.w, R1.w;\n"4210 "MAD R2.w, -R 0, R1, R0.z;\n"4211 "ADD R 0.xy, fragment.position, c[0];\n"4212 "MUL R 0.xy, R0, c[1];\n"4213 "TEX R 0, R0, texture[1], 2D;\n"4214 "ADD R2, R2, -R 1;\n"4215 "DP4 R 0.x, R0, c[2];\n"4216 "MAD result.color, R 0.x, R2, R1;\n"4167 "ADD R2.w, -R0, c[8].x;\n" 4168 "MAD R1.xyz, R1, R2.w, R2;\n" 4169 "ADD R2.x, -R1.w, c[8];\n" 4170 "MAD R2.xyz, R0, R2.x, R1;\n" 4171 "ADD R1.z, R1.w, R0.w;\n" 4172 "MAD R2.w, -R1, R0, R1.z;\n" 4173 "ADD R1.xy, fragment.position, c[6];\n" 4174 "MUL R1.xy, R1, c[4];\n" 4175 "TEX R1, R1, texture[1], 2D;\n" 4176 "ADD R2, R2, -R0;\n" 4177 "DP4 R1.x, R1, c[7];\n" 4178 "MAD result.color, R1.x, R2, R0;\n" 4217 4179 "END\n" 4218 4180 ; … … 4226 4188 "TEMP R2;\n" 4227 4189 "TEMP R3;\n" 4228 "MUL R0.xyz, fragment.position.y, c[4];\n" 4229 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 4230 "ADD R0.xyz, R0, c[5];\n" 4231 "RCP R0.z, R0.z;\n" 4232 "MUL R0.xy, R0, R0.z;\n" 4233 "MUL R0.xy, R0, c[6];\n" 4190 "MUL R0.xyz, fragment.position.y, c[2];\n" 4191 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4192 "ADD R0.xyz, R0, c[3];\n" 4193 "RCP R0.z, R0.z;\n" 4194 "MUL R0.xy, R0, R0.z;\n" 4195 "MUL R0.xy, R0, c[0];\n" 4196 "ADD R0.z, R0.x, R0.y;\n" 4197 "MUL R1.x, R0.z, c[0].z;\n" 4198 "MUL R0.xy, fragment.position, c[5];\n" 4199 "TEX R0, R0, texture[0], 2D;\n" 4200 "TEX R1, R1, texture[2], 1D;\n" 4201 "MUL R3.xyz, R1.w, R0;\n" 4202 "MUL R2.xyz, R1, R0.w;\n" 4203 "MAX R2.xyz, R2, R3;\n" 4204 "ADD R2.w, -R0, c[8].x;\n" 4205 "MAD R1.xyz, R1, R2.w, R2;\n" 4206 "ADD R2.x, -R1.w, c[8];\n" 4207 "MAD R2.xyz, R0, R2.x, R1;\n" 4208 "ADD R1.z, R1.w, R0.w;\n" 4209 "MAD R2.w, -R1, R0, R1.z;\n" 4210 "ADD R1.xy, fragment.position, c[6];\n" 4211 "MUL R1.xy, R1, c[4];\n" 4212 "TEX R1, R1, texture[1], 2D;\n" 4213 "ADD R2, R2, -R0;\n" 4214 "DP4 R1.x, R1, c[7];\n" 4215 "MAD result.color, R1.x, R2, R0;\n" 4216 "END\n" 4217 ; 4218 4219 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_COLORDODGE = 4220 "!!ARBfp1.0\n" 4221 "PARAM c[9] = { program.local[0..7],\n" 4222 " { 1, 1e-006 } };\n" 4223 "TEMP R0;\n" 4224 "TEMP R1;\n" 4225 "TEMP R2;\n" 4226 "TEMP R3;\n" 4227 "TEMP R4;\n" 4228 "MUL R0.xyz, fragment.position.y, c[2];\n" 4229 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4230 "ADD R0.xyz, R0, c[3];\n" 4231 "RCP R0.z, R0.z;\n" 4232 "MUL R0.xy, R0, R0.z;\n" 4233 "MUL R0.xy, R0, c[0];\n" 4234 4234 "ADD R0.x, R0, R0.y;\n" 4235 "MUL R0.x, R0, c[6].z;\n" 4236 "MUL R1.xy, fragment.position, c[7];\n" 4237 "TEX R1, R1, texture[0], 2D;\n" 4238 "TEX R0, R0, texture[2], 1D;\n" 4239 "MUL R3.xyz, R1, R0.w;\n" 4240 "MUL R2.xyz, R0, R1.w;\n" 4241 "MAX R2.xyz, R2, R3;\n" 4242 "ADD R2.w, -R1, c[8].x;\n" 4243 "MAD R0.xyz, R0, R2.w, R2;\n" 4244 "ADD R2.x, -R0.w, c[8];\n" 4245 "MAD R2.xyz, R1, R2.x, R0;\n" 4246 "ADD R0.z, R0.w, R1.w;\n" 4247 "MAD R2.w, -R0, R1, R0.z;\n" 4248 "ADD R0.xy, fragment.position, c[0];\n" 4249 "MUL R0.xy, R0, c[1];\n" 4250 "TEX R0, R0, texture[1], 2D;\n" 4251 "ADD R2, R2, -R1;\n" 4252 "DP4 R0.x, R0, c[2];\n" 4253 "MAD result.color, R0.x, R2, R1;\n" 4254 "END\n" 4255 ; 4256 4257 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_COLORDODGE = 4258 "!!ARBfp1.0\n" 4259 "PARAM c[9] = { program.local[0..7],\n" 4260 " { 1, 1e-06 } };\n" 4261 "TEMP R0;\n" 4262 "TEMP R1;\n" 4263 "TEMP R2;\n" 4264 "TEMP R3;\n" 4265 "TEMP R4;\n" 4266 "MUL R0.xyz, fragment.position.y, c[4];\n" 4267 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 4268 "ADD R0.xyz, R0, c[5];\n" 4269 "RCP R0.z, R0.z;\n" 4270 "MUL R0.xy, R0, R0.z;\n" 4271 "MUL R0.xy, R0, c[6];\n" 4272 "ADD R0.x, R0, R0.y;\n" 4273 "MUL R0.x, R0, c[6].z;\n" 4235 "MUL R0.x, R0, c[0].z;\n" 4274 4236 "TEX R0, R0, texture[2], 1D;\n" 4275 4237 "MAX R1.x, R0.w, c[8].y;\n" … … 4277 4239 "MAD R2.xyz, -R0, R1.x, c[8].x;\n" 4278 4240 "MAX R2.xyz, R2, c[8].y;\n" 4279 "MUL R1.xy, fragment.position, c[ 7];\n"4241 "MUL R1.xy, fragment.position, c[5];\n" 4280 4242 "TEX R1, R1, texture[0], 2D;\n" 4281 4243 "ADD R2.w, -R0, c[8].x;\n" … … 4283 4245 "ADD R2.w, -R1, c[8].x;\n" 4284 4246 "MAD R4.xyz, R0, R2.w, R3;\n" 4285 "MUL R3.xyz, R 1, R0.w;\n"4247 "MUL R3.xyz, R0.w, R1;\n" 4286 4248 "MUL R2.w, R0, R1;\n" 4287 4249 "MAD R0.xyz, R0, R1.w, R3;\n" … … 4296 4258 "ADD R0.z, R0.w, R1.w;\n" 4297 4259 "MAD R2.w, -R0, R1, R0.z;\n" 4298 "ADD R0.xy, fragment.position, c[ 0];\n"4299 "MUL R0.xy, R0, c[ 1];\n"4260 "ADD R0.xy, fragment.position, c[6];\n" 4261 "MUL R0.xy, R0, c[4];\n" 4300 4262 "TEX R0, R0, texture[1], 2D;\n" 4301 4263 "ADD R2, R2, -R1;\n" 4302 "DP4 R0.x, R0, c[ 2];\n"4264 "DP4 R0.x, R0, c[7];\n" 4303 4265 "MAD result.color, R0.x, R2, R1;\n" 4304 4266 "END\n" … … 4308 4270 "!!ARBfp1.0\n" 4309 4271 "PARAM c[9] = { program.local[0..7],\n" 4310 " { 1, 9.9999997e-0 6 } };\n"4272 " { 1, 9.9999997e-006 } };\n" 4311 4273 "TEMP R0;\n" 4312 4274 "TEMP R1;\n" … … 4315 4277 "TEMP R4;\n" 4316 4278 "TEMP R5;\n" 4317 "MUL R0.xyz, fragment.position.y, c[ 4];\n"4318 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"4319 "ADD R0.xyz, R0, c[ 5];\n"4320 "RCP R0.z, R0.z;\n" 4321 "MUL R0.xy, R0, R0.z;\n" 4322 "MUL R0.xy, R0, c[ 6];\n"4279 "MUL R0.xyz, fragment.position.y, c[2];\n" 4280 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4281 "ADD R0.xyz, R0, c[3];\n" 4282 "RCP R0.z, R0.z;\n" 4283 "MUL R0.xy, R0, R0.z;\n" 4284 "MUL R0.xy, R0, c[0];\n" 4323 4285 "ADD R0.x, R0, R0.y;\n" 4324 "MUL R0.x, R0, c[6].z;\n" 4286 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 4287 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4288 "MUL R0.x, R0, c[0].z;\n" 4325 4289 "TEX R0, R0, texture[2], 1D;\n" 4326 "MUL R1.xy, fragment.position, c[7];\n" 4327 "TEX R1, R1, texture[0], 2D;\n" 4328 "MUL R2.xyz, R1, R0.w;\n" 4290 "MUL R2.xyz, R0.w, R1;\n" 4329 4291 "MAD R3.xyz, R0, R1.w, R2;\n" 4330 4292 "MAD R2.xyz, -R0.w, R1.w, R3;\n" … … 4341 4303 "MAD R0.xyz, R0, R2.w, R4;\n" 4342 4304 "MUL R2.w, R0, R1;\n" 4343 "ADD R3.w, -R0, c[8].x;\n"4344 4305 "MAD R2.xyz, R1, R3.w, R2;\n" 4345 4306 "ADD R2.xyz, R2, -R0;\n" … … 4348 4309 "ADD R0.z, R0.w, R1.w;\n" 4349 4310 "MAD R2.w, -R0, R1, R0.z;\n" 4350 "ADD R0.xy, fragment.position, c[ 0];\n"4351 "MUL R0.xy, R0, c[ 1];\n"4311 "ADD R0.xy, fragment.position, c[6];\n" 4312 "MUL R0.xy, R0, c[4];\n" 4352 4313 "TEX R0, R0, texture[1], 2D;\n" 4353 4314 "ADD R2, R2, -R1;\n" 4354 "DP4 R0.x, R0, c[ 2];\n"4315 "DP4 R0.x, R0, c[7];\n" 4355 4316 "MAD result.color, R0.x, R2, R1;\n" 4356 4317 "END\n" … … 4366 4327 "TEMP R3;\n" 4367 4328 "TEMP R4;\n" 4368 "MUL R0.xyz, fragment.position.y, c[ 4];\n"4369 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"4370 "ADD R0.xyz, R0, c[ 5];\n"4371 "RCP R0.z, R0.z;\n" 4372 "MUL R0.xy, R0, R0.z;\n" 4373 "MUL R0.xy, R0, c[ 6];\n"4329 "MUL R0.xyz, fragment.position.y, c[2];\n" 4330 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4331 "ADD R0.xyz, R0, c[3];\n" 4332 "RCP R0.z, R0.z;\n" 4333 "MUL R0.xy, R0, R0.z;\n" 4334 "MUL R0.xy, R0, c[0];\n" 4374 4335 "ADD R0.x, R0, R0.y;\n" 4375 "MUL R0.x, R0, c[ 6].z;\n"4336 "MUL R0.x, R0, c[0].z;\n" 4376 4337 "TEX R0, R0, texture[2], 1D;\n" 4377 "MUL R1.xy, fragment.position, c[ 7];\n"4338 "MUL R1.xy, fragment.position, c[5];\n" 4378 4339 "TEX R1, R1, texture[0], 2D;\n" 4379 4340 "ADD R2.w, -R1, c[8].y;\n" … … 4396 4357 "ADD R0.z, R0.w, R1.w;\n" 4397 4358 "MAD R2.w, -R0, R1, R0.z;\n" 4398 "ADD R0.xy, fragment.position, c[ 0];\n"4399 "MUL R0.xy, R0, c[ 1];\n"4359 "ADD R0.xy, fragment.position, c[6];\n" 4360 "MUL R0.xy, R0, c[4];\n" 4400 4361 "TEX R0, R0, texture[1], 2D;\n" 4401 4362 "ADD R2, R2, -R1;\n" 4402 "DP4 R0.x, R0, c[ 2];\n"4363 "DP4 R0.x, R0, c[7];\n" 4403 4364 "MAD result.color, R0.x, R2, R1;\n" 4404 4365 "END\n" … … 4408 4369 "!!ARBfp1.0\n" 4409 4370 "PARAM c[10] = { program.local[0..7],\n" 4410 " { 1, 9.9999997e-06, 2, 8},\n"4411 " { 3 } };\n"4371 " { 1, 2, 9.9999997e-006, 4 },\n" 4372 " { 16, 12, 3 } };\n" 4412 4373 "TEMP R0;\n" 4413 4374 "TEMP R1;\n" … … 4417 4378 "TEMP R5;\n" 4418 4379 "TEMP R6;\n" 4419 "MUL R2.xyz, fragment.position.y, c[4];\n" 4420 "MAD R3.xyz, fragment.position.x, c[3], R2;\n" 4421 "MUL R0.xy, fragment.position, c[7];\n" 4422 "TEX R1, R0, texture[0], 2D;\n" 4423 "MAX R0.x, R1.w, c[8].y;\n" 4424 "RCP R2.w, R0.x;\n" 4425 "MUL R0.xyz, R1, R2.w;\n" 4426 "RSQ R0.w, R0.x;\n" 4427 "RSQ R2.y, R0.y;\n" 4428 "ADD R3.xyz, R3, c[5];\n" 4429 "RCP R2.x, R0.w;\n" 4430 "RCP R0.w, R3.z;\n" 4431 "MUL R3.xy, R3, R0.w;\n" 4432 "RSQ R0.w, R0.z;\n" 4433 "RCP R2.z, R0.w;\n" 4434 "RCP R2.y, R2.y;\n" 4435 "MAD R6.xyz, R2, R1.w, -R1;\n" 4436 "MUL R2.xyz, -R0, c[8].w;\n" 4437 "ADD R5.xyz, R2, c[9].x;\n" 4438 "MAD R2.xyz, -R1, R2.w, c[8].x;\n" 4439 "MUL R3.xy, R3, c[6];\n" 4440 "ADD R0.w, R3.x, R3.y;\n" 4441 "MUL R0.w, R0, c[6].z;\n" 4442 "TEX R0, R0.w, texture[2], 1D;\n" 4443 "MAD R3.xyz, R0, c[8].z, -R0.w;\n" 4444 "MUL R4.xyz, R2, R3;\n" 4445 "MAD R4.xyz, -R4, R5, R0.w;\n" 4446 "MUL R5.xyz, R6, R3;\n" 4447 "MAD R2.xyz, -R2, R3, R0.w;\n" 4448 "MAD R6.xyz, R1, R0.w, R5;\n" 4449 "MUL R4.xyz, R1, R4;\n" 4450 "MUL R5.xyz, R1, c[8].w;\n" 4451 "ADD R6.xyz, R6, -R4;\n" 4452 "SGE R5.xyz, R5, R1.w;\n" 4453 "MUL R5.xyz, R5, R6;\n" 4454 "ADD R3.xyz, R4, R5;\n" 4380 "MUL R0.xyz, fragment.position.y, c[2];\n" 4381 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4382 "ADD R0.xyz, R0, c[3];\n" 4383 "RCP R0.z, R0.z;\n" 4384 "MUL R0.xy, R0, R0.z;\n" 4385 "MUL R0.xy, R0, c[0];\n" 4386 "ADD R0.x, R0, R0.y;\n" 4387 "MUL R1.xy, fragment.position, c[5];\n" 4388 "TEX R1, R1, texture[0], 2D;\n" 4389 "MAX R0.z, R1.w, c[8];\n" 4390 "RCP R0.z, R0.z;\n" 4391 "MUL R3.xyz, R1, R0.z;\n" 4392 "MAD R2.xyz, R3, c[9].x, -c[9].y;\n" 4393 "MUL R0.x, R0, c[0].z;\n" 4394 "TEX R0, R0, texture[2], 1D;\n" 4395 "MAD R4.xyz, R3, R2, c[9].z;\n" 4396 "MAD R2.xyz, R0, c[8].y, -R0.w;\n" 4397 "MUL R5.xyz, R1.w, R2;\n" 4398 "MUL R6.xyz, R5, R4;\n" 4399 "RSQ R2.w, R3.x;\n" 4400 "RCP R4.x, R2.w;\n" 4401 "RSQ R2.w, R3.y;\n" 4402 "RSQ R3.w, R3.z;\n" 4403 "RCP R4.y, R2.w;\n" 4404 "RCP R4.z, R3.w;\n" 4405 "ADD R4.xyz, -R3, R4;\n" 4406 "MUL R6.xyz, R3, R6;\n" 4407 "MUL R4.xyz, R5, R4;\n" 4408 "ADD R3.xyz, -R3, c[8].x;\n" 4409 "MAD R2.xyz, R2, R3, R0.w;\n" 4410 "MUL R3.xyz, R0, c[8].y;\n" 4411 "MAD R5.xyz, R0.w, R1, R6;\n" 4412 "MAD R4.xyz, R0.w, R1, R4;\n" 4413 "ADD R6.xyz, R4, -R5;\n" 4414 "MUL R4.xyz, R1, c[8].w;\n" 4415 "SGE R4.xyz, R4, R1.w;\n" 4416 "MAD R4.xyz, R4, R6, R5;\n" 4417 "MAD R4.xyz, -R1, R2, R4;\n" 4418 "SGE R3.xyz, R3, R0.w;\n" 4455 4419 "MUL R2.xyz, R1, R2;\n" 4456 "MUL R4.xyz, R0, c[8].z;\n"4457 "ADD R3.xyz, R3, -R2;\n"4458 "SGE R4.xyz, R4, R0.w;\n"4459 "MUL R3.xyz, R4, R3;\n"4460 "ADD R2.xyz, R2, R3;\n"4461 4420 "ADD R2.w, -R1, c[8].x;\n" 4462 "MAD R0.xyz, R0, R2.w, R2;\n" 4463 "ADD R2.x, -R0.w, c[8];\n" 4464 "MAD R2.xyz, R1, R2.x, R0;\n" 4421 "MAD R2.xyz, R3, R4, R2;\n" 4422 "MAD R2.xyz, R0, R2.w, R2;\n" 4423 "ADD R0.x, -R0.w, c[8];\n" 4424 "MAD R2.xyz, R1, R0.x, R2;\n" 4465 4425 "ADD R0.z, R0.w, R1.w;\n" 4466 4426 "MAD R2.w, -R0, R1, R0.z;\n" 4467 "ADD R0.xy, fragment.position, c[ 0];\n"4468 "MUL R0.xy, R0, c[ 1];\n"4427 "ADD R0.xy, fragment.position, c[6];\n" 4428 "MUL R0.xy, R0, c[4];\n" 4469 4429 "TEX R0, R0, texture[1], 2D;\n" 4470 4430 "ADD R2, R2, -R1;\n" 4471 "DP4 R0.x, R0, c[ 2];\n"4431 "DP4 R0.x, R0, c[7];\n" 4472 4432 "MAD result.color, R0.x, R2, R1;\n" 4473 4433 "END\n" … … 4482 4442 "TEMP R2;\n" 4483 4443 "TEMP R3;\n" 4484 "MUL R0.xyz, fragment.position.y, c[4];\n" 4485 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 4486 "ADD R0.xyz, R0, c[5];\n" 4487 "RCP R0.z, R0.z;\n" 4488 "MUL R0.xy, R0, R0.z;\n" 4489 "MUL R0.xy, R0, c[6];\n" 4444 "MUL R0.xyz, fragment.position.y, c[2];\n" 4445 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4446 "ADD R0.xyz, R0, c[3];\n" 4447 "RCP R0.z, R0.z;\n" 4448 "MUL R0.xy, R0, R0.z;\n" 4449 "MUL R0.xy, R0, c[0];\n" 4450 "ADD R0.z, R0.x, R0.y;\n" 4451 "MUL R1.x, R0.z, c[0].z;\n" 4452 "MUL R0.xy, fragment.position, c[5];\n" 4453 "TEX R0, R0, texture[0], 2D;\n" 4454 "TEX R1, R1, texture[2], 1D;\n" 4455 "ADD R2.xyz, R1, R0;\n" 4456 "MUL R3.xyz, R1.w, R0;\n" 4457 "MUL R1.xyz, R1, R0.w;\n" 4458 "MIN R1.xyz, R1, R3;\n" 4459 "MAD R2.xyz, -R1, c[8].x, R2;\n" 4460 "ADD R1.z, R1.w, R0.w;\n" 4461 "MAD R2.w, -R1, R0, R1.z;\n" 4462 "ADD R1.xy, fragment.position, c[6];\n" 4463 "MUL R1.xy, R1, c[4];\n" 4464 "TEX R1, R1, texture[1], 2D;\n" 4465 "ADD R2, R2, -R0;\n" 4466 "DP4 R1.x, R1, c[7];\n" 4467 "MAD result.color, R1.x, R2, R0;\n" 4468 "END\n" 4469 ; 4470 4471 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_EXCLUSION = 4472 "!!ARBfp1.0\n" 4473 "PARAM c[9] = { program.local[0..7],\n" 4474 " { 2, 1 } };\n" 4475 "TEMP R0;\n" 4476 "TEMP R1;\n" 4477 "TEMP R2;\n" 4478 "TEMP R3;\n" 4479 "MUL R0.xyz, fragment.position.y, c[2];\n" 4480 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4481 "ADD R0.xyz, R0, c[3];\n" 4482 "RCP R0.z, R0.z;\n" 4483 "MUL R0.xy, R0, R0.z;\n" 4484 "MUL R0.xy, R0, c[0];\n" 4485 "ADD R0.z, R0.x, R0.y;\n" 4486 "MUL R1.x, R0.z, c[0].z;\n" 4487 "MUL R0.xy, fragment.position, c[5];\n" 4488 "TEX R0, R0, texture[0], 2D;\n" 4489 "TEX R1, R1, texture[2], 1D;\n" 4490 "MUL R2.xyz, R1.w, R0;\n" 4491 "MAD R3.xyz, R1, R0.w, R2;\n" 4492 "MUL R2.xyz, R1, R0;\n" 4493 "MAD R2.xyz, -R2, c[8].x, R3;\n" 4494 "ADD R2.w, -R0, c[8].y;\n" 4495 "MAD R1.xyz, R1, R2.w, R2;\n" 4496 "ADD R2.x, -R1.w, c[8].y;\n" 4497 "MAD R2.xyz, R0, R2.x, R1;\n" 4498 "ADD R1.z, R1.w, R0.w;\n" 4499 "MAD R2.w, -R1, R0, R1.z;\n" 4500 "ADD R1.xy, fragment.position, c[6];\n" 4501 "MUL R1.xy, R1, c[4];\n" 4502 "TEX R1, R1, texture[1], 2D;\n" 4503 "ADD R2, R2, -R0;\n" 4504 "DP4 R1.x, R1, c[7];\n" 4505 "MAD result.color, R1.x, R2, R0;\n" 4506 "END\n" 4507 ; 4508 4509 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK = 4510 "!!ARBfp1.0\n" 4511 "PARAM c[8] = { program.local[0..6],\n" 4512 " { 1 } };\n" 4513 "TEMP R0;\n" 4514 "TEMP R1;\n" 4515 "TEMP R2;\n" 4516 "TEMP R3;\n" 4517 "MUL R0.xyz, fragment.position.y, c[2];\n" 4518 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4519 "ADD R0.xyz, R0, c[3];\n" 4520 "RCP R0.z, R0.z;\n" 4521 "MUL R0.xy, R0, R0.z;\n" 4522 "MUL R0.xy, R0, c[0];\n" 4490 4523 "ADD R0.x, R0, R0.y;\n" 4491 "MUL R0.zw, fragment.position.xyxy, c[ 7].xyxy;\n"4524 "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n" 4492 4525 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4493 "MUL R0.x, R0, c[6].z;\n" 4494 "TEX R0, R0, texture[2], 1D;\n" 4495 "ADD R3.xyz, R0, R1;\n" 4496 "MUL R2.xyz, R1, R0.w;\n" 4497 "MUL R0.xyz, R0, R1.w;\n" 4498 "MIN R0.xyz, R0, R2;\n" 4499 "MAD R2.xyz, -R0, c[8].x, R3;\n" 4500 "ADD R0.z, R0.w, R1.w;\n" 4501 "MAD R2.w, -R0, R1, R0.z;\n" 4502 "ADD R0.xy, fragment.position, c[0];\n" 4503 "MUL R0.xy, R0, c[1];\n" 4504 "TEX R0, R0, texture[1], 2D;\n" 4505 "ADD R2, R2, -R1;\n" 4506 "DP4 R0.x, R0, c[2];\n" 4507 "MAD result.color, R0.x, R2, R1;\n" 4508 "END\n" 4509 ; 4510 4511 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_EXCLUSION = 4512 "!!ARBfp1.0\n" 4513 "PARAM c[9] = { program.local[0..7],\n" 4514 " { 1, 2 } };\n" 4515 "TEMP R0;\n" 4516 "TEMP R1;\n" 4517 "TEMP R2;\n" 4518 "TEMP R3;\n" 4519 "MUL R0.xyz, fragment.position.y, c[4];\n" 4520 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 4521 "ADD R0.xyz, R0, c[5];\n" 4522 "RCP R0.z, R0.z;\n" 4523 "MUL R0.xy, R0, R0.z;\n" 4524 "MUL R0.xy, R0, c[6];\n" 4525 "ADD R0.x, R0, R0.y;\n" 4526 "MUL R0.x, R0, c[6].z;\n" 4527 "MUL R1.xy, fragment.position, c[7];\n" 4528 "TEX R1, R1, texture[0], 2D;\n" 4529 "TEX R0, R0, texture[2], 1D;\n" 4530 "MUL R2.xyz, R1, R0.w;\n" 4531 "MAD R3.xyz, R0, R1.w, R2;\n" 4532 "MUL R2.xyz, R0, R1;\n" 4533 "MAD R2.xyz, -R2, c[8].y, R3;\n" 4534 "ADD R2.w, -R1, c[8].x;\n" 4535 "MAD R0.xyz, R0, R2.w, R2;\n" 4536 "ADD R2.x, -R0.w, c[8];\n" 4537 "MAD R2.xyz, R1, R2.x, R0;\n" 4538 "ADD R0.z, R0.w, R1.w;\n" 4539 "MAD R2.w, -R0, R1, R0.z;\n" 4540 "ADD R0.xy, fragment.position, c[0];\n" 4541 "MUL R0.xy, R0, c[1];\n" 4542 "TEX R0, R0, texture[1], 2D;\n" 4543 "ADD R2, R2, -R1;\n" 4544 "DP4 R0.x, R0, c[2];\n" 4545 "MAD result.color, R0.x, R2, R1;\n" 4546 "END\n" 4547 ; 4548 4549 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK = 4550 "!!ARBfp1.0\n" 4551 "PARAM c[8] = { program.local[0..4],\n" 4552 " { 1 },\n" 4553 " program.local[6..7] };\n" 4554 "TEMP R0;\n" 4555 "TEMP R1;\n" 4556 "TEMP R2;\n" 4557 "TEMP R3;\n" 4558 "MUL R0.xyz, fragment.position.y, c[1];\n" 4559 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 4560 "ADD R0.xyz, R0, c[2];\n" 4561 "RCP R0.z, R0.z;\n" 4562 "MUL R0.xy, R0, R0.z;\n" 4563 "MUL R0.xy, R0, c[3];\n" 4526 "MUL R2.xyz, R1, c[4].y;\n" 4527 "MUL R0.x, R0, c[0].z;\n" 4528 "TEX R0, R0, texture[1], 1D;\n" 4529 "MUL R3.xyz, R0.w, R2;\n" 4530 "MUL R2.xyz, R0, c[4].x;\n" 4531 "MAD R2.xyz, R1.w, R2, R3;\n" 4532 "ADD R2.w, -R1, c[7].x;\n" 4533 "MUL R0.xyz, R0, c[5].y;\n" 4534 "MAD R0.xyz, R2.w, R0, R2;\n" 4535 "ADD R2.x, -R0.w, c[7];\n" 4536 "MUL R1.xyz, R1, c[5].z;\n" 4537 "MAD result.color.xyz, R2.x, R1, R0;\n" 4538 "MUL R0.x, R0.w, R1.w;\n" 4539 "MUL R0.z, R1.w, R2.x;\n" 4540 "MUL R0.y, R0.w, R2.w;\n" 4541 "DP3 result.color.w, R0, c[5];\n" 4542 "END\n" 4543 ; 4544 4545 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_MULTIPLY_NOMASK = 4546 "!!ARBfp1.0\n" 4547 "PARAM c[6] = { program.local[0..4],\n" 4548 " { 1 } };\n" 4549 "TEMP R0;\n" 4550 "TEMP R1;\n" 4551 "TEMP R2;\n" 4552 "MUL R0.xyz, fragment.position.y, c[2];\n" 4553 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4554 "ADD R0.xyz, R0, c[3];\n" 4555 "RCP R0.z, R0.z;\n" 4556 "MUL R0.xy, R0, R0.z;\n" 4557 "MUL R0.xy, R0, c[0];\n" 4564 4558 "ADD R0.x, R0, R0.y;\n" 4565 4559 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 4566 4560 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4567 "MUL R2.xyz, R1, c[7].y;\n" 4568 "MUL R0.x, R0, c[3].z;\n" 4569 "TEX R0, R0, texture[1], 1D;\n" 4570 "MUL R3.xyz, R2, R0.w;\n" 4571 "MUL R2.xyz, R0, c[7].x;\n" 4572 "MAD R2.xyz, R2, R1.w, R3;\n" 4573 "MUL R0.xyz, R0, c[6].y;\n" 4574 "ADD R2.w, -R1, c[5].x;\n" 4575 "MAD R0.xyz, R0, R2.w, R2;\n" 4576 "ADD R2.x, -R0.w, c[5];\n" 4577 "MUL R1.xyz, R1, c[6].z;\n" 4578 "MAD result.color.xyz, R1, R2.x, R0;\n" 4579 "ADD R0.y, -R1.w, c[5].x;\n" 4580 "MUL R0.x, R0.w, R1.w;\n" 4581 "MUL R0.z, R1.w, R2.x;\n" 4582 "MUL R0.y, R0.w, R0;\n" 4583 "DP3 result.color.w, R0, c[6];\n" 4584 "END\n" 4585 ; 4586 4587 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_MULTIPLY_NOMASK = 4588 "!!ARBfp1.0\n" 4589 "PARAM c[6] = { program.local[0..4],\n" 4590 " { 1 } };\n" 4591 "TEMP R0;\n" 4592 "TEMP R1;\n" 4593 "TEMP R2;\n" 4594 "MUL R0.xyz, fragment.position.y, c[1];\n" 4595 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 4596 "ADD R0.xyz, R0, c[2];\n" 4597 "RCP R0.z, R0.z;\n" 4598 "MUL R0.xy, R0, R0.z;\n" 4599 "MUL R0.xy, R0, c[3];\n" 4600 "ADD R0.x, R0, R0.y;\n" 4601 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 4602 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4603 "MUL R0.x, R0, c[3].z;\n" 4561 "MUL R0.x, R0, c[0].z;\n" 4604 4562 "TEX R0, R0, texture[1], 1D;\n" 4605 4563 "ADD R2.x, -R1.w, c[5];\n" … … 4619 4577 "TEMP R1;\n" 4620 4578 "TEMP R2;\n" 4621 "MUL R0.xyz, fragment.position.y, c[ 1];\n"4622 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"4623 "ADD R0.xyz, R0, c[ 2];\n"4624 "RCP R0.z, R0.z;\n" 4625 "MUL R0.xy, R0, R0.z;\n" 4626 "MUL R0.xy, R0, c[ 3];\n"4579 "MUL R0.xyz, fragment.position.y, c[2];\n" 4580 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4581 "ADD R0.xyz, R0, c[3];\n" 4582 "RCP R0.z, R0.z;\n" 4583 "MUL R0.xy, R0, R0.z;\n" 4584 "MUL R0.xy, R0, c[0];\n" 4627 4585 "ADD R0.x, R0, R0.y;\n" 4628 4586 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 4629 4587 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4630 "MUL R0.x, R0, c[ 3].z;\n"4588 "MUL R0.x, R0, c[0].z;\n" 4631 4589 "TEX R0, R0, texture[1], 1D;\n" 4632 4590 "ADD R2, R0, R1;\n" … … 4643 4601 "TEMP R2;\n" 4644 4602 "TEMP R3;\n" 4645 "MUL R0.xyz, fragment.position.y, c[ 1];\n"4646 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"4647 "ADD R0.xyz, R0, c[ 2];\n"4648 "RCP R0.z, R0.z;\n" 4649 "MUL R0.xy, R0, R0.z;\n" 4650 "MUL R0.xy, R0, c[ 3];\n"4603 "MUL R0.xyz, fragment.position.y, c[2];\n" 4604 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4605 "ADD R0.xyz, R0, c[3];\n" 4606 "RCP R0.z, R0.z;\n" 4607 "MUL R0.xy, R0, R0.z;\n" 4608 "MUL R0.xy, R0, c[0];\n" 4651 4609 "ADD R0.x, R0, R0.y;\n" 4652 "MUL R0.x, R0, c[ 3].z;\n"4610 "MUL R0.x, R0, c[0].z;\n" 4653 4611 "TEX R0, R0, texture[1], 1D;\n" 4654 4612 "MUL R1.xy, fragment.position, c[4];\n" … … 4684 4642 "TEMP R2;\n" 4685 4643 "TEMP R3;\n" 4686 "MUL R0.xyz, fragment.position.y, c[ 1];\n"4687 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"4688 "ADD R0.xyz, R0, c[ 2];\n"4689 "RCP R0.z, R0.z;\n" 4690 "MUL R0.xy, R0, R0.z;\n" 4691 "MUL R0.xy, R0, c[ 3];\n"4644 "MUL R0.xyz, fragment.position.y, c[2];\n" 4645 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4646 "ADD R0.xyz, R0, c[3];\n" 4647 "RCP R0.z, R0.z;\n" 4648 "MUL R0.xy, R0, R0.z;\n" 4649 "MUL R0.xy, R0, c[0];\n" 4692 4650 "ADD R0.x, R0, R0.y;\n" 4693 "MUL R0. x, R0, c[3].z;\n"4694 " MUL R1.xy, fragment.position, c[4];\n"4695 " TEX R1, R1, texture[0], 2D;\n"4651 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 4652 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4653 "MUL R0.x, R0, c[0].z;\n" 4696 4654 "TEX R0, R0, texture[1], 1D;\n" 4697 4655 "MUL R2.xyz, R0, R1.w;\n" 4698 "MUL R3.xyz, R 1, R0.w;\n"4656 "MUL R3.xyz, R0.w, R1;\n" 4699 4657 "MIN R2.xyz, R2, R3;\n" 4700 4658 "ADD R2.w, -R1, c[5].x;\n" … … 4715 4673 "TEMP R2;\n" 4716 4674 "TEMP R3;\n" 4717 "MUL R0.xyz, fragment.position.y, c[ 1];\n"4718 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"4719 "ADD R0.xyz, R0, c[ 2];\n"4720 "RCP R0.z, R0.z;\n" 4721 "MUL R0.xy, R0, R0.z;\n" 4722 "MUL R0.xy, R0, c[ 3];\n"4675 "MUL R0.xyz, fragment.position.y, c[2];\n" 4676 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4677 "ADD R0.xyz, R0, c[3];\n" 4678 "RCP R0.z, R0.z;\n" 4679 "MUL R0.xy, R0, R0.z;\n" 4680 "MUL R0.xy, R0, c[0];\n" 4723 4681 "ADD R0.x, R0, R0.y;\n" 4724 "MUL R0. x, R0, c[3].z;\n"4725 " MUL R1.xy, fragment.position, c[4];\n"4726 " TEX R1, R1, texture[0], 2D;\n"4682 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 4683 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4684 "MUL R0.x, R0, c[0].z;\n" 4727 4685 "TEX R0, R0, texture[1], 1D;\n" 4728 4686 "MUL R2.xyz, R0, R1.w;\n" 4729 "MUL R3.xyz, R 1, R0.w;\n"4687 "MUL R3.xyz, R0.w, R1;\n" 4730 4688 "MAX R2.xyz, R2, R3;\n" 4731 4689 "ADD R2.w, -R1, c[5].x;\n" … … 4741 4699 "!!ARBfp1.0\n" 4742 4700 "PARAM c[6] = { program.local[0..4],\n" 4743 " { 1, 1e-0 6 } };\n"4744 "TEMP R0;\n" 4745 "TEMP R1;\n" 4746 "TEMP R2;\n" 4747 "TEMP R3;\n" 4748 "MUL R0.xyz, fragment.position.y, c[ 1];\n"4749 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"4750 "ADD R0.xyz, R0, c[ 2];\n"4751 "RCP R0.z, R0.z;\n" 4752 "MUL R0.xy, R0, R0.z;\n" 4753 "MUL R0.xy, R0, c[ 3];\n"4701 " { 1, 1e-006 } };\n" 4702 "TEMP R0;\n" 4703 "TEMP R1;\n" 4704 "TEMP R2;\n" 4705 "TEMP R3;\n" 4706 "MUL R0.xyz, fragment.position.y, c[2];\n" 4707 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4708 "ADD R0.xyz, R0, c[3];\n" 4709 "RCP R0.z, R0.z;\n" 4710 "MUL R0.xy, R0, R0.z;\n" 4711 "MUL R0.xy, R0, c[0];\n" 4754 4712 "ADD R0.x, R0, R0.y;\n" 4755 "MUL R0.x, R0, c[ 3].z;\n"4713 "MUL R0.x, R0, c[0].z;\n" 4756 4714 "TEX R0, R0, texture[1], 1D;\n" 4757 4715 "MAX R1.x, R0.w, c[5].y;\n" … … 4765 4723 "ADD R2.w, -R1, c[5].x;\n" 4766 4724 "MAD R2.xyz, R0, R2.w, R2;\n" 4767 "MUL R1.xyz, R 1, R0.w;\n"4725 "MUL R1.xyz, R0.w, R1;\n" 4768 4726 "MAD R0.xyz, R0, R1.w, R1;\n" 4769 4727 "MUL R2.w, R0, R1;\n" … … 4784 4742 "!!ARBfp1.0\n" 4785 4743 "PARAM c[6] = { program.local[0..4],\n" 4786 " { 1, 9.9999997e-0 6 } };\n"4744 " { 1, 9.9999997e-006 } };\n" 4787 4745 "TEMP R0;\n" 4788 4746 "TEMP R1;\n" … … 4791 4749 "TEMP R4;\n" 4792 4750 "TEMP R5;\n" 4793 "MUL R0.xyz, fragment.position.y, c[ 1];\n"4794 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"4795 "ADD R0.xyz, R0, c[ 2];\n"4796 "RCP R0.z, R0.z;\n" 4797 "MUL R0.xy, R0, R0.z;\n" 4798 "MUL R0.xy, R0, c[ 3];\n"4751 "MUL R0.xyz, fragment.position.y, c[2];\n" 4752 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4753 "ADD R0.xyz, R0, c[3];\n" 4754 "RCP R0.z, R0.z;\n" 4755 "MUL R0.xy, R0, R0.z;\n" 4756 "MUL R0.xy, R0, c[0];\n" 4799 4757 "ADD R0.x, R0, R0.y;\n" 4800 "MUL R0.x, R0, c[3].z;\n" 4758 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 4759 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4760 "MUL R0.x, R0, c[0].z;\n" 4801 4761 "TEX R0, R0, texture[1], 1D;\n" 4802 "MUL R1.xy, fragment.position, c[4];\n" 4803 "TEX R1, R1, texture[0], 2D;\n" 4804 "MUL R2.xyz, R1, R0.w;\n" 4762 "MUL R2.xyz, R0.w, R1;\n" 4805 4763 "MAD R3.xyz, R0, R1.w, R2;\n" 4806 4764 "ADD R2.w, -R1, c[5].x;\n" … … 4815 4773 "MAD R2.xyz, R4, R2, R5;\n" 4816 4774 "MUL R4.xyz, R1, R3.w;\n" 4775 "MAD R1.xyz, R1, R3.w, R2;\n" 4817 4776 "MAD R0.xyz, R0, R2.w, R4;\n" 4818 "ADD R3.w, -R0, c[5].x;\n"4819 "MAD R1.xyz, R1, R3.w, R2;\n"4820 4777 "MUL R2.x, R0.w, R1.w;\n" 4821 4778 "ADD R2.w, R0, R1;\n" … … 4836 4793 "TEMP R3;\n" 4837 4794 "TEMP R4;\n" 4838 "MUL R0.xyz, fragment.position.y, c[ 1];\n"4839 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"4840 "ADD R0.xyz, R0, c[ 2];\n"4841 "RCP R0.z, R0.z;\n" 4842 "MUL R0.xy, R0, R0.z;\n" 4843 "MUL R0.xy, R0, c[ 3];\n"4795 "MUL R0.xyz, fragment.position.y, c[2];\n" 4796 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4797 "ADD R0.xyz, R0, c[3];\n" 4798 "RCP R0.z, R0.z;\n" 4799 "MUL R0.xy, R0, R0.z;\n" 4800 "MUL R0.xy, R0, c[0];\n" 4844 4801 "ADD R0.x, R0, R0.y;\n" 4845 "MUL R0.x, R0, c[ 3].z;\n"4802 "MUL R0.x, R0, c[0].z;\n" 4846 4803 "TEX R0, R0, texture[1], 1D;\n" 4847 4804 "MUL R1.xy, fragment.position, c[4];\n" … … 4872 4829 "!!ARBfp1.0\n" 4873 4830 "PARAM c[7] = { program.local[0..4],\n" 4874 " { 1, 9.9999997e-06, 2, 8},\n"4875 " { 3 } };\n"4831 " { 1, 2, 9.9999997e-006, 4 },\n" 4832 " { 16, 12, 3 } };\n" 4876 4833 "TEMP R0;\n" 4877 4834 "TEMP R1;\n" … … 4881 4838 "TEMP R5;\n" 4882 4839 "TEMP R6;\n" 4883 "MUL R2.xyz, fragment.position.y, c[1];\n" 4884 "MAD R3.xyz, fragment.position.x, c[0], R2;\n" 4885 "MUL R0.xy, fragment.position, c[4];\n" 4886 "TEX R1, R0, texture[0], 2D;\n" 4887 "MAX R0.x, R1.w, c[5].y;\n" 4888 "RCP R2.w, R0.x;\n" 4889 "MUL R0.xyz, R1, R2.w;\n" 4890 "RSQ R0.w, R0.x;\n" 4891 "RSQ R2.y, R0.y;\n" 4892 "ADD R3.xyz, R3, c[2];\n" 4893 "RCP R2.x, R0.w;\n" 4894 "RCP R0.w, R3.z;\n" 4895 "MUL R3.xy, R3, R0.w;\n" 4896 "RSQ R0.w, R0.z;\n" 4897 "RCP R2.z, R0.w;\n" 4898 "RCP R2.y, R2.y;\n" 4899 "MAD R6.xyz, R2, R1.w, -R1;\n" 4900 "MUL R2.xyz, -R0, c[5].w;\n" 4901 "ADD R5.xyz, R2, c[6].x;\n" 4902 "MAD R2.xyz, -R1, R2.w, c[5].x;\n" 4903 "MUL R3.xy, R3, c[3];\n" 4904 "ADD R0.w, R3.x, R3.y;\n" 4905 "MUL R0.w, R0, c[3].z;\n" 4906 "TEX R0, R0.w, texture[1], 1D;\n" 4907 "MAD R3.xyz, R0, c[5].z, -R0.w;\n" 4908 "MUL R4.xyz, R2, R3;\n" 4909 "MAD R4.xyz, -R4, R5, R0.w;\n" 4910 "MUL R5.xyz, R6, R3;\n" 4911 "MAD R2.xyz, -R2, R3, R0.w;\n" 4912 "MAD R6.xyz, R1, R0.w, R5;\n" 4913 "MUL R4.xyz, R1, R4;\n" 4914 "MUL R5.xyz, R1, c[5].w;\n" 4915 "ADD R6.xyz, R6, -R4;\n" 4916 "SGE R5.xyz, R5, R1.w;\n" 4917 "MUL R5.xyz, R5, R6;\n" 4918 "ADD R3.xyz, R4, R5;\n" 4840 "MUL R0.xyz, fragment.position.y, c[2];\n" 4841 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4842 "ADD R0.xyz, R0, c[3];\n" 4843 "RCP R0.z, R0.z;\n" 4844 "MUL R0.xy, R0, R0.z;\n" 4845 "MUL R0.xy, R0, c[0];\n" 4846 "ADD R0.x, R0, R0.y;\n" 4847 "MUL R1.xy, fragment.position, c[4];\n" 4848 "TEX R1, R1, texture[0], 2D;\n" 4849 "MAX R0.z, R1.w, c[5];\n" 4850 "RCP R0.z, R0.z;\n" 4851 "MUL R3.xyz, R1, R0.z;\n" 4852 "MAD R2.xyz, R3, c[6].x, -c[6].y;\n" 4853 "MUL R0.x, R0, c[0].z;\n" 4854 "TEX R0, R0, texture[1], 1D;\n" 4855 "MAD R4.xyz, R3, R2, c[6].z;\n" 4856 "MAD R2.xyz, R0, c[5].y, -R0.w;\n" 4857 "MUL R5.xyz, R1.w, R2;\n" 4858 "MUL R6.xyz, R5, R4;\n" 4859 "RSQ R2.w, R3.x;\n" 4860 "RCP R4.x, R2.w;\n" 4861 "RSQ R2.w, R3.y;\n" 4862 "RSQ R3.w, R3.z;\n" 4863 "RCP R4.y, R2.w;\n" 4864 "RCP R4.z, R3.w;\n" 4865 "ADD R4.xyz, -R3, R4;\n" 4866 "MUL R6.xyz, R3, R6;\n" 4867 "MUL R4.xyz, R5, R4;\n" 4868 "ADD R3.xyz, -R3, c[5].x;\n" 4869 "MAD R2.xyz, R2, R3, R0.w;\n" 4870 "MUL R3.xyz, R0, c[5].y;\n" 4871 "MAD R5.xyz, R0.w, R1, R6;\n" 4872 "MAD R4.xyz, R0.w, R1, R4;\n" 4873 "ADD R6.xyz, R4, -R5;\n" 4874 "MUL R4.xyz, R1, c[5].w;\n" 4875 "SGE R4.xyz, R4, R1.w;\n" 4876 "MAD R4.xyz, R4, R6, R5;\n" 4877 "MAD R4.xyz, -R1, R2, R4;\n" 4919 4878 "MUL R2.xyz, R1, R2;\n" 4920 "MUL R4.xyz, R0, c[5].z;\n" 4921 "ADD R3.xyz, R3, -R2;\n" 4922 "SGE R4.xyz, R4, R0.w;\n" 4923 "MUL R3.xyz, R4, R3;\n" 4924 "ADD R2.xyz, R2, R3;\n" 4879 "SGE R3.xyz, R3, R0.w;\n" 4880 "MAD R2.xyz, R3, R4, R2;\n" 4925 4881 "ADD R2.w, -R1, c[5].x;\n" 4926 "MAD R 0.xyz, R0, R2.w, R2;\n"4927 "ADD R 2.x, R0.w, R1.w;\n"4928 "ADD R 2.y, -R0.w, c[5].x;\n"4929 "MAD result.color.xyz, R1, R 2.y, R0;\n"4930 "MAD result.color.w, -R0, R1, R 2.x;\n"4882 "MAD R2.xyz, R0, R2.w, R2;\n" 4883 "ADD R0.x, R0.w, R1.w;\n" 4884 "ADD R0.y, -R0.w, c[5].x;\n" 4885 "MAD result.color.xyz, R1, R0.y, R2;\n" 4886 "MAD result.color.w, -R0, R1, R0.x;\n" 4931 4887 "END\n" 4932 4888 ; … … 4940 4896 "TEMP R2;\n" 4941 4897 "TEMP R3;\n" 4942 "MUL R0.xyz, fragment.position.y, c[ 1];\n"4943 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"4944 "ADD R0.xyz, R0, c[ 2];\n"4945 "RCP R0.z, R0.z;\n" 4946 "MUL R0.xy, R0, R0.z;\n" 4947 "MUL R0.xy, R0, c[ 3];\n"4898 "MUL R0.xyz, fragment.position.y, c[2];\n" 4899 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4900 "ADD R0.xyz, R0, c[3];\n" 4901 "RCP R0.z, R0.z;\n" 4902 "MUL R0.xy, R0, R0.z;\n" 4903 "MUL R0.xy, R0, c[0];\n" 4948 4904 "ADD R0.x, R0, R0.y;\n" 4949 "MUL R0.x, R0, c[3].z;\n" 4950 "MUL R1.xy, fragment.position, c[4];\n" 4905 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 4906 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4907 "MUL R0.x, R0, c[0].z;\n" 4951 4908 "TEX R0, R0, texture[1], 1D;\n" 4952 "TEX R1, R1, texture[0], 2D;\n"4953 4909 "MUL R2.xyz, R0, R1.w;\n" 4954 "MUL R3.xyz, R 1, R0.w;\n"4910 "MUL R3.xyz, R0.w, R1;\n" 4955 4911 "ADD R0.xyz, R0, R1;\n" 4956 4912 "MIN R2.xyz, R2, R3;\n" … … 4964 4920 "!!ARBfp1.0\n" 4965 4921 "PARAM c[6] = { program.local[0..4],\n" 4966 " { 1, 2} };\n"4967 "TEMP R0;\n" 4968 "TEMP R1;\n" 4969 "TEMP R2;\n" 4970 "TEMP R3;\n" 4971 "MUL R0.xyz, fragment.position.y, c[ 1];\n"4972 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"4973 "ADD R0.xyz, R0, c[ 2];\n"4974 "RCP R0.z, R0.z;\n" 4975 "MUL R0.xy, R0, R0.z;\n" 4976 "MUL R0.xy, R0, c[ 3];\n"4922 " { 2, 1 } };\n" 4923 "TEMP R0;\n" 4924 "TEMP R1;\n" 4925 "TEMP R2;\n" 4926 "TEMP R3;\n" 4927 "MUL R0.xyz, fragment.position.y, c[2];\n" 4928 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4929 "ADD R0.xyz, R0, c[3];\n" 4930 "RCP R0.z, R0.z;\n" 4931 "MUL R0.xy, R0, R0.z;\n" 4932 "MUL R0.xy, R0, c[0];\n" 4977 4933 "ADD R0.x, R0, R0.y;\n" 4978 "MUL R0. x, R0, c[3].z;\n"4979 " MUL R1.xy, fragment.position, c[4];\n"4980 " TEX R1, R1, texture[0], 2D;\n"4934 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 4935 "TEX R1, R0.zwzw, texture[0], 2D;\n" 4936 "MUL R0.x, R0, c[0].z;\n" 4981 4937 "TEX R0, R0, texture[1], 1D;\n" 4982 "MUL R2.xyz, R 1, R0.w;\n"4938 "MUL R2.xyz, R0.w, R1;\n" 4983 4939 "MAD R3.xyz, R0, R1.w, R2;\n" 4984 4940 "MUL R2.xyz, R0, R1;\n" 4985 "MAD R2.xyz, -R2, c[5]. y, R3;\n"4986 "ADD R2.w, -R1, c[5]. x;\n"4941 "MAD R2.xyz, -R2, c[5].x, R3;\n" 4942 "ADD R2.w, -R1, c[5].y;\n" 4987 4943 "MAD R0.xyz, R0, R2.w, R2;\n" 4988 4944 "ADD R2.x, R0.w, R1.w;\n" 4989 "ADD R2.y, -R0.w, c[5] .x;\n"4945 "ADD R2.y, -R0.w, c[5];\n" 4990 4946 "MAD result.color.xyz, R1, R2.y, R0;\n" 4991 4947 "MAD result.color.w, -R0, R1, R2.x;\n" … … 4998 4954 "TEMP R0;\n" 4999 4955 "TEMP R1;\n" 5000 "MUL R0.xyz, fragment.position.y, c[ 1];\n"5001 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"5002 "ADD R0.xyz, R0, c[ 2];\n"4956 "MUL R0.xyz, fragment.position.y, c[2];\n" 4957 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4958 "ADD R0.xyz, R0, c[3];\n" 5003 4959 "RCP R0.z, R0.z;\n" 5004 4960 "MUL R0.zw, R0.xyxy, R0.z;\n" 5005 "MUL R0.zw, R0, c[ 3].xyxy;\n"4961 "MUL R0.zw, R0, c[0].xyxy;\n" 5006 4962 "ADD R1.x, R0.z, R0.w;\n" 5007 "ADD R0.xy, fragment.position, c[ 4];\n"5008 "MUL R0.xy, R0, c[ 5];\n"4963 "ADD R0.xy, fragment.position, c[5];\n" 4964 "MUL R0.xy, R0, c[4];\n" 5009 4965 "TEX R0, R0, texture[0], 2D;\n" 5010 4966 "DP4 R1.y, R0, c[6];\n" 5011 "MUL R1.x, R1, c[ 3].z;\n"4967 "MUL R1.x, R1, c[0].z;\n" 5012 4968 "TEX R0, R1, texture[1], 1D;\n" 5013 4969 "MUL result.color, R0, R1.y;\n" … … 5019 4975 "PARAM c[4] = { program.local[0..3] };\n" 5020 4976 "TEMP R0;\n" 5021 "MUL R0.xyz, fragment.position.y, c[ 1];\n"5022 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"5023 "ADD R0.xyz, R0, c[ 2];\n"5024 "RCP R0.z, R0.z;\n" 5025 "MUL R0.xy, R0, R0.z;\n" 5026 "MUL R0.xy, R0, c[ 3];\n"4977 "MUL R0.xyz, fragment.position.y, c[2];\n" 4978 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4979 "ADD R0.xyz, R0, c[3];\n" 4980 "RCP R0.z, R0.z;\n" 4981 "MUL R0.xy, R0, R0.z;\n" 4982 "MUL R0.xy, R0, c[0];\n" 5027 4983 "ADD R0.x, R0, R0.y;\n" 5028 "MUL R0.x, R0, c[ 3].z;\n"4984 "MUL R0.x, R0, c[0].z;\n" 5029 4985 "TEX result.color, R0, texture[0], 1D;\n" 5030 4986 "END\n" … … 5033 4989 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SIMPLE_PORTER_DUFF = 5034 4990 "!!ARBfp1.0\n" 5035 "PARAM c[11] = { program.local[0..7],\n" 5036 " { 1 },\n" 5037 " program.local[9..10] };\n" 5038 "TEMP R0;\n" 5039 "TEMP R1;\n" 5040 "TEMP R2;\n" 5041 "TEMP R3;\n" 5042 "MUL R0.xyz, fragment.position.y, c[4];\n" 5043 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5044 "ADD R0.xyz, R0, c[5];\n" 5045 "RCP R0.z, R0.z;\n" 5046 "MUL R0.xy, R0, R0.z;\n" 5047 "MUL R0.xy, R0, c[6];\n" 5048 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n" 5049 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5050 "MOV R0.y, -R0;\n" 5051 "TEX R0, R0, texture[2], 2D;\n" 5052 "MUL R2.xyz, R1, c[10].y;\n" 5053 "MUL R3.xyz, R2, R0.w;\n" 5054 "MUL R2.xyz, R0, c[10].x;\n" 5055 "MAD R2.xyz, R2, R1.w, R3;\n" 5056 "ADD R3.xy, fragment.position, c[0];\n" 5057 "MUL R0.xyz, R0, c[9].y;\n" 5058 "ADD R2.w, -R1, c[8].x;\n" 5059 "MAD R2.xyz, R0, R2.w, R2;\n" 5060 "ADD R2.w, -R0, c[8].x;\n" 5061 "MUL R0.xyz, R1, c[9].z;\n" 5062 "MAD R2.xyz, R0, R2.w, R2;\n" 5063 "ADD R0.y, -R1.w, c[8].x;\n" 5064 "MUL R0.z, R1.w, R2.w;\n" 5065 "MUL R0.x, R0.w, R1.w;\n" 5066 "MUL R0.y, R0.w, R0;\n" 5067 "DP3 R2.w, R0, c[9];\n" 5068 "MUL R3.xy, R3, c[1];\n" 5069 "TEX R0, R3, texture[1], 2D;\n" 5070 "ADD R2, R2, -R1;\n" 5071 "DP4 R0.x, R0, c[2];\n" 5072 "MAD result.color, R0.x, R2, R1;\n" 4991 "PARAM c[11] = { program.local[0..9],\n" 4992 " { 1 } };\n" 4993 "TEMP R0;\n" 4994 "TEMP R1;\n" 4995 "TEMP R2;\n" 4996 "TEMP R3;\n" 4997 "MUL R0.xyz, fragment.position.y, c[2];\n" 4998 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 4999 "ADD R1.xyz, R0, c[3];\n" 5000 "RCP R0.z, R1.z;\n" 5001 "MUL R1.xy, R1, R0.z;\n" 5002 "MUL R0.xy, fragment.position, c[7];\n" 5003 "TEX R0, R0, texture[0], 2D;\n" 5004 "MUL R1.xy, R1, c[0];\n" 5005 "TEX R1, R1, texture[2], 2D;\n" 5006 "MUL R2.xyz, R0, c[4].y;\n" 5007 "MUL R3.xyz, R1.w, R2;\n" 5008 "MUL R2.xyz, R1, c[4].x;\n" 5009 "MAD R2.xyz, R0.w, R2, R3;\n" 5010 "ADD R3.xy, fragment.position, c[8];\n" 5011 "ADD R2.w, -R0, c[10].x;\n" 5012 "MUL R1.xyz, R1, c[5].y;\n" 5013 "MAD R2.xyz, R2.w, R1, R2;\n" 5014 "MUL R1.xyz, R0, c[5].z;\n" 5015 "ADD R3.z, -R1.w, c[10].x;\n" 5016 "MAD R2.xyz, R3.z, R1, R2;\n" 5017 "MUL R1.y, R1.w, R2.w;\n" 5018 "MUL R1.x, R1.w, R0.w;\n" 5019 "MUL R1.z, R0.w, R3;\n" 5020 "DP3 R2.w, R1, c[5];\n" 5021 "MUL R3.xy, R3, c[6];\n" 5022 "TEX R1, R3, texture[1], 2D;\n" 5023 "ADD R2, R2, -R0;\n" 5024 "DP4 R1.x, R1, c[9];\n" 5025 "MAD result.color, R1.x, R2, R0;\n" 5073 5026 "END\n" 5074 5027 ; … … 5081 5034 "TEMP R1;\n" 5082 5035 "TEMP R2;\n" 5083 "MUL R0.xyz, fragment.position.y, c[4];\n" 5084 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5085 "ADD R0.xyz, R0, c[5];\n" 5086 "RCP R1.x, R0.z;\n" 5087 "MUL R0.xy, R0, R1.x;\n" 5088 "MUL R0.xy, R0, c[6];\n" 5089 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n" 5090 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5091 "MOV R0.y, -R0;\n" 5092 "TEX R0, R0, texture[2], 2D;\n" 5036 "MUL R0.xyz, fragment.position.y, c[2];\n" 5037 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5038 "ADD R1.xyz, R0, c[3];\n" 5039 "RCP R0.z, R1.z;\n" 5040 "MUL R1.xy, R1, R0.z;\n" 5041 "MUL R0.xy, fragment.position, c[5];\n" 5042 "TEX R0, R0, texture[0], 2D;\n" 5043 "MUL R1.xy, R1, c[0];\n" 5044 "TEX R1, R1, texture[2], 2D;\n" 5045 "ADD R2.x, -R0.w, c[8];\n" 5046 "MUL R2.xyz, R1, R2.x;\n" 5047 "MAD R1.xyz, R1, R0, R2;\n" 5093 5048 "ADD R2.x, -R1.w, c[8];\n" 5094 "MUL R2.xyz, R0, R2.x;\n" 5095 "MAD R0.xyz, R0, R1, R2;\n" 5096 "ADD R2.x, -R0.w, c[8];\n" 5097 "MAD R2.xyz, R1, R2.x, R0;\n" 5098 "ADD R0.z, R0.w, R1.w;\n" 5099 "MAD R2.w, -R0, R1, R0.z;\n" 5100 "ADD R0.xy, fragment.position, c[0];\n" 5101 "MUL R0.xy, R0, c[1];\n" 5102 "TEX R0, R0, texture[1], 2D;\n" 5103 "ADD R2, R2, -R1;\n" 5104 "DP4 R0.x, R0, c[2];\n" 5105 "MAD result.color, R0.x, R2, R1;\n" 5049 "MAD R2.xyz, R0, R2.x, R1;\n" 5050 "ADD R1.z, R1.w, R0.w;\n" 5051 "MAD R2.w, -R1, R0, R1.z;\n" 5052 "ADD R1.xy, fragment.position, c[6];\n" 5053 "MUL R1.xy, R1, c[4];\n" 5054 "TEX R1, R1, texture[1], 2D;\n" 5055 "ADD R2, R2, -R0;\n" 5056 "DP4 R1.x, R1, c[7];\n" 5057 "MAD result.color, R1.x, R2, R0;\n" 5106 5058 "END\n" 5107 5059 ; … … 5114 5066 "TEMP R2;\n" 5115 5067 "TEMP R3;\n" 5116 "MUL R0.xyz, fragment.position.y, c[4];\n" 5117 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5118 "ADD R0.xyz, R0, c[5];\n" 5119 "RCP R0.z, R0.z;\n" 5120 "MUL R0.xy, R0, R0.z;\n" 5121 "MUL R0.xy, R0, c[6];\n" 5122 "MOV R0.y, -R0;\n" 5123 "MUL R1.xy, fragment.position, c[7];\n" 5124 "ADD R3.xy, fragment.position, c[0];\n" 5125 "TEX R1, R1, texture[0], 2D;\n" 5126 "TEX R0, R0, texture[2], 2D;\n" 5127 "ADD R2, R0, R1;\n" 5128 "MAD R2, -R0, R1, R2;\n" 5129 "MUL R3.xy, R3, c[1];\n" 5130 "TEX R0, R3, texture[1], 2D;\n" 5131 "ADD R2, R2, -R1;\n" 5132 "DP4 R0.x, R0, c[2];\n" 5133 "MAD result.color, R0.x, R2, R1;\n" 5068 "MUL R0.xyz, fragment.position.y, c[2];\n" 5069 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5070 "ADD R0.xyz, R0, c[3];\n" 5071 "RCP R0.z, R0.z;\n" 5072 "MUL R0.xy, R0, R0.z;\n" 5073 "MUL R0.zw, R0.xyxy, c[0].xyxy;\n" 5074 "ADD R3.xy, fragment.position, c[6];\n" 5075 "TEX R1, R0.zwzw, texture[2], 2D;\n" 5076 "MUL R0.xy, fragment.position, c[5];\n" 5077 "TEX R0, R0, texture[0], 2D;\n" 5078 "ADD R2, R1, R0;\n" 5079 "MAD R2, -R1, R0, R2;\n" 5080 "MUL R3.xy, R3, c[4];\n" 5081 "TEX R1, R3, texture[1], 2D;\n" 5082 "ADD R2, R2, -R0;\n" 5083 "DP4 R1.x, R1, c[7];\n" 5084 "MAD result.color, R1.x, R2, R0;\n" 5134 5085 "END\n" 5135 5086 ; … … 5144 5095 "TEMP R3;\n" 5145 5096 "TEMP R4;\n" 5146 "MUL R0.xyz, fragment.position.y, c[4];\n" 5147 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5148 "ADD R0.xyz, R0, c[5];\n" 5149 "RCP R0.z, R0.z;\n" 5150 "MUL R0.xy, R0, R0.z;\n" 5151 "MUL R0.xy, R0, c[6];\n" 5152 "MOV R0.y, -R0;\n" 5097 "MUL R0.xyz, fragment.position.y, c[2];\n" 5098 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5099 "ADD R0.xyz, R0, c[3];\n" 5100 "RCP R0.z, R0.z;\n" 5101 "MUL R0.xy, R0, R0.z;\n" 5102 "MUL R0.xy, R0, c[0];\n" 5153 5103 "TEX R0, R0, texture[2], 2D;\n" 5154 "MUL R1.xy, fragment.position, c[ 7];\n"5104 "MUL R1.xy, fragment.position, c[5];\n" 5155 5105 "TEX R1, R1, texture[0], 2D;\n" 5156 5106 "ADD R2.w, -R1, c[8].y;\n" … … 5173 5123 "ADD R0.z, R0.w, R1.w;\n" 5174 5124 "MAD R2.w, -R0, R1, R0.z;\n" 5175 "ADD R0.xy, fragment.position, c[ 0];\n"5176 "MUL R0.xy, R0, c[ 1];\n"5125 "ADD R0.xy, fragment.position, c[6];\n" 5126 "MUL R0.xy, R0, c[4];\n" 5177 5127 "TEX R0, R0, texture[1], 2D;\n" 5178 5128 "ADD R2, R2, -R1;\n" 5179 "DP4 R0.x, R0, c[ 2];\n"5129 "DP4 R0.x, R0, c[7];\n" 5180 5130 "MAD result.color, R0.x, R2, R1;\n" 5181 5131 "END\n" … … 5190 5140 "TEMP R2;\n" 5191 5141 "TEMP R3;\n" 5192 "MUL R0.xyz, fragment.position.y, c[4];\n" 5193 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5194 "ADD R0.xyz, R0, c[5];\n" 5195 "RCP R0.z, R0.z;\n" 5196 "MUL R0.xy, R0, R0.z;\n" 5197 "MUL R0.xy, R0, c[6];\n" 5198 "MOV R0.y, -R0;\n" 5199 "MUL R1.xy, fragment.position, c[7];\n" 5200 "TEX R1, R1, texture[0], 2D;\n" 5201 "TEX R0, R0, texture[2], 2D;\n" 5202 "MUL R3.xyz, R1, R0.w;\n" 5203 "MUL R2.xyz, R0, R1.w;\n" 5142 "MUL R0.xyz, fragment.position.y, c[2];\n" 5143 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5144 "ADD R0.xyz, R0, c[3];\n" 5145 "RCP R0.z, R0.z;\n" 5146 "MUL R0.zw, R0.xyxy, R0.z;\n" 5147 "MUL R1.xy, R0.zwzw, c[0];\n" 5148 "MUL R0.xy, fragment.position, c[5];\n" 5149 "TEX R0, R0, texture[0], 2D;\n" 5150 "TEX R1, R1, texture[2], 2D;\n" 5151 "MUL R3.xyz, R1.w, R0;\n" 5152 "MUL R2.xyz, R1, R0.w;\n" 5204 5153 "MIN R2.xyz, R2, R3;\n" 5205 "ADD R2.w, -R 1, c[8].x;\n"5206 "MAD R 0.xyz, R0, R2.w, R2;\n"5207 "ADD R2.x, -R 0.w, c[8];\n"5208 "MAD R2.xyz, R 1, R2.x, R0;\n"5209 "ADD R 0.z, R0.w, R1.w;\n"5210 "MAD R2.w, -R 0, R1, R0.z;\n"5211 "ADD R 0.xy, fragment.position, c[0];\n"5212 "MUL R 0.xy, R0, c[1];\n"5213 "TEX R 0, R0, texture[1], 2D;\n"5214 "ADD R2, R2, -R 1;\n"5215 "DP4 R 0.x, R0, c[2];\n"5216 "MAD result.color, R 0.x, R2, R1;\n"5154 "ADD R2.w, -R0, c[8].x;\n" 5155 "MAD R1.xyz, R1, R2.w, R2;\n" 5156 "ADD R2.x, -R1.w, c[8];\n" 5157 "MAD R2.xyz, R0, R2.x, R1;\n" 5158 "ADD R1.z, R1.w, R0.w;\n" 5159 "MAD R2.w, -R1, R0, R1.z;\n" 5160 "ADD R1.xy, fragment.position, c[6];\n" 5161 "MUL R1.xy, R1, c[4];\n" 5162 "TEX R1, R1, texture[1], 2D;\n" 5163 "ADD R2, R2, -R0;\n" 5164 "DP4 R1.x, R1, c[7];\n" 5165 "MAD result.color, R1.x, R2, R0;\n" 5217 5166 "END\n" 5218 5167 ; … … 5226 5175 "TEMP R2;\n" 5227 5176 "TEMP R3;\n" 5228 "MUL R0.xyz, fragment.position.y, c[4];\n" 5229 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5230 "ADD R0.xyz, R0, c[5];\n" 5231 "RCP R0.z, R0.z;\n" 5232 "MUL R0.xy, R0, R0.z;\n" 5233 "MUL R0.xy, R0, c[6];\n" 5234 "MOV R0.y, -R0;\n" 5235 "MUL R1.xy, fragment.position, c[7];\n" 5236 "TEX R1, R1, texture[0], 2D;\n" 5237 "TEX R0, R0, texture[2], 2D;\n" 5238 "MUL R3.xyz, R1, R0.w;\n" 5239 "MUL R2.xyz, R0, R1.w;\n" 5177 "MUL R0.xyz, fragment.position.y, c[2];\n" 5178 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5179 "ADD R0.xyz, R0, c[3];\n" 5180 "RCP R0.z, R0.z;\n" 5181 "MUL R0.zw, R0.xyxy, R0.z;\n" 5182 "MUL R1.xy, R0.zwzw, c[0];\n" 5183 "MUL R0.xy, fragment.position, c[5];\n" 5184 "TEX R0, R0, texture[0], 2D;\n" 5185 "TEX R1, R1, texture[2], 2D;\n" 5186 "MUL R3.xyz, R1.w, R0;\n" 5187 "MUL R2.xyz, R1, R0.w;\n" 5240 5188 "MAX R2.xyz, R2, R3;\n" 5241 "ADD R2.w, -R 1, c[8].x;\n"5242 "MAD R 0.xyz, R0, R2.w, R2;\n"5243 "ADD R2.x, -R 0.w, c[8];\n"5244 "MAD R2.xyz, R 1, R2.x, R0;\n"5245 "ADD R 0.z, R0.w, R1.w;\n"5246 "MAD R2.w, -R 0, R1, R0.z;\n"5247 "ADD R 0.xy, fragment.position, c[0];\n"5248 "MUL R 0.xy, R0, c[1];\n"5249 "TEX R 0, R0, texture[1], 2D;\n"5250 "ADD R2, R2, -R 1;\n"5251 "DP4 R 0.x, R0, c[2];\n"5252 "MAD result.color, R 0.x, R2, R1;\n"5189 "ADD R2.w, -R0, c[8].x;\n" 5190 "MAD R1.xyz, R1, R2.w, R2;\n" 5191 "ADD R2.x, -R1.w, c[8];\n" 5192 "MAD R2.xyz, R0, R2.x, R1;\n" 5193 "ADD R1.z, R1.w, R0.w;\n" 5194 "MAD R2.w, -R1, R0, R1.z;\n" 5195 "ADD R1.xy, fragment.position, c[6];\n" 5196 "MUL R1.xy, R1, c[4];\n" 5197 "TEX R1, R1, texture[1], 2D;\n" 5198 "ADD R2, R2, -R0;\n" 5199 "DP4 R1.x, R1, c[7];\n" 5200 "MAD result.color, R1.x, R2, R0;\n" 5253 5201 "END\n" 5254 5202 ; … … 5257 5205 "!!ARBfp1.0\n" 5258 5206 "PARAM c[9] = { program.local[0..7],\n" 5259 " { 1, 1e-0 6 } };\n"5207 " { 1, 1e-006 } };\n" 5260 5208 "TEMP R0;\n" 5261 5209 "TEMP R1;\n" … … 5263 5211 "TEMP R3;\n" 5264 5212 "TEMP R4;\n" 5265 "MUL R0.xyz, fragment.position.y, c[4];\n" 5266 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5267 "ADD R0.xyz, R0, c[5];\n" 5268 "RCP R0.z, R0.z;\n" 5269 "MUL R0.xy, R0, R0.z;\n" 5270 "MUL R0.xy, R0, c[6];\n" 5271 "MOV R0.y, -R0;\n" 5213 "MUL R0.xyz, fragment.position.y, c[2];\n" 5214 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5215 "ADD R0.xyz, R0, c[3];\n" 5216 "RCP R0.z, R0.z;\n" 5217 "MUL R0.xy, R0, R0.z;\n" 5218 "MUL R0.xy, R0, c[0];\n" 5272 5219 "TEX R0, R0, texture[2], 2D;\n" 5273 5220 "MAX R1.x, R0.w, c[8].y;\n" 5274 5221 "RCP R1.x, R1.x;\n" 5275 "MAD R 1.xyz, -R0, R1.x, c[8].x;\n"5276 "MAX R2.xyz, R 1, c[8].y;\n"5277 "MUL R1.xy, fragment.position, c[ 7];\n"5222 "MAD R2.xyz, -R0, R1.x, c[8].x;\n" 5223 "MAX R2.xyz, R2, c[8].y;\n" 5224 "MUL R1.xy, fragment.position, c[5];\n" 5278 5225 "TEX R1, R1, texture[0], 2D;\n" 5279 5226 "ADD R2.w, -R0, c[8].x;\n" … … 5281 5228 "ADD R2.w, -R1, c[8].x;\n" 5282 5229 "MAD R4.xyz, R0, R2.w, R3;\n" 5283 "MUL R3.xyz, R 1, R0.w;\n"5230 "MUL R3.xyz, R0.w, R1;\n" 5284 5231 "MUL R2.w, R0, R1;\n" 5285 5232 "MAD R0.xyz, R0, R1.w, R3;\n" … … 5294 5241 "ADD R0.z, R0.w, R1.w;\n" 5295 5242 "MAD R2.w, -R0, R1, R0.z;\n" 5296 "ADD R0.xy, fragment.position, c[ 0];\n"5297 "MUL R0.xy, R0, c[ 1];\n"5243 "ADD R0.xy, fragment.position, c[6];\n" 5244 "MUL R0.xy, R0, c[4];\n" 5298 5245 "TEX R0, R0, texture[1], 2D;\n" 5299 5246 "ADD R2, R2, -R1;\n" 5300 "DP4 R0.x, R0, c[ 2];\n"5247 "DP4 R0.x, R0, c[7];\n" 5301 5248 "MAD result.color, R0.x, R2, R1;\n" 5302 5249 "END\n" … … 5306 5253 "!!ARBfp1.0\n" 5307 5254 "PARAM c[9] = { program.local[0..7],\n" 5308 " { 1, 9.9999997e-0 6 } };\n"5255 " { 1, 9.9999997e-006 } };\n" 5309 5256 "TEMP R0;\n" 5310 5257 "TEMP R1;\n" … … 5313 5260 "TEMP R4;\n" 5314 5261 "TEMP R5;\n" 5315 "MUL R0.xyz, fragment.position.y, c[4];\n" 5316 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5317 "ADD R0.xyz, R0, c[5];\n" 5318 "RCP R0.z, R0.z;\n" 5319 "MUL R0.xy, R0, R0.z;\n" 5320 "MUL R0.xy, R0, c[6];\n" 5321 "MOV R0.y, -R0;\n" 5262 "MUL R0.xyz, fragment.position.y, c[2];\n" 5263 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5264 "ADD R0.xyz, R0, c[3];\n" 5265 "RCP R0.z, R0.z;\n" 5266 "MUL R0.xy, R0, R0.z;\n" 5267 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 5268 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5269 "MUL R0.xy, R0, c[0];\n" 5322 5270 "TEX R0, R0, texture[2], 2D;\n" 5323 "MUL R1.xy, fragment.position, c[7];\n" 5324 "TEX R1, R1, texture[0], 2D;\n" 5325 "MUL R2.xyz, R1, R0.w;\n" 5271 "MUL R2.xyz, R0.w, R1;\n" 5326 5272 "MAD R3.xyz, R0, R1.w, R2;\n" 5327 5273 "MAD R2.xyz, -R0.w, R1.w, R3;\n" … … 5338 5284 "MAD R0.xyz, R0, R2.w, R4;\n" 5339 5285 "MUL R2.w, R0, R1;\n" 5340 "ADD R3.w, -R0, c[8].x;\n"5341 5286 "MAD R2.xyz, R1, R3.w, R2;\n" 5342 5287 "ADD R2.xyz, R2, -R0;\n" … … 5345 5290 "ADD R0.z, R0.w, R1.w;\n" 5346 5291 "MAD R2.w, -R0, R1, R0.z;\n" 5347 "ADD R0.xy, fragment.position, c[ 0];\n"5348 "MUL R0.xy, R0, c[ 1];\n"5292 "ADD R0.xy, fragment.position, c[6];\n" 5293 "MUL R0.xy, R0, c[4];\n" 5349 5294 "TEX R0, R0, texture[1], 2D;\n" 5350 5295 "ADD R2, R2, -R1;\n" 5351 "DP4 R0.x, R0, c[ 2];\n"5296 "DP4 R0.x, R0, c[7];\n" 5352 5297 "MAD result.color, R0.x, R2, R1;\n" 5353 5298 "END\n" … … 5363 5308 "TEMP R3;\n" 5364 5309 "TEMP R4;\n" 5365 "MUL R0.xyz, fragment.position.y, c[4];\n" 5366 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5367 "ADD R0.xyz, R0, c[5];\n" 5368 "RCP R0.z, R0.z;\n" 5369 "MUL R0.xy, R0, R0.z;\n" 5370 "MUL R0.xy, R0, c[6];\n" 5371 "MOV R0.y, -R0;\n" 5310 "MUL R0.xyz, fragment.position.y, c[2];\n" 5311 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5312 "ADD R0.xyz, R0, c[3];\n" 5313 "RCP R0.z, R0.z;\n" 5314 "MUL R0.xy, R0, R0.z;\n" 5315 "MUL R0.xy, R0, c[0];\n" 5372 5316 "TEX R0, R0, texture[2], 2D;\n" 5373 "MUL R1.xy, fragment.position, c[ 7];\n"5317 "MUL R1.xy, fragment.position, c[5];\n" 5374 5318 "TEX R1, R1, texture[0], 2D;\n" 5375 5319 "ADD R2.w, -R1, c[8].y;\n" … … 5392 5336 "ADD R0.z, R0.w, R1.w;\n" 5393 5337 "MAD R2.w, -R0, R1, R0.z;\n" 5394 "ADD R0.xy, fragment.position, c[ 0];\n"5395 "MUL R0.xy, R0, c[ 1];\n"5338 "ADD R0.xy, fragment.position, c[6];\n" 5339 "MUL R0.xy, R0, c[4];\n" 5396 5340 "TEX R0, R0, texture[1], 2D;\n" 5397 5341 "ADD R2, R2, -R1;\n" 5398 "DP4 R0.x, R0, c[ 2];\n"5342 "DP4 R0.x, R0, c[7];\n" 5399 5343 "MAD result.color, R0.x, R2, R1;\n" 5400 5344 "END\n" … … 5404 5348 "!!ARBfp1.0\n" 5405 5349 "PARAM c[10] = { program.local[0..7],\n" 5406 " { 1, 9.9999997e-06, 2, 8},\n"5407 " { 3 } };\n"5350 " { 1, 2, 9.9999997e-006, 4 },\n" 5351 " { 16, 12, 3 } };\n" 5408 5352 "TEMP R0;\n" 5409 5353 "TEMP R1;\n" … … 5413 5357 "TEMP R5;\n" 5414 5358 "TEMP R6;\n" 5415 "MUL R0.xyz, fragment.position.y, c[4];\n" 5416 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5417 "ADD R0.xyz, R0, c[5];\n" 5418 "RCP R0.z, R0.z;\n" 5419 "MUL R0.xy, R0, R0.z;\n" 5420 "MUL R0.xy, R0, c[6];\n" 5421 "MUL R1.xy, fragment.position, c[7];\n" 5359 "MUL R0.xyz, fragment.position.y, c[2];\n" 5360 "MUL R1.xy, fragment.position, c[5];\n" 5422 5361 "TEX R1, R1, texture[0], 2D;\n" 5423 "MAX R0.z, R1.w, c[8].y;\n" 5424 "RCP R2.w, R0.z;\n" 5425 "MUL R2.xyz, R1, R2.w;\n" 5426 "MUL R6.xyz, -R2, c[8].w;\n" 5427 "MAD R3.xyz, -R1, R2.w, c[8].x;\n" 5428 "MOV R0.y, -R0;\n" 5362 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5363 "ADD R0.xyz, R0, c[3];\n" 5364 "RCP R0.z, R0.z;\n" 5365 "MUL R0.xy, R0, R0.z;\n" 5366 "MAX R0.w, R1, c[8].z;\n" 5367 "RCP R0.w, R0.w;\n" 5368 "MUL R3.xyz, R1, R0.w;\n" 5369 "MAD R2.xyz, R3, c[9].x, -c[9].y;\n" 5370 "MUL R0.xy, R0, c[0];\n" 5429 5371 "TEX R0, R0, texture[2], 2D;\n" 5430 "MAD R4.xyz, R0, c[8].z, -R0.w;\n" 5431 "MUL R5.xyz, R3, R4;\n" 5432 "MAD R3.xyz, -R3, R4, R0.w;\n" 5433 "ADD R6.xyz, R6, c[9].x;\n" 5434 "RSQ R2.x, R2.x;\n" 5435 "RSQ R2.z, R2.z;\n" 5436 "RSQ R2.y, R2.y;\n" 5437 "MAD R5.xyz, -R5, R6, R0.w;\n" 5438 "MUL R3.xyz, R1, R3;\n" 5372 "MAD R4.xyz, R3, R2, c[9].z;\n" 5373 "MAD R2.xyz, R0, c[8].y, -R0.w;\n" 5374 "MUL R5.xyz, R1.w, R2;\n" 5375 "MUL R6.xyz, R5, R4;\n" 5376 "RSQ R2.w, R3.x;\n" 5377 "RCP R4.x, R2.w;\n" 5378 "RSQ R2.w, R3.y;\n" 5379 "RSQ R3.w, R3.z;\n" 5380 "RCP R4.y, R2.w;\n" 5381 "RCP R4.z, R3.w;\n" 5382 "ADD R4.xyz, -R3, R4;\n" 5383 "MUL R6.xyz, R3, R6;\n" 5384 "MUL R4.xyz, R5, R4;\n" 5385 "ADD R3.xyz, -R3, c[8].x;\n" 5386 "MAD R2.xyz, R2, R3, R0.w;\n" 5387 "MUL R3.xyz, R0, c[8].y;\n" 5388 "MAD R5.xyz, R0.w, R1, R6;\n" 5389 "MAD R4.xyz, R0.w, R1, R4;\n" 5390 "ADD R6.xyz, R4, -R5;\n" 5391 "MUL R4.xyz, R1, c[8].w;\n" 5392 "SGE R4.xyz, R4, R1.w;\n" 5393 "MAD R4.xyz, R4, R6, R5;\n" 5394 "MAD R4.xyz, -R1, R2, R4;\n" 5395 "SGE R3.xyz, R3, R0.w;\n" 5396 "MUL R2.xyz, R1, R2;\n" 5439 5397 "ADD R2.w, -R1, c[8].x;\n" 5440 "RCP R2.x, R2.x;\n" 5441 "RCP R2.z, R2.z;\n" 5442 "RCP R2.y, R2.y;\n" 5443 "MAD R2.xyz, R2, R1.w, -R1;\n" 5444 "MUL R6.xyz, R2, R4;\n" 5445 "MUL R2.xyz, R1, R5;\n" 5446 "MAD R6.xyz, R1, R0.w, R6;\n" 5447 "MUL R4.xyz, R0, c[8].z;\n" 5448 "MUL R5.xyz, R1, c[8].w;\n" 5449 "ADD R6.xyz, R6, -R2;\n" 5450 "SGE R5.xyz, R5, R1.w;\n" 5451 "MUL R5.xyz, R5, R6;\n" 5452 "ADD R2.xyz, R2, R5;\n" 5453 "SGE R4.xyz, R4, R0.w;\n" 5454 "ADD R2.xyz, R2, -R3;\n" 5455 "MUL R2.xyz, R4, R2;\n" 5456 "ADD R2.xyz, R3, R2;\n" 5457 "MAD R0.xyz, R0, R2.w, R2;\n" 5458 "ADD R2.x, -R0.w, c[8];\n" 5459 "MAD R2.xyz, R1, R2.x, R0;\n" 5398 "MAD R2.xyz, R3, R4, R2;\n" 5399 "MAD R2.xyz, R0, R2.w, R2;\n" 5400 "ADD R0.x, -R0.w, c[8];\n" 5401 "MAD R2.xyz, R1, R0.x, R2;\n" 5460 5402 "ADD R0.z, R0.w, R1.w;\n" 5461 5403 "MAD R2.w, -R0, R1, R0.z;\n" 5462 "ADD R0.xy, fragment.position, c[ 0];\n"5463 "MUL R0.xy, R0, c[ 1];\n"5404 "ADD R0.xy, fragment.position, c[6];\n" 5405 "MUL R0.xy, R0, c[4];\n" 5464 5406 "TEX R0, R0, texture[1], 2D;\n" 5465 5407 "ADD R2, R2, -R1;\n" 5466 "DP4 R0.x, R0, c[ 2];\n"5408 "DP4 R0.x, R0, c[7];\n" 5467 5409 "MAD result.color, R0.x, R2, R1;\n" 5468 5410 "END\n" … … 5477 5419 "TEMP R2;\n" 5478 5420 "TEMP R3;\n" 5479 "MUL R0.xyz, fragment.position.y, c[4];\n" 5480 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5481 "ADD R0.xyz, R0, c[5];\n" 5482 "RCP R0.z, R0.z;\n" 5483 "MUL R0.xy, R0, R0.z;\n" 5484 "MUL R0.xy, R0, c[6];\n" 5485 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n" 5486 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5487 "MOV R0.y, -R0;\n" 5488 "TEX R0, R0, texture[2], 2D;\n" 5489 "ADD R3.xyz, R0, R1;\n" 5490 "MUL R2.xyz, R1, R0.w;\n" 5491 "MUL R0.xyz, R0, R1.w;\n" 5492 "MIN R0.xyz, R0, R2;\n" 5493 "MAD R2.xyz, -R0, c[8].x, R3;\n" 5494 "ADD R0.z, R0.w, R1.w;\n" 5495 "MAD R2.w, -R0, R1, R0.z;\n" 5496 "ADD R0.xy, fragment.position, c[0];\n" 5497 "MUL R0.xy, R0, c[1];\n" 5421 "MUL R0.xyz, fragment.position.y, c[2];\n" 5422 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5423 "ADD R0.xyz, R0, c[3];\n" 5424 "RCP R0.z, R0.z;\n" 5425 "MUL R0.zw, R0.xyxy, R0.z;\n" 5426 "MUL R1.xy, R0.zwzw, c[0];\n" 5427 "MUL R0.xy, fragment.position, c[5];\n" 5428 "TEX R0, R0, texture[0], 2D;\n" 5429 "TEX R1, R1, texture[2], 2D;\n" 5430 "ADD R2.xyz, R1, R0;\n" 5431 "MUL R3.xyz, R1.w, R0;\n" 5432 "MUL R1.xyz, R1, R0.w;\n" 5433 "MIN R1.xyz, R1, R3;\n" 5434 "MAD R2.xyz, -R1, c[8].x, R2;\n" 5435 "ADD R1.z, R1.w, R0.w;\n" 5436 "MAD R2.w, -R1, R0, R1.z;\n" 5437 "ADD R1.xy, fragment.position, c[6];\n" 5438 "MUL R1.xy, R1, c[4];\n" 5439 "TEX R1, R1, texture[1], 2D;\n" 5440 "ADD R2, R2, -R0;\n" 5441 "DP4 R1.x, R1, c[7];\n" 5442 "MAD result.color, R1.x, R2, R0;\n" 5443 "END\n" 5444 ; 5445 5446 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_EXCLUSION = 5447 "!!ARBfp1.0\n" 5448 "PARAM c[9] = { program.local[0..7],\n" 5449 " { 2, 1 } };\n" 5450 "TEMP R0;\n" 5451 "TEMP R1;\n" 5452 "TEMP R2;\n" 5453 "TEMP R3;\n" 5454 "MUL R0.xyz, fragment.position.y, c[2];\n" 5455 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5456 "ADD R0.xyz, R0, c[3];\n" 5457 "RCP R0.z, R0.z;\n" 5458 "MUL R0.zw, R0.xyxy, R0.z;\n" 5459 "MUL R1.xy, R0.zwzw, c[0];\n" 5460 "MUL R0.xy, fragment.position, c[5];\n" 5461 "TEX R0, R0, texture[0], 2D;\n" 5462 "TEX R1, R1, texture[2], 2D;\n" 5463 "MUL R2.xyz, R1.w, R0;\n" 5464 "MAD R3.xyz, R1, R0.w, R2;\n" 5465 "MUL R2.xyz, R1, R0;\n" 5466 "MAD R2.xyz, -R2, c[8].x, R3;\n" 5467 "ADD R2.w, -R0, c[8].y;\n" 5468 "MAD R1.xyz, R1, R2.w, R2;\n" 5469 "ADD R2.x, -R1.w, c[8].y;\n" 5470 "MAD R2.xyz, R0, R2.x, R1;\n" 5471 "ADD R1.z, R1.w, R0.w;\n" 5472 "MAD R2.w, -R1, R0, R1.z;\n" 5473 "ADD R1.xy, fragment.position, c[6];\n" 5474 "MUL R1.xy, R1, c[4];\n" 5475 "TEX R1, R1, texture[1], 2D;\n" 5476 "ADD R2, R2, -R0;\n" 5477 "DP4 R1.x, R1, c[7];\n" 5478 "MAD result.color, R1.x, R2, R0;\n" 5479 "END\n" 5480 ; 5481 5482 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK = 5483 "!!ARBfp1.0\n" 5484 "PARAM c[8] = { program.local[0..6],\n" 5485 " { 1 } };\n" 5486 "TEMP R0;\n" 5487 "TEMP R1;\n" 5488 "TEMP R2;\n" 5489 "TEMP R3;\n" 5490 "MUL R0.xyz, fragment.position.y, c[2];\n" 5491 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5492 "ADD R0.xyz, R0, c[3];\n" 5493 "RCP R0.z, R0.z;\n" 5494 "MUL R0.xy, R0, R0.z;\n" 5495 "MUL R1.xy, fragment.position, c[6];\n" 5496 "TEX R1, R1, texture[0], 2D;\n" 5497 "MUL R2.xyz, R1, c[4].y;\n" 5498 "MUL R0.xy, R0, c[0];\n" 5498 5499 "TEX R0, R0, texture[1], 2D;\n" 5499 "ADD R2, R2, -R1;\n" 5500 "DP4 R0.x, R0, c[2];\n" 5501 "MAD result.color, R0.x, R2, R1;\n" 5502 "END\n" 5503 ; 5504 5505 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_EXCLUSION = 5506 "!!ARBfp1.0\n" 5507 "PARAM c[9] = { program.local[0..7],\n" 5508 " { 1, 2 } };\n" 5509 "TEMP R0;\n" 5510 "TEMP R1;\n" 5511 "TEMP R2;\n" 5512 "TEMP R3;\n" 5513 "MUL R0.xyz, fragment.position.y, c[4];\n" 5514 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 5515 "ADD R0.xyz, R0, c[5];\n" 5516 "RCP R0.z, R0.z;\n" 5517 "MUL R0.xy, R0, R0.z;\n" 5518 "MUL R0.xy, R0, c[6];\n" 5519 "MOV R0.y, -R0;\n" 5520 "MUL R1.xy, fragment.position, c[7];\n" 5521 "TEX R1, R1, texture[0], 2D;\n" 5522 "TEX R0, R0, texture[2], 2D;\n" 5523 "MUL R2.xyz, R1, R0.w;\n" 5524 "MAD R3.xyz, R0, R1.w, R2;\n" 5525 "MUL R2.xyz, R0, R1;\n" 5526 "MAD R2.xyz, -R2, c[8].y, R3;\n" 5527 "ADD R2.w, -R1, c[8].x;\n" 5528 "MAD R0.xyz, R0, R2.w, R2;\n" 5529 "ADD R2.x, -R0.w, c[8];\n" 5530 "MAD R2.xyz, R1, R2.x, R0;\n" 5531 "ADD R0.z, R0.w, R1.w;\n" 5532 "MAD R2.w, -R0, R1, R0.z;\n" 5533 "ADD R0.xy, fragment.position, c[0];\n" 5534 "MUL R0.xy, R0, c[1];\n" 5535 "TEX R0, R0, texture[1], 2D;\n" 5536 "ADD R2, R2, -R1;\n" 5537 "DP4 R0.x, R0, c[2];\n" 5538 "MAD result.color, R0.x, R2, R1;\n" 5539 "END\n" 5540 ; 5541 5542 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK = 5543 "!!ARBfp1.0\n" 5544 "PARAM c[8] = { program.local[0..4],\n" 5545 " { 1 },\n" 5546 " program.local[6..7] };\n" 5547 "TEMP R0;\n" 5548 "TEMP R1;\n" 5549 "TEMP R2;\n" 5550 "TEMP R3;\n" 5551 "MUL R0.xyz, fragment.position.y, c[1];\n" 5552 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5553 "ADD R0.xyz, R0, c[2];\n" 5554 "RCP R0.z, R0.z;\n" 5555 "MUL R0.xy, R0, R0.z;\n" 5556 "MUL R0.xy, R0, c[3];\n" 5557 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 5558 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5559 "MUL R2.xyz, R1, c[7].y;\n" 5560 "MOV R0.y, -R0;\n" 5561 "TEX R0, R0, texture[1], 2D;\n" 5562 "MUL R3.xyz, R2, R0.w;\n" 5563 "MUL R2.xyz, R0, c[7].x;\n" 5564 "MAD R2.xyz, R2, R1.w, R3;\n" 5565 "MUL R0.xyz, R0, c[6].y;\n" 5566 "ADD R2.w, -R1, c[5].x;\n" 5567 "MAD R0.xyz, R0, R2.w, R2;\n" 5568 "ADD R2.x, -R0.w, c[5];\n" 5569 "MUL R1.xyz, R1, c[6].z;\n" 5570 "MAD result.color.xyz, R1, R2.x, R0;\n" 5571 "ADD R0.y, -R1.w, c[5].x;\n" 5500 "MUL R3.xyz, R0.w, R2;\n" 5501 "MUL R2.xyz, R0, c[4].x;\n" 5502 "MAD R2.xyz, R1.w, R2, R3;\n" 5503 "ADD R2.w, -R1, c[7].x;\n" 5504 "MUL R0.xyz, R0, c[5].y;\n" 5505 "MAD R0.xyz, R2.w, R0, R2;\n" 5506 "ADD R2.x, -R0.w, c[7];\n" 5507 "MUL R1.xyz, R1, c[5].z;\n" 5508 "MAD result.color.xyz, R2.x, R1, R0;\n" 5572 5509 "MUL R0.x, R0.w, R1.w;\n" 5573 5510 "MUL R0.z, R1.w, R2.x;\n" 5574 "MUL R0.y, R0.w, R 0;\n"5575 "DP3 result.color.w, R0, c[ 6];\n"5511 "MUL R0.y, R0.w, R2.w;\n" 5512 "DP3 result.color.w, R0, c[5];\n" 5576 5513 "END\n" 5577 5514 ; … … 5584 5521 "TEMP R1;\n" 5585 5522 "TEMP R2;\n" 5586 "MUL R0.xyz, fragment.position.y, c[1];\n" 5587 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5588 "ADD R0.xyz, R0, c[2];\n" 5589 "RCP R1.x, R0.z;\n" 5590 "MUL R0.xy, R0, R1.x;\n" 5591 "MUL R0.xy, R0, c[3];\n" 5592 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 5593 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5594 "MOV R0.y, -R0;\n" 5523 "MUL R0.xyz, fragment.position.y, c[2];\n" 5524 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5525 "ADD R0.xyz, R0, c[3];\n" 5526 "RCP R0.z, R0.z;\n" 5527 "MUL R0.xy, R0, R0.z;\n" 5528 "MUL R1.xy, fragment.position, c[4];\n" 5529 "TEX R1, R1, texture[0], 2D;\n" 5530 "MUL R0.xy, R0, c[0];\n" 5595 5531 "TEX R0, R0, texture[1], 2D;\n" 5596 5532 "ADD R2.x, -R1.w, c[5];\n" … … 5610 5546 "TEMP R1;\n" 5611 5547 "TEMP R2;\n" 5612 "MUL R0.xyz, fragment.position.y, c[1];\n" 5613 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5614 "ADD R0.xyz, R0, c[2];\n" 5615 "RCP R0.z, R0.z;\n" 5616 "MUL R0.xy, R0, R0.z;\n" 5617 "MUL R0.xy, R0, c[3];\n" 5548 "MUL R0.xyz, fragment.position.y, c[2];\n" 5549 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5550 "ADD R0.xyz, R0, c[3];\n" 5551 "RCP R0.z, R0.z;\n" 5552 "MUL R0.xy, R0, R0.z;\n" 5618 5553 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 5619 5554 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5620 "M OV R0.y, -R0;\n"5555 "MUL R0.xy, R0, c[0];\n" 5621 5556 "TEX R0, R0, texture[1], 2D;\n" 5622 5557 "ADD R2, R0, R1;\n" … … 5633 5568 "TEMP R2;\n" 5634 5569 "TEMP R3;\n" 5635 "MUL R0.xyz, fragment.position.y, c[1];\n" 5636 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5637 "ADD R0.xyz, R0, c[2];\n" 5638 "RCP R0.z, R0.z;\n" 5639 "MUL R0.xy, R0, R0.z;\n" 5640 "MUL R0.xy, R0, c[3];\n" 5641 "MOV R0.y, -R0;\n" 5570 "MUL R0.xyz, fragment.position.y, c[2];\n" 5571 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5572 "ADD R0.xyz, R0, c[3];\n" 5573 "RCP R0.z, R0.z;\n" 5574 "MUL R0.xy, R0, R0.z;\n" 5575 "MUL R0.xy, R0, c[0];\n" 5642 5576 "TEX R0, R0, texture[1], 2D;\n" 5643 5577 "MUL R1.xy, fragment.position, c[4];\n" … … 5673 5607 "TEMP R2;\n" 5674 5608 "TEMP R3;\n" 5675 "MUL R0.xyz, fragment.position.y, c[1];\n" 5676 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5677 "ADD R0.xyz, R0, c[2];\n" 5678 "RCP R0.z, R0.z;\n" 5679 "MUL R0.xy, R0, R0.z;\n" 5680 "MUL R0.xy, R0, c[3];\n" 5681 "MOV R0.y, -R0;\n" 5682 "MUL R1.xy, fragment.position, c[4];\n" 5683 "TEX R1, R1, texture[0], 2D;\n" 5609 "MUL R0.xyz, fragment.position.y, c[2];\n" 5610 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5611 "ADD R0.xyz, R0, c[3];\n" 5612 "RCP R0.z, R0.z;\n" 5613 "MUL R0.xy, R0, R0.z;\n" 5614 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 5615 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5616 "MUL R0.xy, R0, c[0];\n" 5684 5617 "TEX R0, R0, texture[1], 2D;\n" 5685 5618 "MUL R2.xyz, R0, R1.w;\n" 5686 "MUL R3.xyz, R 1, R0.w;\n"5619 "MUL R3.xyz, R0.w, R1;\n" 5687 5620 "MIN R2.xyz, R2, R3;\n" 5688 5621 "ADD R2.w, -R1, c[5].x;\n" … … 5703 5636 "TEMP R2;\n" 5704 5637 "TEMP R3;\n" 5705 "MUL R0.xyz, fragment.position.y, c[1];\n" 5706 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5707 "ADD R0.xyz, R0, c[2];\n" 5708 "RCP R0.z, R0.z;\n" 5709 "MUL R0.xy, R0, R0.z;\n" 5710 "MUL R0.xy, R0, c[3];\n" 5711 "MOV R0.y, -R0;\n" 5712 "MUL R1.xy, fragment.position, c[4];\n" 5713 "TEX R1, R1, texture[0], 2D;\n" 5638 "MUL R0.xyz, fragment.position.y, c[2];\n" 5639 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5640 "ADD R0.xyz, R0, c[3];\n" 5641 "RCP R0.z, R0.z;\n" 5642 "MUL R0.xy, R0, R0.z;\n" 5643 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 5644 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5645 "MUL R0.xy, R0, c[0];\n" 5714 5646 "TEX R0, R0, texture[1], 2D;\n" 5715 5647 "MUL R2.xyz, R0, R1.w;\n" 5716 "MUL R3.xyz, R 1, R0.w;\n"5648 "MUL R3.xyz, R0.w, R1;\n" 5717 5649 "MAX R2.xyz, R2, R3;\n" 5718 5650 "ADD R2.w, -R1, c[5].x;\n" … … 5728 5660 "!!ARBfp1.0\n" 5729 5661 "PARAM c[6] = { program.local[0..4],\n" 5730 " { 1, 1e-06 } };\n" 5731 "TEMP R0;\n" 5732 "TEMP R1;\n" 5733 "TEMP R2;\n" 5734 "TEMP R3;\n" 5735 "MUL R0.xyz, fragment.position.y, c[1];\n" 5736 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5737 "ADD R0.xyz, R0, c[2];\n" 5738 "RCP R0.z, R0.z;\n" 5739 "MUL R0.xy, R0, R0.z;\n" 5740 "MUL R0.xy, R0, c[3];\n" 5741 "MOV R0.y, -R0;\n" 5662 " { 1, 1e-006 } };\n" 5663 "TEMP R0;\n" 5664 "TEMP R1;\n" 5665 "TEMP R2;\n" 5666 "TEMP R3;\n" 5667 "MUL R0.xyz, fragment.position.y, c[2];\n" 5668 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5669 "ADD R0.xyz, R0, c[3];\n" 5670 "RCP R0.z, R0.z;\n" 5671 "MUL R0.xy, R0, R0.z;\n" 5672 "MUL R0.xy, R0, c[0];\n" 5742 5673 "TEX R0, R0, texture[1], 2D;\n" 5743 5674 "MAX R1.x, R0.w, c[5].y;\n" 5744 5675 "RCP R1.x, R1.x;\n" 5745 "MAD R 1.xyz, -R0, R1.x, c[5].x;\n"5746 "MAX R 2.xyz, R1, c[5].y;\n"5676 "MAD R3.xyz, -R0, R1.x, c[5].x;\n" 5677 "MAX R3.xyz, R3, c[5].y;\n" 5747 5678 "MUL R1.xy, fragment.position, c[4];\n" 5748 5679 "TEX R1, R1, texture[0], 2D;\n" 5749 "ADD R2. w, -R0, c[5].x;\n"5750 "MUL R 3.xyz, R1, R2.w;\n"5680 "ADD R2.x, -R0.w, c[5];\n" 5681 "MUL R2.xyz, R1, R2.x;\n" 5751 5682 "ADD R2.w, -R1, c[5].x;\n" 5752 "MAD R 3.xyz, R0, R2.w, R3;\n"5753 "MUL R1.xyz, R 1, R0.w;\n"5683 "MAD R2.xyz, R0, R2.w, R2;\n" 5684 "MUL R1.xyz, R0.w, R1;\n" 5754 5685 "MAD R0.xyz, R0, R1.w, R1;\n" 5755 5686 "MUL R2.w, R0, R1;\n" 5756 "RCP R 2.x, R2.x;\n"5757 "RCP R 2.y, R2.y;\n"5758 "RCP R 2.z, R2.z;\n"5759 "MAD R 2.xyz, R1, R2, R3;\n"5760 "MAD R 3.xyz, R0.w, R1.w, R3;\n"5687 "RCP R3.x, R3.x;\n" 5688 "RCP R3.y, R3.y;\n" 5689 "RCP R3.z, R3.z;\n" 5690 "MAD R3.xyz, R1, R3, R2;\n" 5691 "MAD R2.xyz, R0.w, R1.w, R2;\n" 5761 5692 "ADD R1.x, R0.w, R1.w;\n" 5762 "ADD R 3.xyz, R3, -R2;\n"5693 "ADD R2.xyz, R2, -R3;\n" 5763 5694 "SGE R0.xyz, R0, R2.w;\n" 5764 "MAD result.color.xyz, R0, R 3, R2;\n"5695 "MAD result.color.xyz, R0, R2, R3;\n" 5765 5696 "MAD result.color.w, -R0, R1, R1.x;\n" 5766 5697 "END\n" … … 5770 5701 "!!ARBfp1.0\n" 5771 5702 "PARAM c[6] = { program.local[0..4],\n" 5772 " { 1, 9.9999997e-0 6 } };\n"5703 " { 1, 9.9999997e-006 } };\n" 5773 5704 "TEMP R0;\n" 5774 5705 "TEMP R1;\n" … … 5777 5708 "TEMP R4;\n" 5778 5709 "TEMP R5;\n" 5779 "MUL R0.xyz, fragment.position.y, c[1];\n" 5780 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5781 "ADD R0.xyz, R0, c[2];\n" 5782 "RCP R0.z, R0.z;\n" 5783 "MUL R0.xy, R0, R0.z;\n" 5784 "MUL R0.xy, R0, c[3];\n" 5785 "MOV R0.y, -R0;\n" 5710 "MUL R0.xyz, fragment.position.y, c[2];\n" 5711 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5712 "ADD R0.xyz, R0, c[3];\n" 5713 "RCP R0.z, R0.z;\n" 5714 "MUL R0.xy, R0, R0.z;\n" 5715 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 5716 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5717 "MUL R0.xy, R0, c[0];\n" 5786 5718 "TEX R0, R0, texture[1], 2D;\n" 5787 "MUL R1.xy, fragment.position, c[4];\n" 5788 "TEX R1, R1, texture[0], 2D;\n" 5789 "MUL R2.xyz, R1, R0.w;\n" 5719 "MUL R2.xyz, R0.w, R1;\n" 5790 5720 "MAD R3.xyz, R0, R1.w, R2;\n" 5791 5721 "ADD R2.w, -R1, c[5].x;\n" … … 5800 5730 "MAD R2.xyz, R4, R2, R5;\n" 5801 5731 "MUL R4.xyz, R1, R3.w;\n" 5732 "MAD R1.xyz, R1, R3.w, R2;\n" 5802 5733 "MAD R0.xyz, R0, R2.w, R4;\n" 5803 "ADD R3.w, -R0, c[5].x;\n"5804 "MAD R1.xyz, R1, R3.w, R2;\n"5805 5734 "MUL R2.x, R0.w, R1.w;\n" 5806 5735 "ADD R2.w, R0, R1;\n" … … 5821 5750 "TEMP R3;\n" 5822 5751 "TEMP R4;\n" 5823 "MUL R0.xyz, fragment.position.y, c[1];\n" 5824 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5825 "ADD R0.xyz, R0, c[2];\n" 5826 "RCP R0.z, R0.z;\n" 5827 "MUL R0.xy, R0, R0.z;\n" 5828 "MUL R0.xy, R0, c[3];\n" 5829 "MOV R0.y, -R0;\n" 5752 "MUL R0.xyz, fragment.position.y, c[2];\n" 5753 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5754 "ADD R0.xyz, R0, c[3];\n" 5755 "RCP R0.z, R0.z;\n" 5756 "MUL R0.xy, R0, R0.z;\n" 5757 "MUL R0.xy, R0, c[0];\n" 5830 5758 "TEX R0, R0, texture[1], 2D;\n" 5831 5759 "MUL R1.xy, fragment.position, c[4];\n" … … 5837 5765 "MUL R2.xyz, R2, c[5].x;\n" 5838 5766 "MAD R2.xyz, R0.w, R1.w, -R2;\n" 5767 "MAD R2.xyz, R0, R2.w, R2;\n" 5839 5768 "MUL R4.xyz, R0, R2.w;\n" 5840 5769 "MUL R3.xyz, R0, R1;\n" 5841 "M AD R2.xyz, R0, R2.w, R2;\n"5770 "MUL R0.xyz, R0, c[5].x;\n" 5842 5771 "ADD R2.w, -R0, c[5].y;\n" 5843 "MUL R0.xyz, R0, c[5].x;\n"5844 "MAD R2.xyz, R1, R2.w, R2;\n"5845 5772 "MAD R3.xyz, R3, c[5].x, R4;\n" 5846 "MAD R1.xyz, R1, R2.w, R3;\n" 5847 "ADD R2.w, R0, R1;\n" 5848 "ADD R2.xyz, R2, -R1;\n" 5773 "MAD R3.xyz, R1, R2.w, R3;\n" 5774 "MAD R1.xyz, R1, R2.w, R2;\n" 5775 "ADD R2.x, R0.w, R1.w;\n" 5776 "ADD R1.xyz, R1, -R3;\n" 5849 5777 "SGE R0.xyz, R0, R0.w;\n" 5850 "MAD result.color.xyz, R0, R 2, R1;\n"5851 "MAD result.color.w, -R0, R1, R2 ;\n"5778 "MAD result.color.xyz, R0, R1, R3;\n" 5779 "MAD result.color.w, -R0, R1, R2.x;\n" 5852 5780 "END\n" 5853 5781 ; … … 5856 5784 "!!ARBfp1.0\n" 5857 5785 "PARAM c[7] = { program.local[0..4],\n" 5858 " { 1, 9.9999997e-06, 2, 8},\n"5859 " { 3 } };\n"5786 " { 1, 2, 9.9999997e-006, 4 },\n" 5787 " { 16, 12, 3 } };\n" 5860 5788 "TEMP R0;\n" 5861 5789 "TEMP R1;\n" … … 5865 5793 "TEMP R5;\n" 5866 5794 "TEMP R6;\n" 5867 "MUL R0.xyz, fragment.position.y, c[1];\n" 5868 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5869 "ADD R0.xyz, R0, c[2];\n" 5870 "RCP R0.z, R0.z;\n" 5871 "MUL R0.xy, R0, R0.z;\n" 5872 "MUL R0.xy, R0, c[3];\n" 5795 "MUL R0.xyz, fragment.position.y, c[2];\n" 5873 5796 "MUL R1.xy, fragment.position, c[4];\n" 5874 5797 "TEX R1, R1, texture[0], 2D;\n" 5875 "MAX R0.z, R1.w, c[5].y;\n" 5876 "RCP R2.w, R0.z;\n" 5877 "MUL R2.xyz, R1, R2.w;\n" 5878 "MUL R6.xyz, -R2, c[5].w;\n" 5879 "MAD R3.xyz, -R1, R2.w, c[5].x;\n" 5880 "MOV R0.y, -R0;\n" 5798 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5799 "ADD R0.xyz, R0, c[3];\n" 5800 "RCP R0.z, R0.z;\n" 5801 "MUL R0.xy, R0, R0.z;\n" 5802 "MAX R0.w, R1, c[5].z;\n" 5803 "RCP R0.w, R0.w;\n" 5804 "MUL R3.xyz, R1, R0.w;\n" 5805 "MAD R2.xyz, R3, c[6].x, -c[6].y;\n" 5806 "MUL R0.xy, R0, c[0];\n" 5881 5807 "TEX R0, R0, texture[1], 2D;\n" 5882 "MAD R4.xyz, R 0, c[5].z, -R0.w;\n"5883 "M UL R5.xyz, R3, R4;\n"5884 "M AD R3.xyz, -R3, R4, R0.w;\n"5885 " ADD R6.xyz, R6, c[6].x;\n"5886 "RSQ R2. x, R2.x;\n"5887 "R SQ R2.z, R2.z;\n"5888 "RSQ R2. y, R2.y;\n"5889 " MAD R5.xyz, -R5, R6, R0.w;\n"5890 " MUL R3.xyz, R1, R3;\n"5891 "RCP R 2.x, R2.x;\n"5892 " RCP R2.z, R2.z;\n"5893 " RCP R2.y, R2.y;\n"5894 "M AD R2.xyz, R2, R1.w, -R1;\n"5895 " MUL R6.xyz, R2, R4;\n"5896 "M UL R2.xyz, R1, R5;\n"5897 "MUL R 4.xyz, R0, c[5].z;\n"5898 "MAD R 6.xyz, R1, R0.w, R6;\n"5899 "M UL R5.xyz, R1, c[5].w;\n"5900 "ADD R6.xyz, R 6, -R2;\n"5901 " SGE R5.xyz, R5, R1.w;\n"5902 " MUL R5.xyz, R5, R6;\n"5903 " ADD R2.xyz, R2, R5;\n"5904 " ADD R2.xyz, R2, -R3;\n"5905 " SGE R4.xyz, R4, R0.w;\n"5906 " MUL R2.xyz, R4, R2;\n"5907 " ADD R2.xyz, R3, R2;\n"5808 "MAD R4.xyz, R3, R2, c[6].z;\n" 5809 "MAD R2.xyz, R0, c[5].y, -R0.w;\n" 5810 "MUL R5.xyz, R1.w, R2;\n" 5811 "MUL R6.xyz, R5, R4;\n" 5812 "RSQ R2.w, R3.x;\n" 5813 "RCP R4.x, R2.w;\n" 5814 "RSQ R2.w, R3.y;\n" 5815 "RSQ R3.w, R3.z;\n" 5816 "RCP R4.y, R2.w;\n" 5817 "RCP R4.z, R3.w;\n" 5818 "ADD R4.xyz, -R3, R4;\n" 5819 "MUL R6.xyz, R3, R6;\n" 5820 "MUL R4.xyz, R5, R4;\n" 5821 "ADD R3.xyz, -R3, c[5].x;\n" 5822 "MAD R2.xyz, R2, R3, R0.w;\n" 5823 "MUL R3.xyz, R0, c[5].y;\n" 5824 "MAD R5.xyz, R0.w, R1, R6;\n" 5825 "MAD R4.xyz, R0.w, R1, R4;\n" 5826 "ADD R6.xyz, R4, -R5;\n" 5827 "MUL R4.xyz, R1, c[5].w;\n" 5828 "SGE R4.xyz, R4, R1.w;\n" 5829 "MAD R4.xyz, R4, R6, R5;\n" 5830 "MAD R4.xyz, -R1, R2, R4;\n" 5831 "MUL R2.xyz, R1, R2;\n" 5832 "SGE R3.xyz, R3, R0.w;\n" 5833 "MAD R2.xyz, R3, R4, R2;\n" 5908 5834 "ADD R2.w, -R1, c[5].x;\n" 5909 "MAD R 0.xyz, R0, R2.w, R2;\n"5910 "ADD R 2.x, R0.w, R1.w;\n"5911 "ADD R 2.y, -R0.w, c[5].x;\n"5912 "MAD result.color.xyz, R1, R 2.y, R0;\n"5913 "MAD result.color.w, -R0, R1, R 2.x;\n"5835 "MAD R2.xyz, R0, R2.w, R2;\n" 5836 "ADD R0.x, R0.w, R1.w;\n" 5837 "ADD R0.y, -R0.w, c[5].x;\n" 5838 "MAD result.color.xyz, R1, R0.y, R2;\n" 5839 "MAD result.color.w, -R0, R1, R0.x;\n" 5914 5840 "END\n" 5915 5841 ; … … 5923 5849 "TEMP R2;\n" 5924 5850 "TEMP R3;\n" 5925 "MUL R0.xyz, fragment.position.y, c[ 1];\n"5926 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"5927 "ADD R0.xyz, R0, c[ 2];\n"5928 "RCP R0.z, R0.z;\n" 5929 "MUL R0.xy, R0, R0.z;\n" 5930 "MUL R0. xy, R0, c[3];\n"5931 " MOV R0.y, -R0;\n"5932 "MUL R 1.xy, fragment.position, c[4];\n"5851 "MUL R0.xyz, fragment.position.y, c[2];\n" 5852 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5853 "ADD R0.xyz, R0, c[3];\n" 5854 "RCP R0.z, R0.z;\n" 5855 "MUL R0.xy, R0, R0.z;\n" 5856 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 5857 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5858 "MUL R0.xy, R0, c[0];\n" 5933 5859 "TEX R0, R0, texture[1], 2D;\n" 5934 "TEX R1, R1, texture[0], 2D;\n"5935 5860 "MUL R2.xyz, R0, R1.w;\n" 5936 "MUL R3.xyz, R 1, R0.w;\n"5861 "MUL R3.xyz, R0.w, R1;\n" 5937 5862 "ADD R0.xyz, R0, R1;\n" 5938 5863 "MIN R2.xyz, R2, R3;\n" … … 5946 5871 "!!ARBfp1.0\n" 5947 5872 "PARAM c[6] = { program.local[0..4],\n" 5948 " { 1, 2 } };\n" 5949 "TEMP R0;\n" 5950 "TEMP R1;\n" 5951 "TEMP R2;\n" 5952 "TEMP R3;\n" 5953 "MUL R0.xyz, fragment.position.y, c[1];\n" 5954 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 5955 "ADD R0.xyz, R0, c[2];\n" 5956 "RCP R0.z, R0.z;\n" 5957 "MUL R0.xy, R0, R0.z;\n" 5958 "MUL R0.xy, R0, c[3];\n" 5959 "MOV R0.y, -R0;\n" 5960 "MUL R1.xy, fragment.position, c[4];\n" 5961 "TEX R1, R1, texture[0], 2D;\n" 5873 " { 2, 1 } };\n" 5874 "TEMP R0;\n" 5875 "TEMP R1;\n" 5876 "TEMP R2;\n" 5877 "TEMP R3;\n" 5878 "MUL R0.xyz, fragment.position.y, c[2];\n" 5879 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5880 "ADD R0.xyz, R0, c[3];\n" 5881 "RCP R0.z, R0.z;\n" 5882 "MUL R0.xy, R0, R0.z;\n" 5883 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 5884 "TEX R1, R0.zwzw, texture[0], 2D;\n" 5885 "MUL R0.xy, R0, c[0];\n" 5962 5886 "TEX R0, R0, texture[1], 2D;\n" 5963 "MUL R2.xyz, R 1, R0.w;\n"5887 "MUL R2.xyz, R0.w, R1;\n" 5964 5888 "MAD R3.xyz, R0, R1.w, R2;\n" 5965 5889 "MUL R2.xyz, R0, R1;\n" 5966 "MAD R2.xyz, -R2, c[5]. y, R3;\n"5967 "ADD R2.w, -R1, c[5]. x;\n"5890 "MAD R2.xyz, -R2, c[5].x, R3;\n" 5891 "ADD R2.w, -R1, c[5].y;\n" 5968 5892 "MAD R0.xyz, R0, R2.w, R2;\n" 5969 5893 "ADD R2.x, R0.w, R1.w;\n" 5970 "ADD R2.y, -R0.w, c[5] .x;\n"5894 "ADD R2.y, -R0.w, c[5];\n" 5971 5895 "MAD result.color.xyz, R1, R2.y, R0;\n" 5972 5896 "MAD result.color.w, -R0, R1, R2.x;\n" … … 5979 5903 "TEMP R0;\n" 5980 5904 "TEMP R1;\n" 5981 "MUL R0.xyz, fragment.position.y, c[ 1];\n"5982 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"5983 "ADD R1.xyz, R0, c[ 2];\n"5905 "MUL R0.xyz, fragment.position.y, c[2];\n" 5906 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5907 "ADD R1.xyz, R0, c[3];\n" 5984 5908 "RCP R0.z, R1.z;\n" 5985 5909 "MUL R1.xy, R1, R0.z;\n" 5986 "ADD R0.xy, fragment.position, c[ 4];\n"5987 "MUL R0.xy, R0, c[ 5];\n"5910 "ADD R0.xy, fragment.position, c[5];\n" 5911 "MUL R0.xy, R0, c[4];\n" 5988 5912 "TEX R0, R0, texture[0], 2D;\n" 5989 5913 "DP4 R1.z, R0, c[6];\n" 5990 "MUL R1.xy, R1, c[3];\n" 5991 "MOV R0.x, R1;\n" 5992 "MOV R0.y, -R1;\n" 5993 "TEX R0, R0, texture[1], 2D;\n" 5914 "MUL R1.xy, R1, c[0];\n" 5915 "TEX R0, R1, texture[1], 2D;\n" 5994 5916 "MUL result.color, R0, R1.z;\n" 5995 5917 "END\n" … … 6000 5922 "PARAM c[4] = { program.local[0..3] };\n" 6001 5923 "TEMP R0;\n" 6002 "MUL R0.xyz, fragment.position.y, c[1];\n" 6003 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 6004 "ADD R0.xyz, R0, c[2];\n" 6005 "RCP R0.z, R0.z;\n" 6006 "MUL R0.xy, R0, R0.z;\n" 6007 "MUL R0.xy, R0, c[3];\n" 6008 "MOV R0.y, -R0;\n" 5924 "MUL R0.xyz, fragment.position.y, c[2];\n" 5925 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5926 "ADD R0.xyz, R0, c[3];\n" 5927 "RCP R0.z, R0.z;\n" 5928 "MUL R0.xy, R0, R0.z;\n" 5929 "MUL R0.xy, R0, c[0];\n" 6009 5930 "TEX result.color, R0, texture[0], 2D;\n" 6010 5931 "END\n" … … 6013 5934 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SIMPLE_PORTER_DUFF = 6014 5935 "!!ARBfp1.0\n" 6015 "PARAM c[11] = { program.local[0..7],\n" 6016 " { 1 },\n" 6017 " program.local[9..10] };\n" 6018 "TEMP R0;\n" 6019 "TEMP R1;\n" 6020 "TEMP R2;\n" 6021 "TEMP R3;\n" 6022 "MUL R0.xyz, fragment.position.y, c[4];\n" 6023 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 6024 "ADD R0.xyz, R0, c[5];\n" 6025 "RCP R0.z, R0.z;\n" 6026 "MUL R0.xy, R0, R0.z;\n" 6027 "MUL R0.xy, R0, c[6];\n" 6028 "MOV R0.y, -R0;\n" 6029 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n" 6030 "TEX R1, R0.zwzw, texture[0], 2D;\n" 6031 "TEX R0.x, R0, texture[2], 2D;\n" 6032 "MUL R0, fragment.color.primary, R0.x;\n" 6033 "MUL R2.xyz, R1, c[10].y;\n" 6034 "MUL R3.xyz, R2, R0.w;\n" 6035 "MUL R2.xyz, R0, c[10].x;\n" 6036 "MAD R2.xyz, R2, R1.w, R3;\n" 6037 "ADD R3.xy, fragment.position, c[0];\n" 6038 "MUL R0.xyz, R0, c[9].y;\n" 6039 "ADD R2.w, -R1, c[8].x;\n" 6040 "MAD R2.xyz, R0, R2.w, R2;\n" 6041 "ADD R2.w, -R0, c[8].x;\n" 6042 "MUL R0.xyz, R1, c[9].z;\n" 6043 "MAD R2.xyz, R0, R2.w, R2;\n" 6044 "ADD R0.y, -R1.w, c[8].x;\n" 6045 "MUL R0.z, R1.w, R2.w;\n" 6046 "MUL R0.x, R0.w, R1.w;\n" 6047 "MUL R0.y, R0.w, R0;\n" 6048 "DP3 R2.w, R0, c[9];\n" 6049 "MUL R3.xy, R3, c[1];\n" 6050 "TEX R0, R3, texture[1], 2D;\n" 6051 "ADD R2, R2, -R1;\n" 6052 "DP4 R0.x, R0, c[2];\n" 6053 "MAD result.color, R0.x, R2, R1;\n" 5936 "PARAM c[11] = { program.local[0..9],\n" 5937 " { 1 } };\n" 5938 "TEMP R0;\n" 5939 "TEMP R1;\n" 5940 "TEMP R2;\n" 5941 "TEMP R3;\n" 5942 "MUL R0.xyz, fragment.position.y, c[2];\n" 5943 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5944 "ADD R0.xyz, R0, c[3];\n" 5945 "RCP R0.z, R0.z;\n" 5946 "MUL R0.xy, R0, R0.z;\n" 5947 "MUL R0.zw, R0.xyxy, c[0].xyxy;\n" 5948 "TEX R1.x, R0.zwzw, texture[2], 2D;\n" 5949 "MUL R0.xy, fragment.position, c[7];\n" 5950 "TEX R0, R0, texture[0], 2D;\n" 5951 "ADD R1.x, -R1, c[10];\n" 5952 "MUL R1, fragment.color.primary, R1.x;\n" 5953 "MUL R2.xyz, R0, c[4].y;\n" 5954 "MUL R3.xyz, R1.w, R2;\n" 5955 "MUL R2.xyz, R1, c[4].x;\n" 5956 "MAD R2.xyz, R0.w, R2, R3;\n" 5957 "ADD R3.xy, fragment.position, c[8];\n" 5958 "ADD R2.w, -R0, c[10].x;\n" 5959 "MUL R1.xyz, R1, c[5].y;\n" 5960 "MAD R2.xyz, R2.w, R1, R2;\n" 5961 "MUL R1.xyz, R0, c[5].z;\n" 5962 "ADD R3.z, -R1.w, c[10].x;\n" 5963 "MAD R2.xyz, R3.z, R1, R2;\n" 5964 "MUL R1.y, R1.w, R2.w;\n" 5965 "MUL R1.x, R1.w, R0.w;\n" 5966 "MUL R1.z, R0.w, R3;\n" 5967 "DP3 R2.w, R1, c[5];\n" 5968 "MUL R3.xy, R3, c[6];\n" 5969 "TEX R1, R3, texture[1], 2D;\n" 5970 "ADD R2, R2, -R0;\n" 5971 "DP4 R1.x, R1, c[9];\n" 5972 "MAD result.color, R1.x, R2, R0;\n" 6054 5973 "END\n" 6055 5974 ; … … 6062 5981 "TEMP R1;\n" 6063 5982 "TEMP R2;\n" 6064 "MUL R0.xyz, fragment.position.y, c[4];\n" 6065 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 6066 "ADD R0.xyz, R0, c[5];\n" 6067 "RCP R0.z, R0.z;\n" 6068 "MUL R0.xy, R0, R0.z;\n" 6069 "MUL R0.xy, R0, c[6];\n" 6070 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n" 6071 "TEX R1, R0.zwzw, texture[0], 2D;\n" 6072 "MOV R0.y, -R0;\n" 5983 "MUL R0.xyz, fragment.position.y, c[2];\n" 5984 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 5985 "ADD R0.xyz, R0, c[3];\n" 5986 "RCP R0.z, R0.z;\n" 5987 "MUL R0.xy, R0, R0.z;\n" 5988 "MUL R0.zw, R0.xyxy, c[0].xyxy;\n" 5989 "TEX R1.x, R0.zwzw, texture[2], 2D;\n" 5990 "MUL R0.xy, fragment.position, c[5];\n" 5991 "TEX R0, R0, texture[0], 2D;\n" 5992 "ADD R1.x, -R1, c[8];\n" 5993 "MUL R1, fragment.color.primary, R1.x;\n" 5994 "ADD R2.x, -R0.w, c[8];\n" 5995 "MUL R2.xyz, R1, R2.x;\n" 5996 "MAD R1.xyz, R1, R0, R2;\n" 5997 "ADD R2.x, -R1.w, c[8];\n" 5998 "MAD R2.xyz, R0, R2.x, R1;\n" 5999 "ADD R1.z, R1.w, R0.w;\n" 6000 "MAD R2.w, -R1, R0, R1.z;\n" 6001 "ADD R1.xy, fragment.position, c[6];\n" 6002 "MUL R1.xy, R1, c[4];\n" 6003 "TEX R1, R1, texture[1], 2D;\n" 6004 "ADD R2, R2, -R0;\n" 6005 "DP4 R1.x, R1, c[7];\n" 6006 "MAD result.color, R1.x, R2, R0;\n" 6007 "END\n" 6008 ; 6009 6010 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SCREEN = 6011 "!!ARBfp1.0\n" 6012 "PARAM c[9] = { program.local[0..7],\n" 6013 " { 1 } };\n" 6014 "TEMP R0;\n" 6015 "TEMP R1;\n" 6016 "TEMP R2;\n" 6017 "TEMP R3;\n" 6018 "MUL R0.xyz, fragment.position.y, c[2];\n" 6019 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6020 "ADD R0.xyz, R0, c[3];\n" 6021 "RCP R0.z, R0.z;\n" 6022 "MUL R0.xy, R0, R0.z;\n" 6023 "MUL R0.xy, R0, c[0];\n" 6073 6024 "TEX R0.x, R0, texture[2], 2D;\n" 6074 "MUL R0, fragment.color.primary, R0.x;\n" 6075 "ADD R2.x, -R1.w, c[8];\n" 6076 "MUL R2.xyz, R0, R2.x;\n" 6077 "MAD R0.xyz, R0, R1, R2;\n" 6078 "ADD R2.x, -R0.w, c[8];\n" 6079 "MAD R2.xyz, R1, R2.x, R0;\n" 6080 "ADD R0.z, R0.w, R1.w;\n" 6081 "MAD R2.w, -R0, R1, R0.z;\n" 6082 "ADD R0.xy, fragment.position, c[0];\n" 6083 "MUL R0.xy, R0, c[1];\n" 6084 "TEX R0, R0, texture[1], 2D;\n" 6085 "ADD R2, R2, -R1;\n" 6086 "DP4 R0.x, R0, c[2];\n" 6087 "MAD result.color, R0.x, R2, R1;\n" 6088 "END\n" 6089 ; 6090 6091 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SCREEN = 6092 "!!ARBfp1.0\n" 6093 "PARAM c[8] = { program.local[0..7] };\n" 6094 "TEMP R0;\n" 6095 "TEMP R1;\n" 6096 "TEMP R2;\n" 6097 "TEMP R3;\n" 6098 "MUL R0.xyz, fragment.position.y, c[4];\n" 6099 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 6100 "ADD R0.xyz, R0, c[5];\n" 6101 "RCP R0.z, R0.z;\n" 6102 "MUL R0.xy, R0, R0.z;\n" 6103 "MUL R0.xy, R0, c[6];\n" 6104 "MOV R0.y, -R0;\n" 6105 "TEX R1.x, R0, texture[2], 2D;\n" 6106 "MUL R0.xy, fragment.position, c[7];\n" 6107 "ADD R3.xy, fragment.position, c[0];\n" 6025 "ADD R0.z, -R0.x, c[8].x;\n" 6026 "ADD R3.xy, fragment.position, c[6];\n" 6027 "MUL R1, fragment.color.primary, R0.z;\n" 6028 "MUL R0.xy, fragment.position, c[5];\n" 6108 6029 "TEX R0, R0, texture[0], 2D;\n" 6109 "MUL R1, fragment.color.primary, R1.x;\n"6110 6030 "ADD R2, R1, R0;\n" 6111 6031 "MAD R2, -R1, R0, R2;\n" 6112 "MUL R3.xy, R3, c[ 1];\n"6032 "MUL R3.xy, R3, c[4];\n" 6113 6033 "TEX R1, R3, texture[1], 2D;\n" 6114 6034 "ADD R2, R2, -R0;\n" 6115 "DP4 R1.x, R1, c[ 2];\n"6035 "DP4 R1.x, R1, c[7];\n" 6116 6036 "MAD result.color, R1.x, R2, R0;\n" 6117 6037 "END\n" … … 6121 6041 "!!ARBfp1.0\n" 6122 6042 "PARAM c[9] = { program.local[0..7],\n" 6123 " { 2, 1} };\n"6043 " { 1, 2 } };\n" 6124 6044 "TEMP R0;\n" 6125 6045 "TEMP R1;\n" … … 6127 6047 "TEMP R3;\n" 6128 6048 "TEMP R4;\n" 6129 "MUL R0.xyz, fragment.position.y, c[ 4];\n"6130 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"6131 "ADD R0.xyz, R0, c[ 5];\n"6132 "RCP R0.z, R0.z;\n" 6133 "MUL R0.xy, R0, R0.z;\n" 6134 "MUL R0.xy, R0, c[ 6];\n"6135 " MOV R0.y, -R0;\n"6136 " TEX R1.x, R0, texture[2], 2D;\n"6137 "MUL R1, fragment.color.primary, R 1.x;\n"6138 "MUL R0. xy, fragment.position, c[7];\n"6139 "TEX R0, R0 , texture[0], 2D;\n"6140 "ADD R2.w, -R0, c[8]. y;\n"6049 "MUL R0.xyz, fragment.position.y, c[2];\n" 6050 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6051 "ADD R0.xyz, R0, c[3];\n" 6052 "RCP R0.z, R0.z;\n" 6053 "MUL R0.xy, R0, R0.z;\n" 6054 "MUL R0.xy, R0, c[0];\n" 6055 "TEX R0.x, R0, texture[2], 2D;\n" 6056 "ADD R0.x, -R0, c[8];\n" 6057 "MUL R1, fragment.color.primary, R0.x;\n" 6058 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 6059 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6060 "ADD R2.w, -R0, c[8].x;\n" 6141 6061 "ADD R3.xyz, R1.w, -R1;\n" 6142 6062 "ADD R2.xyz, R0.w, -R0;\n" 6143 6063 "MUL R2.xyz, R2, R3;\n" 6144 "MUL R2.xyz, R2, c[8]. x;\n"6064 "MUL R2.xyz, R2, c[8].y;\n" 6145 6065 "MAD R2.xyz, R1.w, R0.w, -R2;\n" 6146 6066 "MUL R4.xyz, R1, R2.w;\n" 6147 6067 "MUL R3.xyz, R1, R0;\n" 6148 6068 "MAD R1.xyz, R1, R2.w, R2;\n" 6149 "ADD R2.x, -R1.w, c[8] .y;\n"6150 "MAD R3.xyz, R3, c[8]. x, R4;\n"6069 "ADD R2.x, -R1.w, c[8];\n" 6070 "MAD R3.xyz, R3, c[8].y, R4;\n" 6151 6071 "MAD R3.xyz, R0, R2.x, R3;\n" 6152 6072 "MAD R1.xyz, R0, R2.x, R1;\n" 6153 "MUL R2.xyz, R0, c[8]. x;\n"6073 "MUL R2.xyz, R0, c[8].y;\n" 6154 6074 "ADD R1.xyz, R1, -R3;\n" 6155 6075 "SGE R2.xyz, R2, R0.w;\n" … … 6157 6077 "ADD R1.z, R1.w, R0.w;\n" 6158 6078 "MAD R2.w, -R1, R0, R1.z;\n" 6159 "ADD R1.xy, fragment.position, c[ 0];\n"6160 "MUL R1.xy, R1, c[ 1];\n"6079 "ADD R1.xy, fragment.position, c[6];\n" 6080 "MUL R1.xy, R1, c[4];\n" 6161 6081 "TEX R1, R1, texture[1], 2D;\n" 6162 6082 "ADD R2, R2, -R0;\n" 6163 "DP4 R1.x, R1, c[ 2];\n"6083 "DP4 R1.x, R1, c[7];\n" 6164 6084 "MAD result.color, R1.x, R2, R0;\n" 6165 6085 "END\n" … … 6174 6094 "TEMP R2;\n" 6175 6095 "TEMP R3;\n" 6176 "MUL R0.xyz, fragment.position.y, c[ 4];\n"6177 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"6178 "ADD R0.xyz, R0, c[ 5];\n"6179 "RCP R0.z, R0.z;\n" 6180 "MUL R0.xy, R0, R0.z;\n" 6181 "MUL R0.xy, R0, c[ 6];\n"6182 " MOV R0.y, -R0;\n"6183 " TEX R0.x, R0, texture[2], 2D;\n"6184 " MUL R1.xy, fragment.position, c[7];\n"6185 " TEX R1, R1, texture[0], 2D;\n"6186 "MUL R 0, fragment.color.primary, R0.x;\n"6187 "MUL R3.xyz, R1 , R0.w;\n"6188 "MUL R2.xyz, R 0, R1.w;\n"6096 "MUL R0.xyz, fragment.position.y, c[2];\n" 6097 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6098 "ADD R0.xyz, R0, c[3];\n" 6099 "RCP R0.z, R0.z;\n" 6100 "MUL R0.xy, R0, R0.z;\n" 6101 "MUL R0.xy, R0, c[0];\n" 6102 "TEX R1.x, R0, texture[2], 2D;\n" 6103 "MUL R0.xy, fragment.position, c[5];\n" 6104 "TEX R0, R0, texture[0], 2D;\n" 6105 "ADD R1.x, -R1, c[8];\n" 6106 "MUL R1, fragment.color.primary, R1.x;\n" 6107 "MUL R3.xyz, R1.w, R0;\n" 6108 "MUL R2.xyz, R1, R0.w;\n" 6189 6109 "MIN R2.xyz, R2, R3;\n" 6190 "ADD R2.w, -R 1, c[8].x;\n"6191 "MAD R 0.xyz, R0, R2.w, R2;\n"6192 "ADD R2.x, -R 0.w, c[8];\n"6193 "MAD R2.xyz, R 1, R2.x, R0;\n"6194 "ADD R 0.z, R0.w, R1.w;\n"6195 "MAD R2.w, -R 0, R1, R0.z;\n"6196 "ADD R 0.xy, fragment.position, c[0];\n"6197 "MUL R 0.xy, R0, c[1];\n"6198 "TEX R 0, R0, texture[1], 2D;\n"6199 "ADD R2, R2, -R 1;\n"6200 "DP4 R 0.x, R0, c[2];\n"6201 "MAD result.color, R 0.x, R2, R1;\n"6110 "ADD R2.w, -R0, c[8].x;\n" 6111 "MAD R1.xyz, R1, R2.w, R2;\n" 6112 "ADD R2.x, -R1.w, c[8];\n" 6113 "MAD R2.xyz, R0, R2.x, R1;\n" 6114 "ADD R1.z, R1.w, R0.w;\n" 6115 "MAD R2.w, -R1, R0, R1.z;\n" 6116 "ADD R1.xy, fragment.position, c[6];\n" 6117 "MUL R1.xy, R1, c[4];\n" 6118 "TEX R1, R1, texture[1], 2D;\n" 6119 "ADD R2, R2, -R0;\n" 6120 "DP4 R1.x, R1, c[7];\n" 6121 "MAD result.color, R1.x, R2, R0;\n" 6202 6122 "END\n" 6203 6123 ; … … 6211 6131 "TEMP R2;\n" 6212 6132 "TEMP R3;\n" 6213 "MUL R0.xyz, fragment.position.y, c[4];\n" 6214 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 6215 "ADD R0.xyz, R0, c[5];\n" 6216 "RCP R0.z, R0.z;\n" 6217 "MUL R0.xy, R0, R0.z;\n" 6218 "MUL R0.xy, R0, c[6];\n" 6219 "MOV R0.y, -R0;\n" 6133 "MUL R0.xyz, fragment.position.y, c[2];\n" 6134 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6135 "ADD R0.xyz, R0, c[3];\n" 6136 "RCP R0.z, R0.z;\n" 6137 "MUL R0.xy, R0, R0.z;\n" 6138 "MUL R0.xy, R0, c[0];\n" 6139 "TEX R1.x, R0, texture[2], 2D;\n" 6140 "MUL R0.xy, fragment.position, c[5];\n" 6141 "TEX R0, R0, texture[0], 2D;\n" 6142 "ADD R1.x, -R1, c[8];\n" 6143 "MUL R1, fragment.color.primary, R1.x;\n" 6144 "MUL R3.xyz, R1.w, R0;\n" 6145 "MUL R2.xyz, R1, R0.w;\n" 6146 "MAX R2.xyz, R2, R3;\n" 6147 "ADD R2.w, -R0, c[8].x;\n" 6148 "MAD R1.xyz, R1, R2.w, R2;\n" 6149 "ADD R2.x, -R1.w, c[8];\n" 6150 "MAD R2.xyz, R0, R2.x, R1;\n" 6151 "ADD R1.z, R1.w, R0.w;\n" 6152 "MAD R2.w, -R1, R0, R1.z;\n" 6153 "ADD R1.xy, fragment.position, c[6];\n" 6154 "MUL R1.xy, R1, c[4];\n" 6155 "TEX R1, R1, texture[1], 2D;\n" 6156 "ADD R2, R2, -R0;\n" 6157 "DP4 R1.x, R1, c[7];\n" 6158 "MAD result.color, R1.x, R2, R0;\n" 6159 "END\n" 6160 ; 6161 6162 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_COLORDODGE = 6163 "!!ARBfp1.0\n" 6164 "PARAM c[9] = { program.local[0..7],\n" 6165 " { 1, 1e-006 } };\n" 6166 "TEMP R0;\n" 6167 "TEMP R1;\n" 6168 "TEMP R2;\n" 6169 "TEMP R3;\n" 6170 "TEMP R4;\n" 6171 "MUL R0.xyz, fragment.position.y, c[2];\n" 6172 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6173 "ADD R0.xyz, R0, c[3];\n" 6174 "RCP R0.z, R0.z;\n" 6175 "MUL R0.xy, R0, R0.z;\n" 6176 "MUL R0.xy, R0, c[0];\n" 6220 6177 "TEX R0.x, R0, texture[2], 2D;\n" 6221 "MUL R1.xy, fragment.position, c[7];\n" 6222 "TEX R1, R1, texture[0], 2D;\n" 6223 "MUL R0, fragment.color.primary, R0.x;\n" 6224 "MUL R3.xyz, R1, R0.w;\n" 6225 "MUL R2.xyz, R0, R1.w;\n" 6226 "MAX R2.xyz, R2, R3;\n" 6227 "ADD R2.w, -R1, c[8].x;\n" 6228 "MAD R0.xyz, R0, R2.w, R2;\n" 6229 "ADD R2.x, -R0.w, c[8];\n" 6230 "MAD R2.xyz, R1, R2.x, R0;\n" 6231 "ADD R0.z, R0.w, R1.w;\n" 6232 "MAD R2.w, -R0, R1, R0.z;\n" 6233 "ADD R0.xy, fragment.position, c[0];\n" 6234 "MUL R0.xy, R0, c[1];\n" 6235 "TEX R0, R0, texture[1], 2D;\n" 6236 "ADD R2, R2, -R1;\n" 6237 "DP4 R0.x, R0, c[2];\n" 6238 "MAD result.color, R0.x, R2, R1;\n" 6239 "END\n" 6240 ; 6241 6242 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_COLORDODGE = 6243 "!!ARBfp1.0\n" 6244 "PARAM c[9] = { program.local[0..7],\n" 6245 " { 1, 1e-06 } };\n" 6246 "TEMP R0;\n" 6247 "TEMP R1;\n" 6248 "TEMP R2;\n" 6249 "TEMP R3;\n" 6250 "TEMP R4;\n" 6251 "MUL R0.xyz, fragment.position.y, c[4];\n" 6252 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 6253 "ADD R0.xyz, R0, c[5];\n" 6254 "RCP R0.z, R0.z;\n" 6255 "MUL R0.xy, R0, R0.z;\n" 6256 "MUL R0.xy, R0, c[6];\n" 6257 "MOV R0.y, -R0;\n" 6258 "TEX R0.x, R0, texture[2], 2D;\n" 6178 "ADD R0.x, -R0, c[8];\n" 6259 6179 "MUL R1, fragment.color.primary, R0.x;\n" 6260 6180 "MAX R0.x, R1.w, c[8].y;\n" 6261 6181 "RCP R0.x, R0.x;\n" 6262 "MAD R 0.xyz, -R1, R0.x, c[8].x;\n"6263 "MAX R2.xyz, R 0, c[8].y;\n"6264 "MUL R0.xy, fragment.position, c[ 7];\n"6182 "MAD R2.xyz, -R1, R0.x, c[8].x;\n" 6183 "MAX R2.xyz, R2, c[8].y;\n" 6184 "MUL R0.xy, fragment.position, c[5];\n" 6265 6185 "TEX R0, R0, texture[0], 2D;\n" 6266 6186 "ADD R2.w, -R1, c[8].x;\n" … … 6268 6188 "ADD R2.w, -R0, c[8].x;\n" 6269 6189 "MAD R4.xyz, R1, R2.w, R3;\n" 6270 "MUL R3.xyz, R 0, R1.w;\n"6190 "MUL R3.xyz, R1.w, R0;\n" 6271 6191 "MUL R2.w, R1, R0;\n" 6272 6192 "MAD R1.xyz, R1, R0.w, R3;\n" … … 6281 6201 "ADD R1.z, R1.w, R0.w;\n" 6282 6202 "MAD R2.w, -R1, R0, R1.z;\n" 6283 "ADD R1.xy, fragment.position, c[ 0];\n"6284 "MUL R1.xy, R1, c[ 1];\n"6203 "ADD R1.xy, fragment.position, c[6];\n" 6204 "MUL R1.xy, R1, c[4];\n" 6285 6205 "TEX R1, R1, texture[1], 2D;\n" 6286 6206 "ADD R2, R2, -R0;\n" 6287 "DP4 R1.x, R1, c[ 2];\n"6207 "DP4 R1.x, R1, c[7];\n" 6288 6208 "MAD result.color, R1.x, R2, R0;\n" 6289 6209 "END\n" … … 6293 6213 "!!ARBfp1.0\n" 6294 6214 "PARAM c[9] = { program.local[0..7],\n" 6295 " { 1, 9.9999997e-0 6 } };\n"6215 " { 1, 9.9999997e-006 } };\n" 6296 6216 "TEMP R0;\n" 6297 6217 "TEMP R1;\n" … … 6300 6220 "TEMP R4;\n" 6301 6221 "TEMP R5;\n" 6302 "MUL R0.xyz, fragment.position.y, c[ 4];\n"6303 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"6304 "ADD R0.xyz, R0, c[ 5];\n"6305 "RCP R0.z, R0.z;\n" 6306 "MUL R0.xy, R0, R0.z;\n" 6307 "MUL R0.xy, R0, c[ 6];\n"6308 " MOV R0.y, -R0;\n"6309 " TEX R1.x, R0, texture[2], 2D;\n"6222 "MUL R0.xyz, fragment.position.y, c[2];\n" 6223 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6224 "ADD R0.xyz, R0, c[3];\n" 6225 "RCP R0.z, R0.z;\n" 6226 "MUL R0.xy, R0, R0.z;\n" 6227 "MUL R0.xy, R0, c[0];\n" 6228 "TEX R0.x, R0, texture[2], 2D;\n" 6229 "ADD R1.x, -R0, c[8];\n" 6310 6230 "MUL R1, fragment.color.primary, R1.x;\n" 6311 "MUL R0. xy, fragment.position, c[7];\n"6312 "TEX R0, R0 , texture[0], 2D;\n"6313 "MUL R2.xyz, R 0, R1.w;\n"6231 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 6232 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6233 "MUL R2.xyz, R1.w, R0;\n" 6314 6234 "MAD R3.xyz, R1, R0.w, R2;\n" 6315 6235 "MAD R2.xyz, -R1.w, R0.w, R3;\n" … … 6326 6246 "MAD R1.xyz, R1, R2.w, R4;\n" 6327 6247 "MUL R2.w, R1, R0;\n" 6328 "ADD R3.w, -R1, c[8].x;\n"6329 6248 "MAD R2.xyz, R0, R3.w, R2;\n" 6330 6249 "ADD R2.xyz, R2, -R1;\n" … … 6333 6252 "ADD R1.z, R1.w, R0.w;\n" 6334 6253 "MAD R2.w, -R1, R0, R1.z;\n" 6335 "ADD R1.xy, fragment.position, c[ 0];\n"6336 "MUL R1.xy, R1, c[ 1];\n"6254 "ADD R1.xy, fragment.position, c[6];\n" 6255 "MUL R1.xy, R1, c[4];\n" 6337 6256 "TEX R1, R1, texture[1], 2D;\n" 6338 6257 "ADD R2, R2, -R0;\n" 6339 "DP4 R1.x, R1, c[ 2];\n"6258 "DP4 R1.x, R1, c[7];\n" 6340 6259 "MAD result.color, R1.x, R2, R0;\n" 6341 6260 "END\n" … … 6345 6264 "!!ARBfp1.0\n" 6346 6265 "PARAM c[9] = { program.local[0..7],\n" 6347 " { 2, 1} };\n"6266 " { 1, 2 } };\n" 6348 6267 "TEMP R0;\n" 6349 6268 "TEMP R1;\n" … … 6351 6270 "TEMP R3;\n" 6352 6271 "TEMP R4;\n" 6353 "MUL R0.xyz, fragment.position.y, c[ 4];\n"6354 "MAD R0.xyz, fragment.position.x, c[ 3], R0;\n"6355 "ADD R0.xyz, R0, c[ 5];\n"6356 "RCP R0.z, R0.z;\n" 6357 "MUL R0.xy, R0, R0.z;\n" 6358 "MUL R0.xy, R0, c[ 6];\n"6359 " MOV R0.y, -R0;\n"6360 " TEX R1.x, R0, texture[2], 2D;\n"6361 "MUL R1, fragment.color.primary, R 1.x;\n"6362 "MUL R0. xy, fragment.position, c[7];\n"6363 "TEX R0, R0 , texture[0], 2D;\n"6364 "ADD R2.w, -R0, c[8]. y;\n"6272 "MUL R0.xyz, fragment.position.y, c[2];\n" 6273 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6274 "ADD R0.xyz, R0, c[3];\n" 6275 "RCP R0.z, R0.z;\n" 6276 "MUL R0.xy, R0, R0.z;\n" 6277 "MUL R0.xy, R0, c[0];\n" 6278 "TEX R0.x, R0, texture[2], 2D;\n" 6279 "ADD R0.x, -R0, c[8];\n" 6280 "MUL R1, fragment.color.primary, R0.x;\n" 6281 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" 6282 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6283 "ADD R2.w, -R0, c[8].x;\n" 6365 6284 "ADD R3.xyz, R1.w, -R1;\n" 6366 6285 "ADD R2.xyz, R0.w, -R0;\n" 6367 6286 "MUL R2.xyz, R2, R3;\n" 6368 "MUL R2.xyz, R2, c[8]. x;\n"6287 "MUL R2.xyz, R2, c[8].y;\n" 6369 6288 "MAD R2.xyz, R1.w, R0.w, -R2;\n" 6370 6289 "MUL R4.xyz, R1, R2.w;\n" 6371 6290 "MAD R2.xyz, R1, R2.w, R2;\n" 6372 6291 "MUL R3.xyz, R1, R0;\n" 6373 "ADD R2.w, -R1, c[8]. y;\n"6374 "MAD R3.xyz, R3, c[8]. x, R4;\n"6375 "MUL R1.xyz, R1, c[8]. x;\n"6292 "ADD R2.w, -R1, c[8].x;\n" 6293 "MAD R3.xyz, R3, c[8].y, R4;\n" 6294 "MUL R1.xyz, R1, c[8].y;\n" 6376 6295 "SGE R1.xyz, R1, R1.w;\n" 6377 6296 "MAD R3.xyz, R0, R2.w, R3;\n" … … 6381 6300 "ADD R1.z, R1.w, R0.w;\n" 6382 6301 "MAD R2.w, -R1, R0, R1.z;\n" 6383 "ADD R1.xy, fragment.position, c[ 0];\n"6384 "MUL R1.xy, R1, c[ 1];\n"6302 "ADD R1.xy, fragment.position, c[6];\n" 6303 "MUL R1.xy, R1, c[4];\n" 6385 6304 "TEX R1, R1, texture[1], 2D;\n" 6386 6305 "ADD R2, R2, -R0;\n" 6387 "DP4 R1.x, R1, c[ 2];\n"6306 "DP4 R1.x, R1, c[7];\n" 6388 6307 "MAD result.color, R1.x, R2, R0;\n" 6389 6308 "END\n" … … 6393 6312 "!!ARBfp1.0\n" 6394 6313 "PARAM c[10] = { program.local[0..7],\n" 6395 " { 1, 9.9999997e-06, 2, 8},\n"6396 " { 3 } };\n"6314 " { 1, 2, 9.9999997e-006, 4 },\n" 6315 " { 16, 12, 3 } };\n" 6397 6316 "TEMP R0;\n" 6398 6317 "TEMP R1;\n" … … 6401 6320 "TEMP R4;\n" 6402 6321 "TEMP R5;\n" 6403 "MUL R0.xyz, fragment.position.y, c[4];\n" 6404 "MAD R0.xyz, fragment.position.x, c[3], R0;\n" 6405 "ADD R1.xyz, R0, c[5];\n" 6406 "RCP R0.z, R1.z;\n" 6407 "MUL R1.xy, R1, R0.z;\n" 6408 "MUL R1.xy, R1, c[6];\n" 6409 "MOV R1.y, -R1;\n" 6410 "MUL R0.xy, fragment.position, c[7];\n" 6322 "TEMP R6;\n" 6323 "MUL R0.xyz, fragment.position.y, c[2];\n" 6324 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6325 "ADD R1.xyz, R0, c[3];\n" 6326 "RCP R1.z, R1.z;\n" 6327 "MUL R1.xy, R1, R1.z;\n" 6328 "MUL R1.xy, R1, c[0];\n" 6329 "TEX R1.x, R1, texture[2], 2D;\n" 6330 "MUL R0.xy, fragment.position, c[5];\n" 6411 6331 "TEX R0, R0, texture[0], 2D;\n" 6412 "MAX R1.z, R0.w, c[8].y;\n" 6413 "RCP R2.w, R1.z;\n" 6414 "MUL R2.xyz, R0, R2.w;\n" 6415 "MUL R5.xyz, -R2, c[8].w;\n" 6416 "MAD R4.xyz, -R0, R2.w, c[8].x;\n" 6417 "TEX R1.x, R1, texture[2], 2D;\n" 6332 "MAX R1.z, R0.w, c[8];\n" 6333 "RCP R1.z, R1.z;\n" 6334 "MUL R3.xyz, R0, R1.z;\n" 6335 "MAD R2.xyz, R3, c[9].x, -c[9].y;\n" 6336 "ADD R1.x, -R1, c[8];\n" 6418 6337 "MUL R1, fragment.color.primary, R1.x;\n" 6419 "MAD R3.xyz, R1, c[8].z, -R1.w;\n" 6420 "RSQ R2.x, R2.x;\n" 6421 "RSQ R2.z, R2.z;\n" 6422 "RSQ R2.y, R2.y;\n" 6423 "MUL R4.xyz, R4, R3;\n" 6424 "ADD R5.xyz, R5, c[9].x;\n" 6425 "MUL R5.xyz, R4, R5;\n" 6426 "ADD R4.xyz, R1.w, -R4;\n" 6338 "MAD R4.xyz, R3, R2, c[9].z;\n" 6339 "MAD R2.xyz, R1, c[8].y, -R1.w;\n" 6340 "MUL R5.xyz, R0.w, R2;\n" 6341 "MUL R6.xyz, R5, R4;\n" 6342 "RSQ R2.w, R3.x;\n" 6343 "RCP R4.x, R2.w;\n" 6344 "RSQ R2.w, R3.y;\n" 6345 "RSQ R3.w, R3.z;\n" 6346 "RCP R4.y, R2.w;\n" 6347 "RCP R4.z, R3.w;\n" 6348 "ADD R4.xyz, -R3, R4;\n" 6349 "MUL R6.xyz, R3, R6;\n" 6350 "MUL R4.xyz, R5, R4;\n" 6351 "ADD R3.xyz, -R3, c[8].x;\n" 6352 "MAD R2.xyz, R2, R3, R1.w;\n" 6353 "MUL R3.xyz, R1, c[8].y;\n" 6354 "MAD R5.xyz, R1.w, R0, R6;\n" 6355 "MAD R4.xyz, R1.w, R0, R4;\n" 6356 "ADD R6.xyz, R4, -R5;\n" 6357 "MUL R4.xyz, R0, c[8].w;\n" 6358 "SGE R4.xyz, R4, R0.w;\n" 6359 "MAD R4.xyz, R4, R6, R5;\n" 6360 "MAD R4.xyz, -R0, R2, R4;\n" 6361 "SGE R3.xyz, R3, R1.w;\n" 6362 "MUL R2.xyz, R0, R2;\n" 6427 6363 "ADD R2.w, -R0, c[8].x;\n" 6428 "RCP R2.x, R2.x;\n" 6429 "RCP R2.z, R2.z;\n" 6430 "RCP R2.y, R2.y;\n" 6431 "MAD R2.xyz, R2, R0.w, -R0;\n" 6432 "MUL R3.xyz, R2, R3;\n" 6433 "ADD R2.xyz, R1.w, -R5;\n" 6434 "MAD R5.xyz, R0, R1.w, R3;\n" 6435 "MUL R2.xyz, R0, R2;\n" 6436 "MUL R3.xyz, R0, c[8].w;\n" 6437 "ADD R5.xyz, R5, -R2;\n" 6438 "SGE R3.xyz, R3, R0.w;\n" 6439 "MUL R3.xyz, R3, R5;\n" 6440 "ADD R2.xyz, R2, R3;\n" 6441 "MUL R3.xyz, R0, R4;\n" 6442 "MUL R4.xyz, R1, c[8].z;\n" 6443 "SGE R4.xyz, R4, R1.w;\n" 6444 "ADD R2.xyz, R2, -R3;\n" 6445 "MUL R2.xyz, R4, R2;\n" 6446 "ADD R2.xyz, R3, R2;\n" 6364 "MAD R2.xyz, R3, R4, R2;\n" 6365 "MAD R2.xyz, R1, R2.w, R2;\n" 6366 "ADD R1.x, -R1.w, c[8];\n" 6367 "MAD R2.xyz, R0, R1.x, R2;\n" 6368 "ADD R1.z, R1.w, R0.w;\n" 6369 "MAD R2.w, -R1, R0, R1.z;\n" 6370 "ADD R1.xy, fragment.position, c[6];\n" 6371 "MUL R1.xy, R1, c[4];\n" 6372 "TEX R1, R1, texture[1], 2D;\n" 6373 "ADD R2, R2, -R0;\n" 6374 "DP4 R1.x, R1, c[7];\n" 6375 "MAD result.color, R1.x, R2, R0;\n" 6376 "END\n" 6377 ; 6378 6379 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_DIFFERENCE = 6380 "!!ARBfp1.0\n" 6381 "PARAM c[9] = { program.local[0..7],\n" 6382 " { 1, 2 } };\n" 6383 "TEMP R0;\n" 6384 "TEMP R1;\n" 6385 "TEMP R2;\n" 6386 "TEMP R3;\n" 6387 "MUL R0.xyz, fragment.position.y, c[2];\n" 6388 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6389 "ADD R0.xyz, R0, c[3];\n" 6390 "RCP R0.z, R0.z;\n" 6391 "MUL R0.xy, R0, R0.z;\n" 6392 "MUL R0.xy, R0, c[0];\n" 6393 "TEX R1.x, R0, texture[2], 2D;\n" 6394 "MUL R0.xy, fragment.position, c[5];\n" 6395 "ADD R1.x, -R1, c[8];\n" 6396 "TEX R0, R0, texture[0], 2D;\n" 6397 "MUL R1, fragment.color.primary, R1.x;\n" 6398 "ADD R2.xyz, R1, R0;\n" 6399 "MUL R3.xyz, R1.w, R0;\n" 6400 "MUL R1.xyz, R1, R0.w;\n" 6401 "MIN R1.xyz, R1, R3;\n" 6402 "MAD R2.xyz, -R1, c[8].y, R2;\n" 6403 "ADD R1.z, R1.w, R0.w;\n" 6404 "MAD R2.w, -R1, R0, R1.z;\n" 6405 "ADD R1.xy, fragment.position, c[6];\n" 6406 "MUL R1.xy, R1, c[4];\n" 6407 "TEX R1, R1, texture[1], 2D;\n" 6408 "ADD R2, R2, -R0;\n" 6409 "DP4 R1.x, R1, c[7];\n" 6410 "MAD result.color, R1.x, R2, R0;\n" 6411 "END\n" 6412 ; 6413 6414 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_EXCLUSION = 6415 "!!ARBfp1.0\n" 6416 "PARAM c[9] = { program.local[0..7],\n" 6417 " { 1, 2 } };\n" 6418 "TEMP R0;\n" 6419 "TEMP R1;\n" 6420 "TEMP R2;\n" 6421 "TEMP R3;\n" 6422 "MUL R0.xyz, fragment.position.y, c[2];\n" 6423 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6424 "ADD R0.xyz, R0, c[3];\n" 6425 "RCP R0.z, R0.z;\n" 6426 "MUL R0.xy, R0, R0.z;\n" 6427 "MUL R0.xy, R0, c[0];\n" 6428 "TEX R1.x, R0, texture[2], 2D;\n" 6429 "MUL R0.xy, fragment.position, c[5];\n" 6430 "TEX R0, R0, texture[0], 2D;\n" 6431 "ADD R1.x, -R1, c[8];\n" 6432 "MUL R1, fragment.color.primary, R1.x;\n" 6433 "MUL R2.xyz, R1.w, R0;\n" 6434 "MAD R3.xyz, R1, R0.w, R2;\n" 6435 "MUL R2.xyz, R1, R0;\n" 6436 "MAD R2.xyz, -R2, c[8].y, R3;\n" 6437 "ADD R2.w, -R0, c[8].x;\n" 6447 6438 "MAD R1.xyz, R1, R2.w, R2;\n" 6448 6439 "ADD R2.x, -R1.w, c[8];\n" … … 6450 6441 "ADD R1.z, R1.w, R0.w;\n" 6451 6442 "MAD R2.w, -R1, R0, R1.z;\n" 6452 "ADD R1.xy, fragment.position, c[ 0];\n"6453 "MUL R1.xy, R1, c[ 1];\n"6443 "ADD R1.xy, fragment.position, c[6];\n" 6444 "MUL R1.xy, R1, c[4];\n" 6454 6445 "TEX R1, R1, texture[1], 2D;\n" 6455 6446 "ADD R2, R2, -R0;\n" 6456 "DP4 R1.x, R1, c[ 2];\n"6447 "DP4 R1.x, R1, c[7];\n" 6457 6448 "MAD result.color, R1.x, R2, R0;\n" 6458 6449 "END\n" 6459 6450 ; 6460 6451 6461 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_DIFFERENCE =6462 "!!ARBfp1.0\n"6463 "PARAM c[9] = { program.local[0..7],\n"6464 " { 2 } };\n"6465 "TEMP R0;\n"6466 "TEMP R1;\n"6467 "TEMP R2;\n"6468 "TEMP R3;\n"6469 "MUL R0.xyz, fragment.position.y, c[4];\n"6470 "MAD R0.xyz, fragment.position.x, c[3], R0;\n"6471 "ADD R0.xyz, R0, c[5];\n"6472 "RCP R0.z, R0.z;\n"6473 "MUL R0.xy, R0, R0.z;\n"6474 "MUL R0.xy, R0, c[6];\n"6475 "MOV R0.y, -R0;\n"6476 "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"6477 "TEX R1, R0.zwzw, texture[0], 2D;\n"6478 "TEX R0.x, R0, texture[2], 2D;\n"6479 "MUL R0, fragment.color.primary, R0.x;\n"6480 "ADD R3.xyz, R0, R1;\n"6481 "MUL R2.xyz, R1, R0.w;\n"6482 "MUL R0.xyz, R0, R1.w;\n"6483 "MIN R0.xyz, R0, R2;\n"6484 "MAD R2.xyz, -R0, c[8].x, R3;\n"6485 "ADD R0.z, R0.w, R1.w;\n"6486 "MAD R2.w, -R0, R1, R0.z;\n"6487 "ADD R0.xy, fragment.position, c[0];\n"6488 "MUL R0.xy, R0, c[1];\n"6489 "TEX R0, R0, texture[1], 2D;\n"6490 "ADD R2, R2, -R1;\n"6491 "DP4 R0.x, R0, c[2];\n"6492 "MAD result.color, R0.x, R2, R1;\n"6493 "END\n"6494 ;6495 6496 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_EXCLUSION =6497 "!!ARBfp1.0\n"6498 "PARAM c[9] = { program.local[0..7],\n"6499 " { 1, 2 } };\n"6500 "TEMP R0;\n"6501 "TEMP R1;\n"6502 "TEMP R2;\n"6503 "TEMP R3;\n"6504 "MUL R0.xyz, fragment.position.y, c[4];\n"6505 "MAD R0.xyz, fragment.position.x, c[3], R0;\n"6506 "ADD R0.xyz, R0, c[5];\n"6507 "RCP R0.z, R0.z;\n"6508 "MUL R0.xy, R0, R0.z;\n"6509 "MUL R0.xy, R0, c[6];\n"6510 "MOV R0.y, -R0;\n"6511 "TEX R0.x, R0, texture[2], 2D;\n"6512 "MUL R1.xy, fragment.position, c[7];\n"6513 "TEX R1, R1, texture[0], 2D;\n"6514 "MUL R0, fragment.color.primary, R0.x;\n"6515 "MUL R2.xyz, R1, R0.w;\n"6516 "MAD R3.xyz, R0, R1.w, R2;\n"6517 "MUL R2.xyz, R0, R1;\n"6518 "MAD R2.xyz, -R2, c[8].y, R3;\n"6519 "ADD R2.w, -R1, c[8].x;\n"6520 "MAD R0.xyz, R0, R2.w, R2;\n"6521 "ADD R2.x, -R0.w, c[8];\n"6522 "MAD R2.xyz, R1, R2.x, R0;\n"6523 "ADD R0.z, R0.w, R1.w;\n"6524 "MAD R2.w, -R0, R1, R0.z;\n"6525 "ADD R0.xy, fragment.position, c[0];\n"6526 "MUL R0.xy, R0, c[1];\n"6527 "TEX R0, R0, texture[1], 2D;\n"6528 "ADD R2, R2, -R1;\n"6529 "DP4 R0.x, R0, c[2];\n"6530 "MAD result.color, R0.x, R2, R1;\n"6531 "END\n"6532 ;6533 6534 6452 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK = 6535 6453 "!!ARBfp1.0\n" 6536 "PARAM c[8] = { program.local[0..4],\n" 6537 " { 1 },\n" 6538 " program.local[6..7] };\n" 6539 "TEMP R0;\n" 6540 "TEMP R1;\n" 6541 "TEMP R2;\n" 6542 "TEMP R3;\n" 6543 "MUL R0.xyz, fragment.position.y, c[1];\n" 6544 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 6545 "ADD R0.xyz, R0, c[2];\n" 6546 "RCP R0.z, R0.z;\n" 6547 "MUL R0.xy, R0, R0.z;\n" 6548 "MUL R0.xy, R0, c[3];\n" 6549 "MOV R0.w, -R0.y;\n" 6550 "MOV R0.z, R0.x;\n" 6551 "TEX R1.x, R0.zwzw, texture[1], 2D;\n" 6552 "MUL R0.xy, fragment.position, c[4];\n" 6553 "TEX R0, R0, texture[0], 2D;\n" 6554 "MUL R2.xyz, R0, c[7].y;\n" 6454 "PARAM c[8] = { program.local[0..6],\n" 6455 " { 1 } };\n" 6456 "TEMP R0;\n" 6457 "TEMP R1;\n" 6458 "TEMP R2;\n" 6459 "TEMP R3;\n" 6460 "MUL R0.xyz, fragment.position.y, c[2];\n" 6461 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6462 "ADD R0.xyz, R0, c[3];\n" 6463 "RCP R0.z, R0.z;\n" 6464 "MUL R0.xy, R0, R0.z;\n" 6465 "MUL R0.xy, R0, c[0];\n" 6466 "TEX R1.x, R0, texture[1], 2D;\n" 6467 "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n" 6468 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6469 "MUL R2.xyz, R0, c[4].y;\n" 6470 "ADD R1.x, -R1, c[7];\n" 6555 6471 "MUL R1, fragment.color.primary, R1.x;\n" 6556 "MUL R3.xyz, R2, R1.w;\n" 6557 "MUL R2.xyz, R1, c[7].x;\n" 6558 "MUL R0.xyz, R0, c[6].z;\n" 6559 "MAD R2.xyz, R2, R0.w, R3;\n" 6560 "MUL R1.xyz, R1, c[6].y;\n" 6561 "ADD R2.w, -R0, c[5].x;\n" 6562 "MAD R1.xyz, R1, R2.w, R2;\n" 6563 "ADD R2.x, -R1.w, c[5];\n" 6564 "MAD result.color.xyz, R0, R2.x, R1;\n" 6565 "ADD R0.y, -R0.w, c[5].x;\n" 6472 "MUL R3.xyz, R1.w, R2;\n" 6473 "MUL R2.xyz, R1, c[4].x;\n" 6474 "MUL R0.xyz, R0, c[5].z;\n" 6475 "MAD R2.xyz, R0.w, R2, R3;\n" 6476 "ADD R2.w, -R0, c[7].x;\n" 6477 "MUL R1.xyz, R1, c[5].y;\n" 6478 "MAD R1.xyz, R2.w, R1, R2;\n" 6479 "ADD R2.x, -R1.w, c[7];\n" 6480 "MAD result.color.xyz, R2.x, R0, R1;\n" 6566 6481 "MUL R0.x, R1.w, R0.w;\n" 6567 6482 "MUL R0.z, R0.w, R2.x;\n" 6568 "MUL R0.y, R1.w, R 0;\n"6569 "DP3 result.color.w, R0, c[ 6];\n"6483 "MUL R0.y, R1.w, R2.w;\n" 6484 "DP3 result.color.w, R0, c[5];\n" 6570 6485 "END\n" 6571 6486 ; … … 6578 6493 "TEMP R1;\n" 6579 6494 "TEMP R2;\n" 6580 "MUL R0.xyz, fragment.position.y, c[ 1];\n"6581 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"6582 "ADD R0.xyz, R0, c[ 2];\n"6583 "RCP R0.z, R0.z;\n" 6584 "MUL R0. zw, R0.xyxy, R0.z;\n"6585 "MUL R 1.xy, R0.zwzw, c[3];\n"6586 " MOV R1.y, -R1;\n"6587 "MUL R0. xy, fragment.position, c[4];\n"6588 "TEX R0, R0 , texture[0], 2D;\n"6589 " TEX R1.x, R1, texture[1], 2D;\n"6495 "MUL R0.xyz, fragment.position.y, c[2];\n" 6496 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6497 "ADD R0.xyz, R0, c[3];\n" 6498 "RCP R0.z, R0.z;\n" 6499 "MUL R0.xy, R0, R0.z;\n" 6500 "MUL R0.xy, R0, c[0];\n" 6501 "TEX R1.x, R0, texture[1], 2D;\n" 6502 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 6503 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6504 "ADD R1.x, -R1, c[5];\n" 6590 6505 "MUL R1, fragment.color.primary, R1.x;\n" 6591 6506 "ADD R2.x, -R0.w, c[5];\n" … … 6601 6516 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SCREEN_NOMASK = 6602 6517 "!!ARBfp1.0\n" 6603 "PARAM c[ 5] = { program.local[0..4] };\n"6604 " TEMP R0;\n"6605 "TEMP R 1;\n"6606 "TEMP R 2;\n"6607 " MUL R0.xyz, fragment.position.y, c[1];\n"6608 "M AD R0.xyz, fragment.position.x, c[0], R0;\n"6609 " ADD R0.xyz, R0, c[2];\n"6610 " RCP R0.z, R0.z;\n"6611 " MUL R0.xy, R0, R0.z;\n"6612 "MUL R0.xy, R0, c[3];\n"6613 "M OV R0.w, -R0.y;\n"6614 " MOV R0.z, R0.x;\n"6615 " TEX R1.x, R0.zwzw, texture[1], 2D;\n"6616 "MUL R0. xy, fragment.position, c[4];\n"6617 "TEX R0, R0 , texture[0], 2D;\n"6518 "PARAM c[6] = { program.local[0..4],\n" 6519 " { 1 } };\n" 6520 "TEMP R0;\n" 6521 "TEMP R1;\n" 6522 "TEMP R2;\n" 6523 "MUL R0.xyz, fragment.position.y, c[2];\n" 6524 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6525 "ADD R0.xyz, R0, c[3];\n" 6526 "RCP R0.z, R0.z;\n" 6527 "MUL R0.xy, R0, R0.z;\n" 6528 "MUL R0.xy, R0, c[0];\n" 6529 "TEX R0.x, R0, texture[1], 2D;\n" 6530 "ADD R1.x, -R0, c[5];\n" 6531 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 6532 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6618 6533 "MUL R1, fragment.color.primary, R1.x;\n" 6619 6534 "ADD R2, R1, R0;\n" … … 6625 6540 "!!ARBfp1.0\n" 6626 6541 "PARAM c[6] = { program.local[0..4],\n" 6627 " { 2, 1} };\n"6628 "TEMP R0;\n" 6629 "TEMP R1;\n" 6630 "TEMP R2;\n" 6631 "TEMP R3;\n" 6632 "MUL R0.xyz, fragment.position.y, c[ 1];\n"6633 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"6634 "ADD R0.xyz, R0, c[ 2];\n"6635 "RCP R0.z, R0.z;\n" 6636 "MUL R0.xy, R0, R0.z;\n" 6637 "MUL R0.xy, R0, c[ 3];\n"6638 " MOV R0.y, -R0;\n"6639 " TEX R1.x, R0, texture[1], 2D;\n"6640 "MUL R1, fragment.color.primary, R 1.x;\n"6641 "MUL R0. xy, fragment.position, c[4];\n"6642 "TEX R0, R0 , texture[0], 2D;\n"6542 " { 1, 2 } };\n" 6543 "TEMP R0;\n" 6544 "TEMP R1;\n" 6545 "TEMP R2;\n" 6546 "TEMP R3;\n" 6547 "MUL R0.xyz, fragment.position.y, c[2];\n" 6548 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6549 "ADD R0.xyz, R0, c[3];\n" 6550 "RCP R0.z, R0.z;\n" 6551 "MUL R0.xy, R0, R0.z;\n" 6552 "MUL R0.xy, R0, c[0];\n" 6553 "TEX R0.x, R0, texture[1], 2D;\n" 6554 "ADD R0.x, -R0, c[5];\n" 6555 "MUL R1, fragment.color.primary, R0.x;\n" 6556 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 6557 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6643 6558 "ADD R3.xyz, R1.w, -R1;\n" 6644 6559 "ADD R2.xyz, R0.w, -R0;\n" 6645 6560 "MUL R2.xyz, R2, R3;\n" 6646 "ADD R2.w, -R0, c[5]. y;\n"6647 "MUL R2.xyz, R2, c[5]. x;\n"6561 "ADD R2.w, -R0, c[5].x;\n" 6562 "MUL R2.xyz, R2, c[5].y;\n" 6648 6563 "MAD R2.xyz, R1.w, R0.w, -R2;\n" 6649 6564 "MAD R2.xyz, R1, R2.w, R2;\n" 6650 6565 "MUL R3.xyz, R1, R2.w;\n" 6651 6566 "MUL R1.xyz, R1, R0;\n" 6652 "ADD R2.w, -R1, c[5]. y;\n"6653 "MAD R1.xyz, R1, c[5]. x, R3;\n"6567 "ADD R2.w, -R1, c[5].x;\n" 6568 "MAD R1.xyz, R1, c[5].y, R3;\n" 6654 6569 "MAD R1.xyz, R0, R2.w, R1;\n" 6655 6570 "MAD R2.xyz, R0, R2.w, R2;\n" 6656 "MUL R0.xyz, R0, c[5]. x;\n"6571 "MUL R0.xyz, R0, c[5].y;\n" 6657 6572 "ADD R2.w, R1, R0;\n" 6658 6573 "ADD R2.xyz, R2, -R1;\n" … … 6671 6586 "TEMP R2;\n" 6672 6587 "TEMP R3;\n" 6673 "MUL R0.xyz, fragment.position.y, c[ 1];\n"6674 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"6675 "ADD R0.xyz, R0, c[ 2];\n"6676 "RCP R0.z, R0.z;\n" 6677 "MUL R0.xy, R0, R0.z;\n" 6678 "MUL R0.xy, R0, c[ 3];\n"6679 " MOV R0.y, -R0;\n"6680 " TEX R1.x, R0, texture[1], 2D;\n"6681 "MUL R0. xy, fragment.position, c[4];\n"6682 "TEX R0, R0 , texture[0], 2D;\n"6588 "MUL R0.xyz, fragment.position.y, c[2];\n" 6589 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6590 "ADD R0.xyz, R0, c[3];\n" 6591 "RCP R0.z, R0.z;\n" 6592 "MUL R0.xy, R0, R0.z;\n" 6593 "MUL R0.xy, R0, c[0];\n" 6594 "TEX R0.x, R0, texture[1], 2D;\n" 6595 "ADD R1.x, -R0, c[5];\n" 6596 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 6597 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6683 6598 "MUL R1, fragment.color.primary, R1.x;\n" 6684 6599 "MUL R2.xyz, R1, R0.w;\n" 6685 "MUL R3.xyz, R 0, R1.w;\n"6600 "MUL R3.xyz, R1.w, R0;\n" 6686 6601 "MIN R2.xyz, R2, R3;\n" 6687 6602 "ADD R2.w, -R0, c[5].x;\n" … … 6702 6617 "TEMP R2;\n" 6703 6618 "TEMP R3;\n" 6704 "MUL R0.xyz, fragment.position.y, c[ 1];\n"6705 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"6706 "ADD R0.xyz, R0, c[ 2];\n"6707 "RCP R0.z, R0.z;\n" 6708 "MUL R0.xy, R0, R0.z;\n" 6709 "MUL R0.xy, R0, c[ 3];\n"6710 " MOV R0.y, -R0;\n"6711 " TEX R1.x, R0, texture[1], 2D;\n"6712 "MUL R0. xy, fragment.position, c[4];\n"6713 "TEX R0, R0 , texture[0], 2D;\n"6619 "MUL R0.xyz, fragment.position.y, c[2];\n" 6620 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6621 "ADD R0.xyz, R0, c[3];\n" 6622 "RCP R0.z, R0.z;\n" 6623 "MUL R0.xy, R0, R0.z;\n" 6624 "MUL R0.xy, R0, c[0];\n" 6625 "TEX R0.x, R0, texture[1], 2D;\n" 6626 "ADD R1.x, -R0, c[5];\n" 6627 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 6628 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6714 6629 "MUL R1, fragment.color.primary, R1.x;\n" 6715 6630 "MUL R2.xyz, R1, R0.w;\n" 6716 "MUL R3.xyz, R 0, R1.w;\n"6631 "MUL R3.xyz, R1.w, R0;\n" 6717 6632 "MAX R2.xyz, R2, R3;\n" 6718 6633 "ADD R2.w, -R0, c[5].x;\n" … … 6728 6643 "!!ARBfp1.0\n" 6729 6644 "PARAM c[6] = { program.local[0..4],\n" 6730 " { 1, 1e-06 } };\n" 6731 "TEMP R0;\n" 6732 "TEMP R1;\n" 6733 "TEMP R2;\n" 6734 "TEMP R3;\n" 6735 "MUL R0.xyz, fragment.position.y, c[1];\n" 6736 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 6737 "ADD R0.xyz, R0, c[2];\n" 6738 "RCP R0.z, R0.z;\n" 6739 "MUL R0.xy, R0, R0.z;\n" 6740 "MUL R0.xy, R0, c[3];\n" 6741 "MOV R0.y, -R0;\n" 6645 " { 1, 1e-006 } };\n" 6646 "TEMP R0;\n" 6647 "TEMP R1;\n" 6648 "TEMP R2;\n" 6649 "TEMP R3;\n" 6650 "MUL R0.xyz, fragment.position.y, c[2];\n" 6651 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6652 "ADD R0.xyz, R0, c[3];\n" 6653 "RCP R0.z, R0.z;\n" 6654 "MUL R0.xy, R0, R0.z;\n" 6655 "MUL R0.xy, R0, c[0];\n" 6742 6656 "TEX R0.x, R0, texture[1], 2D;\n" 6657 "ADD R0.x, -R0, c[5];\n" 6743 6658 "MUL R1, fragment.color.primary, R0.x;\n" 6744 6659 "MAX R0.x, R1.w, c[5].y;\n" 6745 6660 "RCP R0.x, R0.x;\n" 6746 "MAD R 0.xyz, -R1, R0.x, c[5].x;\n"6747 "MAX R 2.xyz, R0, c[5].y;\n"6661 "MAD R3.xyz, -R1, R0.x, c[5].x;\n" 6662 "MAX R3.xyz, R3, c[5].y;\n" 6748 6663 "MUL R0.xy, fragment.position, c[4];\n" 6749 6664 "TEX R0, R0, texture[0], 2D;\n" 6750 "ADD R2. w, -R1, c[5].x;\n"6751 "MUL R 3.xyz, R0, R2.w;\n"6665 "ADD R2.x, -R1.w, c[5];\n" 6666 "MUL R2.xyz, R0, R2.x;\n" 6752 6667 "ADD R2.w, -R0, c[5].x;\n" 6753 "MAD R 3.xyz, R1, R2.w, R3;\n"6754 "MUL R0.xyz, R 0, R1.w;\n"6755 "RCP R 2.x, R2.x;\n"6756 "RCP R 2.y, R2.y;\n"6757 "RCP R 2.z, R2.z;\n"6758 "MAD R 2.xyz, R0, R2, R3;\n"6668 "MAD R2.xyz, R1, R2.w, R2;\n" 6669 "MUL R0.xyz, R1.w, R0;\n" 6670 "RCP R3.x, R3.x;\n" 6671 "RCP R3.y, R3.y;\n" 6672 "RCP R3.z, R3.z;\n" 6673 "MAD R3.xyz, R0, R3, R2;\n" 6759 6674 "MAD R0.xyz, R1, R0.w, R0;\n" 6760 "MAD R 3.xyz, R1.w, R0.w, R3;\n"6675 "MAD R2.xyz, R1.w, R0.w, R2;\n" 6761 6676 "MUL R2.w, R1, R0;\n" 6762 6677 "ADD R1.x, R1.w, R0.w;\n" 6763 "ADD R 3.xyz, R3, -R2;\n"6678 "ADD R2.xyz, R2, -R3;\n" 6764 6679 "SGE R0.xyz, R0, R2.w;\n" 6765 "MAD result.color.xyz, R0, R 3, R2;\n"6680 "MAD result.color.xyz, R0, R2, R3;\n" 6766 6681 "MAD result.color.w, -R1, R0, R1.x;\n" 6767 6682 "END\n" … … 6771 6686 "!!ARBfp1.0\n" 6772 6687 "PARAM c[6] = { program.local[0..4],\n" 6773 " { 1, 9.9999997e-0 6 } };\n"6688 " { 1, 9.9999997e-006 } };\n" 6774 6689 "TEMP R0;\n" 6775 6690 "TEMP R1;\n" … … 6778 6693 "TEMP R4;\n" 6779 6694 "TEMP R5;\n" 6780 "MUL R0.xyz, fragment.position.y, c[ 1];\n"6781 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"6782 "ADD R0.xyz, R0, c[ 2];\n"6783 "RCP R0.z, R0.z;\n" 6784 "MUL R0.xy, R0, R0.z;\n" 6785 "MUL R0.xy, R0, c[ 3];\n"6786 " MOV R0.y, -R0;\n"6787 " TEX R1.x, R0, texture[1], 2D;\n"6695 "MUL R0.xyz, fragment.position.y, c[2];\n" 6696 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6697 "ADD R0.xyz, R0, c[3];\n" 6698 "RCP R0.z, R0.z;\n" 6699 "MUL R0.xy, R0, R0.z;\n" 6700 "MUL R0.xy, R0, c[0];\n" 6701 "TEX R0.x, R0, texture[1], 2D;\n" 6702 "ADD R1.x, -R0, c[5];\n" 6788 6703 "MUL R1, fragment.color.primary, R1.x;\n" 6789 "MUL R0. xy, fragment.position, c[4];\n"6790 "TEX R0, R0 , texture[0], 2D;\n"6791 "MUL R2.xyz, R 0, R1.w;\n"6704 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 6705 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6706 "MUL R2.xyz, R1.w, R0;\n" 6792 6707 "MAD R3.xyz, R1, R0.w, R2;\n" 6793 6708 "ADD R2.w, -R0, c[5].x;\n" … … 6802 6717 "MAD R2.xyz, R4, R2, R5;\n" 6803 6718 "MUL R4.xyz, R0, R3.w;\n" 6719 "MAD R0.xyz, R0, R3.w, R2;\n" 6804 6720 "MAD R1.xyz, R1, R2.w, R4;\n" 6805 "ADD R3.w, -R1, c[5].x;\n"6806 "MAD R0.xyz, R0, R3.w, R2;\n"6807 6721 "MUL R2.x, R1.w, R0.w;\n" 6808 6722 "ADD R2.w, R1, R0;\n" … … 6817 6731 "!!ARBfp1.0\n" 6818 6732 "PARAM c[6] = { program.local[0..4],\n" 6819 " { 2, 1} };\n"6733 " { 1, 2 } };\n" 6820 6734 "TEMP R0;\n" 6821 6735 "TEMP R1;\n" … … 6823 6737 "TEMP R3;\n" 6824 6738 "TEMP R4;\n" 6825 "MUL R0.xyz, fragment.position.y, c[ 1];\n"6826 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"6827 "ADD R0.xyz, R0, c[ 2];\n"6828 "RCP R0.z, R0.z;\n" 6829 "MUL R0.xy, R0, R0.z;\n" 6830 "MUL R0.xy, R0, c[ 3];\n"6831 " MOV R0.y, -R0;\n"6832 " TEX R1.x, R0, texture[1], 2D;\n"6833 "MUL R1, fragment.color.primary, R 1.x;\n"6834 "MUL R0. xy, fragment.position, c[4];\n"6835 "TEX R0, R0 , texture[0], 2D;\n"6836 "ADD R2.w, -R0, c[5]. y;\n"6739 "MUL R0.xyz, fragment.position.y, c[2];\n" 6740 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6741 "ADD R0.xyz, R0, c[3];\n" 6742 "RCP R0.z, R0.z;\n" 6743 "MUL R0.xy, R0, R0.z;\n" 6744 "MUL R0.xy, R0, c[0];\n" 6745 "TEX R0.x, R0, texture[1], 2D;\n" 6746 "ADD R0.x, -R0, c[5];\n" 6747 "MUL R1, fragment.color.primary, R0.x;\n" 6748 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 6749 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6750 "ADD R2.w, -R0, c[5].x;\n" 6837 6751 "ADD R3.xyz, R1.w, -R1;\n" 6838 6752 "ADD R2.xyz, R0.w, -R0;\n" 6839 6753 "MUL R2.xyz, R2, R3;\n" 6840 "MUL R2.xyz, R2, c[5]. x;\n"6754 "MUL R2.xyz, R2, c[5].y;\n" 6841 6755 "MAD R2.xyz, R1.w, R0.w, -R2;\n" 6756 "MAD R2.xyz, R1, R2.w, R2;\n" 6842 6757 "MUL R4.xyz, R1, R2.w;\n" 6843 6758 "MUL R3.xyz, R1, R0;\n" 6844 "MAD R2.xyz, R1, R2.w, R2;\n" 6845 "ADD R2.w, -R1, c[5].y;\n" 6846 "MUL R1.xyz, R1, c[5].x;\n" 6847 "MAD R2.xyz, R0, R2.w, R2;\n" 6848 "MAD R3.xyz, R3, c[5].x, R4;\n" 6849 "MAD R0.xyz, R0, R2.w, R3;\n" 6850 "ADD R2.w, R1, R0;\n" 6851 "ADD R2.xyz, R2, -R0;\n" 6759 "MUL R1.xyz, R1, c[5].y;\n" 6760 "ADD R2.w, -R1, c[5].x;\n" 6761 "MAD R3.xyz, R3, c[5].y, R4;\n" 6762 "MAD R3.xyz, R0, R2.w, R3;\n" 6763 "MAD R0.xyz, R0, R2.w, R2;\n" 6764 "ADD R2.x, R1.w, R0.w;\n" 6765 "ADD R0.xyz, R0, -R3;\n" 6852 6766 "SGE R1.xyz, R1, R1.w;\n" 6853 "MAD result.color.xyz, R1, R 2, R0;\n"6854 "MAD result.color.w, -R1, R0, R2 ;\n"6767 "MAD result.color.xyz, R1, R0, R3;\n" 6768 "MAD result.color.w, -R1, R0, R2.x;\n" 6855 6769 "END\n" 6856 6770 ; … … 6859 6773 "!!ARBfp1.0\n" 6860 6774 "PARAM c[7] = { program.local[0..4],\n" 6861 " { 1, 9.9999997e-06, 2, 8},\n"6862 " { 3 } };\n"6775 " { 1, 2, 9.9999997e-006, 4 },\n" 6776 " { 16, 12, 3 } };\n" 6863 6777 "TEMP R0;\n" 6864 6778 "TEMP R1;\n" … … 6867 6781 "TEMP R4;\n" 6868 6782 "TEMP R5;\n" 6869 "MUL R0.xyz, fragment.position.y, c[1];\n" 6870 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 6871 "ADD R1.xyz, R0, c[2];\n" 6872 "RCP R0.z, R1.z;\n" 6873 "MUL R1.xy, R1, R0.z;\n" 6874 "MUL R1.xy, R1, c[3];\n" 6875 "MOV R1.y, -R1;\n" 6783 "TEMP R6;\n" 6784 "MUL R0.xyz, fragment.position.y, c[2];\n" 6785 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6786 "ADD R1.xyz, R0, c[3];\n" 6787 "RCP R1.z, R1.z;\n" 6788 "MUL R1.xy, R1, R1.z;\n" 6789 "MUL R1.xy, R1, c[0];\n" 6790 "TEX R1.x, R1, texture[1], 2D;\n" 6876 6791 "MUL R0.xy, fragment.position, c[4];\n" 6877 6792 "TEX R0, R0, texture[0], 2D;\n" 6878 "MAX R1.z, R0.w, c[5].y;\n" 6879 "RCP R2.w, R1.z;\n" 6880 "MUL R2.xyz, R0, R2.w;\n" 6881 "MUL R5.xyz, -R2, c[5].w;\n" 6882 "MAD R4.xyz, -R0, R2.w, c[5].x;\n" 6883 "TEX R1.x, R1, texture[1], 2D;\n" 6793 "MAX R1.z, R0.w, c[5];\n" 6794 "RCP R1.z, R1.z;\n" 6795 "MUL R3.xyz, R0, R1.z;\n" 6796 "MAD R2.xyz, R3, c[6].x, -c[6].y;\n" 6797 "ADD R1.x, -R1, c[5];\n" 6884 6798 "MUL R1, fragment.color.primary, R1.x;\n" 6885 "MAD R3.xyz, R1, c[5].z, -R1.w;\n" 6886 "RSQ R2.x, R2.x;\n" 6887 "RSQ R2.z, R2.z;\n" 6888 "RSQ R2.y, R2.y;\n" 6889 "MUL R4.xyz, R4, R3;\n" 6890 "ADD R5.xyz, R5, c[6].x;\n" 6891 "MUL R5.xyz, R4, R5;\n" 6892 "ADD R4.xyz, R1.w, -R4;\n" 6893 "RCP R2.x, R2.x;\n" 6894 "RCP R2.z, R2.z;\n" 6895 "RCP R2.y, R2.y;\n" 6896 "MAD R2.xyz, R2, R0.w, -R0;\n" 6897 "MUL R3.xyz, R2, R3;\n" 6898 "ADD R2.xyz, R1.w, -R5;\n" 6899 "MAD R5.xyz, R0, R1.w, R3;\n" 6799 "MAD R4.xyz, R3, R2, c[6].z;\n" 6800 "MAD R2.xyz, R1, c[5].y, -R1.w;\n" 6801 "MUL R5.xyz, R0.w, R2;\n" 6802 "MUL R6.xyz, R5, R4;\n" 6803 "RSQ R2.w, R3.x;\n" 6804 "RCP R4.x, R2.w;\n" 6805 "RSQ R2.w, R3.y;\n" 6806 "RSQ R3.w, R3.z;\n" 6807 "RCP R4.y, R2.w;\n" 6808 "RCP R4.z, R3.w;\n" 6809 "ADD R4.xyz, -R3, R4;\n" 6810 "MUL R6.xyz, R3, R6;\n" 6811 "MUL R4.xyz, R5, R4;\n" 6812 "ADD R3.xyz, -R3, c[5].x;\n" 6813 "MAD R2.xyz, R2, R3, R1.w;\n" 6814 "MUL R3.xyz, R1, c[5].y;\n" 6815 "MAD R5.xyz, R1.w, R0, R6;\n" 6816 "MAD R4.xyz, R1.w, R0, R4;\n" 6817 "ADD R6.xyz, R4, -R5;\n" 6818 "MUL R4.xyz, R0, c[5].w;\n" 6819 "SGE R4.xyz, R4, R0.w;\n" 6820 "MAD R4.xyz, R4, R6, R5;\n" 6821 "MAD R4.xyz, -R0, R2, R4;\n" 6900 6822 "MUL R2.xyz, R0, R2;\n" 6901 "MUL R3.xyz, R0, c[5].w;\n" 6902 "ADD R5.xyz, R5, -R2;\n" 6903 "SGE R3.xyz, R3, R0.w;\n" 6904 "MUL R3.xyz, R3, R5;\n" 6905 "ADD R2.xyz, R2, R3;\n" 6906 "MUL R3.xyz, R0, R4;\n" 6907 "MUL R4.xyz, R1, c[5].z;\n" 6908 "ADD R2.xyz, R2, -R3;\n" 6909 "SGE R4.xyz, R4, R1.w;\n" 6910 "MUL R2.xyz, R4, R2;\n" 6911 "ADD R2.xyz, R3, R2;\n" 6823 "SGE R3.xyz, R3, R1.w;\n" 6824 "MAD R2.xyz, R3, R4, R2;\n" 6912 6825 "ADD R2.w, -R0, c[5].x;\n" 6913 "MAD R 1.xyz, R1, R2.w, R2;\n"6914 "ADD R 2.x, R1.w, R0.w;\n"6915 "ADD R 2.y, -R1.w, c[5].x;\n"6916 "MAD result.color.xyz, R0, R 2.y, R1;\n"6917 "MAD result.color.w, -R1, R0, R 2.x;\n"6826 "MAD R2.xyz, R1, R2.w, R2;\n" 6827 "ADD R1.x, R1.w, R0.w;\n" 6828 "ADD R1.y, -R1.w, c[5].x;\n" 6829 "MAD result.color.xyz, R0, R1.y, R2;\n" 6830 "MAD result.color.w, -R1, R0, R1.x;\n" 6918 6831 "END\n" 6919 6832 ; … … 6922 6835 "!!ARBfp1.0\n" 6923 6836 "PARAM c[6] = { program.local[0..4],\n" 6924 " { 2 } };\n" 6925 "TEMP R0;\n" 6926 "TEMP R1;\n" 6927 "TEMP R2;\n" 6928 "TEMP R3;\n" 6929 "MUL R0.xyz, fragment.position.y, c[1];\n" 6930 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 6931 "ADD R0.xyz, R0, c[2];\n" 6932 "RCP R0.z, R0.z;\n" 6933 "MUL R0.xy, R0, R0.z;\n" 6934 "MUL R0.xy, R0, c[3];\n" 6935 "MOV R0.y, -R0;\n" 6936 "TEX R1.x, R0, texture[1], 2D;\n" 6937 "MUL R0.xy, fragment.position, c[4];\n" 6837 " { 1, 2 } };\n" 6838 "TEMP R0;\n" 6839 "TEMP R1;\n" 6840 "TEMP R2;\n" 6841 "TEMP R3;\n" 6842 "MUL R0.xyz, fragment.position.y, c[2];\n" 6843 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6844 "ADD R0.xyz, R0, c[3];\n" 6845 "RCP R0.z, R0.z;\n" 6846 "MUL R0.xy, R0, R0.z;\n" 6847 "MUL R0.xy, R0, c[0];\n" 6848 "TEX R0.x, R0, texture[1], 2D;\n" 6849 "ADD R1.x, -R0, c[5];\n" 6850 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 6851 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6938 6852 "MUL R1, fragment.color.primary, R1.x;\n" 6939 "TEX R0, R0, texture[0], 2D;\n" 6940 "MUL R3.xyz, R0, R1.w;\n" 6853 "MUL R3.xyz, R1.w, R0;\n" 6941 6854 "MUL R2.xyz, R1, R0.w;\n" 6942 6855 "ADD R0.xyz, R1, R0;\n" 6943 6856 "MIN R2.xyz, R2, R3;\n" 6944 6857 "ADD R1.x, R1.w, R0.w;\n" 6945 "MAD result.color.xyz, -R2, c[5]. x, R0;\n"6858 "MAD result.color.xyz, -R2, c[5].y, R0;\n" 6946 6859 "MAD result.color.w, -R1, R0, R1.x;\n" 6947 6860 "END\n" … … 6956 6869 "TEMP R2;\n" 6957 6870 "TEMP R3;\n" 6958 "MUL R0.xyz, fragment.position.y, c[ 1];\n"6959 "MAD R0.xyz, fragment.position.x, c[ 0], R0;\n"6960 "ADD R0.xyz, R0, c[ 2];\n"6961 "RCP R0.z, R0.z;\n" 6962 "MUL R0.xy, R0, R0.z;\n" 6963 "MUL R0.xy, R0, c[ 3];\n"6964 " MOV R0.y, -R0;\n"6965 " TEX R1.x, R0, texture[1], 2D;\n"6966 "MUL R0. xy, fragment.position, c[4];\n"6967 "TEX R0, R0 , texture[0], 2D;\n"6871 "MUL R0.xyz, fragment.position.y, c[2];\n" 6872 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6873 "ADD R0.xyz, R0, c[3];\n" 6874 "RCP R0.z, R0.z;\n" 6875 "MUL R0.xy, R0, R0.z;\n" 6876 "MUL R0.xy, R0, c[0];\n" 6877 "TEX R0.x, R0, texture[1], 2D;\n" 6878 "ADD R1.x, -R0, c[5];\n" 6879 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" 6880 "TEX R0, R0.zwzw, texture[0], 2D;\n" 6968 6881 "MUL R1, fragment.color.primary, R1.x;\n" 6969 "MUL R2.xyz, R 0, R1.w;\n"6882 "MUL R2.xyz, R1.w, R0;\n" 6970 6883 "MAD R3.xyz, R1, R0.w, R2;\n" 6971 6884 "MUL R2.xyz, R1, R0;\n" … … 6982 6895 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODE_BLEND_MODE_MASK = 6983 6896 "!!ARBfp1.0\n" 6984 "PARAM c[7] = { program.local[0..6] };\n" 6985 "TEMP R0;\n" 6986 "TEMP R1;\n" 6987 "MUL R0.xyz, fragment.position.y, c[1];\n" 6988 "MAD R0.xyz, fragment.position.x, c[0], R0;\n" 6989 "ADD R1.xyz, R0, c[2];\n" 6990 "RCP R0.z, R1.z;\n" 6991 "MUL R0.zw, R1.xyxy, R0.z;\n" 6992 "MUL R1.xy, R0.zwzw, c[3];\n" 6993 "MOV R1.y, -R1;\n" 6994 "ADD R0.xy, fragment.position, c[4];\n" 6995 "MUL R0.xy, R0, c[5];\n" 6897 "PARAM c[8] = { program.local[0..6],\n" 6898 " { 1 } };\n" 6899 "TEMP R0;\n" 6900 "TEMP R1;\n" 6901 "MUL R0.xyz, fragment.position.y, c[2];\n" 6902 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6903 "ADD R0.xyz, R0, c[3];\n" 6904 "RCP R0.z, R0.z;\n" 6905 "MUL R0.zw, R0.xyxy, R0.z;\n" 6906 "MUL R0.zw, R0, c[0].xyxy;\n" 6907 "TEX R1.x, R0.zwzw, texture[1], 2D;\n" 6908 "ADD R0.xy, fragment.position, c[5];\n" 6909 "MUL R0.xy, R0, c[4];\n" 6996 6910 "TEX R0, R0, texture[0], 2D;\n" 6997 " TEX R1.x, R1, texture[1], 2D;\n"6998 " DP4 R0.x, R0, c[6];\n"6999 "MUL R 1, fragment.color.primary, R1.x;\n"7000 "MUL result.color, R 1, R0.x;\n"6911 "DP4 R1.y, R0, c[6];\n" 6912 "ADD R1.x, -R1, c[7];\n" 6913 "MUL R0, fragment.color.primary, R1.x;\n" 6914 "MUL result.color, R0, R1.y;\n" 7001 6915 "END\n" 7002 6916 ; … … 7004 6918 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODE_BLEND_MODE_NOMASK = 7005 6919 "!!ARBfp1.0\n" 7006 "PARAM c[ 4] = { program.local[0..3] };\n"7007 " TEMP R0;\n"7008 " MUL R0.xyz, fragment.position.y, c[1];\n"7009 "M AD R0.xyz, fragment.position.x, c[0], R0;\n"7010 " ADD R0.xyz, R0, c[2];\n"7011 " RCP R0.z, R0.z;\n"7012 " MUL R0.xy, R0, R0.z;\n"7013 "MUL R0.xy, R0, c[3];\n"7014 "M OV R0.y, -R0;\n"6920 "PARAM c[5] = { program.local[0..3],\n" 6921 " { 1 } };\n" 6922 "TEMP R0;\n" 6923 "MUL R0.xyz, fragment.position.y, c[2];\n" 6924 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" 6925 "ADD R0.xyz, R0, c[3];\n" 6926 "RCP R0.z, R0.z;\n" 6927 "MUL R0.xy, R0, R0.z;\n" 6928 "MUL R0.xy, R0, c[0];\n" 7015 6929 "TEX R0.x, R0, texture[0], 2D;\n" 6930 "ADD R0.x, -R0, c[4];\n" 7016 6931 "MUL result.color, fragment.color.primary, R0.x;\n" 7017 6932 "END\n" … … 7196 7111 static int painter_variable_locations[num_fragment_brushes][num_fragment_composition_modes][num_fragment_variables] = { 7197 7112 { 7198 { -1, -1, -1, 1, -1, 6, 2, -1, 5, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7199 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7200 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7201 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7202 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7203 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7204 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7205 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7206 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7207 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7208 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7209 { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },7210 { -1, -1, -1, -1, -1, 3, -1, -1, 2, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, },7113 { -1, -1, -1, 2, -1, 0, 5, -1, 1, 3, 1, 0, -1, 4, -1, -1, -1, -1, -1, }, 7114 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7115 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7116 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7117 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7118 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7119 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7120 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7121 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7122 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7123 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7124 { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, }, 7125 { -1, -1, -1, -1, -1, 0, -1, -1, 1, 2, -1, 0, -1, -1, -1, -1, -1, -1, -1, }, 7211 7126 { -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, }, 7212 7127 { -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, }, … … 7220 7135 { -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, }, 7221 7136 { -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, }, 7222 { -1, -1, -1, 1, -1, -1, 2, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, },7137 { -1, -1, -1, 0, -1, -1, 2, -1, -1, -1, 0, -1, -1, 1, -1, -1, -1, -1, -1, }, 7223 7138 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, 7224 7139 }, 7225 7140 { 7226 { -1, -1, 4, 1, 5, 11, 2, -1, 10, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7227 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7228 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7229 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7230 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7231 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7232 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7233 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7234 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7235 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7236 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7237 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },7238 { -1, -1, 1, -1, 2, 8, -1, -1, 7, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7239 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7240 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7241 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7242 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7243 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7244 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7245 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7246 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7247 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7248 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7249 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },7250 { -1, -1, 1, 7, 2, -1, 8, -1, -1, -1, 0, -1, 1, 6, -1, 5, 3, 0, -1, },7251 { -1, -1, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 5, 3, 0, -1, },7141 { -1, -1, 3, 7, 4, 5, 10, -1, 6, 8, 1, 0, 2, 9, -1, 1, 0, 2, -1, }, 7142 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7143 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7144 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7145 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7146 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7147 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7148 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7149 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7150 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7151 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7152 { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, }, 7153 { -1, -1, 3, -1, 4, 5, -1, -1, 6, 7, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7154 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7155 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7156 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7157 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7158 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7159 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7160 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7161 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7162 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7163 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7164 { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, }, 7165 { -1, -1, 3, 5, 4, -1, 7, -1, -1, -1, 0, -1, 1, 6, -1, 1, 0, 2, -1, }, 7166 { -1, -1, 3, -1, 4, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 1, 0, 2, -1, }, 7252 7167 }, 7253 7168 { 7254 { -1, -1, 4, 1, 5, 12, 2, -1, 11, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7255 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7256 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7257 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7258 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7259 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7260 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7261 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7262 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7263 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7264 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7265 { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },7266 { -1, -1, 1, -1, 2, 9, -1, -1, 8, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7267 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7268 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7269 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7270 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7271 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7272 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7273 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7274 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7275 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7276 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7277 { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },7278 { -1, -1, 1, 8, 2, -1, 9, -1, -1, -1, 0, -1, 1, 7, -1, -1, -1, 0, 5, },7279 { -1, -1, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 5, },7169 { -1, -1, 2, 6, 3, 4, 9, -1, 5, 7, 1, 0, 2, 8, -1, -1, -1, 1, 0, }, 7170 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7171 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7172 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7173 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7174 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7175 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7176 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7177 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7178 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7179 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7180 { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, }, 7181 { -1, -1, 2, -1, 3, 4, -1, -1, 5, 6, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7182 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7183 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7184 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7185 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7186 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7187 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7188 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7189 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7190 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7191 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7192 { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, }, 7193 { -1, -1, 2, 4, 3, -1, 6, -1, -1, -1, 0, -1, 1, 5, -1, -1, -1, 1, 0, }, 7194 { -1, -1, 2, -1, 3, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 1, 0, }, 7280 7195 }, 7281 7196 { 7282 { -1, 6, 4, 1, 5, 10, 2, -1, 9, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7283 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7284 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7285 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7286 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7287 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7288 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7289 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7290 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7291 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7292 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7293 { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },7294 { -1, 3, 1, -1, 2, 7, -1, -1, 6, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7295 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7296 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7297 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7298 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7299 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7300 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7301 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7302 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7303 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7304 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7305 { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },7306 { -1, 3, 1, 5, 2, -1, 6, -1, -1, -1, 0, -1, 1, 4, -1, -1, -1, 0, -1, },7307 { -1, 3, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, },7197 { -1, 0, 2, 6, 3, 4, 9, -1, 5, 7, 1, 0, 2, 8, -1, -1, -1, 1, -1, }, 7198 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7199 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7200 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7201 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7202 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7203 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7204 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7205 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7206 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7207 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7208 { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, }, 7209 { -1, 0, 2, -1, 3, 4, -1, -1, 5, 6, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7210 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7211 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7212 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7213 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7214 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7215 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7216 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7217 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7218 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7219 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7220 { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, }, 7221 { -1, 0, 2, 4, 3, -1, 6, -1, -1, -1, 0, -1, 1, 5, -1, -1, -1, 1, -1, }, 7222 { -1, 0, 2, -1, 3, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 1, -1, }, 7308 7223 }, 7309 7224 { 7310 { 2, -1, 4, 1, 5, 10, 2, -1, 9, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7311 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7312 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7313 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7314 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7315 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7316 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7317 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7318 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7319 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7320 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7321 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7322 { 1, -1, 1, -1, 2, 7, -1, -1, 6, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7323 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7324 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7325 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7326 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7327 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7328 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7329 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7330 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7331 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7332 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7333 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7334 { 1, -1, 1, 5, 2, -1, 6, -1, -1, -1, 0, -1, -1, 4, 3, -1, -1, 0, -1, },7335 { 0, -1, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, 0, -1, },7225 { 2, -1, 2, 6, 3, 4, 9, -1, 5, 7, 1, 0, -1, 8, 0, -1, -1, 1, -1, }, 7226 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7227 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7228 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7229 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7230 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7231 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7232 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7233 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7234 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7235 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7236 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7237 { 1, -1, 2, -1, 3, 4, -1, -1, 5, 6, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7238 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7239 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7240 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7241 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7242 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7243 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7244 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7245 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7246 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7247 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7248 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7249 { 1, -1, 2, 4, 3, -1, 6, -1, -1, -1, 0, -1, -1, 5, 0, -1, -1, 1, -1, }, 7250 { 0, -1, 2, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 1, -1, }, 7336 7251 }, 7337 7252 { 7338 { 2, -1, 4, 1, 5, 10, 2, -1, 9, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7339 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7340 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7341 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7342 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7343 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7344 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7345 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7346 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7347 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7348 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7349 { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },7350 { 1, -1, 1, -1, 2, 7, -1, -1, 6, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7351 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7352 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7353 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7354 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7355 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7356 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7357 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7358 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7359 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7360 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7361 { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },7362 { 1, -1, 1, 5, 2, -1, 6, -1, -1, -1, 0, -1, -1, 4, 3, -1, -1, 0, -1, },7363 { 0, -1, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, 0, -1, },7253 { 2, -1, 2, 6, 3, 4, 9, -1, 5, 7, 1, 0, -1, 8, 0, -1, -1, 1, -1, }, 7254 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7255 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7256 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7257 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7258 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7259 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7260 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7261 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7262 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7263 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7264 { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, }, 7265 { 1, -1, 2, -1, 3, 4, -1, -1, 5, 6, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7266 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7267 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7268 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7269 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7270 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7271 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7272 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7273 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7274 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7275 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7276 { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, }, 7277 { 1, -1, 2, 4, 3, -1, 6, -1, -1, -1, 0, -1, -1, 5, 0, -1, -1, 1, -1, }, 7278 { 0, -1, 2, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 1, -1, }, 7364 7279 }, 7365 7280 }; … … 7367 7282 static int mask_variable_locations[num_fragment_masks][num_fragment_variables] = { 7368 7283 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, 7369 { -1, -1, 2, -1, 3, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, },7284 { -1, -1, 1, -1, 2, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, }, 7370 7285 }; 7371 7286
Note:
See TracChangeset
for help on using the changeset viewer.