summaryrefslogtreecommitdiffstats
path: root/src/opengl/util/fragmentprograms_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/opengl/util/fragmentprograms_p.h')
-rw-r--r--src/opengl/util/fragmentprograms_p.h6862
1 files changed, 3364 insertions, 3498 deletions
diff --git a/src/opengl/util/fragmentprograms_p.h b/src/opengl/util/fragmentprograms_p.h
index 6febb06..07640c3 100644
--- a/src/opengl/util/fragmentprograms_p.h
+++ b/src/opengl/util/fragmentprograms_p.h
@@ -1,30 +1,7 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtOpenGL module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
** additional rights. These rights are described in the Nokia Qt LGPL
** Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
@@ -34,24 +11,9 @@
**
**
**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
#ifndef FRAGMENTPROGRAMS_H
#define FRAGMENTPROGRAMS_H
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
enum FragmentVariable {
VAR_BRUSH_TEXTURE,
VAR_LINEAR,
@@ -133,55 +95,55 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_MASK_TRAPEZOID_AA =
"TEMP R4;\n"
"ADD R4.x, fragment.position, c[0];\n"
"ADD R0.y, fragment.position, -c[0].x;\n"
- "MAX R2.x, R0.y, fragment.texcoord[0].y;\n"
+ "MAX R3.w, fragment.texcoord[0].y, R0.y;\n"
"ADD R0.x, fragment.position.y, c[0];\n"
- "MIN R2.y, R0.x, fragment.texcoord[0].x;\n"
- "ADD R3.x, fragment.position, -c[0];\n"
+ "MIN R3.z, R0.x, fragment.texcoord[0].x;\n"
+ "ADD R2.z, fragment.position.x, -c[0].x;\n"
+ "MOV R0.yw, R3.w;\n"
+ "MOV R0.xz, R3.z;\n"
+ "MAD R1, fragment.texcoord[1].xxzz, R0, fragment.texcoord[1].yyww;\n"
+ "MAD R1.zw, fragment.position.x, c[0].y, -R1;\n"
+ "MOV R0.z, R1.x;\n"
+ "MOV R0.w, R1.z;\n"
+ "MOV R0.y, R1.w;\n"
+ "MOV R0.x, R1.y;\n"
+ "MIN R2.xy, R0.zwzw, R0;\n"
+ "SGE R1.xy, R0, R0.zwzw;\n"
"ADD R1.zw, -fragment.texcoord[0], -fragment.texcoord[0];\n"
- "MOV R3.y, R4.x;\n"
- "MOV R0.yw, R2.x;\n"
- "MOV R0.xz, R2.y;\n"
- "MAD R0, fragment.texcoord[1].xxzz, R0, fragment.texcoord[1].yyww;\n"
- "MAD R1.xy, fragment.position.x, c[0].y, -R0.zwzw;\n"
- "MOV R0.w, R1.x;\n"
- "MOV R1.x, R0.y;\n"
- "MOV R0.z, R0.x;\n"
- "SGE R2.zw, R1.xyxy, R0;\n"
- "MAX R0.xy, R0.zwzw, R1;\n"
- "MIN R0.zw, R0, R1.xyxy;\n"
- "MAD R2.zw, R2, R1, fragment.texcoord[0];\n"
- "ADD R1, R3.xyxy, -R0.zzww;\n"
- "MAD R1, R1, R2.zzww, R2.x;\n"
- "ADD R3.zw, R0.xyxy, R0;\n"
- "ADD R3.y, R2, -R2.x;\n"
- "ADD R2.zw, R1.xyyw, -R2.x;\n"
- "ADD R4.zw, R4.x, -R0;\n"
- "MUL R2.zw, R4, R2;\n"
- "ADD R4.zw, R1.xyyw, R1.xyxz;\n"
- "ADD R1.xz, R2.y, -R1;\n"
- "MAD R2.zw, -R2, c[0].x, R3.y;\n"
- "MAD R3.zw, R3, c[0].x, -R3.x;\n"
- "MAD R3.zw, R3, R3.y, -R2;\n"
- "ADD R1.y, R4.x, -R3.x;\n"
- "MAD R4.zw, -R4, c[0].x, R2.y;\n"
- "MUL R4.zw, R4, R1.y;\n"
- "ADD R1.yw, R0.xxzy, -R3.x;\n"
- "MUL R1.xy, R1.xzzw, R1.ywzw;\n"
- "MAD R1.zw, R1.xyxy, c[0].x, -R4;\n"
- "SGE R1.xy, R4.x, R0;\n"
- "MUL R1.zw, R1.xyxy, R1;\n"
- "MAD R1.xy, R1, R3.zwzw, R2.zwzw;\n"
- "SGE R2.zw, R3.x, R0;\n"
- "ADD R1.zw, R4, R1;\n"
- "ADD R1.zw, R1, -R1.xyxy;\n"
- "MAD R1.xy, R2.zwzw, R1.zwzw, R1;\n"
- "ADD R1.xy, R1, -R3.y;\n"
- "SGE R0.zw, R4.x, R0;\n"
- "MAD R0.zw, R0, R1.xyxy, R3.y;\n"
- "SGE R0.xy, R0, R3.x;\n"
+ "MAX R0.xy, R0.zwzw, R0;\n"
+ "MAD R3.xy, R1, R1.zwzw, fragment.texcoord[0].zwzw;\n"
+ "MOV R2.w, R4.x;\n"
+ "ADD R1, -R2.xxyy, R2.zwzw;\n"
+ "MAD R1, R1, R3.xxyy, R3.w;\n"
+ "ADD R3.xy, R1.ywzw, R1.xzzw;\n"
+ "ADD R4.zw, R3.z, -R1.xyxz;\n"
+ "ADD R1.zw, -R3.w, R1.xyyw;\n"
+ "ADD R1.xy, R4.x, -R2;\n"
+ "MUL R1.xy, R1, R1.zwzw;\n"
+ "MAD R3.xy, -R3, c[0].x, R3.z;\n"
+ "ADD R2.w, R4.x, -R2.z;\n"
+ "MUL R0.zw, R3.xyxy, R2.w;\n"
+ "ADD R2.w, R3.z, -R3;\n"
+ "ADD R3.xy, -R2.z, R0;\n"
+ "MUL R3.xy, R4.zwzw, R3;\n"
+ "ADD R4.zw, R2.xyxy, R0.xyxy;\n"
+ "MAD R1.zw, R4, c[0].x, -R2.z;\n"
+ "MAD R1.xy, -R1, c[0].x, R2.w;\n"
+ "MAD R4.zw, R2.w, R1, -R1.xyxy;\n"
+ "SGE R1.zw, R4.x, R0.xyxy;\n"
+ "MAD R3.xy, R3, c[0].x, -R0.zwzw;\n"
+ "MAD R1.xy, R1.zwzw, R4.zwzw, R1;\n"
+ "MAD R0.zw, R1, R3.xyxy, R0;\n"
+ "ADD R1.zw, R0, -R1.xyxy;\n"
+ "SGE R0.zw, R2.z, R2.xyxy;\n"
+ "MAD R0.zw, R0, R1, R1.xyxy;\n"
+ "ADD R0.zw, -R2.w, R0;\n"
+ "SGE R1.xy, R4.x, R2;\n"
+ "MAD R0.zw, R1.xyxy, R0, R2.w;\n"
+ "SGE R0.xy, R0, R2.z;\n"
"MUL R0.xy, R0.zwzw, R0;\n"
- "ADD R0.x, R3.y, -R0;\n"
- "SGE R0.z, R2.y, R2.x;\n"
+ "ADD R0.x, R2.w, -R0;\n"
+ "SGE R0.z, R3, R3.w;\n"
"ADD R0.x, R0, -R0.y;\n"
"MUL result.color, R0.x, R0.z;\n"
"END\n"
@@ -195,20 +157,20 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_MASK_ELLIPSE_AA =
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R1.xyz, R0.y, c[2];\n"
- "MAD R0.xyz, R0.x, c[1], R1;\n"
- "ADD R0.xyz, R0, c[3];\n"
+ "ADD R0.xy, fragment.position, c[3];\n"
+ "MUL R1.xyz, R0.y, c[1];\n"
+ "MAD R0.xyz, R0.x, c[0], R1;\n"
+ "ADD R0.xyz, R0, c[2];\n"
"RCP R2.z, R0.z;\n"
- "MUL R0.zw, R0.xyxy, R2.z;\n"
- "MUL R2.xy, R0.zwzw, fragment.texcoord[0];\n"
- "MOV R1.xy, c[1];\n"
- "MOV R1.zw, c[2].xyxy;\n"
- "MOV R0.x, c[1].z;\n"
- "MOV R0.y, c[2].z;\n"
- "MAD R0, -R0.xyxy, R0.zzww, R1.xzyw;\n"
+ "MUL R1.zw, R0.xyxy, R2.z;\n"
+ "MUL R2.xy, R1.zwzw, fragment.texcoord[0];\n"
+ "MOV R1.x, c[0].z;\n"
+ "MOV R1.y, c[1].z;\n"
+ "MOV R0.xy, c[0];\n"
+ "MOV R0.zw, c[1].xyxy;\n"
+ "MAD R0, R1.zzww, -R1.xyxy, R0.xzyw;\n"
"MUL R1.xy, R2, fragment.texcoord[0];\n"
- "MUL R0, R0, R2.z;\n"
+ "MUL R0, R2.z, R0;\n"
"MUL R1.xy, R1, c[4].x;\n"
"MUL R1.zw, R1.xyxy, R0.xyxz;\n"
"MUL R0.xy, R1, R0.ywzw;\n"
@@ -230,36 +192,34 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_MASK_ELLIPSE_AA =
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SIMPLE_PORTER_DUFF =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 1 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"MUL R0.xy, fragment.position, c[3];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MUL R0.xyz, R1, c[6].y;\n"
- "MUL R2.xyz, R0, fragment.color.primary.w;\n"
- "MUL R0.xyz, fragment.color.primary, c[6].x;\n"
- "MAD R2.xyz, R0, R1.w, R2;\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "ADD R0.w, -R1, c[4].x;\n"
- "MUL R0.xyz, fragment.color.primary, c[5].y;\n"
- "MAD R2.xyz, R0, R0.w, R2;\n"
- "MUL R0.xyz, R1, c[5].z;\n"
- "ADD R0.w, -fragment.color.primary, c[4].x;\n"
- "MAD R2.xyz, R0, R0.w, R2;\n"
- "ADD R0.y, -R1.w, c[4].x;\n"
- "MUL R0.x, fragment.color.primary.w, R1.w;\n"
- "MUL R0.y, fragment.color.primary.w, R0;\n"
- "MUL R0.z, R1.w, R0.w;\n"
- "DP3 R2.w, R0, c[5];\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1.xyz, R0, c[0].y;\n"
+ "MUL R2.xyz, fragment.color.primary.w, R1;\n"
+ "MUL R1.xyz, fragment.color.primary, c[0].x;\n"
+ "MAD R2.xyz, R0.w, R1, R2;\n"
+ "ADD R3.xy, fragment.position, c[4];\n"
+ "ADD R1.w, -R0, c[6].x;\n"
+ "MUL R1.xyz, fragment.color.primary, c[1].y;\n"
+ "MAD R2.xyz, R1.w, R1, R2;\n"
+ "MUL R1.xyz, R0, c[1].z;\n"
+ "ADD R2.w, -fragment.color.primary, c[6].x;\n"
+ "MAD R2.xyz, R2.w, R1, R2;\n"
+ "MUL R1.z, R0.w, R2.w;\n"
+ "MUL R1.x, fragment.color.primary.w, R0.w;\n"
+ "MUL R1.y, fragment.color.primary.w, R1.w;\n"
+ "DP3 R2.w, R1, c[1];\n"
+ "MUL R3.xy, R3, c[2];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[5];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -270,21 +230,21 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "ADD R0.x, -R1.w, c[4];\n"
- "MUL R0.xyz, fragment.color.primary, R0.x;\n"
- "MAD R0.xyz, fragment.color.primary, R1, R0;\n"
- "ADD R0.w, -fragment.color.primary, c[4].x;\n"
- "MAD R2.xyz, R1, R0.w, R0;\n"
- "ADD R0.z, fragment.color.primary.w, R1.w;\n"
- "MAD R2.w, -fragment.color.primary, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "ADD R1.x, -R0.w, c[4];\n"
+ "MUL R1.xyz, fragment.color.primary, R1.x;\n"
+ "MAD R1.xyz, fragment.color.primary, R0, R1;\n"
+ "ADD R1.w, -fragment.color.primary, c[4].x;\n"
+ "MAD R2.xyz, R0, R1.w, R1;\n"
+ "ADD R1.z, fragment.color.primary.w, R0.w;\n"
+ "MAD R2.w, -fragment.color.primary, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[2];\n"
+ "MUL R1.xy, R1, c[0];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[3];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -294,16 +254,16 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "ADD R2, fragment.color.primary, R1;\n"
- "MUL R0.xy, R0, c[1];\n"
- "MAD R2, -fragment.color.primary, R1, R2;\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "ADD R1.xy, fragment.position, c[2];\n"
+ "ADD R2, fragment.color.primary, R0;\n"
+ "MUL R1.xy, R1, c[0];\n"
+ "MAD R2, -fragment.color.primary, R0, R2;\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[3];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -315,7 +275,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
"TEX R1, R0, texture[0], 2D;\n"
"ADD R0.w, -R1, c[4].y;\n"
"MUL R3.xyz, fragment.color.primary, R0.w;\n"
@@ -336,11 +296,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"MAD R2.xyz, R0, R3, R2;\n"
"ADD R0.z, fragment.color.primary.w, R1.w;\n"
"MAD R2.w, -fragment.color.primary, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[2];\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[3];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -352,23 +312,23 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MUL R2.xyz, R1, fragment.color.primary.w;\n"
- "MUL R0.xyz, fragment.color.primary, R1.w;\n"
- "MIN R0.xyz, R0, R2;\n"
- "ADD R0.w, -R1, c[4].x;\n"
- "MAD R0.xyz, fragment.color.primary, R0.w, R0;\n"
- "ADD R0.w, -fragment.color.primary, c[4].x;\n"
- "MAD R2.xyz, R1, R0.w, R0;\n"
- "ADD R0.z, fragment.color.primary.w, R1.w;\n"
- "MAD R2.w, -fragment.color.primary, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R2.xyz, fragment.color.primary.w, R0;\n"
+ "MUL R1.xyz, fragment.color.primary, R0.w;\n"
+ "MIN R1.xyz, R1, R2;\n"
+ "ADD R1.w, -R0, c[4].x;\n"
+ "MAD R1.xyz, fragment.color.primary, R1.w, R1;\n"
+ "ADD R1.w, -fragment.color.primary, c[4].x;\n"
+ "MAD R2.xyz, R0, R1.w, R1;\n"
+ "ADD R1.z, fragment.color.primary.w, R0.w;\n"
+ "MAD R2.w, -fragment.color.primary, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[2];\n"
+ "MUL R1.xy, R1, c[0];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[3];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -379,35 +339,35 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MUL R2.xyz, R1, fragment.color.primary.w;\n"
- "MUL R0.xyz, fragment.color.primary, R1.w;\n"
- "MAX R0.xyz, R0, R2;\n"
- "ADD R0.w, -R1, c[4].x;\n"
- "MAD R0.xyz, fragment.color.primary, R0.w, R0;\n"
- "ADD R0.w, -fragment.color.primary, c[4].x;\n"
- "MAD R2.xyz, R1, R0.w, R0;\n"
- "ADD R0.z, fragment.color.primary.w, R1.w;\n"
- "MAD R2.w, -fragment.color.primary, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R2.xyz, fragment.color.primary.w, R0;\n"
+ "MUL R1.xyz, fragment.color.primary, R0.w;\n"
+ "MAX R1.xyz, R1, R2;\n"
+ "ADD R1.w, -R0, c[4].x;\n"
+ "MAD R1.xyz, fragment.color.primary, R1.w, R1;\n"
+ "ADD R1.w, -fragment.color.primary, c[4].x;\n"
+ "MAD R2.xyz, R0, R1.w, R1;\n"
+ "ADD R1.z, fragment.color.primary.w, R0.w;\n"
+ "MAD R2.w, -fragment.color.primary, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[2];\n"
+ "MUL R1.xy, R1, c[0];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[3];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_COLORDODGE =
"!!ARBfp1.0\n"
"PARAM c[5] = { program.local[0..3],\n"
- " { 1, 1e-06 } };\n"
+ " { 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
"TEX R0, R0, texture[0], 2D;\n"
"ADD R1.y, -fragment.color.primary.w, c[4].x;\n"
"MAX R1.x, fragment.color.primary.w, c[4].y;\n"
@@ -417,7 +377,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"RCP R1.x, R1.x;\n"
"MAD R1.xyz, -fragment.color.primary, R1.x, c[4].x;\n"
"MAX R1.xyz, R1, c[4].y;\n"
- "MUL R2.xyz, R0, fragment.color.primary.w;\n"
+ "MUL R2.xyz, fragment.color.primary.w, R0;\n"
"MUL R1.w, fragment.color.primary, R0;\n"
"RCP R1.x, R1.x;\n"
"RCP R1.y, R1.y;\n"
@@ -430,11 +390,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"MAD R2.xyz, R2, R3, R1;\n"
"ADD R1.z, fragment.color.primary.w, R0.w;\n"
"MAD R2.w, -fragment.color.primary, R0, R1.z;\n"
- "ADD R1.xy, fragment.position, c[0];\n"
- "MUL R1.xy, R1, c[1];\n"
+ "ADD R1.xy, fragment.position, c[2];\n"
+ "MUL R1.xy, R1, c[0];\n"
"TEX R1, R1, texture[1], 2D;\n"
"ADD R2, R2, -R0;\n"
- "DP4 R1.x, R1, c[2];\n"
+ "DP4 R1.x, R1, c[3];\n"
"MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -442,29 +402,28 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_COLORBURN =
"!!ARBfp1.0\n"
"PARAM c[5] = { program.local[0..3],\n"
- " { 1, 9.9999997e-06 } };\n"
+ " { 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
"TEX R0, R0, texture[0], 2D;\n"
"ADD R1.w, -R0, c[4].x;\n"
- "MUL R1.xyz, R0, fragment.color.primary.w;\n"
+ "MUL R1.xyz, fragment.color.primary.w, R0;\n"
"MAD R2.xyz, fragment.color.primary, R0.w, R1;\n"
"MAD R1.xyz, -fragment.color.primary.w, R0.w, R2;\n"
"MUL R3.xyz, fragment.color.primary.w, R1;\n"
"MAX R1.xyz, fragment.color.primary, c[4].y;\n"
+ "ADD R2.w, -fragment.color.primary, c[4].x;\n"
"MUL R4.xyz, fragment.color.primary, R1.w;\n"
"RCP R1.x, R1.x;\n"
"RCP R1.y, R1.y;\n"
"RCP R1.z, R1.z;\n"
"MAD R3.xyz, R3, R1, R4;\n"
- "ADD R2.w, -fragment.color.primary, c[4].x;\n"
"MUL R1.xyz, R0, R2.w;\n"
"MAD R1.xyz, fragment.color.primary, R1.w, R1;\n"
- "ADD R2.w, -fragment.color.primary, c[4].x;\n"
"MAD R3.xyz, R0, R2.w, R3;\n"
"MUL R1.w, fragment.color.primary, R0;\n"
"ADD R3.xyz, R3, -R1;\n"
@@ -472,11 +431,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"MAD R2.xyz, R2, R3, R1;\n"
"ADD R1.z, fragment.color.primary.w, R0.w;\n"
"MAD R2.w, -fragment.color.primary, R0, R1.z;\n"
- "ADD R1.xy, fragment.position, c[0];\n"
- "MUL R1.xy, R1, c[1];\n"
+ "ADD R1.xy, fragment.position, c[2];\n"
+ "MUL R1.xy, R1, c[0];\n"
"TEX R1, R1, texture[1], 2D;\n"
"ADD R2, R2, -R0;\n"
- "DP4 R1.x, R1, c[2];\n"
+ "DP4 R1.x, R1, c[3];\n"
"MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -489,7 +448,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
"TEX R1, R0, texture[0], 2D;\n"
"ADD R0.w, -R1, c[4].y;\n"
"MUL R3.xyz, fragment.color.primary, R0.w;\n"
@@ -510,11 +469,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"MAD R2.xyz, R0, R3, R2;\n"
"ADD R0.z, fragment.color.primary.w, R1.w;\n"
"MAD R2.w, -fragment.color.primary, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[2];\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[3];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -522,58 +481,56 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..3],\n"
- " { 1, 9.9999997e-06, 2, 8 },\n"
- " { 3 } };\n"
+ " { 1, 9.9999997e-006, 2, 3 },\n"
+ " { 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MAX R1.x, R0.w, c[4].y;\n"
"RCP R1.w, R1.x;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R1.xyz, -R2, c[4].w;\n"
+ "MUL R1.xyz, -R2, c[5].x;\n"
"RSQ R2.w, R2.x;\n"
- "ADD R4.xyz, R1, c[5].x;\n"
+ "ADD R4.xyz, R1, c[4].w;\n"
"MAD R1.xyz, -R0, R1.w, c[4].x;\n"
"RSQ R2.z, R2.z;\n"
"RSQ R2.y, R2.y;\n"
"RCP R2.x, R2.w;\n"
"RCP R2.z, R2.z;\n"
"RCP R2.y, R2.y;\n"
- "MAD R5.xyz, R2, R0.w, -R0;\n"
+ "MAD R5.xyz, R0.w, R2, -R0;\n"
"MAD R2.xyz, fragment.color.primary, c[4].z, -fragment.color.primary.w;\n"
"MUL R3.xyz, R1, R2;\n"
"MAD R3.xyz, -R3, R4, fragment.color.primary.w;\n"
"MUL R4.xyz, R5, R2;\n"
"MAD R1.xyz, -R1, R2, fragment.color.primary.w;\n"
- "MAD R5.xyz, R0, fragment.color.primary.w, R4;\n"
"MUL R3.xyz, R0, R3;\n"
- "MUL R4.xyz, R0, c[4].w;\n"
- "ADD R5.xyz, R5, -R3;\n"
- "SGE R4.xyz, R4, R0.w;\n"
- "MUL R4.xyz, R4, R5;\n"
- "ADD R2.xyz, R3, R4;\n"
+ "MAD R4.xyz, fragment.color.primary.w, R0, R4;\n"
+ "ADD R5.xyz, R4, -R3;\n"
+ "MUL R4.xyz, R0, c[5].x;\n"
+ "SGE R2.xyz, R4, R0.w;\n"
+ "MAD R2.xyz, R2, R5, R3;\n"
"MUL R1.xyz, R0, R1;\n"
"MUL R3.xyz, fragment.color.primary, c[4].z;\n"
"ADD R2.xyz, R2, -R1;\n"
"SGE R3.xyz, R3, fragment.color.primary.w;\n"
- "MUL R2.xyz, R3, R2;\n"
- "ADD R1.xyz, R1, R2;\n"
+ "MAD R1.xyz, R3, R2, R1;\n"
"ADD R1.w, -R0, c[4].x;\n"
"MAD R1.xyz, fragment.color.primary, R1.w, R1;\n"
"ADD R1.w, -fragment.color.primary, c[4].x;\n"
"MAD R2.xyz, R0, R1.w, R1;\n"
"ADD R1.z, fragment.color.primary.w, R0.w;\n"
"MAD R2.w, -fragment.color.primary, R0, R1.z;\n"
- "ADD R1.xy, fragment.position, c[0];\n"
- "MUL R1.xy, R1, c[1];\n"
+ "ADD R1.xy, fragment.position, c[2];\n"
+ "MUL R1.xy, R1, c[0];\n"
"TEX R1, R1, texture[1], 2D;\n"
"ADD R2, R2, -R0;\n"
- "DP4 R1.x, R1, c[2];\n"
+ "DP4 R1.x, R1, c[3];\n"
"MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -586,77 +543,75 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MUL R2.xyz, R1, fragment.color.primary.w;\n"
- "MUL R0.xyz, fragment.color.primary, R1.w;\n"
- "MIN R0.xyz, R0, R2;\n"
- "ADD R3.xyz, fragment.color.primary, R1;\n"
- "MAD R2.xyz, -R0, c[4].x, R3;\n"
- "ADD R0.z, fragment.color.primary.w, R1.w;\n"
- "MAD R2.w, -fragment.color.primary, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "ADD R1.xyz, fragment.color.primary, R0;\n"
+ "MUL R3.xyz, fragment.color.primary.w, R0;\n"
+ "MUL R2.xyz, fragment.color.primary, R0.w;\n"
+ "MIN R2.xyz, R2, R3;\n"
+ "MAD R2.xyz, -R2, c[4].x, R1;\n"
+ "ADD R1.z, fragment.color.primary.w, R0.w;\n"
+ "MAD R2.w, -fragment.color.primary, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[2];\n"
+ "MUL R1.xy, R1, c[0];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[3];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_EXCLUSION =
"!!ARBfp1.0\n"
"PARAM c[5] = { program.local[0..3],\n"
- " { 1, 2 } };\n"
+ " { 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xy, fragment.position, c[3];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MUL R0.xyz, R1, fragment.color.primary.w;\n"
- "MAD R2.xyz, fragment.color.primary, R1.w, R0;\n"
- "MUL R0.xyz, fragment.color.primary, R1;\n"
- "MAD R0.xyz, -R0, c[4].y, R2;\n"
- "ADD R0.w, -R1, c[4].x;\n"
- "MAD R0.xyz, fragment.color.primary, R0.w, R0;\n"
- "ADD R0.w, -fragment.color.primary, c[4].x;\n"
- "MAD R2.xyz, R1, R0.w, R0;\n"
- "ADD R0.z, fragment.color.primary.w, R1.w;\n"
- "MAD R2.w, -fragment.color.primary, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, fragment.position, c[1];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1.xyz, fragment.color.primary.w, R0;\n"
+ "MAD R2.xyz, fragment.color.primary, R0.w, R1;\n"
+ "MUL R1.xyz, fragment.color.primary, R0;\n"
+ "MAD R1.xyz, -R1, c[4].x, R2;\n"
+ "ADD R1.w, -R0, c[4].y;\n"
+ "MAD R1.xyz, fragment.color.primary, R1.w, R1;\n"
+ "ADD R1.w, -fragment.color.primary, c[4].y;\n"
+ "MAD R2.xyz, R0, R1.w, R1;\n"
+ "ADD R1.z, fragment.color.primary.w, R0.w;\n"
+ "MAD R2.w, -fragment.color.primary, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[2];\n"
+ "MUL R1.xy, R1, c[0];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[3];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[4] = { program.local[0],\n"
- " { 1 },\n"
- " program.local[2..3] };\n"
+ "PARAM c[4] = { program.local[0..2],\n"
+ " { 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xy, fragment.position, c[0];\n"
+ "MUL R0.xy, fragment.position, c[2];\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R1.xyz, R0, c[3].y;\n"
- "MUL R2.xyz, R1, fragment.color.primary.w;\n"
- "MUL R1.xyz, fragment.color.primary, c[3].x;\n"
- "MAD R2.xyz, R1, R0.w, R2;\n"
- "MUL R0.xyz, R0, c[2].z;\n"
- "ADD R1.w, -R0, c[1].x;\n"
- "MUL R1.xyz, fragment.color.primary, c[2].y;\n"
- "MAD R1.xyz, R1, R1.w, R2;\n"
- "ADD R1.w, -fragment.color.primary, c[1].x;\n"
- "MAD result.color.xyz, R0, R1.w, R1;\n"
- "ADD R0.y, -R0.w, c[1].x;\n"
+ "MUL R1.xyz, R0, c[0].y;\n"
+ "MUL R2.xyz, fragment.color.primary.w, R1;\n"
+ "MUL R1.xyz, fragment.color.primary, c[0].x;\n"
+ "MAD R2.xyz, R0.w, R1, R2;\n"
+ "MUL R0.xyz, R0, c[1].z;\n"
+ "ADD R1.w, -R0, c[3].x;\n"
+ "MUL R1.xyz, fragment.color.primary, c[1].y;\n"
+ "MAD R1.xyz, R1.w, R1, R2;\n"
+ "ADD R2.x, -fragment.color.primary.w, c[3];\n"
+ "MAD result.color.xyz, R2.x, R0, R1;\n"
"MUL R0.x, fragment.color.primary.w, R0.w;\n"
- "MUL R0.z, R0.w, R1.w;\n"
- "MUL R0.y, fragment.color.primary.w, R0;\n"
- "DP3 result.color.w, R0, c[2];\n"
+ "MUL R0.z, R0.w, R2.x;\n"
+ "MUL R0.y, fragment.color.primary.w, R1.w;\n"
+ "DP3 result.color.w, R0, c[1];\n"
"END\n"
;
@@ -732,7 +687,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R2;\n"
"MUL R0.xy, fragment.position, c[0];\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R2.xyz, R0, fragment.color.primary.w;\n"
+ "MUL R2.xyz, fragment.color.primary.w, R0;\n"
"MUL R1.xyz, fragment.color.primary, R0.w;\n"
"MIN R1.xyz, R1, R2;\n"
"ADD R1.w, -R0, c[1].x;\n"
@@ -753,7 +708,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R2;\n"
"MUL R0.xy, fragment.position, c[0];\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R2.xyz, R0, fragment.color.primary.w;\n"
+ "MUL R2.xyz, fragment.color.primary.w, R0;\n"
"MUL R1.xyz, fragment.color.primary, R0.w;\n"
"MAX R1.xyz, R1, R2;\n"
"ADD R1.w, -R0, c[1].x;\n"
@@ -768,7 +723,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_COLORDODGE_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[2] = { program.local[0],\n"
- " { 1, 1e-06 } };\n"
+ " { 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -782,7 +737,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"MAD R1.xyz, fragment.color.primary, R1.w, R1;\n"
"MAD R2.xyz, -fragment.color.primary, R2.x, c[1].x;\n"
"MAX R2.xyz, R2, c[1].y;\n"
- "MUL R0.xyz, R0, fragment.color.primary.w;\n"
+ "MUL R0.xyz, fragment.color.primary.w, R0;\n"
"MUL R1.w, fragment.color.primary, R0;\n"
"RCP R2.x, R2.x;\n"
"RCP R2.y, R2.y;\n"
@@ -801,7 +756,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_COLORBURN_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[2] = { program.local[0],\n"
- " { 1, 9.9999997e-06 } };\n"
+ " { 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -809,7 +764,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R4;\n"
"MUL R0.xy, fragment.position, c[0];\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R1.xyz, R0, fragment.color.primary.w;\n"
+ "MUL R1.xyz, fragment.color.primary.w, R0;\n"
"MAD R2.xyz, fragment.color.primary, R0.w, R1;\n"
"MAD R1.xyz, -fragment.color.primary.w, R0.w, R2;\n"
"MUL R3.xyz, fragment.color.primary.w, R1;\n"
@@ -822,7 +777,6 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"RCP R1.z, R1.z;\n"
"MAD R1.xyz, R3, R1, R4;\n"
"MUL R3.xyz, R0, R2.w;\n"
- "ADD R2.w, -fragment.color.primary, c[1].x;\n"
"MAD R0.xyz, R0, R2.w, R1;\n"
"MAD R1.xyz, fragment.color.primary, R1.w, R3;\n"
"MUL R1.w, fragment.color.primary, R0;\n"
@@ -869,8 +823,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[3] = { program.local[0],\n"
- " { 1, 9.9999997e-06, 2, 8 },\n"
- " { 3 } };\n"
+ " { 1, 9.9999997e-006, 2, 3 },\n"
+ " { 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -882,8 +836,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"MAX R1.x, R0.w, c[1].y;\n"
"RCP R1.w, R1.x;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R1.xyz, -R2, c[1].w;\n"
- "ADD R4.xyz, R1, c[2].x;\n"
+ "MUL R1.xyz, -R2, c[2].x;\n"
+ "ADD R4.xyz, R1, c[1].w;\n"
"MAD R1.xyz, -R0, R1.w, c[1].x;\n"
"RSQ R2.w, R2.x;\n"
"RSQ R2.z, R2.z;\n"
@@ -891,25 +845,23 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"RCP R2.x, R2.w;\n"
"RCP R2.z, R2.z;\n"
"RCP R2.y, R2.y;\n"
- "MAD R5.xyz, R2, R0.w, -R0;\n"
+ "MAD R5.xyz, R0.w, R2, -R0;\n"
"MAD R2.xyz, fragment.color.primary, c[1].z, -fragment.color.primary.w;\n"
"MUL R3.xyz, R1, R2;\n"
"MAD R3.xyz, -R3, R4, fragment.color.primary.w;\n"
"MUL R4.xyz, R5, R2;\n"
"MAD R1.xyz, -R1, R2, fragment.color.primary.w;\n"
- "MAD R5.xyz, R0, fragment.color.primary.w, R4;\n"
"MUL R3.xyz, R0, R3;\n"
- "MUL R4.xyz, R0, c[1].w;\n"
- "ADD R5.xyz, R5, -R3;\n"
- "SGE R4.xyz, R4, R0.w;\n"
- "MUL R4.xyz, R4, R5;\n"
- "ADD R2.xyz, R3, R4;\n"
+ "MAD R4.xyz, fragment.color.primary.w, R0, R4;\n"
+ "ADD R5.xyz, R4, -R3;\n"
+ "MUL R4.xyz, R0, c[2].x;\n"
+ "SGE R2.xyz, R4, R0.w;\n"
+ "MAD R2.xyz, R2, R5, R3;\n"
"MUL R1.xyz, R0, R1;\n"
"MUL R3.xyz, fragment.color.primary, c[1].z;\n"
"ADD R2.xyz, R2, -R1;\n"
"SGE R3.xyz, R3, fragment.color.primary.w;\n"
- "MUL R2.xyz, R3, R2;\n"
- "ADD R1.xyz, R1, R2;\n"
+ "MAD R1.xyz, R3, R2, R1;\n"
"ADD R1.w, -R0, c[1].x;\n"
"MAD R1.xyz, fragment.color.primary, R1.w, R1;\n"
"ADD R1.w, fragment.color.primary, R0;\n"
@@ -928,7 +880,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"TEMP R2;\n"
"MUL R0.xy, fragment.position, c[0];\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R2.xyz, R0, fragment.color.primary.w;\n"
+ "MUL R2.xyz, fragment.color.primary.w, R0;\n"
"MUL R1.xyz, fragment.color.primary, R0.w;\n"
"ADD R1.w, fragment.color.primary, R0;\n"
"MIN R1.xyz, R1, R2;\n"
@@ -941,20 +893,20 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_EXCLUSION_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[2] = { program.local[0],\n"
- " { 1, 2 } };\n"
+ " { 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"MUL R0.xy, fragment.position, c[0];\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R1.xyz, R0, fragment.color.primary.w;\n"
+ "MUL R1.xyz, fragment.color.primary.w, R0;\n"
"MAD R2.xyz, fragment.color.primary, R0.w, R1;\n"
"MUL R1.xyz, fragment.color.primary, R0;\n"
- "MAD R1.xyz, -R1, c[1].y, R2;\n"
- "ADD R1.w, -R0, c[1].x;\n"
+ "MAD R1.xyz, -R1, c[1].x, R2;\n"
+ "ADD R1.w, -R0, c[1].y;\n"
"MAD R1.xyz, fragment.color.primary, R1.w, R1;\n"
"ADD R1.w, fragment.color.primary, R0;\n"
- "ADD R2.x, -fragment.color.primary.w, c[1];\n"
+ "ADD R2.x, -fragment.color.primary.w, c[1].y;\n"
"MAD result.color.xyz, R0, R2.x, R1;\n"
"MAD result.color.w, -fragment.color.primary, R0, R1;\n"
"END\n"
@@ -964,8 +916,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"!!ARBfp1.0\n"
"PARAM c[3] = { program.local[0..2] };\n"
"TEMP R0;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[1];\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[0], 2D;\n"
"DP4 R0.x, R0, c[2];\n"
"MUL result.color, fragment.color.primary, R0.x;\n"
@@ -974,359 +926,351 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE_BLEND_MODE_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[1] = { program.local[0] };\n"
"MOV result.color, fragment.color.primary;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SIMPLE_PORTER_DUFF =
"!!ARBfp1.0\n"
- "PARAM c[12] = { program.local[0..6],\n"
- " { 2, 4, 1 },\n"
- " program.local[8..11] };\n"
+ "PARAM c[12] = { program.local[0..10],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
"ADD R0.z, R0, R0.w;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "RSQ R0.z, R0.y;\n"
- "RCP R0.z, R0.z;\n"
- "ADD R0.x, -R0, R0.z;\n"
- "MUL R0.zw, fragment.position.xyxy, c[9].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MOV R0.y, c[7].x;\n"
- "MUL R0.y, c[8].x, R0;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.x, R0, R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R2.xyz, R1, c[11].y;\n"
- "MUL R3.xyz, R2, R0.w;\n"
- "MUL R2.xyz, R0, c[11].x;\n"
- "MAD R2.xyz, R2, R1.w, R3;\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "ADD R2.w, -R1, c[7].z;\n"
- "MUL R0.xyz, R0, c[10].y;\n"
- "MAD R2.xyz, R0, R2.w, R2;\n"
- "MUL R0.xyz, R1, c[10].z;\n"
- "ADD R3.z, -R0.w, c[7];\n"
- "MAD R2.xyz, R0, R3.z, R2;\n"
- "MUL R0.y, R0.w, R2.w;\n"
- "MUL R0.x, R0.w, R1.w;\n"
- "MUL R0.z, R1.w, R3;\n"
- "DP3 R2.w, R0, c[10];\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.x, c[11].x;\n"
+ "MUL R0.z, R0, c[11].y;\n"
+ "MAD R0.x, R0.y, R0.y, -R0.z;\n"
+ "RSQ R0.x, R0.x;\n"
+ "RCP R0.z, R0.x;\n"
+ "ADD R1.x, -R0.y, R0.z;\n"
+ "MOV R0.x, c[11];\n"
+ "MUL R0.z, R0.x, c[1].x;\n"
+ "RCP R1.y, R0.z;\n"
+ "MUL R0.xy, fragment.position, c[8];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R2.xyz, R0, c[5].y;\n"
+ "MUL R3.xyz, R1.w, R2;\n"
+ "MUL R2.xyz, R1, c[5].x;\n"
+ "MAD R2.xyz, R0.w, R2, R3;\n"
+ "ADD R3.xy, fragment.position, c[9];\n"
+ "ADD R2.w, -R0, c[11].z;\n"
+ "MUL R1.xyz, R1, c[6].y;\n"
+ "MAD R2.xyz, R2.w, R1, R2;\n"
+ "MUL R1.xyz, R0, c[6].z;\n"
+ "ADD R3.z, -R1.w, c[11];\n"
+ "MAD R2.xyz, R3.z, R1, R2;\n"
+ "MUL R1.y, R1.w, R2.w;\n"
+ "MUL R1.x, R1.w, R0.w;\n"
+ "MUL R1.z, R0.w, R3;\n"
+ "DP3 R2.w, R1, c[6];\n"
+ "MUL R3.xy, R3, c[7];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[10];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_MULTIPLY =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4, 1 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.z, R0.y;\n"
- "ADD R0.x, -R0, R0.z;\n"
- "MUL R0.zw, fragment.position.xyxy, c[9].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MOV R0.y, c[7].x;\n"
- "MUL R0.y, c[8].x, R0;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.x, R0, R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "ADD R2.x, -R1.w, c[7].z;\n"
- "MUL R2.xyz, R0, R2.x;\n"
- "MAD R0.xyz, R0, R1, R2;\n"
- "ADD R2.x, -R0.w, c[7].z;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.x, c[9].x;\n"
+ "MUL R0.z, R0, c[9].y;\n"
+ "MAD R0.x, R0.y, R0.y, -R0.z;\n"
+ "RSQ R0.x, R0.x;\n"
+ "RCP R0.z, R0.x;\n"
+ "ADD R1.x, -R0.y, R0.z;\n"
+ "MOV R0.x, c[9];\n"
+ "MUL R0.z, R0.x, c[1].x;\n"
+ "RCP R1.y, R0.z;\n"
+ "MUL R0.xy, fragment.position, c[6];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "ADD R2.x, -R0.w, c[9].z;\n"
+ "MUL R2.xyz, R1, R2.x;\n"
+ "MAD R1.xyz, R1, R0, R2;\n"
+ "ADD R2.x, -R1.w, c[9].z;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, R1, c[5];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[8];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SCREEN =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[7].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[8].x, R0;\n"
- "MUL R1.xy, fragment.position, c[9];\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "ADD R3.xy, fragment.position, c[7];\n"
+ "MUL R0.y, R0.z, c[9];\n"
+ "MUL R0.x, R0, c[9];\n"
+ "MAD R0.z, R0.x, R0.x, -R0.y;\n"
+ "MOV R0.y, c[9].x;\n"
+ "RSQ R0.z, R0.z;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "ADD R2, R0, R1;\n"
- "MAD R2, -R0, R1, R2;\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.z, R0.x, R0.y;\n"
+ "TEX R1, R0.z, texture[2], 1D;\n"
+ "MUL R0.xy, fragment.position, c[6];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "ADD R2, R1, R0;\n"
+ "MAD R2, -R1, R0, R2;\n"
+ "MUL R3.xy, R3, c[5];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[8];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_OVERLAY =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4, 1 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[7].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[8].x, R0;\n"
- "MUL R1.xy, fragment.position, c[9];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R1.xy, fragment.position, c[6];\n"
"TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "MUL R0.y, R0.z, c[9];\n"
+ "MUL R0.x, R0, c[9];\n"
+ "MAD R0.z, R0.x, R0.x, -R0.y;\n"
+ "MOV R0.y, c[9].x;\n"
+ "RSQ R0.z, R0.z;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "ADD R2.w, -R1, c[7].z;\n"
+ "ADD R2.w, -R1, c[9].z;\n"
"ADD R3.xyz, R0.w, -R0;\n"
"ADD R2.xyz, R1.w, -R1;\n"
"MUL R2.xyz, R2, R3;\n"
- "MUL R2.xyz, R2, c[7].x;\n"
+ "MUL R2.xyz, R2, c[9].x;\n"
"MAD R2.xyz, R0.w, R1.w, -R2;\n"
"MUL R4.xyz, R0, R2.w;\n"
"MUL R3.xyz, R0, R1;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].z;\n"
- "MAD R3.xyz, R3, c[7].x, R4;\n"
+ "ADD R2.x, -R0.w, c[9].z;\n"
+ "MAD R3.xyz, R3, c[9].x, R4;\n"
"MAD R3.xyz, R1, R2.x, R3;\n"
"MAD R0.xyz, R1, R2.x, R0;\n"
- "MUL R2.xyz, R1, c[7].x;\n"
+ "MUL R2.xyz, R1, c[9].x;\n"
"ADD R0.xyz, R0, -R3;\n"
"SGE R2.xyz, R2, R1.w;\n"
"MAD R2.xyz, R2, R0, R3;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[7];\n"
+ "MUL R0.xy, R0, c[5];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[8];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_DARKEN =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4, 1 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[7].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[8].x, R0;\n"
- "MUL R1.xy, fragment.position, c[9];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
- "RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.x, c[9].x;\n"
+ "MUL R0.z, R0, c[9].y;\n"
+ "MAD R0.x, R0.y, R0.y, -R0.z;\n"
+ "RSQ R0.z, R0.x;\n"
+ "MOV R0.x, c[9];\n"
+ "MUL R0.x, R0, c[1];\n"
+ "RCP R0.z, R0.z;\n"
+ "ADD R0.z, -R0.y, R0;\n"
+ "RCP R0.w, R0.x;\n"
+ "MUL R1.x, R0.z, R0.w;\n"
+ "MUL R0.xy, fragment.position, c[6];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MIN R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[7].z;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].z;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[9].z;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[9].z;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, R1, c[5];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[8];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_LIGHTEN =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4, 1 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[7].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[8].x, R0;\n"
- "MUL R1.xy, fragment.position, c[9];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
- "RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.x, c[9].x;\n"
+ "MUL R0.z, R0, c[9].y;\n"
+ "MAD R0.x, R0.y, R0.y, -R0.z;\n"
+ "RSQ R0.z, R0.x;\n"
+ "MOV R0.x, c[9];\n"
+ "MUL R0.x, R0, c[1];\n"
+ "RCP R0.z, R0.z;\n"
+ "ADD R0.z, -R0.y, R0;\n"
+ "RCP R0.w, R0.x;\n"
+ "MUL R1.x, R0.z, R0.w;\n"
+ "MUL R0.xy, fragment.position, c[6];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MAX R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[7].z;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].z;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[9].z;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[9].z;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, R1, c[5];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[8];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORDODGE =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4, 1, 1e-06 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4, 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[7].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[8].x, R0;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[9];\n"
+ "MUL R0.x, R0, c[9];\n"
+ "MAD R0.z, R0.x, R0.x, -R0.y;\n"
+ "MOV R0.y, c[9].x;\n"
+ "RSQ R0.z, R0.z;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MAX R1.x, R0.w, c[7].w;\n"
+ "MAX R1.x, R0.w, c[9].w;\n"
"RCP R1.x, R1.x;\n"
- "MAD R1.xyz, -R0, R1.x, c[7].z;\n"
- "MAX R2.xyz, R1, c[7].w;\n"
- "MUL R1.xy, fragment.position, c[9];\n"
+ "MAD R1.xyz, -R0, R1.x, c[9].z;\n"
+ "MAX R2.xyz, R1, c[9].w;\n"
+ "MUL R1.xy, fragment.position, c[6];\n"
"TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R0, c[7].z;\n"
+ "ADD R2.w, -R0, c[9].z;\n"
"MUL R3.xyz, R1, R2.w;\n"
- "ADD R2.w, -R1, c[7].z;\n"
+ "ADD R2.w, -R1, c[9].z;\n"
"MAD R4.xyz, R0, R2.w, R3;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MUL R2.w, R0, R1;\n"
"MAD R0.xyz, R0, R1.w, R3;\n"
"SGE R0.xyz, R0, R2.w;\n"
@@ -1339,57 +1283,56 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
"MAD R2.xyz, R0, R4, R2;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[7];\n"
+ "MUL R0.xy, R0, c[5];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[8];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORBURN =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4, 1, 9.9999997e-06 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4, 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[9];\n"
+ "MUL R0.x, R0, c[9];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[7].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[8].x, R0;\n"
- "MUL R1.xy, fragment.position, c[9];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "RSQ R0.z, R0.y;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MOV R0.y, c[9].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"MAD R2.xyz, -R0.w, R1.w, R3;\n"
"MUL R4.xyz, R0.w, R2;\n"
- "MAX R2.xyz, R0, c[7].w;\n"
- "ADD R2.w, -R1, c[7].z;\n"
+ "MAX R2.xyz, R0, c[9].w;\n"
+ "ADD R2.w, -R1, c[9].z;\n"
"MUL R5.xyz, R0, R2.w;\n"
- "ADD R3.w, -R0, c[7].z;\n"
+ "ADD R3.w, -R0, c[9].z;\n"
"RCP R2.x, R2.x;\n"
"RCP R2.y, R2.y;\n"
"RCP R2.z, R2.z;\n"
@@ -1403,60 +1346,59 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
"MAD R2.xyz, R3, R2, R0;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[7];\n"
+ "MUL R0.xy, R0, c[5];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[8];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_HARDLIGHT =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4, 1 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[7].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[8].x, R0;\n"
- "MUL R1.xy, fragment.position, c[9];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R1.xy, fragment.position, c[6];\n"
"TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "MUL R0.y, R0.z, c[9];\n"
+ "MUL R0.x, R0, c[9];\n"
+ "MAD R0.z, R0.x, R0.x, -R0.y;\n"
+ "MOV R0.y, c[9].x;\n"
+ "RSQ R0.z, R0.z;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "ADD R2.w, -R1, c[7].z;\n"
+ "ADD R2.w, -R1, c[9].z;\n"
"ADD R3.xyz, R0.w, -R0;\n"
"ADD R2.xyz, R1.w, -R1;\n"
"MUL R2.xyz, R2, R3;\n"
- "MUL R2.xyz, R2, c[7].x;\n"
+ "MUL R2.xyz, R2, c[9].x;\n"
"MAD R2.xyz, R0.w, R1.w, -R2;\n"
"MUL R4.xyz, R0, R2.w;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
"MUL R3.xyz, R0, R1;\n"
- "ADD R2.w, -R0, c[7].z;\n"
- "MAD R3.xyz, R3, c[7].x, R4;\n"
- "MUL R0.xyz, R0, c[7].x;\n"
+ "ADD R2.w, -R0, c[9].z;\n"
+ "MAD R3.xyz, R3, c[9].x, R4;\n"
+ "MUL R0.xyz, R0, c[9].x;\n"
"SGE R0.xyz, R0, R0.w;\n"
"MAD R3.xyz, R1, R2.w, R3;\n"
"MAD R2.xyz, R1, R2.w, R2;\n"
@@ -1464,21 +1406,20 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
"MAD R2.xyz, R0, R2, R3;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[7];\n"
+ "MUL R0.xy, R0, c[5];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[8];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..6],\n"
- " { 2, 4, 1, 9.9999997e-06 },\n"
- " program.local[8..9],\n"
- " { 8, 3 } };\n"
+ "PARAM c[11] = { program.local[0..8],\n"
+ " { 2, 4, 1, 9.9999997e-006 },\n"
+ " { 3, 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -1486,259 +1427,252 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.zw, fragment.position.xyxy, c[9].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R0.x, R0, c[7];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[9];\n"
+ "MUL R0.x, R0, c[9];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
- "MAX R0.z, R1.w, c[7].w;\n"
- "RCP R2.w, R0.z;\n"
- "MUL R2.xyz, R1, R2.w;\n"
- "MUL R6.xyz, -R2, c[10].x;\n"
- "MAD R3.xyz, -R1, R2.w, c[7].z;\n"
+ "MOV R0.z, c[9].x;\n"
+ "MUL R1.y, R0.z, c[1].x;\n"
"RSQ R0.y, R0.y;\n"
"RCP R0.y, R0.y;\n"
- "ADD R0.x, -R0, R0.y;\n"
- "MOV R0.y, c[7].x;\n"
- "MUL R0.y, c[8].x, R0;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.x, R0, R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MAD R4.xyz, R0, c[7].x, -R0.w;\n"
+ "ADD R1.x, -R0, R0.y;\n"
+ "RCP R1.y, R1.y;\n"
+ "MUL R0.xy, fragment.position, c[6];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MAX R1.z, R0.w, c[9].w;\n"
+ "RCP R2.w, R1.z;\n"
+ "MUL R2.xyz, R0, R2.w;\n"
+ "MAD R6.xyz, -R2, c[10].y, c[10].x;\n"
+ "MAD R3.xyz, -R0, R2.w, c[9].z;\n"
+ "RSQ R2.w, R2.x;\n"
+ "RCP R2.x, R2.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MAD R4.xyz, R1, c[9].x, -R1.w;\n"
"MUL R5.xyz, R3, R4;\n"
- "MAD R3.xyz, -R3, R4, R0.w;\n"
- "ADD R6.xyz, R6, c[10].y;\n"
- "RSQ R2.x, R2.x;\n"
+ "MAD R5.xyz, -R5, R6, R1.w;\n"
+ "MAD R3.xyz, -R3, R4, R1.w;\n"
"RSQ R2.z, R2.z;\n"
"RSQ R2.y, R2.y;\n"
- "MAD R5.xyz, -R5, R6, R0.w;\n"
- "MUL R3.xyz, R1, R3;\n"
- "ADD R2.w, -R1, c[7].z;\n"
- "RCP R2.x, R2.x;\n"
+ "MUL R5.xyz, R0, R5;\n"
+ "MUL R3.xyz, R0, R3;\n"
+ "ADD R2.w, -R0, c[9].z;\n"
"RCP R2.z, R2.z;\n"
"RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R2, R1.w, -R1;\n"
- "MUL R6.xyz, R2, R4;\n"
- "MUL R2.xyz, R1, R5;\n"
- "MAD R6.xyz, R1, R0.w, R6;\n"
- "MUL R4.xyz, R0, c[7].x;\n"
- "MUL R5.xyz, R1, c[10].x;\n"
- "ADD R6.xyz, R6, -R2;\n"
- "SGE R5.xyz, R5, R1.w;\n"
- "MUL R5.xyz, R5, R6;\n"
- "ADD R2.xyz, R2, R5;\n"
- "SGE R4.xyz, R4, R0.w;\n"
+ "MAD R2.xyz, R0.w, R2, -R0;\n"
+ "MUL R2.xyz, R2, R4;\n"
+ "MAD R2.xyz, R1.w, R0, R2;\n"
+ "ADD R6.xyz, R2, -R5;\n"
+ "MUL R4.xyz, R1, c[9].x;\n"
+ "MUL R2.xyz, R0, c[10].y;\n"
+ "SGE R2.xyz, R2, R0.w;\n"
+ "MAD R2.xyz, R2, R6, R5;\n"
+ "SGE R4.xyz, R4, R1.w;\n"
"ADD R2.xyz, R2, -R3;\n"
- "MUL R2.xyz, R4, R2;\n"
- "ADD R2.xyz, R3, R2;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].z;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MAD R2.xyz, R4, R2, R3;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[9].z;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, R1, c[5];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[8];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_DIFFERENCE =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
"ADD R0.z, R0, R0.w;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "RSQ R0.z, R0.y;\n"
- "RCP R0.z, R0.z;\n"
- "ADD R0.x, -R0, R0.z;\n"
- "MUL R0.zw, fragment.position.xyxy, c[9].xyxy;\n"
- "MOV R0.y, c[7].x;\n"
- "MUL R0.y, c[8].x, R0;\n"
- "RCP R0.y, R0.y;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R0.x, R0, R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "ADD R3.xyz, R0, R1;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MUL R0.xyz, R0, R1.w;\n"
- "MIN R0.xyz, R0, R2;\n"
- "MAD R2.xyz, -R0, c[7].x, R3;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.x, c[9].x;\n"
+ "MUL R0.z, R0, c[9].y;\n"
+ "MAD R0.x, R0.y, R0.y, -R0.z;\n"
+ "RSQ R0.z, R0.x;\n"
+ "MOV R0.x, c[9];\n"
+ "MUL R0.x, R0, c[1];\n"
+ "RCP R0.z, R0.z;\n"
+ "ADD R0.z, -R0.y, R0;\n"
+ "RCP R0.w, R0.x;\n"
+ "MUL R1.x, R0.z, R0.w;\n"
+ "MUL R0.xy, fragment.position, c[6];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "ADD R2.xyz, R1, R0;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R1.xyz, R1, R0.w;\n"
+ "MIN R1.xyz, R1, R3;\n"
+ "MAD R2.xyz, -R1, c[9].x, R2;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, R1, c[5];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[8];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_EXCLUSION =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..6],\n"
- " { 2, 4, 1 },\n"
- " program.local[8..9] };\n"
+ "PARAM c[10] = { program.local[0..8],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[6];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[8].x, -R0;\n"
- "MUL R0.y, R0.z, c[7];\n"
- "MUL R0.x, R0, c[7];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[7].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[8].x, R0;\n"
- "MUL R1.xy, fragment.position, c[9];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
- "RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MAD R3.xyz, R0, R1.w, R2;\n"
- "MUL R2.xyz, R0, R1;\n"
- "MAD R2.xyz, -R2, c[7].x, R3;\n"
- "ADD R2.w, -R1, c[7].z;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].z;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.x, c[9].x;\n"
+ "MUL R0.z, R0, c[9].y;\n"
+ "MAD R0.x, R0.y, R0.y, -R0.z;\n"
+ "RSQ R0.z, R0.x;\n"
+ "MOV R0.x, c[9];\n"
+ "MUL R0.x, R0, c[1];\n"
+ "RCP R0.z, R0.z;\n"
+ "ADD R0.z, -R0.y, R0;\n"
+ "RCP R0.w, R0.x;\n"
+ "MUL R1.x, R0.z, R0.w;\n"
+ "MUL R0.xy, fragment.position, c[6];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R2.xyz, R1.w, R0;\n"
+ "MAD R3.xyz, R1, R0.w, R2;\n"
+ "MUL R2.xyz, R1, R0;\n"
+ "MAD R2.xyz, -R2, c[9].x, R3;\n"
+ "ADD R2.w, -R0, c[9].z;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[9].z;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, R1, c[5];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[8];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[9] = { program.local[0..3],\n"
- " { 2, 4, 1 },\n"
- " program.local[5..8] };\n"
+ "PARAM c[9] = { program.local[0..7],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
- "MUL R0.xy, R0, c[3];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[8];\n"
+ "MUL R0.x, R0, c[8];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
- "RSQ R0.z, R0.y;\n"
- "RCP R0.z, R0.z;\n"
+ "RSQ R0.y, R0.y;\n"
+ "RCP R0.z, R0.y;\n"
"ADD R0.x, -R0, R0.z;\n"
- "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R2.xyz, R1, c[8].y;\n"
- "MOV R0.y, c[4].x;\n"
- "MUL R0.y, c[5].x, R0;\n"
+ "MUL R2.xyz, R1, c[5].y;\n"
+ "MOV R0.y, c[8].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
"RCP R0.y, R0.y;\n"
"MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MUL R3.xyz, R2, R0.w;\n"
- "MUL R2.xyz, R0, c[8].x;\n"
- "MAD R2.xyz, R2, R1.w, R3;\n"
- "ADD R2.w, -R1, c[4].z;\n"
- "MUL R0.xyz, R0, c[7].y;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[4].z;\n"
- "MUL R1.xyz, R1, c[7].z;\n"
- "MAD result.color.xyz, R1, R2.x, R0;\n"
+ "MUL R3.xyz, R0.w, R2;\n"
+ "MUL R2.xyz, R0, c[5].x;\n"
+ "MAD R2.xyz, R1.w, R2, R3;\n"
+ "ADD R2.w, -R1, c[8].z;\n"
+ "MUL R0.xyz, R0, c[6].y;\n"
+ "MAD R0.xyz, R2.w, R0, R2;\n"
+ "ADD R2.x, -R0.w, c[8].z;\n"
+ "MUL R1.xyz, R1, c[6].z;\n"
+ "MAD result.color.xyz, R2.x, R1, R0;\n"
"MUL R0.x, R0.w, R1.w;\n"
"MUL R0.z, R1.w, R2.x;\n"
"MUL R0.y, R0.w, R2.w;\n"
- "DP3 result.color.w, R0, c[7];\n"
+ "DP3 result.color.w, R0, c[6];\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_MULTIPLY_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4, 1 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
"RSQ R0.y, R0.y;\n"
"RCP R0.z, R0.y;\n"
"ADD R0.x, -R0, R0.z;\n"
- "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MOV R0.y, c[4].x;\n"
- "MUL R0.y, c[5].x, R0;\n"
+ "MOV R0.y, c[6].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
"RCP R0.y, R0.y;\n"
"MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "ADD R2.x, -R1.w, c[4].z;\n"
+ "ADD R2.x, -R1.w, c[6].z;\n"
"MUL R2.xyz, R0, R2.x;\n"
"MAD R0.xyz, R0, R1, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].z;\n"
+ "ADD R2.y, -R0.w, c[6].z;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -1746,31 +1680,30 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SCREEN_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
"ADD R0.z, R0, R0.w;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
"RSQ R0.z, R0.y;\n"
"RCP R0.z, R0.z;\n"
"ADD R0.x, -R0, R0.z;\n"
- "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"
- "MOV R0.y, c[4].x;\n"
- "MUL R0.y, c[5].x, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "MOV R0.y, c[6].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
"RCP R0.y, R0.y;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
"MUL R0.x, R0, R0.y;\n"
@@ -1782,50 +1715,49 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_OVERLAY_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4, 1 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[4].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[5].x, R0;\n"
- "MUL R1.xy, fragment.position, c[6];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
+ "MAD R0.z, R0.x, R0.x, -R0.y;\n"
+ "MOV R0.y, c[6].x;\n"
+ "RSQ R0.z, R0.z;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
"ADD R3.xyz, R0.w, -R0;\n"
"ADD R2.xyz, R1.w, -R1;\n"
"MUL R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[4].z;\n"
- "MUL R2.xyz, R2, c[4].x;\n"
+ "ADD R2.w, -R1, c[6].z;\n"
+ "MUL R2.xyz, R2, c[6].x;\n"
"MAD R2.xyz, R0.w, R1.w, -R2;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
"MUL R3.xyz, R0, R2.w;\n"
"MUL R0.xyz, R0, R1;\n"
- "ADD R2.w, -R0, c[4].z;\n"
- "MAD R0.xyz, R0, c[4].x, R3;\n"
+ "ADD R2.w, -R0, c[6].z;\n"
+ "MAD R0.xyz, R0, c[6].x, R3;\n"
"MAD R0.xyz, R1, R2.w, R0;\n"
"MAD R2.xyz, R1, R2.w, R2;\n"
- "MUL R1.xyz, R1, c[4].x;\n"
+ "MUL R1.xyz, R1, c[6].x;\n"
"ADD R2.w, R0, R1;\n"
"ADD R2.xyz, R2, -R0;\n"
"SGE R1.xyz, R1, R1.w;\n"
@@ -1836,43 +1768,42 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_DARKEN_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4, 1 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[4].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[5].x, R0;\n"
- "MUL R1.xy, fragment.position, c[6];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "RSQ R0.z, R0.y;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MOV R0.y, c[6].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MIN R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[4].z;\n"
+ "ADD R2.w, -R1, c[6].z;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].z;\n"
+ "ADD R2.y, -R0.w, c[6].z;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -1880,43 +1811,42 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_LIGHTEN_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4, 1 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[4].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[5].x, R0;\n"
- "MUL R1.xy, fragment.position, c[6];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "RSQ R0.z, R0.y;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MOV R0.y, c[6].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MAX R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[4].z;\n"
+ "ADD R2.w, -R1, c[6].z;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].z;\n"
+ "ADD R2.y, -R0.w, c[6].z;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -1924,45 +1854,44 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORDODGE_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4, 1, 1e-06 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4, 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[4].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[5].x, R0;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
+ "MAD R0.z, R0.x, R0.x, -R0.y;\n"
+ "MOV R0.y, c[6].x;\n"
+ "RSQ R0.z, R0.z;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MAX R1.x, R0.w, c[4].w;\n"
+ "MAX R1.x, R0.w, c[6].w;\n"
"RCP R1.x, R1.x;\n"
- "MAD R1.xyz, -R0, R1.x, c[4].z;\n"
- "MAX R2.xyz, R1, c[4].w;\n"
- "MUL R1.xy, fragment.position, c[6];\n"
+ "MAD R1.xyz, -R0, R1.x, c[6].z;\n"
+ "MAX R2.xyz, R1, c[6].w;\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R0, c[4].z;\n"
+ "ADD R2.w, -R0, c[6].z;\n"
"MUL R3.xyz, R1, R2.w;\n"
- "ADD R2.w, -R1, c[4].z;\n"
+ "ADD R2.w, -R1, c[6].z;\n"
"MAD R3.xyz, R0, R2.w, R3;\n"
- "MUL R1.xyz, R1, R0.w;\n"
+ "MUL R1.xyz, R0.w, R1;\n"
"MAD R0.xyz, R0, R1.w, R1;\n"
"MUL R2.w, R0, R1;\n"
"RCP R2.x, R2.x;\n"
@@ -1980,46 +1909,45 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_COLORBURN_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4, 1, 9.9999997e-06 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4, 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[4].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[5].x, R0;\n"
- "MUL R1.xy, fragment.position, c[6];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "RSQ R0.z, R0.y;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MOV R0.y, c[6].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
- "ADD R2.w, -R1, c[4].z;\n"
+ "ADD R2.w, -R1, c[6].z;\n"
"MAD R2.xyz, -R0.w, R1.w, R3;\n"
"MUL R4.xyz, R0.w, R2;\n"
- "MAX R2.xyz, R0, c[4].w;\n"
+ "MAX R2.xyz, R0, c[6].w;\n"
"MUL R5.xyz, R0, R2.w;\n"
- "ADD R3.w, -R0, c[4].z;\n"
+ "ADD R3.w, -R0, c[6].z;\n"
"RCP R2.x, R2.x;\n"
"RCP R2.y, R2.y;\n"
"RCP R2.z, R2.z;\n"
@@ -2038,50 +1966,49 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_HARDLIGHT_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4, 1 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[4].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[5].x, R0;\n"
- "MUL R1.xy, fragment.position, c[6];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
+ "MAD R0.z, R0.x, R0.x, -R0.y;\n"
+ "MOV R0.y, c[6].x;\n"
+ "RSQ R0.z, R0.z;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "ADD R2.w, -R1, c[4].z;\n"
+ "ADD R2.w, -R1, c[6].z;\n"
"ADD R3.xyz, R0.w, -R0;\n"
"ADD R2.xyz, R1.w, -R1;\n"
"MUL R2.xyz, R2, R3;\n"
- "MUL R2.xyz, R2, c[4].x;\n"
+ "MUL R2.xyz, R2, c[6].x;\n"
"MAD R2.xyz, R0.w, R1.w, -R2;\n"
"MUL R4.xyz, R0, R2.w;\n"
"MUL R3.xyz, R0, R1;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
- "ADD R2.w, -R0, c[4].z;\n"
- "MUL R0.xyz, R0, c[4].x;\n"
+ "ADD R2.w, -R0, c[6].z;\n"
+ "MUL R0.xyz, R0, c[6].x;\n"
"MAD R2.xyz, R1, R2.w, R2;\n"
- "MAD R3.xyz, R3, c[4].x, R4;\n"
+ "MAD R3.xyz, R3, c[6].x, R4;\n"
"MAD R1.xyz, R1, R2.w, R3;\n"
"ADD R2.w, R0, R1;\n"
"ADD R2.xyz, R2, -R1;\n"
@@ -2093,10 +2020,9 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..3],\n"
- " { 2, 4, 1, 9.9999997e-06 },\n"
- " program.local[5..6],\n"
- " { 8, 3 } };\n"
+ "PARAM c[8] = { program.local[0..5],\n"
+ " { 2, 4, 1, 9.9999997e-006 },\n"
+ " { 3, 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -2104,64 +2030,61 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.x, R0, c[6];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
- "MAX R0.z, R1.w, c[4].w;\n"
+ "MAX R0.z, R1.w, c[6].w;\n"
"RCP R2.w, R0.z;\n"
"MUL R2.xyz, R1, R2.w;\n"
- "MUL R6.xyz, -R2, c[7].x;\n"
- "MAD R3.xyz, -R1, R2.w, c[4].z;\n"
+ "MAD R6.xyz, -R2, c[7].y, c[7].x;\n"
+ "MAD R3.xyz, -R1, R2.w, c[6].z;\n"
+ "RSQ R2.w, R2.x;\n"
+ "RCP R2.x, R2.w;\n"
"RSQ R0.y, R0.y;\n"
"RCP R0.y, R0.y;\n"
"ADD R0.x, -R0, R0.y;\n"
- "MOV R0.y, c[4].x;\n"
- "MUL R0.y, c[5].x, R0;\n"
+ "MOV R0.y, c[6].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
"RCP R0.y, R0.y;\n"
"MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MAD R4.xyz, R0, c[4].x, -R0.w;\n"
+ "MAD R4.xyz, R0, c[6].x, -R0.w;\n"
"MUL R5.xyz, R3, R4;\n"
+ "MAD R5.xyz, -R5, R6, R0.w;\n"
"MAD R3.xyz, -R3, R4, R0.w;\n"
- "ADD R6.xyz, R6, c[7].y;\n"
- "RSQ R2.x, R2.x;\n"
"RSQ R2.z, R2.z;\n"
"RSQ R2.y, R2.y;\n"
- "MAD R5.xyz, -R5, R6, R0.w;\n"
+ "MUL R5.xyz, R1, R5;\n"
"MUL R3.xyz, R1, R3;\n"
- "RCP R2.x, R2.x;\n"
"RCP R2.z, R2.z;\n"
"RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R2, R1.w, -R1;\n"
- "MUL R6.xyz, R2, R4;\n"
- "MUL R2.xyz, R1, R5;\n"
- "MUL R4.xyz, R0, c[4].x;\n"
- "MAD R6.xyz, R1, R0.w, R6;\n"
- "MUL R5.xyz, R1, c[7].x;\n"
- "ADD R6.xyz, R6, -R2;\n"
- "SGE R5.xyz, R5, R1.w;\n"
- "MUL R5.xyz, R5, R6;\n"
- "ADD R2.xyz, R2, R5;\n"
+ "MAD R2.xyz, R1.w, R2, -R1;\n"
+ "MUL R2.xyz, R2, R4;\n"
+ "MAD R2.xyz, R0.w, R1, R2;\n"
+ "ADD R6.xyz, R2, -R5;\n"
+ "MUL R4.xyz, R0, c[6].x;\n"
+ "MUL R2.xyz, R1, c[7].y;\n"
+ "SGE R2.xyz, R2, R1.w;\n"
+ "MAD R2.xyz, R2, R6, R5;\n"
"ADD R2.xyz, R2, -R3;\n"
"SGE R4.xyz, R4, R0.w;\n"
- "MUL R2.xyz, R4, R2;\n"
- "ADD R2.xyz, R3, R2;\n"
- "ADD R2.w, -R1, c[4].z;\n"
+ "MAD R2.xyz, R4, R2, R3;\n"
+ "ADD R2.w, -R1, c[6].z;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].z;\n"
+ "ADD R2.y, -R0.w, c[6].z;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -2169,86 +2092,84 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_DIFFERENCE_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[4].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[5].x, R0;\n"
- "MUL R1.xy, fragment.position, c[6];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "RSQ R0.z, R0.y;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "MOV R0.y, c[6].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "RCP R0.y, R0.y;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"ADD R0.xyz, R0, R1;\n"
"MIN R2.xyz, R2, R3;\n"
"ADD R1.x, R0.w, R1.w;\n"
- "MAD result.color.xyz, -R2, c[4].x, R0;\n"
+ "MAD result.color.xyz, -R2, c[6].x, R0;\n"
"MAD result.color.w, -R0, R1, R1.x;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODES_EXCLUSION_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..3],\n"
- " { 2, 4, 1 },\n"
- " program.local[5..6] };\n"
+ "PARAM c[7] = { program.local[0..5],\n"
+ " { 2, 4, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
"ADD R0.z, R0, R0.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[4].x;\n"
- "RSQ R0.y, R0.y;\n"
- "RCP R0.y, R0.y;\n"
- "MUL R0.z, c[5].x, R0;\n"
- "MUL R1.xy, fragment.position, c[6];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R0.x, -R0, R0.y;\n"
+ "RSQ R0.z, R0.y;\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MOV R0.y, c[6].x;\n"
+ "MUL R0.y, R0, c[1].x;\n"
+ "RCP R0.y, R0.y;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"MUL R2.xyz, R0, R1;\n"
- "MAD R2.xyz, -R2, c[4].x, R3;\n"
- "ADD R2.w, -R1, c[4].z;\n"
+ "MAD R2.xyz, -R2, c[6].x, R3;\n"
+ "ADD R2.w, -R1, c[6].z;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].z;\n"
+ "ADD R2.y, -R0.w, c[6].z;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -2256,35 +2177,34 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODE_BLEND_MODE_MASK =
"!!ARBfp1.0\n"
- "PARAM c[9] = { program.local[0..3],\n"
- " { 2, 4 },\n"
- " program.local[5..8] };\n"
+ "PARAM c[9] = { program.local[0..7],\n"
+ " { 2, 4 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.z, R0, R0.w;\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[8];\n"
+ "MUL R0.x, R0, c[8];\n"
"MAD R0.y, R0.x, R0.x, -R0;\n"
"RSQ R0.y, R0.y;\n"
"RCP R0.y, R0.y;\n"
"ADD R1.x, -R0, R0.y;\n"
- "MOV R0.z, c[4].x;\n"
- "MUL R0.z, c[5].x, R0;\n"
+ "MOV R0.z, c[8].x;\n"
+ "MUL R0.z, R0, c[1].x;\n"
"RCP R1.y, R0.z;\n"
"ADD R0.xy, fragment.position, c[6];\n"
- "MUL R0.xy, R0, c[7];\n"
+ "MUL R0.xy, R0, c[5];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MUL R1.x, R1, R1.y;\n"
- "DP4 R1.y, R0, c[8];\n"
+ "DP4 R1.y, R0, c[7];\n"
"TEX R0, R1, texture[1], 1D;\n"
"MUL result.color, R0, R1.y;\n"
"END\n"
@@ -2292,480 +2212,479 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MODE_BLEND_MODE_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[6] = { program.local[0..3],\n"
- " { 2, 4 },\n"
- " program.local[5] };\n"
+ "PARAM c[6] = { program.local[0..4],\n"
+ " { 2, 4 } };\n"
"TEMP R0;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[3];\n"
+ "MAD R0.xyz, fragment.position.x, c[2], R0;\n"
+ "ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
"ADD R0.z, R0, R0.w;\n"
- "MUL R0.z, c[5].x, -R0;\n"
- "MUL R0.y, R0.z, c[4];\n"
- "MUL R0.x, R0, c[4];\n"
- "MAD R0.y, R0.x, R0.x, -R0;\n"
- "MOV R0.z, c[4].x;\n"
- "RSQ R0.y, R0.y;\n"
- "MUL R0.z, c[5].x, R0;\n"
- "RCP R0.y, R0.y;\n"
+ "MUL R0.z, -R0, c[1].x;\n"
+ "MUL R0.y, R0.z, c[5];\n"
+ "MUL R0.x, R0, c[5];\n"
+ "MAD R0.z, R0.x, R0.x, -R0.y;\n"
+ "MOV R0.y, c[5].x;\n"
+ "RSQ R0.z, R0.z;\n"
+ "MUL R0.y, R0, c[1].x;\n"
"RCP R0.z, R0.z;\n"
- "ADD R0.x, -R0, R0.y;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "RCP R0.y, R0.y;\n"
+ "ADD R0.x, -R0, R0.z;\n"
+ "MUL R0.x, R0, R0.y;\n"
"TEX result.color, R0, texture[0], 1D;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SIMPLE_PORTER_DUFF =
"!!ARBfp1.0\n"
- "PARAM c[13] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494 },\n"
- " program.local[10..12] };\n"
+ "PARAM c[13] = { program.local[0..9],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
- "FLR R0.y, R0.x;\n"
- "MUL R0.zw, fragment.position.xyxy, c[10].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "ADD R0.x, R0, -R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R2.xyz, R1, c[12].y;\n"
- "MUL R3.xyz, R2, R0.w;\n"
- "MUL R2.xyz, R0, c[12].x;\n"
- "MAD R2.xyz, R2, R1.w, R3;\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "ADD R2.w, -R1, c[7];\n"
- "MUL R0.xyz, R0, c[11].y;\n"
- "MAD R2.xyz, R0, R2.w, R2;\n"
- "MUL R0.xyz, R1, c[11].z;\n"
- "ADD R3.z, -R0.w, c[7].w;\n"
- "MAD R2.xyz, R0, R3.z, R2;\n"
- "MUL R0.y, R0.w, R2.w;\n"
- "MUL R0.x, R0.w, R1.w;\n"
- "MUL R0.z, R1.w, R3;\n"
- "DP3 R2.w, R0, c[11];\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[10].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[11].x, c[11].y;\n"
+ "MAD R1.z, R1, R1.y, -c[11];\n"
+ "MAD R1.z, R1, R1.y, c[11].w;\n"
+ "MAD R1.z, R1, R1.y, -c[12].x;\n"
+ "MAD R1.y, R1.z, R1, c[12];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[10].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[10].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R1.x, R0, c[10];\n"
+ "FLR R1.y, R1.x;\n"
+ "MUL R0.xy, fragment.position, c[7];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "ADD R1.x, R1, -R1.y;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R2.xyz, R0, c[4].y;\n"
+ "MUL R3.xyz, R1.w, R2;\n"
+ "MUL R2.xyz, R1, c[4].x;\n"
+ "MAD R2.xyz, R0.w, R2, R3;\n"
+ "ADD R3.xy, fragment.position, c[8];\n"
+ "ADD R2.w, -R0, c[12].z;\n"
+ "MUL R1.xyz, R1, c[5].y;\n"
+ "MAD R2.xyz, R2.w, R1, R2;\n"
+ "MUL R1.xyz, R0, c[5].z;\n"
+ "ADD R3.z, -R1.w, c[12];\n"
+ "MAD R2.xyz, R3.z, R1, R2;\n"
+ "MUL R1.y, R1.w, R2.w;\n"
+ "MUL R1.x, R1.w, R0.w;\n"
+ "MUL R1.z, R0.w, R3;\n"
+ "DP3 R2.w, R1, c[5];\n"
+ "MUL R3.xy, R3, c[6];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[9];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_MULTIPLY =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
- "FLR R0.y, R0.x;\n"
- "MUL R0.zw, fragment.position.xyxy, c[10].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "ADD R0.x, R0, -R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "ADD R2.x, -R1.w, c[7].w;\n"
- "MUL R2.xyz, R0, R2.x;\n"
- "MAD R0.xyz, R0, R1, R2;\n"
- "ADD R2.x, -R0.w, c[7].w;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[9].x, c[9].y;\n"
+ "MAD R1.z, R1, R1.y, -c[9];\n"
+ "MAD R1.z, R1, R1.y, c[9].w;\n"
+ "MAD R1.z, R1, R1.y, -c[10].x;\n"
+ "MAD R1.y, R1.z, R1, c[10];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[8].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[8].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R1.x, R0, c[8];\n"
+ "FLR R1.y, R1.x;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "ADD R1.x, R1, -R1.y;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "ADD R2.x, -R0.w, c[10].z;\n"
+ "MUL R2.xyz, R1, R2.x;\n"
+ "MAD R1.xyz, R1, R0, R2;\n"
+ "ADD R2.x, -R1.w, c[10].z;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SCREEN =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MUL R1.xy, fragment.position, c[10];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
+ "ADD R3.xy, fragment.position, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[9].x, c[9].y;\n"
+ "MAD R1.z, R1, R1.y, -c[9];\n"
+ "MAD R1.z, R1, R1.y, c[9].w;\n"
+ "MAD R1.z, R1, R1.y, -c[10].x;\n"
+ "MAD R1.y, R1.z, R1, c[10];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[8].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[8].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[8];\n"
"FLR R0.y, R0.x;\n"
- "ADD R0.x, R0, -R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "ADD R2, R0, R1;\n"
- "MAD R2, -R0, R1, R2;\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R0.z, R0.x, -R0.y;\n"
+ "TEX R1, R0.z, texture[2], 1D;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "ADD R2, R1, R0;\n"
+ "MAD R2, -R1, R0, R2;\n"
+ "MUL R3.xy, R3, c[4];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_OVERLAY =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494, 2 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.0020000001, -0.01348047, 0.057477314, 0.12123907 },\n"
+ " { 0.19563593, 0.33299461, 0.99999565, 1.5707964 },\n"
+ " { 3.1415927, 0.15915494, 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MUL R1.xy, fragment.position, c[10];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R1, c[7];\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8];\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[8].y, c[8];\n"
+ "MAD R1.z, R1, R1.y, -c[8].w;\n"
+ "MAD R1.z, R1, R1.y, c[9].x;\n"
+ "MAD R1.z, R1, R1.y, -c[9].y;\n"
+ "MAD R1.y, R1.z, R1, c[9].z;\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[9].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[10].x;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[10].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[2], 1D;\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
+ "TEX R1, R1, texture[0], 2D;\n"
+ "ADD R2.w, -R1, c[10];\n"
"ADD R3.xyz, R0.w, -R0;\n"
"ADD R2.xyz, R1.w, -R1;\n"
"MUL R2.xyz, R2, R3;\n"
- "MUL R2.xyz, R2, c[9].y;\n"
+ "MUL R2.xyz, R2, c[10].z;\n"
"MAD R2.xyz, R0.w, R1.w, -R2;\n"
"MUL R4.xyz, R0, R2.w;\n"
"MUL R3.xyz, R0, R1;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].w;\n"
- "MAD R3.xyz, R3, c[9].y, R4;\n"
+ "ADD R2.x, -R0.w, c[10].w;\n"
+ "MAD R3.xyz, R3, c[10].z, R4;\n"
"MAD R3.xyz, R1, R2.x, R3;\n"
"MAD R0.xyz, R1, R2.x, R0;\n"
- "MUL R2.xyz, R1, c[9].y;\n"
+ "MUL R2.xyz, R1, c[10].z;\n"
"ADD R0.xyz, R0, -R3;\n"
"SGE R2.xyz, R2, R1.w;\n"
"MAD R2.xyz, R2, R0, R3;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DARKEN =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MUL R1.xy, fragment.position, c[10];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
- "FLR R0.y, R0.x;\n"
- "ADD R0.x, R0, -R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[9].x, c[9].y;\n"
+ "MAD R1.z, R1, R1.y, -c[9];\n"
+ "MAD R1.z, R1, R1.y, c[9].w;\n"
+ "MAD R1.z, R1, R1.y, -c[10].x;\n"
+ "MAD R1.y, R1.z, R1, c[10];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[8].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[8].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.z, R0.x, c[8].x;\n"
+ "FLR R0.w, R0.z;\n"
+ "ADD R1.x, R0.z, -R0.w;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MIN R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[7];\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].w;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[10].z;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[10].z;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_LIGHTEN =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MUL R1.xy, fragment.position, c[10];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
- "FLR R0.y, R0.x;\n"
- "ADD R0.x, R0, -R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[9].x, c[9].y;\n"
+ "MAD R1.z, R1, R1.y, -c[9];\n"
+ "MAD R1.z, R1, R1.y, c[9].w;\n"
+ "MAD R1.z, R1, R1.y, -c[10].x;\n"
+ "MAD R1.y, R1.z, R1, c[10];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[8].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[8].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.z, R0.x, c[8].x;\n"
+ "FLR R0.w, R0.z;\n"
+ "ADD R1.x, R0.z, -R0.w;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MAX R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[7];\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].w;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[10].z;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[10].z;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_COLORDODGE =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494, 1e-06 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.0020000001, -0.01348047, 0.057477314, 0.12123907 },\n"
+ " { 0.19563593, 0.33299461, 0.99999565, 1.5707964 },\n"
+ " { 3.1415927, 0.15915494, 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8];\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[8].y, c[8];\n"
+ "MAD R1.z, R1, R1.y, -c[8].w;\n"
+ "MAD R1.z, R1, R1.y, c[9].x;\n"
+ "MAD R1.z, R1, R1.y, -c[9].y;\n"
+ "MAD R1.y, R1.z, R1, c[9].z;\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[9].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[10].x;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[10].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MAX R1.x, R0.w, c[9].y;\n"
+ "MAX R1.x, R0.w, c[10].w;\n"
"RCP R1.x, R1.x;\n"
- "MAD R1.xyz, -R0, R1.x, c[7].w;\n"
- "MAX R2.xyz, R1, c[9].y;\n"
- "MUL R1.xy, fragment.position, c[10];\n"
+ "MAD R1.xyz, -R0, R1.x, c[10].z;\n"
+ "MAX R2.xyz, R1, c[10].w;\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R0, c[7];\n"
+ "ADD R2.w, -R0, c[10].z;\n"
"MUL R3.xyz, R1, R2.w;\n"
- "ADD R2.w, -R1, c[7];\n"
+ "ADD R2.w, -R1, c[10].z;\n"
"MAD R4.xyz, R0, R2.w, R3;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MUL R2.w, R0, R1;\n"
"MAD R0.xyz, R0, R1.w, R3;\n"
"SGE R0.xyz, R0, R2.w;\n"
@@ -2778,70 +2697,70 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
"MAD R2.xyz, R0, R4, R2;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_COLORBURN =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494, 9.9999997e-06 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.0020000001, -0.01348047, 0.057477314, 0.12123907 },\n"
+ " { 0.19563593, 0.33299461, 0.99999565, 1.5707964 },\n"
+ " { 3.1415927, 0.15915494, 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MUL R1.xy, fragment.position, c[10];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R1, c[7];\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8];\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[8].y, c[8];\n"
+ "MAD R1.z, R1, R1.y, -c[8].w;\n"
+ "MAD R1.z, R1, R1.y, c[9].x;\n"
+ "MAD R1.z, R1, R1.y, -c[9].y;\n"
+ "MAD R1.y, R1.z, R1, c[9].z;\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[9].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[10].x;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[10].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"MAD R2.xyz, -R0.w, R1.w, R3;\n"
"MUL R4.xyz, R0.w, R2;\n"
- "MAX R2.xyz, R0, c[9].y;\n"
- "ADD R3.w, -R0, c[7];\n"
+ "MAX R2.xyz, R0, c[10].w;\n"
+ "ADD R2.w, -R1, c[10].z;\n"
+ "ADD R3.w, -R0, c[10].z;\n"
"MUL R5.xyz, R0, R2.w;\n"
"RCP R2.x, R2.x;\n"
"RCP R2.y, R2.y;\n"
@@ -2856,74 +2775,74 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
"MAD R2.xyz, R3, R2, R0;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_HARDLIGHT =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494, 2 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.0020000001, -0.01348047, 0.057477314, 0.12123907 },\n"
+ " { 0.19563593, 0.33299461, 0.99999565, 1.5707964 },\n"
+ " { 3.1415927, 0.15915494, 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MUL R1.xy, fragment.position, c[10];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R1, c[7];\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8];\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[8].y, c[8];\n"
+ "MAD R1.z, R1, R1.y, -c[8].w;\n"
+ "MAD R1.z, R1, R1.y, c[9].x;\n"
+ "MAD R1.z, R1, R1.y, -c[9].y;\n"
+ "MAD R1.y, R1.z, R1, c[9].z;\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[9].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[10].x;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[10].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[2], 1D;\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
+ "TEX R1, R1, texture[0], 2D;\n"
+ "ADD R2.w, -R1, c[10];\n"
"ADD R3.xyz, R0.w, -R0;\n"
"ADD R2.xyz, R1.w, -R1;\n"
"MUL R2.xyz, R2, R3;\n"
- "MUL R2.xyz, R2, c[9].y;\n"
+ "MUL R2.xyz, R2, c[10].z;\n"
"MAD R2.xyz, R0.w, R1.w, -R2;\n"
"MUL R4.xyz, R0, R2.w;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
"MUL R3.xyz, R0, R1;\n"
- "ADD R2.w, -R0, c[7];\n"
- "MAD R3.xyz, R3, c[9].y, R4;\n"
- "MUL R0.xyz, R0, c[9].y;\n"
+ "ADD R2.w, -R0, c[10];\n"
+ "MAD R3.xyz, R3, c[10].z, R4;\n"
+ "MUL R0.xyz, R0, c[10].z;\n"
"SGE R0.xyz, R0, R0.w;\n"
"MAD R3.xyz, R1, R2.w, R3;\n"
"MAD R2.xyz, R1, R2.w, R2;\n"
@@ -2931,24 +2850,22 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
"MAD R2.xyz, R0, R2, R3;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
- "PARAM c[12] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494, 9.9999997e-06, 2, 8 },\n"
- " program.local[10],\n"
- " { 3 } };\n"
+ "PARAM c[12] = { program.local[0..7],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1, 9.9999997e-006 },\n"
+ " { 2, 3, 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -2956,326 +2873,325 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MOV R1.x, c[7].y;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MUL R0.zw, fragment.position.xyxy, c[10].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
- "FLR R0.y, R0.x;\n"
- "MAX R0.z, R1.w, c[9].y;\n"
- "RCP R2.w, R0.z;\n"
- "MUL R2.xyz, R1, R2.w;\n"
- "RSQ R3.w, R2.x;\n"
- "RSQ R4.y, R2.z;\n"
- "RCP R4.x, R3.w;\n"
- "ADD R0.x, R0, -R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MAD R3.xyz, R0, c[9].z, -R0.w;\n"
- "RSQ R3.w, R2.y;\n"
- "RCP R4.z, R4.y;\n"
- "RCP R4.y, R3.w;\n"
- "MAD R4.xyz, R4, R1.w, -R1;\n"
- "MUL R6.xyz, R4, R3;\n"
- "MUL R4.xyz, -R2, c[9].w;\n"
- "MAD R2.xyz, -R1, R2.w, c[7].w;\n"
- "ADD R5.xyz, R4, c[11].x;\n"
- "MUL R4.xyz, R2, R3;\n"
- "MAD R4.xyz, -R4, R5, R0.w;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
- "MAD R5.xyz, R1, R0.w, R6;\n"
- "MUL R4.xyz, R1, R4;\n"
- "MUL R6.xyz, R1, c[9].w;\n"
- "ADD R5.xyz, R5, -R4;\n"
- "SGE R6.xyz, R6, R1.w;\n"
- "MUL R5.xyz, R6, R5;\n"
- "ADD R3.xyz, R4, R5;\n"
- "MUL R2.xyz, R1, R2;\n"
- "MUL R4.xyz, R0, c[9].z;\n"
- "ADD R3.xyz, R3, -R2;\n"
- "SGE R4.xyz, R4, R0.w;\n"
- "MUL R3.xyz, R4, R3;\n"
- "ADD R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[7];\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].w;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[9].x, c[9].y;\n"
+ "MAD R1.z, R1, R1.y, -c[9];\n"
+ "MAD R1.z, R1, R1.y, c[9].w;\n"
+ "MAD R1.z, R1, R1.y, -c[10].x;\n"
+ "MAD R1.y, R1.z, R1, c[10];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[8].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[8].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R1.x, R0, c[8];\n"
+ "FLR R1.y, R1.x;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MAX R2.x, R0.w, c[10].w;\n"
+ "RCP R2.w, R2.x;\n"
+ "MUL R2.xyz, R0, R2.w;\n"
+ "MAD R6.xyz, -R2, c[11].z, c[11].y;\n"
+ "MAD R3.xyz, -R0, R2.w, c[10].z;\n"
+ "RSQ R2.w, R2.x;\n"
+ "RCP R2.x, R2.w;\n"
+ "ADD R1.x, R1, -R1.y;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MAD R4.xyz, R1, c[11].x, -R1.w;\n"
+ "MUL R5.xyz, R3, R4;\n"
+ "MAD R5.xyz, -R5, R6, R1.w;\n"
+ "MAD R3.xyz, -R3, R4, R1.w;\n"
+ "RSQ R2.z, R2.z;\n"
+ "RSQ R2.y, R2.y;\n"
+ "MUL R5.xyz, R0, R5;\n"
+ "MUL R3.xyz, R0, R3;\n"
+ "ADD R2.w, -R0, c[10].z;\n"
+ "RCP R2.z, R2.z;\n"
+ "RCP R2.y, R2.y;\n"
+ "MAD R2.xyz, R0.w, R2, -R0;\n"
+ "MUL R2.xyz, R2, R4;\n"
+ "MAD R2.xyz, R1.w, R0, R2;\n"
+ "ADD R6.xyz, R2, -R5;\n"
+ "MUL R4.xyz, R1, c[11].x;\n"
+ "MUL R2.xyz, R0, c[11].z;\n"
+ "SGE R2.xyz, R2, R0.w;\n"
+ "MAD R2.xyz, R2, R6, R5;\n"
+ "SGE R4.xyz, R4, R1.w;\n"
+ "ADD R2.xyz, R2, -R3;\n"
+ "MAD R2.xyz, R4, R2, R3;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[10].z;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DIFFERENCE =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494, 2 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 2 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
- "FLR R0.y, R0.x;\n"
- "MUL R0.zw, fragment.position.xyxy, c[10].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "ADD R0.x, R0, -R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "ADD R3.xyz, R0, R1;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MUL R0.xyz, R0, R1.w;\n"
- "MIN R0.xyz, R0, R2;\n"
- "MAD R2.xyz, -R0, c[9].y, R3;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[9].x, c[9].y;\n"
+ "MAD R1.z, R1, R1.y, -c[9];\n"
+ "MAD R1.z, R1, R1.y, c[9].w;\n"
+ "MAD R1.z, R1, R1.y, -c[10].x;\n"
+ "MAD R1.y, R1.z, R1, c[10];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[8].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[8].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.z, R0.x, c[8].x;\n"
+ "FLR R0.w, R0.z;\n"
+ "ADD R1.x, R0.z, -R0.w;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "ADD R2.xyz, R1, R0;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R1.xyz, R1, R0.w;\n"
+ "MIN R1.xyz, R1, R3;\n"
+ "MAD R2.xyz, -R1, c[10].z, R2;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_EXCLUSION =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..5],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[8],\n"
- " { 0.15915494, 2 },\n"
- " program.local[10] };\n"
+ "PARAM c[11] = { program.local[0..7],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[6].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[6].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[7].y;\n"
- "CMP R0.x, R0, c[7], R1;\n"
- "MAD R0.w, R0, c[6].z, -c[6];\n"
- "MUL R1.xy, fragment.position, c[10];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[7].z, c[7].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[8];\n"
- "MUL R0.x, R0, c[9];\n"
- "FLR R0.y, R0.x;\n"
- "ADD R0.x, R0, -R0.y;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MAD R3.xyz, R0, R1.w, R2;\n"
- "MUL R2.xyz, R0, R1;\n"
- "MAD R2.xyz, -R2, c[9].y, R3;\n"
- "ADD R2.w, -R1, c[7];\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[7].w;\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[8].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[9].x, c[9].y;\n"
+ "MAD R1.z, R1, R1.y, -c[9];\n"
+ "MAD R1.z, R1, R1.y, c[9].w;\n"
+ "MAD R1.z, R1, R1.y, -c[10].x;\n"
+ "MAD R1.y, R1.z, R1, c[10];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[8].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[8].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.z, R0.x, c[8].x;\n"
+ "FLR R0.w, R0.z;\n"
+ "ADD R1.x, R0.z, -R0.w;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R2.xyz, R1.w, R0;\n"
+ "MAD R3.xyz, R1, R0.w, R2;\n"
+ "MUL R2.xyz, R1, R0;\n"
+ "MAD R2.xyz, -R2, c[10].z, R3;\n"
+ "ADD R2.w, -R0, c[10];\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[10].w;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494 },\n"
- " program.local[7..9] };\n"
+ "PARAM c[10] = { program.local[0..6],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
- "FLR R0.y, R0.x;\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[7].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[8].x, c[8].y;\n"
+ "MAD R1.z, R1, R1.y, -c[8];\n"
+ "MAD R1.z, R1, R1.y, c[8].w;\n"
+ "MAD R1.z, R1, R1.y, -c[9].x;\n"
+ "MAD R1.y, R1.z, R1, c[9];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[7].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[7].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R2.xyz, R1, c[9].y;\n"
+ "MUL R2.xyz, R1, c[4].y;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[7];\n"
+ "FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MUL R3.xyz, R2, R0.w;\n"
- "MUL R2.xyz, R0, c[9].x;\n"
- "MAD R2.xyz, R2, R1.w, R3;\n"
- "ADD R2.w, -R1, c[4];\n"
- "MUL R0.xyz, R0, c[8].y;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[4].w;\n"
- "MUL R1.xyz, R1, c[8].z;\n"
- "MAD result.color.xyz, R1, R2.x, R0;\n"
+ "MUL R3.xyz, R0.w, R2;\n"
+ "MUL R2.xyz, R0, c[4].x;\n"
+ "MAD R2.xyz, R1.w, R2, R3;\n"
+ "ADD R2.w, -R1, c[9].z;\n"
+ "MUL R0.xyz, R0, c[5].y;\n"
+ "MAD R0.xyz, R2.w, R0, R2;\n"
+ "ADD R2.x, -R0.w, c[9].z;\n"
+ "MUL R1.xyz, R1, c[5].z;\n"
+ "MAD result.color.xyz, R2.x, R1, R0;\n"
"MUL R0.x, R0.w, R1.w;\n"
"MUL R0.z, R1.w, R2.x;\n"
"MUL R0.y, R0.w, R2.w;\n"
- "DP3 result.color.w, R0, c[8];\n"
+ "DP3 result.color.w, R0, c[5];\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_MULTIPLY_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
- "FLR R0.y, R0.x;\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[6].x, c[6].y;\n"
+ "MAD R1.z, R1, R1.y, -c[6];\n"
+ "MAD R1.z, R1, R1.y, c[6].w;\n"
+ "MAD R1.z, R1, R1.y, -c[7].x;\n"
+ "MAD R1.y, R1.z, R1, c[7];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[5].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[5].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[5];\n"
+ "FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "ADD R2.x, -R1.w, c[4].w;\n"
+ "ADD R2.x, -R1.w, c[7].z;\n"
"MUL R2.xyz, R0, R2.x;\n"
"MAD R0.xyz, R0, R1, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].w;\n"
+ "ADD R2.y, -R0.w, c[7].z;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -3283,46 +3199,46 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SCREEN_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[6].x, c[6].y;\n"
+ "MAD R1.z, R1, R1.y, -c[6];\n"
+ "MAD R1.z, R1, R1.y, c[6].w;\n"
+ "MAD R1.z, R1, R1.y, -c[7].x;\n"
+ "MAD R1.y, R1.z, R1, c[7];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[5].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[5].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[5];\n"
"FLR R0.y, R0.x;\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
@@ -3333,64 +3249,64 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_OVERLAY_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494, 2 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.0020000001, -0.01348047, 0.057477314, 0.12123907 },\n"
+ " { 0.19563593, 0.33299461, 0.99999565, 1.5707964 },\n"
+ " { 3.1415927, 0.15915494, 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R1, c[4];\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5];\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[5].y, c[5];\n"
+ "MAD R1.z, R1, R1.y, -c[5].w;\n"
+ "MAD R1.z, R1, R1.y, c[6].x;\n"
+ "MAD R1.z, R1, R1.y, -c[6].y;\n"
+ "MAD R1.y, R1.z, R1, c[6].z;\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[6].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[7].x;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[7].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
+ "MUL R1.xy, fragment.position, c[4];\n"
+ "TEX R1, R1, texture[0], 2D;\n"
"ADD R3.xyz, R0.w, -R0;\n"
"ADD R2.xyz, R1.w, -R1;\n"
"MUL R2.xyz, R2, R3;\n"
- "MUL R2.xyz, R2, c[6].y;\n"
+ "ADD R2.w, -R1, c[7];\n"
+ "MUL R2.xyz, R2, c[7].z;\n"
"MAD R2.xyz, R0.w, R1.w, -R2;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
"MUL R3.xyz, R0, R2.w;\n"
"MUL R0.xyz, R0, R1;\n"
- "ADD R2.w, -R0, c[4];\n"
- "MAD R0.xyz, R0, c[6].y, R3;\n"
+ "ADD R2.w, -R0, c[7];\n"
+ "MAD R0.xyz, R0, c[7].z, R3;\n"
"MAD R0.xyz, R1, R2.w, R0;\n"
"MAD R2.xyz, R1, R2.w, R2;\n"
- "MUL R1.xyz, R1, c[6].y;\n"
+ "MUL R1.xyz, R1, c[7].z;\n"
"ADD R2.w, R0, R1;\n"
"ADD R2.xyz, R2, -R0;\n"
"SGE R1.xyz, R1, R1.w;\n"
@@ -3401,57 +3317,57 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DARKEN_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[6].x, c[6].y;\n"
+ "MAD R1.z, R1, R1.y, -c[6];\n"
+ "MAD R1.z, R1, R1.y, c[6].w;\n"
+ "MAD R1.z, R1, R1.y, -c[7].x;\n"
+ "MAD R1.y, R1.z, R1, c[7];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[5].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[5].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[5];\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MIN R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[4];\n"
+ "ADD R2.w, -R1, c[7].z;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].w;\n"
+ "ADD R2.y, -R0.w, c[7].z;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -3459,57 +3375,57 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_LIGHTEN_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[6].x, c[6].y;\n"
+ "MAD R1.z, R1, R1.y, -c[6];\n"
+ "MAD R1.z, R1, R1.y, c[6].w;\n"
+ "MAD R1.z, R1, R1.y, -c[7].x;\n"
+ "MAD R1.y, R1.z, R1, c[7];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[5].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[5].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[5];\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MAX R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[4];\n"
+ "ADD R2.w, -R1, c[7].z;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].w;\n"
+ "ADD R2.y, -R0.w, c[7].z;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -3517,59 +3433,59 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_COLORDODGE_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494, 1e-06 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.0020000001, -0.01348047, 0.057477314, 0.12123907 },\n"
+ " { 0.19563593, 0.33299461, 0.99999565, 1.5707964 },\n"
+ " { 3.1415927, 0.15915494, 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5];\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[5].y, c[5];\n"
+ "MAD R1.z, R1, R1.y, -c[5].w;\n"
+ "MAD R1.z, R1, R1.y, c[6].x;\n"
+ "MAD R1.z, R1, R1.y, -c[6].y;\n"
+ "MAD R1.y, R1.z, R1, c[6].z;\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[6].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[7].x;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[7].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MAX R1.x, R0.w, c[6].y;\n"
+ "MAX R1.x, R0.w, c[7].w;\n"
"RCP R1.x, R1.x;\n"
- "MAD R1.xyz, -R0, R1.x, c[4].w;\n"
- "MAX R2.xyz, R1, c[6].y;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
+ "MAD R1.xyz, -R0, R1.x, c[7].z;\n"
+ "MAX R2.xyz, R1, c[7].w;\n"
+ "MUL R1.xy, fragment.position, c[4];\n"
"TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R0, c[4];\n"
+ "ADD R2.w, -R0, c[7].z;\n"
"MUL R3.xyz, R1, R2.w;\n"
- "ADD R2.w, -R1, c[4];\n"
+ "ADD R2.w, -R1, c[7].z;\n"
"MAD R3.xyz, R0, R2.w, R3;\n"
- "MUL R1.xyz, R1, R0.w;\n"
+ "MUL R1.xyz, R0.w, R1;\n"
"MAD R0.xyz, R0, R1.w, R1;\n"
"MUL R2.w, R0, R1;\n"
"RCP R2.x, R2.x;\n"
@@ -3587,60 +3503,60 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_COLORBURN_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494, 9.9999997e-06 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.0020000001, -0.01348047, 0.057477314, 0.12123907 },\n"
+ " { 0.19563593, 0.33299461, 0.99999565, 1.5707964 },\n"
+ " { 3.1415927, 0.15915494, 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R1, c[4];\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5];\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[5].y, c[5];\n"
+ "MAD R1.z, R1, R1.y, -c[5].w;\n"
+ "MAD R1.z, R1, R1.y, c[6].x;\n"
+ "MAD R1.z, R1, R1.y, -c[6].y;\n"
+ "MAD R1.y, R1.z, R1, c[6].z;\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[6].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[7].x;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[7].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
+ "ADD R2.w, -R1, c[7].z;\n"
"MAD R2.xyz, -R0.w, R1.w, R3;\n"
"MUL R4.xyz, R0.w, R2;\n"
- "MAX R2.xyz, R0, c[6].y;\n"
+ "MAX R2.xyz, R0, c[7].w;\n"
"MUL R5.xyz, R0, R2.w;\n"
- "ADD R3.w, -R0, c[4];\n"
+ "ADD R3.w, -R0, c[7].z;\n"
"RCP R2.x, R2.x;\n"
"RCP R2.y, R2.y;\n"
"RCP R2.z, R2.z;\n"
@@ -3659,64 +3575,64 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_HARDLIGHT_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494, 2 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.0020000001, -0.01348047, 0.057477314, 0.12123907 },\n"
+ " { 0.19563593, 0.33299461, 0.99999565, 1.5707964 },\n"
+ " { 3.1415927, 0.15915494, 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R1, c[4];\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5];\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[5].y, c[5];\n"
+ "MAD R1.z, R1, R1.y, -c[5].w;\n"
+ "MAD R1.z, R1, R1.y, c[6].x;\n"
+ "MAD R1.z, R1, R1.y, -c[6].y;\n"
+ "MAD R1.y, R1.z, R1, c[6].z;\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[6].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[7].x;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[7].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
+ "MUL R1.xy, fragment.position, c[4];\n"
+ "TEX R1, R1, texture[0], 2D;\n"
+ "ADD R2.w, -R1, c[7];\n"
"ADD R3.xyz, R0.w, -R0;\n"
"ADD R2.xyz, R1.w, -R1;\n"
"MUL R2.xyz, R2, R3;\n"
- "MUL R2.xyz, R2, c[6].y;\n"
+ "MUL R2.xyz, R2, c[7].z;\n"
"MAD R2.xyz, R0.w, R1.w, -R2;\n"
"MUL R4.xyz, R0, R2.w;\n"
"MUL R3.xyz, R0, R1;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
- "ADD R2.w, -R0, c[4];\n"
- "MUL R0.xyz, R0, c[6].y;\n"
+ "ADD R2.w, -R0, c[7];\n"
+ "MUL R0.xyz, R0, c[7].z;\n"
"MAD R2.xyz, R1, R2.w, R2;\n"
- "MAD R3.xyz, R3, c[6].y, R4;\n"
+ "MAD R3.xyz, R3, c[7].z, R4;\n"
"MAD R1.xyz, R1, R2.w, R3;\n"
"ADD R2.w, R0, R1;\n"
"ADD R2.xyz, R2, -R1;\n"
@@ -3728,13 +3644,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[9] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494, 9.9999997e-06, 2, 8 },\n"
- " program.local[7],\n"
- " { 3 } };\n"
+ "PARAM c[9] = { program.local[0..4],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 1, 9.9999997e-006 },\n"
+ " { 2, 3, 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -3742,75 +3656,74 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MOV R1.x, c[4].y;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[6].x, c[6].y;\n"
+ "MAD R1.z, R1, R1.y, -c[6];\n"
+ "MAD R1.z, R1, R1.y, c[6].w;\n"
+ "MAD R1.z, R1, R1.y, -c[7].x;\n"
+ "MAD R1.y, R1.z, R1, c[7];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[5].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[5].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
- "FLR R0.y, R0.x;\n"
- "MAX R0.z, R1.w, c[6].y;\n"
- "RCP R2.w, R0.z;\n"
+ "MAX R2.x, R1.w, c[7].w;\n"
+ "RCP R2.w, R2.x;\n"
"MUL R2.xyz, R1, R2.w;\n"
- "RSQ R3.w, R2.x;\n"
- "RSQ R4.y, R2.z;\n"
- "RCP R4.x, R3.w;\n"
+ "MAD R6.xyz, -R2, c[8].z, c[8].y;\n"
+ "MAD R3.xyz, -R1, R2.w, c[7].z;\n"
+ "RSQ R2.w, R2.x;\n"
+ "RCP R2.x, R2.w;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[5];\n"
+ "FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MAD R3.xyz, R0, c[6].z, -R0.w;\n"
- "RSQ R3.w, R2.y;\n"
- "RCP R4.z, R4.y;\n"
- "RCP R4.y, R3.w;\n"
- "MAD R4.xyz, R4, R1.w, -R1;\n"
- "MUL R6.xyz, R4, R3;\n"
- "MUL R4.xyz, -R2, c[6].w;\n"
- "MAD R2.xyz, -R1, R2.w, c[4].w;\n"
- "ADD R5.xyz, R4, c[8].x;\n"
- "MUL R4.xyz, R2, R3;\n"
- "MAD R4.xyz, -R4, R5, R0.w;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
- "MAD R5.xyz, R1, R0.w, R6;\n"
- "MUL R4.xyz, R1, R4;\n"
- "MUL R6.xyz, R1, c[6].w;\n"
- "ADD R5.xyz, R5, -R4;\n"
- "SGE R6.xyz, R6, R1.w;\n"
- "MUL R5.xyz, R6, R5;\n"
- "ADD R3.xyz, R4, R5;\n"
- "MUL R2.xyz, R1, R2;\n"
- "MUL R4.xyz, R0, c[6].z;\n"
- "ADD R3.xyz, R3, -R2;\n"
+ "MAD R4.xyz, R0, c[8].x, -R0.w;\n"
+ "MUL R5.xyz, R3, R4;\n"
+ "MAD R5.xyz, -R5, R6, R0.w;\n"
+ "MAD R3.xyz, -R3, R4, R0.w;\n"
+ "RSQ R2.z, R2.z;\n"
+ "RSQ R2.y, R2.y;\n"
+ "MUL R5.xyz, R1, R5;\n"
+ "MUL R3.xyz, R1, R3;\n"
+ "RCP R2.z, R2.z;\n"
+ "RCP R2.y, R2.y;\n"
+ "MAD R2.xyz, R1.w, R2, -R1;\n"
+ "MUL R2.xyz, R2, R4;\n"
+ "MAD R2.xyz, R0.w, R1, R2;\n"
+ "ADD R6.xyz, R2, -R5;\n"
+ "MUL R4.xyz, R0, c[8].x;\n"
+ "MUL R2.xyz, R1, c[8].z;\n"
+ "SGE R2.xyz, R2, R1.w;\n"
+ "MAD R2.xyz, R2, R6, R5;\n"
+ "ADD R2.xyz, R2, -R3;\n"
"SGE R4.xyz, R4, R0.w;\n"
- "MUL R3.xyz, R4, R3;\n"
- "ADD R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[4];\n"
+ "MAD R2.xyz, R4, R2, R3;\n"
+ "ADD R2.w, -R1, c[7].z;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].w;\n"
+ "ADD R2.y, -R0.w, c[7].z;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -3818,114 +3731,114 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_DIFFERENCE_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494, 2 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 2 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[6].x, c[6].y;\n"
+ "MAD R1.z, R1, R1.y, -c[6];\n"
+ "MAD R1.z, R1, R1.y, c[6].w;\n"
+ "MAD R1.z, R1, R1.y, -c[7].x;\n"
+ "MAD R1.y, R1.z, R1, c[7];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[5].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[5].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[5];\n"
"FLR R0.y, R0.x;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"ADD R0.xyz, R0, R1;\n"
"MIN R2.xyz, R2, R3;\n"
"ADD R1.x, R0.w, R1.w;\n"
- "MAD result.color.xyz, -R2, c[6].y, R0;\n"
+ "MAD result.color.xyz, -R2, c[7].z, R0;\n"
"MAD result.color.w, -R0, R1, R1.x;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_EXCLUSION_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494, 2 },\n"
- " program.local[7] };\n"
+ "PARAM c[8] = { program.local[0..4],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565, 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[5].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[6].x, c[6].y;\n"
+ "MAD R1.z, R1, R1.y, -c[6];\n"
+ "MAD R1.z, R1, R1.y, c[6].w;\n"
+ "MAD R1.z, R1, R1.y, -c[7].x;\n"
+ "MAD R1.y, R1.z, R1, c[7];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[5].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[5].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[5];\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"MUL R2.xyz, R0, R1;\n"
- "MAD R2.xyz, -R2, c[6].y, R3;\n"
- "ADD R2.w, -R1, c[4];\n"
+ "MAD R2.xyz, -R2, c[7].z, R3;\n"
+ "ADD R2.w, -R1, c[7];\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[4].w;\n"
+ "ADD R2.y, -R0.w, c[7].w;\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -3933,49 +3846,49 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODE_BLEND_MODE_MASK =
"!!ARBfp1.0\n"
- "PARAM c[10] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494 },\n"
- " program.local[7..9] };\n"
+ "PARAM c[10] = { program.local[0..6],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.y, R0.w;\n"
- "RCP R1.x, R1.x;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.z, R0.x, R0.y, c[5].x;\n"
- "MUL R1.x, R0.z, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[7].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[8].x, c[8].y;\n"
+ "MAD R1.z, R1, R1.y, -c[8];\n"
+ "MAD R1.z, R1, R1.y, c[8].w;\n"
+ "MAD R1.z, R1, R1.y, -c[9].x;\n"
+ "MAD R1.y, R1.z, R1, c[9];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R1.y, -R1.x, c[7].w;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[7].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.z, R0.x, c[0].x;\n"
+ "MUL R1.x, R0.z, c[7];\n"
"FLR R1.y, R1.x;\n"
- "ADD R0.xy, fragment.position, c[7];\n"
- "MUL R0.xy, R0, c[8];\n"
+ "ADD R0.xy, fragment.position, c[5];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
"ADD R1.x, R1, -R1.y;\n"
- "DP4 R1.y, R0, c[9];\n"
+ "DP4 R1.y, R0, c[6];\n"
"TEX R0, R1, texture[1], 1D;\n"
"MUL result.color, R0, R1.y;\n"
"END\n"
@@ -3983,42 +3896,43 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODE_BLEND_MODE_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[7] = { program.local[0..2],\n"
- " { 0.0020000001, 9.9999997e-10, 0.1963, 0.9817 },\n"
- " { 2.3561945, 0.78539819, -1, 1 },\n"
- " program.local[5],\n"
- " { 0.15915494 } };\n"
+ "PARAM c[7] = { program.local[0..3],\n"
+ " { 0.15915494, 0.0020000001, 3.1415927, 1.5707964 },\n"
+ " { -0.01348047, 0.057477314, 0.12123907, 0.19563593 },\n"
+ " { 0.33299461, 0.99999565 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "ABS R0.w, R0.x;\n"
- "ABS R0.z, R0.y;\n"
- "ADD R0.z, R0, -R0.w;\n"
- "ADD R0.w, R0.y, c[3].x;\n"
- "ABS R0.z, R0;\n"
- "CMP R0.y, -R0.z, R0, R0.w;\n"
- "ABS R0.z, -R0.y;\n"
- "ADD R0.z, R0, c[3].y;\n"
- "ADD R0.w, R0.x, R0.z;\n"
- "ADD R1.x, R0.z, -R0;\n"
- "RCP R1.x, R1.x;\n"
- "RCP R1.y, R0.w;\n"
- "MUL R0.w, R0, R1.x;\n"
- "ADD R0.z, R0.x, -R0;\n"
- "MUL R0.z, R0, R1.y;\n"
- "CMP R0.z, R0.x, R0.w, R0;\n"
- "MUL R0.w, R0.z, R0.z;\n"
- "MOV R1.x, c[4].y;\n"
- "CMP R0.y, -R0, c[4].z, c[4].w;\n"
- "MAD R0.w, R0, c[3].z, -c[3];\n"
- "CMP R0.x, R0, c[4], R1;\n"
- "MAD R0.x, R0.w, R0.z, R0;\n"
- "MAD R0.x, R0, R0.y, c[5];\n"
- "MUL R0.x, R0, c[6];\n"
+ "ABS R0.z, R0.x;\n"
+ "ABS R0.w, R0.y;\n"
+ "ADD R0.w, R0, -R0.z;\n"
+ "ADD R1.x, R0.y, c[4].y;\n"
+ "ABS R0.w, R0;\n"
+ "CMP R0.y, -R0.w, R0, R1.x;\n"
+ "ABS R0.w, -R0.y;\n"
+ "MAX R1.x, R0.z, R0.w;\n"
+ "RCP R1.y, R1.x;\n"
+ "MIN R1.x, R0.z, R0.w;\n"
+ "MUL R1.x, R1, R1.y;\n"
+ "MUL R1.y, R1.x, R1.x;\n"
+ "MAD R1.z, R1.y, c[5].x, c[5].y;\n"
+ "MAD R1.z, R1, R1.y, -c[5];\n"
+ "MAD R1.z, R1, R1.y, c[5].w;\n"
+ "MAD R1.z, R1, R1.y, -c[6].x;\n"
+ "MAD R1.y, R1.z, R1, c[6];\n"
+ "MUL R1.x, R1.y, R1;\n"
+ "ADD R0.z, -R0, R0.w;\n"
+ "ADD R1.y, -R1.x, c[4].w;\n"
+ "CMP R0.z, -R0, R1.y, R1.x;\n"
+ "ADD R0.w, -R0.z, c[4].z;\n"
+ "CMP R0.x, R0, R0.w, R0.z;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "ADD R0.x, R0, c[0];\n"
+ "MUL R0.x, R0, c[4];\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX result.color, R0, texture[0], 1D;\n"
@@ -4027,45 +3941,43 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SIMPLE_PORTER_DUFF =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..7],\n"
- " { 1 },\n"
- " program.local[9..10] };\n"
+ "PARAM c[11] = { program.local[0..9],\n"
+ " { 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "ADD R0.x, R0, R0.y;\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R0.x, R0, c[6].z;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R2.xyz, R1, c[10].y;\n"
- "MUL R3.xyz, R2, R0.w;\n"
- "MUL R2.xyz, R0, c[10].x;\n"
- "MAD R2.xyz, R2, R1.w, R3;\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "MUL R0.xyz, R0, c[9].y;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R2.xyz, R0, R2.w, R2;\n"
- "MUL R0.xyz, R1, c[9].z;\n"
- "ADD R2.w, -R0, c[8].x;\n"
- "MAD R2.xyz, R0, R2.w, R2;\n"
- "ADD R0.y, -R1.w, c[8].x;\n"
- "MUL R0.z, R1.w, R2.w;\n"
- "MUL R0.x, R0.w, R1.w;\n"
- "MUL R0.y, R0.w, R0;\n"
- "DP3 R2.w, R0, c[9];\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.zw, R0.xyxy, c[0].xyxy;\n"
+ "ADD R1.x, R0.z, R0.w;\n"
+ "MUL R0.xy, fragment.position, c[7];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1.x, R1, c[0].z;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R2.xyz, R0, c[4].y;\n"
+ "MUL R3.xyz, R1.w, R2;\n"
+ "MUL R2.xyz, R1, c[4].x;\n"
+ "MAD R2.xyz, R0.w, R2, R3;\n"
+ "ADD R3.xy, fragment.position, c[8];\n"
+ "ADD R2.w, -R0, c[10].x;\n"
+ "MUL R1.xyz, R1, c[5].y;\n"
+ "MAD R2.xyz, R2.w, R1, R2;\n"
+ "MUL R1.xyz, R0, c[5].z;\n"
+ "ADD R3.z, -R1.w, c[10].x;\n"
+ "MAD R2.xyz, R3.z, R1, R2;\n"
+ "MUL R1.y, R1.w, R2.w;\n"
+ "MUL R1.x, R1.w, R0.w;\n"
+ "MUL R1.z, R0.w, R3;\n"
+ "DP3 R2.w, R1, c[5];\n"
+ "MUL R3.xy, R3, c[6];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[9];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -4076,30 +3988,30 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "ADD R0.x, R0, R0.y;\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R0.x, R0, c[6].z;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "ADD R2.x, -R1.w, c[8];\n"
- "MUL R2.xyz, R0, R2.x;\n"
- "MAD R0.xyz, R0, R1, R2;\n"
+ "MUL R0.zw, R0.xyxy, c[0].xyxy;\n"
+ "ADD R1.x, R0.z, R0.w;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1.x, R1, c[0].z;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
"ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R2.xyz, R1, R2.x;\n"
+ "MAD R1.xyz, R1, R0, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -4110,25 +4022,25 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[6].z;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "ADD R2, R0, R1;\n"
- "MAD R2, -R0, R1, R2;\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.z, R0.x, c[0];\n"
+ "ADD R3.xy, fragment.position, c[6];\n"
+ "TEX R1, R0.z, texture[2], 1D;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "ADD R2, R1, R0;\n"
+ "MAD R2, -R1, R0, R2;\n"
+ "MUL R3.xy, R3, c[4];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -4141,16 +4053,16 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[6].z;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
"ADD R2.w, -R1, c[8].y;\n"
"ADD R3.xyz, R0.w, -R0;\n"
@@ -4171,11 +4083,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"MAD R2.xyz, R2, R0, R3;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -4188,32 +4100,32 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[6].z;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "ADD R0.z, R0.x, R0.y;\n"
+ "MUL R1.x, R0.z, c[0].z;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MIN R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[8].x;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -4225,64 +4137,64 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[6].z;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "ADD R0.z, R0.x, R0.y;\n"
+ "MUL R1.x, R0.z, c[0].z;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MAX R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[8].x;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_COLORDODGE =
"!!ARBfp1.0\n"
"PARAM c[9] = { program.local[0..7],\n"
- " { 1, 1e-06 } };\n"
+ " { 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[6].z;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[2], 1D;\n"
"MAX R1.x, R0.w, c[8].y;\n"
"RCP R1.x, R1.x;\n"
"MAD R2.xyz, -R0, R1.x, c[8].x;\n"
"MAX R2.xyz, R2, c[8].y;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
"ADD R2.w, -R0, c[8].x;\n"
"MUL R3.xyz, R1, R2.w;\n"
"ADD R2.w, -R1, c[8].x;\n"
"MAD R4.xyz, R0, R2.w, R3;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MUL R2.w, R0, R1;\n"
"MAD R0.xyz, R0, R1.w, R3;\n"
"SGE R0.xyz, R0, R2.w;\n"
@@ -4295,11 +4207,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"MAD R2.xyz, R0, R4, R2;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -4307,25 +4219,25 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_COLORBURN =
"!!ARBfp1.0\n"
"PARAM c[9] = { program.local[0..7],\n"
- " { 1, 9.9999997e-06 } };\n"
+ " { 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[6].z;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"MAD R2.xyz, -R0.w, R1.w, R3;\n"
"MUL R4.xyz, R0.w, R2;\n"
@@ -4340,18 +4252,17 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"MUL R4.xyz, R1, R3.w;\n"
"MAD R0.xyz, R0, R2.w, R4;\n"
"MUL R2.w, R0, R1;\n"
- "ADD R3.w, -R0, c[8].x;\n"
"MAD R2.xyz, R1, R3.w, R2;\n"
"ADD R2.xyz, R2, -R0;\n"
"SGE R3.xyz, R3, R2.w;\n"
"MAD R2.xyz, R3, R2, R0;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -4365,16 +4276,16 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[6].z;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
"ADD R2.w, -R1, c[8].y;\n"
"ADD R3.xyz, R0.w, -R0;\n"
@@ -4395,11 +4306,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"MAD R2.xyz, R0, R2, R3;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -4407,8 +4318,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
"PARAM c[10] = { program.local[0..7],\n"
- " { 1, 9.9999997e-06, 2, 8 },\n"
- " { 3 } };\n"
+ " { 1, 9.9999997e-006, 2, 3 },\n"
+ " { 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -4416,60 +4327,58 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R2.xyz, fragment.position.y, c[4];\n"
- "MAD R3.xyz, fragment.position.x, c[3], R2;\n"
- "MUL R0.xy, fragment.position, c[7];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MAX R0.x, R1.w, c[8].y;\n"
- "RCP R2.w, R0.x;\n"
- "MUL R0.xyz, R1, R2.w;\n"
- "RSQ R0.w, R0.x;\n"
- "RSQ R2.y, R0.y;\n"
- "ADD R3.xyz, R3, c[5];\n"
- "RCP R2.x, R0.w;\n"
- "RCP R0.w, R3.z;\n"
- "MUL R3.xy, R3, R0.w;\n"
- "RSQ R0.w, R0.z;\n"
- "RCP R2.z, R0.w;\n"
+ "MUL R2.xyz, fragment.position.y, c[2];\n"
+ "MAD R3.xyz, fragment.position.x, c[1], R2;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MAX R1.x, R0.w, c[8].y;\n"
+ "RCP R2.w, R1.x;\n"
+ "MUL R1.xyz, R0, R2.w;\n"
+ "RSQ R1.w, R1.x;\n"
+ "RSQ R2.y, R1.y;\n"
+ "ADD R3.xyz, R3, c[3];\n"
+ "RCP R2.x, R1.w;\n"
+ "RCP R1.w, R3.z;\n"
+ "MUL R3.xy, R3, R1.w;\n"
+ "RSQ R1.w, R1.z;\n"
+ "RCP R2.z, R1.w;\n"
"RCP R2.y, R2.y;\n"
- "MAD R6.xyz, R2, R1.w, -R1;\n"
- "MUL R2.xyz, -R0, c[8].w;\n"
- "ADD R5.xyz, R2, c[9].x;\n"
- "MAD R2.xyz, -R1, R2.w, c[8].x;\n"
- "MUL R3.xy, R3, c[6];\n"
- "ADD R0.w, R3.x, R3.y;\n"
- "MUL R0.w, R0, c[6].z;\n"
- "TEX R0, R0.w, texture[2], 1D;\n"
- "MAD R3.xyz, R0, c[8].z, -R0.w;\n"
+ "MAD R6.xyz, R0.w, R2, -R0;\n"
+ "MUL R2.xyz, -R1, c[9].x;\n"
+ "ADD R5.xyz, R2, c[8].w;\n"
+ "MAD R2.xyz, -R0, R2.w, c[8].x;\n"
+ "MUL R3.xy, R3, c[0];\n"
+ "ADD R1.w, R3.x, R3.y;\n"
+ "MUL R1.w, R1, c[0].z;\n"
+ "TEX R1, R1.w, texture[2], 1D;\n"
+ "MAD R3.xyz, R1, c[8].z, -R1.w;\n"
"MUL R4.xyz, R2, R3;\n"
- "MAD R4.xyz, -R4, R5, R0.w;\n"
+ "MAD R4.xyz, -R4, R5, R1.w;\n"
+ "MAD R2.xyz, -R2, R3, R1.w;\n"
"MUL R5.xyz, R6, R3;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
- "MAD R6.xyz, R1, R0.w, R5;\n"
- "MUL R4.xyz, R1, R4;\n"
- "MUL R5.xyz, R1, c[8].w;\n"
- "ADD R6.xyz, R6, -R4;\n"
- "SGE R5.xyz, R5, R1.w;\n"
- "MUL R5.xyz, R5, R6;\n"
- "ADD R3.xyz, R4, R5;\n"
- "MUL R2.xyz, R1, R2;\n"
- "MUL R4.xyz, R0, c[8].z;\n"
+ "MUL R4.xyz, R0, R4;\n"
+ "MAD R5.xyz, R1.w, R0, R5;\n"
+ "ADD R6.xyz, R5, -R4;\n"
+ "MUL R5.xyz, R0, c[9].x;\n"
+ "SGE R3.xyz, R5, R0.w;\n"
+ "MAD R3.xyz, R3, R6, R4;\n"
+ "MUL R2.xyz, R0, R2;\n"
+ "MUL R4.xyz, R1, c[8].z;\n"
+ "SGE R4.xyz, R4, R1.w;\n"
"ADD R3.xyz, R3, -R2;\n"
- "SGE R4.xyz, R4, R0.w;\n"
- "MUL R3.xyz, R4, R3;\n"
- "ADD R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MAD R2.xyz, R4, R3, R2;\n"
+ "ADD R2.w, -R0, c[8].x;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -4481,106 +4390,104 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "ADD R0.x, R0, R0.y;\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R0.x, R0, c[6].z;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "ADD R3.xyz, R0, R1;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MUL R0.xyz, R0, R1.w;\n"
- "MIN R0.xyz, R0, R2;\n"
- "MAD R2.xyz, -R0, c[8].x, R3;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "ADD R0.z, R0.x, R0.y;\n"
+ "MUL R1.x, R0.z, c[0].z;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "ADD R2.xyz, R1, R0;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R1.xyz, R1, R0.w;\n"
+ "MIN R1.xyz, R1, R3;\n"
+ "MAD R2.xyz, -R1, c[8].x, R2;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_EXCLUSION =
"!!ARBfp1.0\n"
"PARAM c[9] = { program.local[0..7],\n"
- " { 1, 2 } };\n"
+ " { 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[6].z;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "TEX R0, R0, texture[2], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MAD R3.xyz, R0, R1.w, R2;\n"
- "MUL R2.xyz, R0, R1;\n"
- "MAD R2.xyz, -R2, c[8].y, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "ADD R0.z, R0.x, R0.y;\n"
+ "MUL R1.x, R0.z, c[0].z;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 1D;\n"
+ "MUL R2.xyz, R1.w, R0;\n"
+ "MAD R3.xyz, R1, R0.w, R2;\n"
+ "MUL R2.xyz, R1, R0;\n"
+ "MAD R2.xyz, -R2, c[8].x, R3;\n"
+ "ADD R2.w, -R0, c[8].y;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8].y;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..4],\n"
- " { 1 },\n"
- " program.local[6..7] };\n"
+ "PARAM c[8] = { program.local[0..6],\n"
+ " { 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R2.xyz, R1, c[7].y;\n"
- "MUL R0.x, R0, c[3].z;\n"
+ "MUL R2.xyz, R1, c[4].y;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MUL R3.xyz, R2, R0.w;\n"
- "MUL R2.xyz, R0, c[7].x;\n"
- "MAD R2.xyz, R2, R1.w, R3;\n"
- "MUL R0.xyz, R0, c[6].y;\n"
- "ADD R2.w, -R1, c[5].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[5];\n"
- "MUL R1.xyz, R1, c[6].z;\n"
- "MAD result.color.xyz, R1, R2.x, R0;\n"
- "ADD R0.y, -R1.w, c[5].x;\n"
+ "MUL R3.xyz, R0.w, R2;\n"
+ "MUL R2.xyz, R0, c[4].x;\n"
+ "MAD R2.xyz, R1.w, R2, R3;\n"
+ "ADD R2.w, -R1, c[7].x;\n"
+ "MUL R0.xyz, R0, c[5].y;\n"
+ "MAD R0.xyz, R2.w, R0, R2;\n"
+ "ADD R2.x, -R0.w, c[7];\n"
+ "MUL R1.xyz, R1, c[5].z;\n"
+ "MAD result.color.xyz, R2.x, R1, R0;\n"
"MUL R0.x, R0.w, R1.w;\n"
"MUL R0.z, R1.w, R2.x;\n"
- "MUL R0.y, R0.w, R0;\n"
- "DP3 result.color.w, R0, c[6];\n"
+ "MUL R0.y, R0.w, R2.w;\n"
+ "DP3 result.color.w, R0, c[5];\n"
"END\n"
;
@@ -4591,16 +4498,16 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
"MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R0.x, R0, c[3].z;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
"ADD R2.x, -R1.w, c[5];\n"
"MUL R2.xyz, R0, R2.x;\n"
@@ -4618,16 +4525,16 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
"MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R0.x, R0, c[3].z;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
"ADD R2, R0, R1;\n"
"MAD result.color, -R0, R1, R2;\n"
@@ -4642,14 +4549,14 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[3].z;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R1.xy, fragment.position, c[4];\n"
"TEX R1, R1, texture[0], 2D;\n"
@@ -4683,19 +4590,19 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[3].z;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
- "TEX R1, R1, texture[0], 2D;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MIN R2.xyz, R2, R3;\n"
"ADD R2.w, -R1, c[5].x;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
@@ -4714,19 +4621,19 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[3].z;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
- "TEX R1, R1, texture[0], 2D;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MAX R2.xyz, R2, R3;\n"
"ADD R2.w, -R1, c[5].x;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
@@ -4740,19 +4647,19 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_COLORDODGE_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..4],\n"
- " { 1, 1e-06 } };\n"
+ " { 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[3].z;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MAX R1.x, R0.w, c[5].y;\n"
"RCP R1.x, R1.x;\n"
@@ -4764,7 +4671,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"MUL R2.xyz, R1, R2.x;\n"
"ADD R2.w, -R1, c[5].x;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
- "MUL R1.xyz, R1, R0.w;\n"
+ "MUL R1.xyz, R0.w, R1;\n"
"MAD R0.xyz, R0, R1.w, R1;\n"
"MUL R2.w, R0, R1;\n"
"RCP R3.x, R3.x;\n"
@@ -4783,25 +4690,25 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_COLORBURN_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..4],\n"
- " { 1, 9.9999997e-06 } };\n"
+ " { 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[3].z;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"ADD R2.w, -R1, c[5].x;\n"
"MAD R2.xyz, -R0.w, R1.w, R3;\n"
@@ -4814,9 +4721,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"RCP R2.z, R2.z;\n"
"MAD R2.xyz, R4, R2, R5;\n"
"MUL R4.xyz, R1, R3.w;\n"
- "MAD R0.xyz, R0, R2.w, R4;\n"
- "ADD R3.w, -R0, c[5].x;\n"
"MAD R1.xyz, R1, R3.w, R2;\n"
+ "MAD R0.xyz, R0, R2.w, R4;\n"
"MUL R2.x, R0.w, R1.w;\n"
"ADD R2.w, R0, R1;\n"
"ADD R1.xyz, R1, -R0;\n"
@@ -4835,14 +4741,14 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[3].z;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
"MUL R1.xy, fragment.position, c[4];\n"
"TEX R1, R1, texture[0], 2D;\n"
@@ -4871,8 +4777,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[7] = { program.local[0..4],\n"
- " { 1, 9.9999997e-06, 2, 8 },\n"
- " { 3 } };\n"
+ " { 1, 9.9999997e-006, 2, 3 },\n"
+ " { 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -4880,8 +4786,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R2.xyz, fragment.position.y, c[1];\n"
- "MAD R3.xyz, fragment.position.x, c[0], R2;\n"
+ "MUL R2.xyz, fragment.position.y, c[2];\n"
+ "MAD R3.xyz, fragment.position.x, c[1], R2;\n"
"MUL R0.xy, fragment.position, c[4];\n"
"TEX R1, R0, texture[0], 2D;\n"
"MAX R0.x, R1.w, c[5].y;\n"
@@ -4889,39 +4795,37 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"MUL R0.xyz, R1, R2.w;\n"
"RSQ R0.w, R0.x;\n"
"RSQ R2.y, R0.y;\n"
- "ADD R3.xyz, R3, c[2];\n"
+ "ADD R3.xyz, R3, c[3];\n"
"RCP R2.x, R0.w;\n"
"RCP R0.w, R3.z;\n"
"MUL R3.xy, R3, R0.w;\n"
"RSQ R0.w, R0.z;\n"
"RCP R2.z, R0.w;\n"
"RCP R2.y, R2.y;\n"
- "MAD R6.xyz, R2, R1.w, -R1;\n"
- "MUL R2.xyz, -R0, c[5].w;\n"
- "ADD R5.xyz, R2, c[6].x;\n"
+ "MAD R6.xyz, R1.w, R2, -R1;\n"
+ "MUL R2.xyz, -R0, c[6].x;\n"
+ "ADD R5.xyz, R2, c[5].w;\n"
"MAD R2.xyz, -R1, R2.w, c[5].x;\n"
- "MUL R3.xy, R3, c[3];\n"
+ "MUL R3.xy, R3, c[0];\n"
"ADD R0.w, R3.x, R3.y;\n"
- "MUL R0.w, R0, c[3].z;\n"
+ "MUL R0.w, R0, c[0].z;\n"
"TEX R0, R0.w, texture[1], 1D;\n"
"MAD R3.xyz, R0, c[5].z, -R0.w;\n"
"MUL R4.xyz, R2, R3;\n"
"MAD R4.xyz, -R4, R5, R0.w;\n"
"MUL R5.xyz, R6, R3;\n"
"MAD R2.xyz, -R2, R3, R0.w;\n"
- "MAD R6.xyz, R1, R0.w, R5;\n"
"MUL R4.xyz, R1, R4;\n"
- "MUL R5.xyz, R1, c[5].w;\n"
- "ADD R6.xyz, R6, -R4;\n"
- "SGE R5.xyz, R5, R1.w;\n"
- "MUL R5.xyz, R5, R6;\n"
- "ADD R3.xyz, R4, R5;\n"
+ "MAD R5.xyz, R0.w, R1, R5;\n"
+ "ADD R6.xyz, R5, -R4;\n"
+ "MUL R5.xyz, R1, c[6].x;\n"
+ "SGE R3.xyz, R5, R1.w;\n"
+ "MAD R3.xyz, R3, R6, R4;\n"
"MUL R2.xyz, R1, R2;\n"
"MUL R4.xyz, R0, c[5].z;\n"
"ADD R3.xyz, R3, -R2;\n"
"SGE R4.xyz, R4, R0.w;\n"
- "MUL R3.xyz, R4, R3;\n"
- "ADD R2.xyz, R2, R3;\n"
+ "MAD R2.xyz, R4, R3, R2;\n"
"ADD R2.w, -R1, c[5].x;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
@@ -4939,19 +4843,19 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[3].z;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "TEX R1, R1, texture[0], 2D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"ADD R0.xyz, R0, R1;\n"
"MIN R2.xyz, R2, R3;\n"
"ADD R1.x, R0.w, R1.w;\n"
@@ -4963,30 +4867,30 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_EXCLUSION_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..4],\n"
- " { 1, 2 } };\n"
+ " { 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[3].z;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
- "TEX R1, R1, texture[0], 2D;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"MUL R2.xyz, R0, R1;\n"
- "MAD R2.xyz, -R2, c[5].y, R3;\n"
- "ADD R2.w, -R1, c[5].x;\n"
+ "MAD R2.xyz, -R2, c[5].x, R3;\n"
+ "ADD R2.w, -R1, c[5].y;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[5].x;\n"
+ "ADD R2.y, -R0.w, c[5];\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -4997,18 +4901,18 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"PARAM c[7] = { program.local[0..6] };\n"
"TEMP R0;\n"
"TEMP R1;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.z;\n"
- "MUL R0.zw, R0, c[3].xyxy;\n"
+ "MUL R0.zw, R0, c[0].xyxy;\n"
"ADD R1.x, R0.z, R0.w;\n"
- "ADD R0.xy, fragment.position, c[4];\n"
- "MUL R0.xy, R0, c[5];\n"
+ "ADD R0.xy, fragment.position, c[5];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
"DP4 R1.y, R0, c[6];\n"
- "MUL R1.x, R1, c[3].z;\n"
+ "MUL R1.x, R1, c[0].z;\n"
"TEX R0, R1, texture[1], 1D;\n"
"MUL result.color, R0, R1.y;\n"
"END\n"
@@ -5018,58 +4922,55 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"!!ARBfp1.0\n"
"PARAM c[4] = { program.local[0..3] };\n"
"TEMP R0;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.x, R0, c[3].z;\n"
+ "MUL R0.x, R0, c[0].z;\n"
"TEX result.color, R0, texture[0], 1D;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SIMPLE_PORTER_DUFF =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..7],\n"
- " { 1 },\n"
- " program.local[9..10] };\n"
+ "PARAM c[11] = { program.local[0..9],\n"
+ " { 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
- "RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MOV R0.y, -R0;\n"
- "TEX R0, R0, texture[2], 2D;\n"
- "MUL R2.xyz, R1, c[10].y;\n"
- "MUL R3.xyz, R2, R0.w;\n"
- "MUL R2.xyz, R0, c[10].x;\n"
- "MAD R2.xyz, R2, R1.w, R3;\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "MUL R0.xyz, R0, c[9].y;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R2.xyz, R0, R2.w, R2;\n"
- "ADD R2.w, -R0, c[8].x;\n"
- "MUL R0.xyz, R1, c[9].z;\n"
- "MAD R2.xyz, R0, R2.w, R2;\n"
- "ADD R0.y, -R1.w, c[8].x;\n"
- "MUL R0.z, R1.w, R2.w;\n"
- "MUL R0.x, R0.w, R1.w;\n"
- "MUL R0.y, R0.w, R0;\n"
- "DP3 R2.w, R0, c[9];\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R1.xyz, R0, c[3];\n"
+ "RCP R0.z, R1.z;\n"
+ "MUL R1.xy, R1, R0.z;\n"
+ "MUL R0.xy, fragment.position, c[7];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1.xy, R1, c[0];\n"
+ "TEX R1, R1, texture[2], 2D;\n"
+ "MUL R2.xyz, R0, c[4].y;\n"
+ "MUL R3.xyz, R1.w, R2;\n"
+ "MUL R2.xyz, R1, c[4].x;\n"
+ "MAD R2.xyz, R0.w, R2, R3;\n"
+ "ADD R3.xy, fragment.position, c[8];\n"
+ "ADD R2.w, -R0, c[10].x;\n"
+ "MUL R1.xyz, R1, c[5].y;\n"
+ "MAD R2.xyz, R2.w, R1, R2;\n"
+ "MUL R1.xyz, R0, c[5].z;\n"
+ "ADD R3.z, -R1.w, c[10].x;\n"
+ "MAD R2.xyz, R3.z, R1, R2;\n"
+ "MUL R1.y, R1.w, R2.w;\n"
+ "MUL R1.x, R1.w, R0.w;\n"
+ "MUL R1.z, R0.w, R3;\n"
+ "DP3 R2.w, R1, c[5];\n"
+ "MUL R3.xy, R3, c[6];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[9];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -5080,29 +4981,28 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
- "RCP R1.x, R0.z;\n"
- "MUL R0.xy, R0, R1.x;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MOV R0.y, -R0;\n"
- "TEX R0, R0, texture[2], 2D;\n"
- "ADD R2.x, -R1.w, c[8];\n"
- "MUL R2.xyz, R0, R2.x;\n"
- "MAD R0.xyz, R0, R1, R2;\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R1.xyz, R0, c[3];\n"
+ "RCP R0.z, R1.z;\n"
+ "MUL R1.xy, R1, R0.z;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1.xy, R1, c[0];\n"
+ "TEX R1, R1, texture[2], 2D;\n"
"ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R2.xyz, R1, R2.x;\n"
+ "MAD R1.xyz, R1, R0, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -5113,24 +5013,23 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "TEX R0, R0, texture[2], 2D;\n"
- "ADD R2, R0, R1;\n"
- "MAD R2, -R0, R1, R2;\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.zw, R0.xyxy, c[0].xyxy;\n"
+ "ADD R3.xy, fragment.position, c[6];\n"
+ "TEX R1, R0.zwzw, texture[2], 2D;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "ADD R2, R1, R0;\n"
+ "MAD R2, -R1, R0, R2;\n"
+ "MUL R3.xy, R3, c[4];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -5143,15 +5042,14 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[2], 2D;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
"ADD R2.w, -R1, c[8].y;\n"
"ADD R3.xyz, R0.w, -R0;\n"
@@ -5172,11 +5070,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"MAD R2.xyz, R2, R0, R3;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -5189,31 +5087,30 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "TEX R0, R0, texture[2], 2D;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R0.zw, R0.xyxy, R0.z;\n"
+ "MUL R1.xy, R0.zwzw, c[0];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 2D;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MIN R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[8].x;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -5225,62 +5122,60 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "TEX R0, R0, texture[2], 2D;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R0.zw, R0.xyxy, R0.z;\n"
+ "MUL R1.xy, R0.zwzw, c[0];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 2D;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MAX R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[8].x;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_COLORDODGE =
"!!ARBfp1.0\n"
"PARAM c[9] = { program.local[0..7],\n"
- " { 1, 1e-06 } };\n"
+ " { 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[2], 2D;\n"
"MAX R1.x, R0.w, c[8].y;\n"
"RCP R1.x, R1.x;\n"
- "MAD R1.xyz, -R0, R1.x, c[8].x;\n"
- "MAX R2.xyz, R1, c[8].y;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
+ "MAD R2.xyz, -R0, R1.x, c[8].x;\n"
+ "MAX R2.xyz, R2, c[8].y;\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
"ADD R2.w, -R0, c[8].x;\n"
"MUL R3.xyz, R1, R2.w;\n"
"ADD R2.w, -R1, c[8].x;\n"
"MAD R4.xyz, R0, R2.w, R3;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MUL R2.w, R0, R1;\n"
"MAD R0.xyz, R0, R1.w, R3;\n"
"SGE R0.xyz, R0, R2.w;\n"
@@ -5293,11 +5188,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"MAD R2.xyz, R0, R4, R2;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -5305,24 +5200,23 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_COLORBURN =
"!!ARBfp1.0\n"
"PARAM c[9] = { program.local[0..7],\n"
- " { 1, 9.9999997e-06 } };\n"
+ " { 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[2], 2D;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"MAD R2.xyz, -R0.w, R1.w, R3;\n"
"MUL R4.xyz, R0.w, R2;\n"
@@ -5337,18 +5231,17 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"MUL R4.xyz, R1, R3.w;\n"
"MAD R0.xyz, R0, R2.w, R4;\n"
"MUL R2.w, R0, R1;\n"
- "ADD R3.w, -R0, c[8].x;\n"
"MAD R2.xyz, R1, R3.w, R2;\n"
"ADD R2.xyz, R2, -R0;\n"
"SGE R3.xyz, R3, R2.w;\n"
"MAD R2.xyz, R3, R2, R0;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -5362,15 +5255,14 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[2], 2D;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
"TEX R1, R1, texture[0], 2D;\n"
"ADD R2.w, -R1, c[8].y;\n"
"ADD R3.xyz, R0.w, -R0;\n"
@@ -5391,11 +5283,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"MAD R2.xyz, R0, R2, R3;\n"
"ADD R0.z, R0.w, R1.w;\n"
"MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
+ "ADD R0.xy, fragment.position, c[6];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
+ "DP4 R0.x, R0, c[7];\n"
"MAD result.color, R0.x, R2, R1;\n"
"END\n"
;
@@ -5403,8 +5295,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
"PARAM c[10] = { program.local[0..7],\n"
- " { 1, 9.9999997e-06, 2, 8 },\n"
- " { 3 } };\n"
+ " { 1, 9.9999997e-006, 2, 3 },\n"
+ " { 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -5412,59 +5304,56 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
- "RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MAX R0.z, R1.w, c[8].y;\n"
- "RCP R2.w, R0.z;\n"
- "MUL R2.xyz, R1, R2.w;\n"
- "MUL R6.xyz, -R2, c[8].w;\n"
- "MAD R3.xyz, -R1, R2.w, c[8].x;\n"
- "MOV R0.y, -R0;\n"
- "TEX R0, R0, texture[2], 2D;\n"
- "MAD R4.xyz, R0, c[8].z, -R0.w;\n"
- "MUL R5.xyz, R3, R4;\n"
- "MAD R3.xyz, -R3, R4, R0.w;\n"
- "ADD R6.xyz, R6, c[9].x;\n"
- "RSQ R2.x, R2.x;\n"
- "RSQ R2.z, R2.z;\n"
- "RSQ R2.y, R2.y;\n"
- "MAD R5.xyz, -R5, R6, R0.w;\n"
- "MUL R3.xyz, R1, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "RCP R2.x, R2.x;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MAX R1.x, R0.w, c[8].y;\n"
+ "RCP R2.w, R1.x;\n"
+ "MUL R1.xyz, R0, R2.w;\n"
+ "RSQ R1.w, R1.x;\n"
+ "RCP R2.x, R1.w;\n"
+ "RSQ R1.w, R1.y;\n"
+ "RSQ R2.z, R1.z;\n"
+ "MUL R3.xyz, fragment.position.y, c[2];\n"
+ "MAD R3.xyz, fragment.position.x, c[1], R3;\n"
+ "ADD R3.xyz, R3, c[3];\n"
+ "RCP R2.y, R1.w;\n"
+ "RCP R1.w, R3.z;\n"
+ "MUL R3.xy, R3, R1.w;\n"
"RCP R2.z, R2.z;\n"
- "RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R2, R1.w, -R1;\n"
- "MUL R6.xyz, R2, R4;\n"
- "MUL R2.xyz, R1, R5;\n"
- "MAD R6.xyz, R1, R0.w, R6;\n"
- "MUL R4.xyz, R0, c[8].z;\n"
- "MUL R5.xyz, R1, c[8].w;\n"
- "ADD R6.xyz, R6, -R2;\n"
- "SGE R5.xyz, R5, R1.w;\n"
- "MUL R5.xyz, R5, R6;\n"
- "ADD R2.xyz, R2, R5;\n"
- "SGE R4.xyz, R4, R0.w;\n"
- "ADD R2.xyz, R2, -R3;\n"
- "MUL R2.xyz, R4, R2;\n"
- "ADD R2.xyz, R3, R2;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MAD R6.xyz, R0.w, R2, -R0;\n"
+ "MUL R2.xyz, -R1, c[9].x;\n"
+ "ADD R5.xyz, R2, c[8].w;\n"
+ "MAD R2.xyz, -R0, R2.w, c[8].x;\n"
+ "MUL R3.xy, R3, c[0];\n"
+ "TEX R1, R3, texture[2], 2D;\n"
+ "MAD R3.xyz, R1, c[8].z, -R1.w;\n"
+ "MUL R4.xyz, R2, R3;\n"
+ "MAD R4.xyz, -R4, R5, R1.w;\n"
+ "MAD R2.xyz, -R2, R3, R1.w;\n"
+ "MUL R5.xyz, R6, R3;\n"
+ "MUL R4.xyz, R0, R4;\n"
+ "MAD R5.xyz, R1.w, R0, R5;\n"
+ "ADD R6.xyz, R5, -R4;\n"
+ "MUL R5.xyz, R0, c[9].x;\n"
+ "SGE R3.xyz, R5, R0.w;\n"
+ "MAD R3.xyz, R3, R6, R4;\n"
+ "MUL R2.xyz, R0, R2;\n"
+ "MUL R4.xyz, R1, c[8].z;\n"
+ "SGE R4.xyz, R4, R1.w;\n"
+ "ADD R3.xyz, R3, -R2;\n"
+ "MAD R2.xyz, R4, R3, R2;\n"
+ "ADD R2.w, -R0, c[8].x;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -5476,103 +5365,98 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MOV R0.y, -R0;\n"
- "TEX R0, R0, texture[2], 2D;\n"
- "ADD R3.xyz, R0, R1;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MUL R0.xyz, R0, R1.w;\n"
- "MIN R0.xyz, R0, R2;\n"
- "MAD R2.xyz, -R0, c[8].x, R3;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.zw, R0.xyxy, R0.z;\n"
+ "MUL R1.xy, R0.zwzw, c[0];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 2D;\n"
+ "ADD R2.xyz, R1, R0;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R1.xyz, R1, R0.w;\n"
+ "MIN R1.xyz, R1, R3;\n"
+ "MAD R2.xyz, -R1, c[8].x, R2;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_EXCLUSION =
"!!ARBfp1.0\n"
"PARAM c[9] = { program.local[0..7],\n"
- " { 1, 2 } };\n"
+ " { 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "TEX R0, R0, texture[2], 2D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MAD R3.xyz, R0, R1.w, R2;\n"
- "MUL R2.xyz, R0, R1;\n"
- "MAD R2.xyz, -R2, c[8].y, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.zw, R0.xyxy, R0.z;\n"
+ "MUL R1.xy, R0.zwzw, c[0];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1, R1, texture[2], 2D;\n"
+ "MUL R2.xyz, R1.w, R0;\n"
+ "MAD R3.xyz, R1, R0.w, R2;\n"
+ "MUL R2.xyz, R1, R0;\n"
+ "MAD R2.xyz, -R2, c[8].x, R3;\n"
+ "ADD R2.w, -R0, c[8].y;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8].y;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..4],\n"
- " { 1 },\n"
- " program.local[6..7] };\n"
+ "PARAM c[8] = { program.local[0..6],\n"
+ " { 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
- "RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
+ "RCP R1.x, R0.z;\n"
+ "MUL R0.xy, R0, R1.x;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MUL R2.xyz, R1, c[7].y;\n"
- "MOV R0.y, -R0;\n"
+ "MUL R2.xyz, R1, c[4].y;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
- "MUL R3.xyz, R2, R0.w;\n"
- "MUL R2.xyz, R0, c[7].x;\n"
- "MAD R2.xyz, R2, R1.w, R3;\n"
- "MUL R0.xyz, R0, c[6].y;\n"
- "ADD R2.w, -R1, c[5].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[5];\n"
- "MUL R1.xyz, R1, c[6].z;\n"
- "MAD result.color.xyz, R1, R2.x, R0;\n"
- "ADD R0.y, -R1.w, c[5].x;\n"
+ "MUL R3.xyz, R0.w, R2;\n"
+ "MUL R2.xyz, R0, c[4].x;\n"
+ "MAD R2.xyz, R1.w, R2, R3;\n"
+ "ADD R2.w, -R1, c[7].x;\n"
+ "MUL R0.xyz, R0, c[5].y;\n"
+ "MAD R0.xyz, R2.w, R0, R2;\n"
+ "ADD R2.x, -R0.w, c[7];\n"
+ "MUL R1.xyz, R1, c[5].z;\n"
+ "MAD result.color.xyz, R2.x, R1, R0;\n"
"MUL R0.x, R0.w, R1.w;\n"
"MUL R0.z, R1.w, R2.x;\n"
- "MUL R0.y, R0.w, R0;\n"
- "DP3 result.color.w, R0, c[6];\n"
+ "MUL R0.y, R0.w, R2.w;\n"
+ "DP3 result.color.w, R0, c[5];\n"
"END\n"
;
@@ -5583,15 +5467,14 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R1.x, R0.z;\n"
"MUL R0.xy, R0, R1.x;\n"
- "MUL R0.xy, R0, c[3];\n"
"MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2.x, -R1.w, c[5];\n"
"MUL R2.xyz, R0, R2.x;\n"
@@ -5609,15 +5492,14 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
"MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
"ADD R2, R0, R1;\n"
"MAD result.color, -R0, R1, R2;\n"
@@ -5632,13 +5514,12 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
"MUL R1.xy, fragment.position, c[4];\n"
"TEX R1, R1, texture[0], 2D;\n"
@@ -5672,18 +5553,17 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
- "TEX R1, R1, texture[0], 2D;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MIN R2.xyz, R2, R3;\n"
"ADD R2.w, -R1, c[5].x;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
@@ -5702,18 +5582,17 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
- "TEX R1, R1, texture[0], 2D;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"MAX R2.xyz, R2, R3;\n"
"ADD R2.w, -R1, c[5].x;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
@@ -5727,41 +5606,40 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_COLORDODGE_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..4],\n"
- " { 1, 1e-06 } };\n"
+ " { 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
"MAX R1.x, R0.w, c[5].y;\n"
"RCP R1.x, R1.x;\n"
- "MAD R1.xyz, -R0, R1.x, c[5].x;\n"
- "MAX R2.xyz, R1, c[5].y;\n"
+ "MAD R3.xyz, -R0, R1.x, c[5].x;\n"
+ "MAX R3.xyz, R3, c[5].y;\n"
"MUL R1.xy, fragment.position, c[4];\n"
"TEX R1, R1, texture[0], 2D;\n"
- "ADD R2.w, -R0, c[5].x;\n"
- "MUL R3.xyz, R1, R2.w;\n"
+ "ADD R2.x, -R0.w, c[5];\n"
+ "MUL R2.xyz, R1, R2.x;\n"
"ADD R2.w, -R1, c[5].x;\n"
- "MAD R3.xyz, R0, R2.w, R3;\n"
- "MUL R1.xyz, R1, R0.w;\n"
+ "MAD R2.xyz, R0, R2.w, R2;\n"
+ "MUL R1.xyz, R0.w, R1;\n"
"MAD R0.xyz, R0, R1.w, R1;\n"
"MUL R2.w, R0, R1;\n"
- "RCP R2.x, R2.x;\n"
- "RCP R2.y, R2.y;\n"
- "RCP R2.z, R2.z;\n"
- "MAD R2.xyz, R1, R2, R3;\n"
- "MAD R3.xyz, R0.w, R1.w, R3;\n"
+ "RCP R3.x, R3.x;\n"
+ "RCP R3.y, R3.y;\n"
+ "RCP R3.z, R3.z;\n"
+ "MAD R3.xyz, R1, R3, R2;\n"
+ "MAD R2.xyz, R0.w, R1.w, R2;\n"
"ADD R1.x, R0.w, R1.w;\n"
- "ADD R3.xyz, R3, -R2;\n"
+ "ADD R2.xyz, R2, -R3;\n"
"SGE R0.xyz, R0, R2.w;\n"
- "MAD result.color.xyz, R0, R3, R2;\n"
+ "MAD result.color.xyz, R0, R2, R3;\n"
"MAD result.color.w, -R0, R1, R1.x;\n"
"END\n"
;
@@ -5769,24 +5647,23 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_COLORBURN_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..4],\n"
- " { 1, 9.9999997e-06 } };\n"
+ " { 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"ADD R2.w, -R1, c[5].x;\n"
"MAD R2.xyz, -R0.w, R1.w, R3;\n"
@@ -5799,9 +5676,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"RCP R2.z, R2.z;\n"
"MAD R2.xyz, R4, R2, R5;\n"
"MUL R4.xyz, R1, R3.w;\n"
- "MAD R0.xyz, R0, R2.w, R4;\n"
- "ADD R3.w, -R0, c[5].x;\n"
"MAD R1.xyz, R1, R3.w, R2;\n"
+ "MAD R0.xyz, R0, R2.w, R4;\n"
"MUL R2.x, R0.w, R1.w;\n"
"ADD R2.w, R0, R1;\n"
"ADD R1.xyz, R1, -R0;\n"
@@ -5820,13 +5696,12 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
"MUL R1.xy, fragment.position, c[4];\n"
"TEX R1, R1, texture[0], 2D;\n"
@@ -5836,27 +5711,27 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"MUL R2.xyz, R2, R3;\n"
"MUL R2.xyz, R2, c[5].x;\n"
"MAD R2.xyz, R0.w, R1.w, -R2;\n"
+ "MAD R2.xyz, R0, R2.w, R2;\n"
"MUL R4.xyz, R0, R2.w;\n"
"MUL R3.xyz, R0, R1;\n"
- "MAD R2.xyz, R0, R2.w, R2;\n"
- "ADD R2.w, -R0, c[5].y;\n"
"MUL R0.xyz, R0, c[5].x;\n"
- "MAD R2.xyz, R1, R2.w, R2;\n"
+ "ADD R2.w, -R0, c[5].y;\n"
"MAD R3.xyz, R3, c[5].x, R4;\n"
- "MAD R1.xyz, R1, R2.w, R3;\n"
- "ADD R2.w, R0, R1;\n"
- "ADD R2.xyz, R2, -R1;\n"
+ "MAD R3.xyz, R1, R2.w, R3;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, R0.w, R1.w;\n"
+ "ADD R1.xyz, R1, -R3;\n"
"SGE R0.xyz, R0, R0.w;\n"
- "MAD result.color.xyz, R0, R2, R1;\n"
- "MAD result.color.w, -R0, R1, R2;\n"
+ "MAD result.color.xyz, R0, R1, R3;\n"
+ "MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[7] = { program.local[0..4],\n"
- " { 1, 9.9999997e-06, 2, 8 },\n"
- " { 3 } };\n"
+ " { 1, 9.9999997e-006, 2, 3 },\n"
+ " { 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -5864,47 +5739,44 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
- "RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MUL R1.xy, fragment.position, c[4];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MAX R0.z, R1.w, c[5].y;\n"
- "RCP R2.w, R0.z;\n"
- "MUL R2.xyz, R1, R2.w;\n"
- "MUL R6.xyz, -R2, c[5].w;\n"
- "MAD R3.xyz, -R1, R2.w, c[5].x;\n"
- "MOV R0.y, -R0;\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "MAD R4.xyz, R0, c[5].z, -R0.w;\n"
- "MUL R5.xyz, R3, R4;\n"
- "MAD R3.xyz, -R3, R4, R0.w;\n"
- "ADD R6.xyz, R6, c[6].x;\n"
- "RSQ R2.x, R2.x;\n"
- "RSQ R2.z, R2.z;\n"
- "RSQ R2.y, R2.y;\n"
- "MAD R5.xyz, -R5, R6, R0.w;\n"
- "MUL R3.xyz, R1, R3;\n"
- "RCP R2.x, R2.x;\n"
+ "MUL R0.xy, fragment.position, c[4];\n"
+ "TEX R1, R0, texture[0], 2D;\n"
+ "MAX R0.x, R1.w, c[5].y;\n"
+ "RCP R2.w, R0.x;\n"
+ "MUL R0.xyz, R1, R2.w;\n"
+ "RSQ R0.w, R0.x;\n"
+ "RCP R2.x, R0.w;\n"
+ "RSQ R0.w, R0.y;\n"
+ "RSQ R2.z, R0.z;\n"
+ "MUL R3.xyz, fragment.position.y, c[2];\n"
+ "MAD R3.xyz, fragment.position.x, c[1], R3;\n"
+ "ADD R3.xyz, R3, c[3];\n"
+ "RCP R2.y, R0.w;\n"
+ "RCP R0.w, R3.z;\n"
+ "MUL R3.xy, R3, R0.w;\n"
"RCP R2.z, R2.z;\n"
- "RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R2, R1.w, -R1;\n"
- "MUL R6.xyz, R2, R4;\n"
- "MUL R2.xyz, R1, R5;\n"
+ "MAD R6.xyz, R1.w, R2, -R1;\n"
+ "MUL R2.xyz, -R0, c[6].x;\n"
+ "ADD R5.xyz, R2, c[5].w;\n"
+ "MAD R2.xyz, -R1, R2.w, c[5].x;\n"
+ "MUL R3.xy, R3, c[0];\n"
+ "TEX R0, R3, texture[1], 2D;\n"
+ "MAD R3.xyz, R0, c[5].z, -R0.w;\n"
+ "MUL R4.xyz, R2, R3;\n"
+ "MAD R4.xyz, -R4, R5, R0.w;\n"
+ "MUL R5.xyz, R6, R3;\n"
+ "MAD R2.xyz, -R2, R3, R0.w;\n"
+ "MUL R4.xyz, R1, R4;\n"
+ "MAD R5.xyz, R0.w, R1, R5;\n"
+ "ADD R6.xyz, R5, -R4;\n"
+ "MUL R5.xyz, R1, c[6].x;\n"
+ "SGE R3.xyz, R5, R1.w;\n"
+ "MAD R3.xyz, R3, R6, R4;\n"
+ "MUL R2.xyz, R1, R2;\n"
"MUL R4.xyz, R0, c[5].z;\n"
- "MAD R6.xyz, R1, R0.w, R6;\n"
- "MUL R5.xyz, R1, c[5].w;\n"
- "ADD R6.xyz, R6, -R2;\n"
- "SGE R5.xyz, R5, R1.w;\n"
- "MUL R5.xyz, R5, R6;\n"
- "ADD R2.xyz, R2, R5;\n"
- "ADD R2.xyz, R2, -R3;\n"
+ "ADD R3.xyz, R3, -R2;\n"
"SGE R4.xyz, R4, R0.w;\n"
- "MUL R2.xyz, R4, R2;\n"
- "ADD R2.xyz, R3, R2;\n"
+ "MAD R2.xyz, R4, R3, R2;\n"
"ADD R2.w, -R1, c[5].x;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
@@ -5922,18 +5794,17 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
- "TEX R1, R1, texture[0], 2D;\n"
"MUL R2.xyz, R0, R1.w;\n"
- "MUL R3.xyz, R1, R0.w;\n"
+ "MUL R3.xyz, R0.w, R1;\n"
"ADD R0.xyz, R0, R1;\n"
"MIN R2.xyz, R2, R3;\n"
"ADD R1.x, R0.w, R1.w;\n"
@@ -5945,29 +5816,28 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_EXCLUSION_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..4],\n"
- " { 1, 2 } };\n"
+ " { 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
- "MUL R1.xy, fragment.position, c[4];\n"
- "TEX R1, R1, texture[0], 2D;\n"
+ "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
- "MUL R2.xyz, R1, R0.w;\n"
+ "MUL R2.xyz, R0.w, R1;\n"
"MAD R3.xyz, R0, R1.w, R2;\n"
"MUL R2.xyz, R0, R1;\n"
- "MAD R2.xyz, -R2, c[5].y, R3;\n"
- "ADD R2.w, -R1, c[5].x;\n"
+ "MAD R2.xyz, -R2, c[5].x, R3;\n"
+ "ADD R2.w, -R1, c[5].y;\n"
"MAD R0.xyz, R0, R2.w, R2;\n"
"ADD R2.x, R0.w, R1.w;\n"
- "ADD R2.y, -R0.w, c[5].x;\n"
+ "ADD R2.y, -R0.w, c[5];\n"
"MAD result.color.xyz, R1, R2.y, R0;\n"
"MAD result.color.w, -R0, R1, R2.x;\n"
"END\n"
@@ -5978,19 +5848,17 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"PARAM c[7] = { program.local[0..6] };\n"
"TEMP R0;\n"
"TEMP R1;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R1.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R1.xyz, R0, c[3];\n"
"RCP R0.z, R1.z;\n"
"MUL R1.xy, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[4];\n"
- "MUL R0.xy, R0, c[5];\n"
+ "ADD R0.xy, fragment.position, c[5];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
"DP4 R1.z, R0, c[6];\n"
- "MUL R1.xy, R1, c[3];\n"
- "MOV R0.x, R1;\n"
- "MOV R0.y, -R1;\n"
- "TEX R0, R0, texture[1], 2D;\n"
+ "MUL R1.xy, R1, c[0];\n"
+ "TEX R0, R1, texture[1], 2D;\n"
"MUL result.color, R0, R1.z;\n"
"END\n"
;
@@ -5999,58 +5867,55 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"!!ARBfp1.0\n"
"PARAM c[4] = { program.local[0..3] };\n"
"TEMP R0;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
+ "MUL R0.xy, R0, c[0];\n"
"TEX result.color, R0, texture[0], 2D;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SIMPLE_PORTER_DUFF =
"!!ARBfp1.0\n"
- "PARAM c[11] = { program.local[0..7],\n"
- " { 1 },\n"
- " program.local[9..10] };\n"
+ "PARAM c[11] = { program.local[0..9],\n"
+ " { 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "TEX R0.x, R0, texture[2], 2D;\n"
- "MUL R0, fragment.color.primary, R0.x;\n"
- "MUL R2.xyz, R1, c[10].y;\n"
- "MUL R3.xyz, R2, R0.w;\n"
- "MUL R2.xyz, R0, c[10].x;\n"
- "MAD R2.xyz, R2, R1.w, R3;\n"
- "ADD R3.xy, fragment.position, c[0];\n"
- "MUL R0.xyz, R0, c[9].y;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R2.xyz, R0, R2.w, R2;\n"
- "ADD R2.w, -R0, c[8].x;\n"
- "MUL R0.xyz, R1, c[9].z;\n"
- "MAD R2.xyz, R0, R2.w, R2;\n"
- "ADD R0.y, -R1.w, c[8].x;\n"
- "MUL R0.z, R1.w, R2.w;\n"
- "MUL R0.x, R0.w, R1.w;\n"
- "MUL R0.y, R0.w, R0;\n"
- "DP3 R2.w, R0, c[9];\n"
- "MUL R3.xy, R3, c[1];\n"
- "TEX R0, R3, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.zw, R0.xyxy, R0.z;\n"
+ "MUL R1.xy, R0.zwzw, c[0];\n"
+ "MOV R1.y, -R1;\n"
+ "MUL R0.xy, fragment.position, c[7];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1.x, R1, texture[2], 2D;\n"
+ "MUL R1, fragment.color.primary, R1.x;\n"
+ "MUL R2.xyz, R0, c[4].y;\n"
+ "MUL R3.xyz, R1.w, R2;\n"
+ "MUL R2.xyz, R1, c[4].x;\n"
+ "MAD R2.xyz, R0.w, R2, R3;\n"
+ "ADD R3.xy, fragment.position, c[8];\n"
+ "ADD R2.w, -R0, c[10].x;\n"
+ "MUL R1.xyz, R1, c[5].y;\n"
+ "MAD R2.xyz, R2.w, R1, R2;\n"
+ "MUL R1.xyz, R0, c[5].z;\n"
+ "ADD R3.z, -R1.w, c[10].x;\n"
+ "MAD R2.xyz, R3.z, R1, R2;\n"
+ "MUL R1.y, R1.w, R2.w;\n"
+ "MUL R1.x, R1.w, R0.w;\n"
+ "MUL R1.z, R0.w, R3;\n"
+ "DP3 R2.w, R1, c[5];\n"
+ "MUL R3.xy, R3, c[6];\n"
+ "TEX R1, R3, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[9];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -6061,30 +5926,30 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MOV R0.y, -R0;\n"
- "TEX R0.x, R0, texture[2], 2D;\n"
- "MUL R0, fragment.color.primary, R0.x;\n"
- "ADD R2.x, -R1.w, c[8];\n"
- "MUL R2.xyz, R0, R2.x;\n"
- "MAD R0.xyz, R0, R1, R2;\n"
+ "MUL R0.zw, R0.xyxy, R0.z;\n"
+ "MUL R1.xy, R0.zwzw, c[0];\n"
+ "MOV R1.y, -R1;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "TEX R1.x, R1, texture[2], 2D;\n"
+ "MUL R1, fragment.color.primary, R1.x;\n"
"ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R2.xyz, R1, R2.x;\n"
+ "MAD R1.xyz, R1, R0, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -6095,24 +5960,24 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"MOV R0.y, -R0;\n"
"TEX R1.x, R0, texture[2], 2D;\n"
- "MUL R0.xy, fragment.position, c[7];\n"
- "ADD R3.xy, fragment.position, c[0];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "ADD R3.xy, fragment.position, c[6];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
"ADD R2, R1, R0;\n"
"MAD R2, -R1, R0, R2;\n"
- "MUL R3.xy, R3, c[1];\n"
+ "MUL R3.xy, R3, c[4];\n"
"TEX R1, R3, texture[1], 2D;\n"
"ADD R2, R2, -R0;\n"
- "DP4 R1.x, R1, c[2];\n"
+ "DP4 R1.x, R1, c[7];\n"
"MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -6126,16 +5991,16 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"MOV R0.y, -R0;\n"
"TEX R1.x, R0, texture[2], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
- "MUL R0.xy, fragment.position, c[7];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
"TEX R0, R0, texture[0], 2D;\n"
"ADD R2.w, -R0, c[8].y;\n"
"ADD R3.xyz, R1.w, -R1;\n"
@@ -6156,11 +6021,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"MAD R2.xyz, R2, R1, R3;\n"
"ADD R1.z, R1.w, R0.w;\n"
"MAD R2.w, -R1, R0, R1.z;\n"
- "ADD R1.xy, fragment.position, c[0];\n"
- "MUL R1.xy, R1, c[1];\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
"TEX R1, R1, texture[1], 2D;\n"
"ADD R2, R2, -R0;\n"
- "DP4 R1.x, R1, c[2];\n"
+ "DP4 R1.x, R1, c[7];\n"
"MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -6173,32 +6038,33 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "TEX R0.x, R0, texture[2], 2D;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MUL R0, fragment.color.primary, R0.x;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[2], 2D;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1, fragment.color.primary, R1.x;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MIN R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[8].x;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -6210,50 +6076,51 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "TEX R0.x, R0, texture[2], 2D;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MUL R0, fragment.color.primary, R0.x;\n"
- "MUL R3.xyz, R1, R0.w;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[2], 2D;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1, fragment.color.primary, R1.x;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R2.xyz, R1, R0.w;\n"
"MAX R2.xyz, R2, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "ADD R2.w, -R0, c[8].x;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8];\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_COLORDODGE =
"!!ARBfp1.0\n"
"PARAM c[9] = { program.local[0..7],\n"
- " { 1, 1e-06 } };\n"
+ " { 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"MOV R0.y, -R0;\n"
"TEX R0.x, R0, texture[2], 2D;\n"
"MUL R1, fragment.color.primary, R0.x;\n"
@@ -6261,13 +6128,13 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"RCP R0.x, R0.x;\n"
"MAD R0.xyz, -R1, R0.x, c[8].x;\n"
"MAX R2.xyz, R0, c[8].y;\n"
- "MUL R0.xy, fragment.position, c[7];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
"TEX R0, R0, texture[0], 2D;\n"
"ADD R2.w, -R1, c[8].x;\n"
"MUL R3.xyz, R0, R2.w;\n"
"ADD R2.w, -R0, c[8].x;\n"
"MAD R4.xyz, R1, R2.w, R3;\n"
- "MUL R3.xyz, R0, R1.w;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
"MUL R2.w, R1, R0;\n"
"MAD R1.xyz, R1, R0.w, R3;\n"
"SGE R1.xyz, R1, R2.w;\n"
@@ -6280,11 +6147,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"MAD R2.xyz, R1, R4, R2;\n"
"ADD R1.z, R1.w, R0.w;\n"
"MAD R2.w, -R1, R0, R1.z;\n"
- "ADD R1.xy, fragment.position, c[0];\n"
- "MUL R1.xy, R1, c[1];\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
"TEX R1, R1, texture[1], 2D;\n"
"ADD R2, R2, -R0;\n"
- "DP4 R1.x, R1, c[2];\n"
+ "DP4 R1.x, R1, c[7];\n"
"MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -6292,25 +6159,26 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_COLORBURN =
"!!ARBfp1.0\n"
"PARAM c[9] = { program.local[0..7],\n"
- " { 1, 9.9999997e-06 } };\n"
+ " { 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "TEX R1.x, R0, texture[2], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[2], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
- "MUL R0.xy, fragment.position, c[7];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R2.xyz, R1.w, R0;\n"
"MAD R3.xyz, R1, R0.w, R2;\n"
"MAD R2.xyz, -R1.w, R0.w, R3;\n"
"MUL R4.xyz, R1.w, R2;\n"
@@ -6325,18 +6193,17 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"MUL R4.xyz, R0, R3.w;\n"
"MAD R1.xyz, R1, R2.w, R4;\n"
"MUL R2.w, R1, R0;\n"
- "ADD R3.w, -R1, c[8].x;\n"
"MAD R2.xyz, R0, R3.w, R2;\n"
"ADD R2.xyz, R2, -R1;\n"
"SGE R3.xyz, R3, R2.w;\n"
"MAD R2.xyz, R3, R2, R1;\n"
"ADD R1.z, R1.w, R0.w;\n"
"MAD R2.w, -R1, R0, R1.z;\n"
- "ADD R1.xy, fragment.position, c[0];\n"
- "MUL R1.xy, R1, c[1];\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
"TEX R1, R1, texture[1], 2D;\n"
"ADD R2, R2, -R0;\n"
- "DP4 R1.x, R1, c[2];\n"
+ "DP4 R1.x, R1, c[7];\n"
"MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -6350,16 +6217,16 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
+ "MUL R0.xy, R0, c[0];\n"
"MOV R0.y, -R0;\n"
"TEX R1.x, R0, texture[2], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
- "MUL R0.xy, fragment.position, c[7];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
"TEX R0, R0, texture[0], 2D;\n"
"ADD R2.w, -R0, c[8].y;\n"
"ADD R3.xyz, R1.w, -R1;\n"
@@ -6380,11 +6247,11 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"MAD R2.xyz, R1, R2, R3;\n"
"ADD R1.z, R1.w, R0.w;\n"
"MAD R2.w, -R1, R0, R1.z;\n"
- "ADD R1.xy, fragment.position, c[0];\n"
- "MUL R1.xy, R1, c[1];\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
"TEX R1, R1, texture[1], 2D;\n"
"ADD R2, R2, -R0;\n"
- "DP4 R1.x, R1, c[2];\n"
+ "DP4 R1.x, R1, c[7];\n"
"MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -6392,68 +6259,66 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
"PARAM c[10] = { program.local[0..7],\n"
- " { 1, 9.9999997e-06, 2, 8 },\n"
- " { 3 } };\n"
+ " { 1, 9.9999997e-006, 2, 3 },\n"
+ " { 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R1.xyz, R0, c[5];\n"
+ "TEMP R6;\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R1.xyz, R0, c[3];\n"
"RCP R0.z, R1.z;\n"
"MUL R1.xy, R1, R0.z;\n"
- "MUL R1.xy, R1, c[6];\n"
+ "MUL R1.xy, R1, c[0];\n"
"MOV R1.y, -R1;\n"
- "MUL R0.xy, fragment.position, c[7];\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MAX R1.z, R0.w, c[8].y;\n"
"RCP R2.w, R1.z;\n"
"MUL R2.xyz, R0, R2.w;\n"
- "MUL R5.xyz, -R2, c[8].w;\n"
- "MAD R4.xyz, -R0, R2.w, c[8].x;\n"
+ "MUL R6.xyz, -R2, c[9].x;\n"
+ "MAD R3.xyz, -R0, R2.w, c[8].x;\n"
"TEX R1.x, R1, texture[2], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
- "MAD R3.xyz, R1, c[8].z, -R1.w;\n"
+ "MAD R4.xyz, R1, c[8].z, -R1.w;\n"
+ "MUL R5.xyz, R3, R4;\n"
+ "MAD R3.xyz, -R3, R4, R1.w;\n"
+ "ADD R6.xyz, R6, c[8].w;\n"
+ "MAD R5.xyz, -R5, R6, R1.w;\n"
"RSQ R2.x, R2.x;\n"
"RSQ R2.z, R2.z;\n"
"RSQ R2.y, R2.y;\n"
- "MUL R4.xyz, R4, R3;\n"
- "ADD R5.xyz, R5, c[9].x;\n"
- "MUL R5.xyz, R4, R5;\n"
- "ADD R4.xyz, R1.w, -R4;\n"
+ "MUL R5.xyz, R0, R5;\n"
+ "MUL R3.xyz, R0, R3;\n"
"ADD R2.w, -R0, c[8].x;\n"
"RCP R2.x, R2.x;\n"
"RCP R2.z, R2.z;\n"
"RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R2, R0.w, -R0;\n"
- "MUL R3.xyz, R2, R3;\n"
- "ADD R2.xyz, R1.w, -R5;\n"
- "MAD R5.xyz, R0, R1.w, R3;\n"
- "MUL R2.xyz, R0, R2;\n"
- "MUL R3.xyz, R0, c[8].w;\n"
- "ADD R5.xyz, R5, -R2;\n"
- "SGE R3.xyz, R3, R0.w;\n"
- "MUL R3.xyz, R3, R5;\n"
- "ADD R2.xyz, R2, R3;\n"
- "MUL R3.xyz, R0, R4;\n"
+ "MAD R2.xyz, R0.w, R2, -R0;\n"
+ "MUL R2.xyz, R2, R4;\n"
+ "MAD R2.xyz, R1.w, R0, R2;\n"
+ "ADD R6.xyz, R2, -R5;\n"
"MUL R4.xyz, R1, c[8].z;\n"
+ "MUL R2.xyz, R0, c[9].x;\n"
+ "SGE R2.xyz, R2, R0.w;\n"
+ "MAD R2.xyz, R2, R6, R5;\n"
"SGE R4.xyz, R4, R1.w;\n"
"ADD R2.xyz, R2, -R3;\n"
- "MUL R2.xyz, R4, R2;\n"
- "ADD R2.xyz, R3, R2;\n"
+ "MAD R2.xyz, R4, R2, R3;\n"
"MAD R1.xyz, R1, R2.w, R2;\n"
"ADD R2.x, -R1.w, c[8];\n"
"MAD R2.xyz, R0, R2.x, R1;\n"
"ADD R1.z, R1.w, R0.w;\n"
"MAD R2.w, -R1, R0, R1.z;\n"
- "ADD R1.xy, fragment.position, c[0];\n"
- "MUL R1.xy, R1, c[1];\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
"TEX R1, R1, texture[1], 2D;\n"
"ADD R2, R2, -R0;\n"
- "DP4 R1.x, R1, c[2];\n"
+ "DP4 R1.x, R1, c[7];\n"
"MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
@@ -6466,107 +6331,106 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "MUL R0.zw, fragment.position.xyxy, c[7].xyxy;\n"
- "TEX R1, R0.zwzw, texture[0], 2D;\n"
- "TEX R0.x, R0, texture[2], 2D;\n"
- "MUL R0, fragment.color.primary, R0.x;\n"
- "ADD R3.xyz, R0, R1;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MUL R0.xyz, R0, R1.w;\n"
- "MIN R0.xyz, R0, R2;\n"
- "MAD R2.xyz, -R0, c[8].x, R3;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[2], 2D;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1, fragment.color.primary, R1.x;\n"
+ "ADD R2.xyz, R1, R0;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
+ "MUL R1.xyz, R1, R0.w;\n"
+ "MIN R1.xyz, R1, R3;\n"
+ "MAD R2.xyz, -R1, c[8].x, R2;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_EXCLUSION =
"!!ARBfp1.0\n"
"PARAM c[9] = { program.local[0..7],\n"
- " { 1, 2 } };\n"
+ " { 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[4];\n"
- "MAD R0.xyz, fragment.position.x, c[3], R0;\n"
- "ADD R0.xyz, R0, c[5];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[6];\n"
- "MOV R0.y, -R0;\n"
- "TEX R0.x, R0, texture[2], 2D;\n"
- "MUL R1.xy, fragment.position, c[7];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MUL R0, fragment.color.primary, R0.x;\n"
- "MUL R2.xyz, R1, R0.w;\n"
- "MAD R3.xyz, R0, R1.w, R2;\n"
- "MUL R2.xyz, R0, R1;\n"
- "MAD R2.xyz, -R2, c[8].y, R3;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MAD R0.xyz, R0, R2.w, R2;\n"
- "ADD R2.x, -R0.w, c[8];\n"
- "MAD R2.xyz, R1, R2.x, R0;\n"
- "ADD R0.z, R0.w, R1.w;\n"
- "MAD R2.w, -R0, R1, R0.z;\n"
- "ADD R0.xy, fragment.position, c[0];\n"
- "MUL R0.xy, R0, c[1];\n"
- "TEX R0, R0, texture[1], 2D;\n"
- "ADD R2, R2, -R1;\n"
- "DP4 R0.x, R0, c[2];\n"
- "MAD result.color, R0.x, R2, R1;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[2], 2D;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MUL R1, fragment.color.primary, R1.x;\n"
+ "MUL R2.xyz, R1.w, R0;\n"
+ "MAD R3.xyz, R1, R0.w, R2;\n"
+ "MUL R2.xyz, R1, R0;\n"
+ "MAD R2.xyz, -R2, c[8].x, R3;\n"
+ "ADD R2.w, -R0, c[8].y;\n"
+ "MAD R1.xyz, R1, R2.w, R2;\n"
+ "ADD R2.x, -R1.w, c[8].y;\n"
+ "MAD R2.xyz, R0, R2.x, R1;\n"
+ "ADD R1.z, R1.w, R0.w;\n"
+ "MAD R2.w, -R1, R0, R1.z;\n"
+ "ADD R1.xy, fragment.position, c[6];\n"
+ "MUL R1.xy, R1, c[4];\n"
+ "TEX R1, R1, texture[1], 2D;\n"
+ "ADD R2, R2, -R0;\n"
+ "DP4 R1.x, R1, c[7];\n"
+ "MAD result.color, R1.x, R2, R0;\n"
"END\n"
;
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SIMPLE_PORTER_DUFF_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[8] = { program.local[0..4],\n"
- " { 1 },\n"
- " program.local[6..7] };\n"
+ "PARAM c[8] = { program.local[0..6],\n"
+ " { 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
- "MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.w, -R0.y;\n"
- "MOV R0.z, R0.x;\n"
- "TEX R1.x, R0.zwzw, texture[1], 2D;\n"
- "MUL R0.xy, fragment.position, c[4];\n"
+ "MUL R0.zw, R0.xyxy, R0.z;\n"
+ "MUL R1.xy, R0.zwzw, c[0];\n"
+ "MOV R1.y, -R1;\n"
+ "MUL R0.xy, fragment.position, c[6];\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R2.xyz, R0, c[7].y;\n"
+ "MUL R2.xyz, R0, c[4].y;\n"
+ "TEX R1.x, R1, texture[1], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
- "MUL R3.xyz, R2, R1.w;\n"
- "MUL R2.xyz, R1, c[7].x;\n"
- "MUL R0.xyz, R0, c[6].z;\n"
- "MAD R2.xyz, R2, R0.w, R3;\n"
- "MUL R1.xyz, R1, c[6].y;\n"
- "ADD R2.w, -R0, c[5].x;\n"
- "MAD R1.xyz, R1, R2.w, R2;\n"
- "ADD R2.x, -R1.w, c[5];\n"
- "MAD result.color.xyz, R0, R2.x, R1;\n"
- "ADD R0.y, -R0.w, c[5].x;\n"
+ "MUL R3.xyz, R1.w, R2;\n"
+ "MUL R2.xyz, R1, c[4].x;\n"
+ "MUL R0.xyz, R0, c[5].z;\n"
+ "MAD R2.xyz, R0.w, R2, R3;\n"
+ "ADD R2.w, -R0, c[7].x;\n"
+ "MUL R1.xyz, R1, c[5].y;\n"
+ "MAD R1.xyz, R2.w, R1, R2;\n"
+ "ADD R2.x, -R1.w, c[7];\n"
+ "MAD result.color.xyz, R2.x, R0, R1;\n"
"MUL R0.x, R1.w, R0.w;\n"
"MUL R0.z, R0.w, R2.x;\n"
- "MUL R0.y, R1.w, R0;\n"
- "DP3 result.color.w, R0, c[6];\n"
+ "MUL R0.y, R1.w, R2.w;\n"
+ "DP3 result.color.w, R0, c[5];\n"
"END\n"
;
@@ -6577,12 +6441,12 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.z;\n"
- "MUL R1.xy, R0.zwzw, c[3];\n"
+ "MUL R1.xy, R0.zwzw, c[0];\n"
"MOV R1.y, -R1;\n"
"MUL R0.xy, fragment.position, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
@@ -6604,12 +6468,12 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"MOV R0.w, -R0.y;\n"
"MOV R0.z, R0.x;\n"
"TEX R1.x, R0.zwzw, texture[1], 2D;\n"
@@ -6629,12 +6493,12 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"MOV R0.y, -R0;\n"
"TEX R1.x, R0, texture[1], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
@@ -6670,19 +6534,20 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
- "TEX R1.x, R0, texture[1], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[1], 2D;\n"
"MUL R0.xy, fragment.position, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
"MUL R2.xyz, R1, R0.w;\n"
- "MUL R3.xyz, R0, R1.w;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
"MIN R2.xyz, R2, R3;\n"
"ADD R2.w, -R0, c[5].x;\n"
"MAD R1.xyz, R1, R2.w, R2;\n"
@@ -6701,19 +6566,20 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
- "TEX R1.x, R0, texture[1], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[1], 2D;\n"
"MUL R0.xy, fragment.position, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
"MUL R2.xyz, R1, R0.w;\n"
- "MUL R3.xyz, R0, R1.w;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
"MAX R2.xyz, R2, R3;\n"
"ADD R2.w, -R0, c[5].x;\n"
"MAD R1.xyz, R1, R2.w, R2;\n"
@@ -6727,17 +6593,17 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_COLORDODGE_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..4],\n"
- " { 1, 1e-06 } };\n"
+ " { 1, 1e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"MOV R0.y, -R0;\n"
"TEX R0.x, R0, texture[1], 2D;\n"
"MUL R1, fragment.color.primary, R0.x;\n"
@@ -6751,7 +6617,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"MUL R3.xyz, R0, R2.w;\n"
"ADD R2.w, -R0, c[5].x;\n"
"MAD R3.xyz, R1, R2.w, R3;\n"
- "MUL R0.xyz, R0, R1.w;\n"
+ "MUL R0.xyz, R1.w, R0;\n"
"RCP R2.x, R2.x;\n"
"RCP R2.y, R2.y;\n"
"RCP R2.z, R2.z;\n"
@@ -6770,25 +6636,26 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_COLORBURN_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..4],\n"
- " { 1, 9.9999997e-06 } };\n"
+ " { 1, 9.9999997e-006 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
- "TEX R1.x, R0, texture[1], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[1], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
"MUL R0.xy, fragment.position, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R2.xyz, R1.w, R0;\n"
"MAD R3.xyz, R1, R0.w, R2;\n"
"ADD R2.w, -R0, c[5].x;\n"
"MAD R2.xyz, -R1.w, R0.w, R3;\n"
@@ -6801,9 +6668,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"RCP R2.z, R2.z;\n"
"MAD R2.xyz, R4, R2, R5;\n"
"MUL R4.xyz, R0, R3.w;\n"
- "MAD R1.xyz, R1, R2.w, R4;\n"
- "ADD R3.w, -R1, c[5].x;\n"
"MAD R0.xyz, R0, R3.w, R2;\n"
+ "MAD R1.xyz, R1, R2.w, R4;\n"
"MUL R2.x, R1.w, R0.w;\n"
"ADD R2.w, R1, R0;\n"
"ADD R0.xyz, R0, -R1;\n"
@@ -6822,12 +6688,12 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"MOV R0.y, -R0;\n"
"TEX R1.x, R0, texture[1], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
@@ -6858,57 +6724,55 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[7] = { program.local[0..4],\n"
- " { 1, 9.9999997e-06, 2, 8 },\n"
- " { 3 } };\n"
+ " { 1, 9.9999997e-006, 2, 3 },\n"
+ " { 8 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
"TEMP R4;\n"
"TEMP R5;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R1.xyz, R0, c[2];\n"
+ "TEMP R6;\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R1.xyz, R0, c[3];\n"
"RCP R0.z, R1.z;\n"
"MUL R1.xy, R1, R0.z;\n"
- "MUL R1.xy, R1, c[3];\n"
+ "MUL R1.xy, R1, c[0];\n"
"MOV R1.y, -R1;\n"
"MUL R0.xy, fragment.position, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MAX R1.z, R0.w, c[5].y;\n"
"RCP R2.w, R1.z;\n"
"MUL R2.xyz, R0, R2.w;\n"
- "MUL R5.xyz, -R2, c[5].w;\n"
- "MAD R4.xyz, -R0, R2.w, c[5].x;\n"
+ "MUL R6.xyz, -R2, c[6].x;\n"
+ "MAD R3.xyz, -R0, R2.w, c[5].x;\n"
"TEX R1.x, R1, texture[1], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
- "MAD R3.xyz, R1, c[5].z, -R1.w;\n"
+ "MAD R4.xyz, R1, c[5].z, -R1.w;\n"
+ "MUL R5.xyz, R3, R4;\n"
+ "MAD R3.xyz, -R3, R4, R1.w;\n"
+ "ADD R6.xyz, R6, c[5].w;\n"
+ "MAD R5.xyz, -R5, R6, R1.w;\n"
"RSQ R2.x, R2.x;\n"
"RSQ R2.z, R2.z;\n"
"RSQ R2.y, R2.y;\n"
- "MUL R4.xyz, R4, R3;\n"
- "ADD R5.xyz, R5, c[6].x;\n"
- "MUL R5.xyz, R4, R5;\n"
- "ADD R4.xyz, R1.w, -R4;\n"
+ "MUL R5.xyz, R0, R5;\n"
+ "MUL R3.xyz, R0, R3;\n"
"RCP R2.x, R2.x;\n"
"RCP R2.z, R2.z;\n"
"RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R2, R0.w, -R0;\n"
- "MUL R3.xyz, R2, R3;\n"
- "ADD R2.xyz, R1.w, -R5;\n"
- "MAD R5.xyz, R0, R1.w, R3;\n"
- "MUL R2.xyz, R0, R2;\n"
- "MUL R3.xyz, R0, c[5].w;\n"
- "ADD R5.xyz, R5, -R2;\n"
- "SGE R3.xyz, R3, R0.w;\n"
- "MUL R3.xyz, R3, R5;\n"
- "ADD R2.xyz, R2, R3;\n"
- "MUL R3.xyz, R0, R4;\n"
+ "MAD R2.xyz, R0.w, R2, -R0;\n"
+ "MUL R2.xyz, R2, R4;\n"
+ "MAD R2.xyz, R1.w, R0, R2;\n"
+ "ADD R6.xyz, R2, -R5;\n"
"MUL R4.xyz, R1, c[5].z;\n"
+ "MUL R2.xyz, R0, c[6].x;\n"
+ "SGE R2.xyz, R2, R0.w;\n"
+ "MAD R2.xyz, R2, R6, R5;\n"
"ADD R2.xyz, R2, -R3;\n"
"SGE R4.xyz, R4, R1.w;\n"
- "MUL R2.xyz, R4, R2;\n"
- "ADD R2.xyz, R3, R2;\n"
+ "MAD R2.xyz, R4, R2, R3;\n"
"ADD R2.w, -R0, c[5].x;\n"
"MAD R1.xyz, R1, R2.w, R2;\n"
"ADD R2.x, R1.w, R0.w;\n"
@@ -6926,18 +6790,19 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
- "TEX R1.x, R0, texture[1], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[1], 2D;\n"
"MUL R0.xy, fragment.position, c[4];\n"
- "MUL R1, fragment.color.primary, R1.x;\n"
"TEX R0, R0, texture[0], 2D;\n"
- "MUL R3.xyz, R0, R1.w;\n"
+ "MUL R1, fragment.color.primary, R1.x;\n"
+ "MUL R3.xyz, R1.w, R0;\n"
"MUL R2.xyz, R1, R0.w;\n"
"ADD R0.xyz, R1, R0;\n"
"MIN R2.xyz, R2, R3;\n"
@@ -6950,30 +6815,31 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_EXCLUSION_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..4],\n"
- " { 1, 2 } };\n"
+ " { 2, 1 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"TEMP R3;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
- "MOV R0.y, -R0;\n"
- "TEX R1.x, R0, texture[1], 2D;\n"
+ "MUL R0.xy, R0, c[0];\n"
+ "MOV R0.w, -R0.y;\n"
+ "MOV R0.z, R0.x;\n"
+ "TEX R1.x, R0.zwzw, texture[1], 2D;\n"
"MUL R0.xy, fragment.position, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MUL R1, fragment.color.primary, R1.x;\n"
- "MUL R2.xyz, R0, R1.w;\n"
+ "MUL R2.xyz, R1.w, R0;\n"
"MAD R3.xyz, R1, R0.w, R2;\n"
"MUL R2.xyz, R1, R0;\n"
- "MAD R2.xyz, -R2, c[5].y, R3;\n"
- "ADD R2.w, -R0, c[5].x;\n"
+ "MAD R2.xyz, -R2, c[5].x, R3;\n"
+ "ADD R2.w, -R0, c[5].y;\n"
"MAD R1.xyz, R1, R2.w, R2;\n"
"ADD R2.x, R1.w, R0.w;\n"
- "ADD R2.y, -R1.w, c[5].x;\n"
+ "ADD R2.y, -R1.w, c[5];\n"
"MAD result.color.xyz, R0, R2.y, R1;\n"
"MAD result.color.w, -R1, R0, R2.x;\n"
"END\n"
@@ -6984,15 +6850,15 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"PARAM c[7] = { program.local[0..6] };\n"
"TEMP R0;\n"
"TEMP R1;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R1.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R1.xyz, R0, c[3];\n"
"RCP R0.z, R1.z;\n"
"MUL R0.zw, R1.xyxy, R0.z;\n"
- "MUL R1.xy, R0.zwzw, c[3];\n"
+ "MUL R1.xy, R0.zwzw, c[0];\n"
"MOV R1.y, -R1;\n"
- "ADD R0.xy, fragment.position, c[4];\n"
- "MUL R0.xy, R0, c[5];\n"
+ "ADD R0.xy, fragment.position, c[5];\n"
+ "MUL R0.xy, R0, c[4];\n"
"TEX R0, R0, texture[0], 2D;\n"
"TEX R1.x, R1, texture[1], 2D;\n"
"DP4 R0.x, R0, c[6];\n"
@@ -7005,12 +6871,12 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"!!ARBfp1.0\n"
"PARAM c[4] = { program.local[0..3] };\n"
"TEMP R0;\n"
- "MUL R0.xyz, fragment.position.y, c[1];\n"
- "MAD R0.xyz, fragment.position.x, c[0], R0;\n"
- "ADD R0.xyz, R0, c[2];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "MUL R0.xy, R0, c[3];\n"
+ "MUL R0.xy, R0, c[0];\n"
"MOV R0.y, -R0;\n"
"TEX R0.x, R0, texture[0], 2D;\n"
"MUL result.color, fragment.color.primary, R0.x;\n"
@@ -7195,19 +7061,19 @@ static const char *painter_fragment_program_sources[num_fragment_brushes][num_fr
static int painter_variable_locations[num_fragment_brushes][num_fragment_composition_modes][num_fragment_variables] = {
{
- { -1, -1, -1, 1, -1, 6, 2, -1, 5, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, 3, 1, 0, -1, 0, -1, -1, -1, -1, -1, },
- { -1, -1, -1, -1, -1, 3, -1, -1, 2, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 2, -1, 0, 5, -1, 1, 3, 1, 0, -1, 4, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 3, -1, -1, 1, 1, 0, -1, 2, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, -1, -1, 0, -1, -1, 1, 2, -1, 0, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, },
@@ -7219,154 +7085,154 @@ static int painter_variable_locations[num_fragment_brushes][num_fragment_composi
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, },
- { -1, -1, -1, 1, -1, -1, 2, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, },
+ { -1, -1, -1, 0, -1, -1, 2, -1, -1, -1, 0, -1, -1, 1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
},
{
- { -1, -1, 4, 1, 5, 11, 2, -1, 10, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 9, 1, 0, 2, 0, -1, 8, 6, 3, -1, },
- { -1, -1, 1, -1, 2, 8, -1, -1, 7, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 6, -1, 0, 1, -1, -1, 5, 3, 0, -1, },
- { -1, -1, 1, 7, 2, -1, 8, -1, -1, -1, 0, -1, 1, 6, -1, 5, 3, 0, -1, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 5, 3, 0, -1, },
+ { -1, -1, 3, 7, 4, 5, 10, -1, 6, 8, 1, 0, 2, 9, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 8, -1, -1, 6, 1, 0, 2, 7, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, 5, -1, -1, 6, 7, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, 5, -1, 0, 1, -1, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, 5, 4, -1, 7, -1, -1, -1, 0, -1, 1, 6, -1, 1, 0, 2, -1, },
+ { -1, -1, 3, -1, 4, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 1, 0, 2, -1, },
},
{
- { -1, -1, 4, 1, 5, 12, 2, -1, 11, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 4, 1, 5, -1, 2, -1, -1, 10, 1, 0, 2, 0, -1, -1, -1, 3, 8, },
- { -1, -1, 1, -1, 2, 9, -1, -1, 8, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, 7, -1, 0, 1, -1, -1, -1, -1, 0, 5, },
- { -1, -1, 1, 8, 2, -1, 9, -1, -1, -1, 0, -1, 1, 7, -1, -1, -1, 0, 5, },
- { -1, -1, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 5, },
+ { -1, -1, 2, 6, 3, 4, 9, -1, 5, 7, 1, 0, 2, 8, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, 4, -1, -1, 5, 6, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, 4, 3, -1, 6, -1, -1, -1, 0, -1, 1, 5, -1, -1, -1, 1, 0, },
+ { -1, -1, 2, -1, 3, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 1, 0, },
},
{
- { -1, 6, 4, 1, 5, 10, 2, -1, 9, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 6, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, 2, 0, -1, -1, -1, 3, -1, },
- { -1, 3, 1, -1, 2, 7, -1, -1, 6, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 0, -1, },
- { -1, 3, 1, 5, 2, -1, 6, -1, -1, -1, 0, -1, 1, 4, -1, -1, -1, 0, -1, },
- { -1, 3, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, },
+ { -1, 0, 2, 6, 3, 4, 9, -1, 5, 7, 1, 0, 2, 8, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, 2, 6, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, 4, -1, -1, 5, 6, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, 1, -1, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, 4, 3, -1, 6, -1, -1, -1, 0, -1, 1, 5, -1, -1, -1, 1, -1, },
+ { -1, 0, 2, -1, 3, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 1, -1, },
},
{
- { 2, -1, 4, 1, 5, 10, 2, -1, 9, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 1, -1, 1, -1, 2, 7, -1, -1, 6, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, 5, 2, -1, 6, -1, -1, -1, 0, -1, -1, 4, 3, -1, -1, 0, -1, },
- { 0, -1, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, 0, -1, },
+ { 2, -1, 2, 6, 3, 4, 9, -1, 5, 7, 1, 0, -1, 8, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, 4, -1, -1, 5, 6, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, 4, 3, -1, 6, -1, -1, -1, 0, -1, -1, 5, 0, -1, -1, 1, -1, },
+ { 0, -1, 2, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 1, -1, },
},
{
- { 2, -1, 4, 1, 5, 10, 2, -1, 9, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 2, -1, 4, 1, 5, -1, 2, -1, -1, 7, 1, 0, -1, 0, 6, -1, -1, 3, -1, },
- { 1, -1, 1, -1, 2, 7, -1, -1, 6, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, -1, 2, -1, -1, -1, -1, 4, -1, 0, -1, -1, 3, -1, -1, 0, -1, },
- { 1, -1, 1, 5, 2, -1, 6, -1, -1, -1, 0, -1, -1, 4, 3, -1, -1, 0, -1, },
- { 0, -1, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, 0, -1, },
+ { 2, -1, 2, 6, 3, 4, 9, -1, 5, 7, 1, 0, -1, 8, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 2, -1, 2, 4, 3, -1, 7, -1, -1, 5, 1, 0, -1, 6, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, 4, -1, -1, 5, 6, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, -1, 3, -1, -1, -1, -1, 4, -1, 0, -1, -1, 0, -1, -1, 1, -1, },
+ { 1, -1, 2, 4, 3, -1, 6, -1, -1, -1, 0, -1, -1, 5, 0, -1, -1, 1, -1, },
+ { 0, -1, 2, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 1, -1, },
},
};
static int mask_variable_locations[num_fragment_masks][num_fragment_variables] = {
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
- { -1, -1, 2, -1, 3, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, },
+ { -1, -1, 1, -1, 2, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, },
};
#endif