| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef GrTypesPriv_DEFINED | 8 #ifndef GrTypesPriv_DEFINED |
| 9 #define GrTypesPriv_DEFINED | 9 #define GrTypesPriv_DEFINED |
| 10 | 10 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 return kCounts[type]; | 38 return kCounts[type]; |
| 39 | 39 |
| 40 GR_STATIC_ASSERT(0 == kVoid_GrSLType); | 40 GR_STATIC_ASSERT(0 == kVoid_GrSLType); |
| 41 GR_STATIC_ASSERT(1 == kFloat_GrSLType); | 41 GR_STATIC_ASSERT(1 == kFloat_GrSLType); |
| 42 GR_STATIC_ASSERT(2 == kVec2f_GrSLType); | 42 GR_STATIC_ASSERT(2 == kVec2f_GrSLType); |
| 43 GR_STATIC_ASSERT(3 == kVec3f_GrSLType); | 43 GR_STATIC_ASSERT(3 == kVec3f_GrSLType); |
| 44 GR_STATIC_ASSERT(4 == kVec4f_GrSLType); | 44 GR_STATIC_ASSERT(4 == kVec4f_GrSLType); |
| 45 GR_STATIC_ASSERT(5 == kMat33f_GrSLType); | 45 GR_STATIC_ASSERT(5 == kMat33f_GrSLType); |
| 46 GR_STATIC_ASSERT(6 == kMat44f_GrSLType); | 46 GR_STATIC_ASSERT(6 == kMat44f_GrSLType); |
| 47 GR_STATIC_ASSERT(7 == kSampler2D_GrSLType); | 47 GR_STATIC_ASSERT(7 == kSampler2D_GrSLType); |
| 48 GR_STATIC_ASSERT(GR_ARRAY_COUNT(kCounts) == kGrSLTypeCount); | 48 GR_STATIC_ASSERT(SK_ARRAY_COUNT(kCounts) == kGrSLTypeCount); |
| 49 } | 49 } |
| 50 | 50 |
| 51 /** Return the type enum for a vector of floats of length n (1..4), | 51 /** Return the type enum for a vector of floats of length n (1..4), |
| 52 e.g. 1 -> kFloat_GrSLType, 2 -> kVec2_GrSLType, ... */ | 52 e.g. 1 -> kFloat_GrSLType, 2 -> kVec2_GrSLType, ... */ |
| 53 static inline GrSLType GrSLFloatVectorType(int count) { | 53 static inline GrSLType GrSLFloatVectorType(int count) { |
| 54 SkASSERT(count > 0 && count <= 4); | 54 SkASSERT(count > 0 && count <= 4); |
| 55 return (GrSLType)(count); | 55 return (GrSLType)(count); |
| 56 | 56 |
| 57 GR_STATIC_ASSERT(kFloat_GrSLType == 1); | 57 GR_STATIC_ASSERT(kFloat_GrSLType == 1); |
| 58 GR_STATIC_ASSERT(kVec2f_GrSLType == 2); | 58 GR_STATIC_ASSERT(kVec2f_GrSLType == 2); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 82 static inline int GrVertexAttribTypeVectorCount(GrVertexAttribType type) { | 82 static inline int GrVertexAttribTypeVectorCount(GrVertexAttribType type) { |
| 83 SkASSERT(type >= 0 && type < kGrVertexAttribTypeCount); | 83 SkASSERT(type >= 0 && type < kGrVertexAttribTypeCount); |
| 84 static const int kCounts[] = { 1, 2, 3, 4, 4 }; | 84 static const int kCounts[] = { 1, 2, 3, 4, 4 }; |
| 85 return kCounts[type]; | 85 return kCounts[type]; |
| 86 | 86 |
| 87 GR_STATIC_ASSERT(0 == kFloat_GrVertexAttribType); | 87 GR_STATIC_ASSERT(0 == kFloat_GrVertexAttribType); |
| 88 GR_STATIC_ASSERT(1 == kVec2f_GrVertexAttribType); | 88 GR_STATIC_ASSERT(1 == kVec2f_GrVertexAttribType); |
| 89 GR_STATIC_ASSERT(2 == kVec3f_GrVertexAttribType); | 89 GR_STATIC_ASSERT(2 == kVec3f_GrVertexAttribType); |
| 90 GR_STATIC_ASSERT(3 == kVec4f_GrVertexAttribType); | 90 GR_STATIC_ASSERT(3 == kVec4f_GrVertexAttribType); |
| 91 GR_STATIC_ASSERT(4 == kVec4ub_GrVertexAttribType); | 91 GR_STATIC_ASSERT(4 == kVec4ub_GrVertexAttribType); |
| 92 GR_STATIC_ASSERT(GR_ARRAY_COUNT(kCounts) == kGrVertexAttribTypeCount); | 92 GR_STATIC_ASSERT(SK_ARRAY_COUNT(kCounts) == kGrVertexAttribTypeCount); |
| 93 } | 93 } |
| 94 | 94 |
| 95 /** | 95 /** |
| 96 * Returns the size of the attrib type in bytes. | 96 * Returns the size of the attrib type in bytes. |
| 97 */ | 97 */ |
| 98 static inline size_t GrVertexAttribTypeSize(GrVertexAttribType type) { | 98 static inline size_t GrVertexAttribTypeSize(GrVertexAttribType type) { |
| 99 SkASSERT(type >= 0 && type < kGrVertexAttribTypeCount); | 99 SkASSERT(type >= 0 && type < kGrVertexAttribTypeCount); |
| 100 static const size_t kSizes[] = { | 100 static const size_t kSizes[] = { |
| 101 sizeof(float), // kFloat_GrVertexAttribType | 101 sizeof(float), // kFloat_GrVertexAttribType |
| 102 2*sizeof(float), // kVec2f_GrVertexAttribType | 102 2*sizeof(float), // kVec2f_GrVertexAttribType |
| 103 3*sizeof(float), // kVec3f_GrVertexAttribType | 103 3*sizeof(float), // kVec3f_GrVertexAttribType |
| 104 4*sizeof(float), // kVec4f_GrVertexAttribType | 104 4*sizeof(float), // kVec4f_GrVertexAttribType |
| 105 4*sizeof(char) // kVec4ub_GrVertexAttribType | 105 4*sizeof(char) // kVec4ub_GrVertexAttribType |
| 106 }; | 106 }; |
| 107 return kSizes[type]; | 107 return kSizes[type]; |
| 108 | 108 |
| 109 GR_STATIC_ASSERT(0 == kFloat_GrVertexAttribType); | 109 GR_STATIC_ASSERT(0 == kFloat_GrVertexAttribType); |
| 110 GR_STATIC_ASSERT(1 == kVec2f_GrVertexAttribType); | 110 GR_STATIC_ASSERT(1 == kVec2f_GrVertexAttribType); |
| 111 GR_STATIC_ASSERT(2 == kVec3f_GrVertexAttribType); | 111 GR_STATIC_ASSERT(2 == kVec3f_GrVertexAttribType); |
| 112 GR_STATIC_ASSERT(3 == kVec4f_GrVertexAttribType); | 112 GR_STATIC_ASSERT(3 == kVec4f_GrVertexAttribType); |
| 113 GR_STATIC_ASSERT(4 == kVec4ub_GrVertexAttribType); | 113 GR_STATIC_ASSERT(4 == kVec4ub_GrVertexAttribType); |
| 114 GR_STATIC_ASSERT(GR_ARRAY_COUNT(kSizes) == kGrVertexAttribTypeCount); | 114 GR_STATIC_ASSERT(SK_ARRAY_COUNT(kSizes) == kGrVertexAttribTypeCount); |
| 115 } | 115 } |
| 116 | 116 |
| 117 /** | 117 /** |
| 118 * Semantic bindings for vertex attributes. kEffect means that the attribute is
input to a GrEffect. | 118 * Semantic bindings for vertex attributes. kEffect means that the attribute is
input to a GrEffect. |
| 119 * Each binding other than kEffect may not appear more than once in the current
set of attributes. | 119 * Each binding other than kEffect may not appear more than once in the current
set of attributes. |
| 120 * kPosition must be appear for exactly one attribute. | 120 * kPosition must be appear for exactly one attribute. |
| 121 */ | 121 */ |
| 122 enum GrVertexAttribBinding { | 122 enum GrVertexAttribBinding { |
| 123 kPosition_GrVertexAttribBinding, // required, must have vector count of 2 | 123 kPosition_GrVertexAttribBinding, // required, must have vector count of 2 |
| 124 kLocalCoord_GrVertexAttribBinding, // must have vector count of 2 | 124 kLocalCoord_GrVertexAttribBinding, // must have vector count of 2 |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 return kFillBW_GrEffectEdgeType; | 211 return kFillBW_GrEffectEdgeType; |
| 212 case kInverseFillAA_GrEffectEdgeType: | 212 case kInverseFillAA_GrEffectEdgeType: |
| 213 return kFillAA_GrEffectEdgeType; | 213 return kFillAA_GrEffectEdgeType; |
| 214 case kHairlineAA_GrEffectEdgeType: | 214 case kHairlineAA_GrEffectEdgeType: |
| 215 GrCrash("Hairline fill isn't invertible."); | 215 GrCrash("Hairline fill isn't invertible."); |
| 216 } | 216 } |
| 217 return kFillAA_GrEffectEdgeType; // suppress warning. | 217 return kFillAA_GrEffectEdgeType; // suppress warning. |
| 218 } | 218 } |
| 219 | 219 |
| 220 #endif | 220 #endif |
| OLD | NEW |