Refactor position computation to enable device space "nudge"
To match raster's handling of BW geometry we want to be able to perform a device space "nudge" on all geometry. This CL sets us up to be able to do that in GrGLVertexBuilder::transformToNormalizedDeviceSpace.
BUG=423834
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/854013002
diff --git a/include/gpu/GrShaderVar.h b/include/gpu/GrShaderVar.h
index 53d0c0f..68ce34b 100644
--- a/include/gpu/GrShaderVar.h
+++ b/include/gpu/GrShaderVar.h
@@ -67,7 +67,7 @@
}
GrShaderVar(const char* name, GrSLType type, TypeModifier typeModifier,
- int arrayCount = kNonArray, GrSLPrecision precision = kDefault_GrSLPrecision)
+ int arrayCount = kNonArray, GrSLPrecision precision = kDefault_GrSLPrecision)
: fType(type)
, fTypeModifier(typeModifier)
, fName(name)
@@ -85,46 +85,11 @@
kUnsizedArray = -1, // an unsized array (declared with [])
};
- /**
- * Sets as a non-array.
- */
void set(GrSLType type,
- TypeModifier typeModifier,
const SkString& name,
- GrSLPrecision precision = kDefault_GrSLPrecision) {
- SkASSERT(kVoid_GrSLType != type);
- SkASSERT(kDefault_GrSLPrecision == precision || GrSLTypeIsFloatType(type));
- fType = type;
- fTypeModifier = typeModifier;
- fName = name;
- fCount = kNonArray;
- fPrecision = precision;
- }
-
- /**
- * Sets as a non-array.
- */
- void set(GrSLType type,
- TypeModifier typeModifier,
- const char* name,
- GrSLPrecision precision = kDefault_GrSLPrecision) {
- SkASSERT(kVoid_GrSLType != type);
- SkASSERT(kDefault_GrSLPrecision == precision || GrSLTypeIsFloatType(type));
- fType = type;
- fTypeModifier = typeModifier;
- fName = name;
- fCount = kNonArray;
- fPrecision = precision;
- }
-
- /**
- * Set all var options
- */
- void set(GrSLType type,
- TypeModifier typeModifier,
- const SkString& name,
- int count,
- GrSLPrecision precision = kDefault_GrSLPrecision) {
+ TypeModifier typeModifier = kNone_TypeModifier,
+ GrSLPrecision precision = kDefault_GrSLPrecision,
+ int count = kNonArray) {
SkASSERT(kVoid_GrSLType != type);
SkASSERT(kDefault_GrSLPrecision == precision || GrSLTypeIsFloatType(type));
fType = type;
@@ -134,14 +99,11 @@
fPrecision = precision;
}
- /**
- * Set all var options
- */
void set(GrSLType type,
- TypeModifier typeModifier,
const char* name,
- int count,
- GrSLPrecision precision = kDefault_GrSLPrecision) {
+ TypeModifier typeModifier = kNone_TypeModifier,
+ GrSLPrecision precision = kDefault_GrSLPrecision,
+ int count = kNonArray) {
SkASSERT(kVoid_GrSLType != type);
SkASSERT(kDefault_GrSLPrecision == precision || GrSLTypeIsFloatType(type));
fType = type;