Move GrShaderVar to an appending model for layout qualifiers
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5144
Change-Id: I05e88961e50bd679cfe5863f413f3ec65bc9fd95
Reviewed-on: https://skia-review.googlesource.com/5144
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/include/gpu/GrShaderVar.h b/include/gpu/GrShaderVar.h
index 81a7566..aaae107 100644
--- a/include/gpu/GrShaderVar.h
+++ b/include/gpu/GrShaderVar.h
@@ -271,10 +271,17 @@
void setPrecision(GrSLPrecision p) { fPrecision = p; }
/**
- * Set the layout qualifier
+ * Appends to the layout qualifier
*/
- void setLayoutQualifier(const char* layoutQualifier) {
- fLayoutQualifier = layoutQualifier;
+ void addLayoutQualifier(const char* layoutQualifier) {
+ if (!layoutQualifier || !strlen(layoutQualifier)) {
+ return;
+ }
+ if (fLayoutQualifier.isEmpty()) {
+ fLayoutQualifier = layoutQualifier;
+ } else {
+ fLayoutQualifier.appendf(", %s", layoutQualifier);
+ }
}
void addModifier(const char* modifier) {