Index: src/gpu/gl/GrGLUniformManager.cpp |
diff --git a/src/gpu/gl/GrGLUniformManager.cpp b/src/gpu/gl/GrGLUniformManager.cpp |
index da6726bb244d5d4b158bdc21f73c530ace26c29d..b559e10d1768cefd57ce2ab1a50ff3d1b1056350 100644 |
--- a/src/gpu/gl/GrGLUniformManager.cpp |
+++ b/src/gpu/gl/GrGLUniformManager.cpp |
@@ -22,11 +22,11 @@ GrGLUniformManager::UniformHandle GrGLUniformManager::appendUniform(GrSLType typ |
uni.fType = type; |
uni.fVSLocation = kUnusedUniform; |
uni.fFSLocation = kUnusedUniform; |
- return index_to_handle(idx); |
+ return GrGLUniformManager::UniformHandle::CreateFromUniformIndex(idx); |
} |
void GrGLUniformManager::setSampler(UniformHandle u, GrGLint texUnit) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kSampler2D_GrSLType); |
GrAssert(GrGLShaderVar::kNonArray == uni.fArrayCount); |
// FIXME: We still insert a single sampler uniform for every stage. If the shader does not |
@@ -42,7 +42,7 @@ void GrGLUniformManager::setSampler(UniformHandle u, GrGLint texUnit) const { |
} |
void GrGLUniformManager::set1f(UniformHandle u, GrGLfloat v0) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kFloat_GrSLType); |
GrAssert(GrGLShaderVar::kNonArray == uni.fArrayCount); |
GrAssert(kUnusedUniform != uni.fFSLocation || kUnusedUniform != uni.fVSLocation); |
@@ -58,7 +58,7 @@ void GrGLUniformManager::set1fv(UniformHandle u, |
int offset, |
int arrayCount, |
const GrGLfloat v[]) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kFloat_GrSLType); |
GrAssert(arrayCount > 0); |
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, offset, arrayCount); |
@@ -75,7 +75,7 @@ void GrGLUniformManager::set1fv(UniformHandle u, |
} |
void GrGLUniformManager::set2f(UniformHandle u, GrGLfloat v0, GrGLfloat v1) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kVec2f_GrSLType); |
GrAssert(GrGLShaderVar::kNonArray == uni.fArrayCount); |
GrAssert(kUnusedUniform != uni.fFSLocation || kUnusedUniform != uni.fVSLocation); |
@@ -91,7 +91,7 @@ void GrGLUniformManager::set2fv(UniformHandle u, |
int offset, |
int arrayCount, |
const GrGLfloat v[]) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kVec2f_GrSLType); |
GrAssert(arrayCount > 0); |
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, offset, arrayCount); |
@@ -105,7 +105,7 @@ void GrGLUniformManager::set2fv(UniformHandle u, |
} |
void GrGLUniformManager::set3f(UniformHandle u, GrGLfloat v0, GrGLfloat v1, GrGLfloat v2) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kVec3f_GrSLType); |
GrAssert(GrGLShaderVar::kNonArray == uni.fArrayCount); |
GrAssert(kUnusedUniform != uni.fFSLocation || kUnusedUniform != uni.fVSLocation); |
@@ -121,7 +121,7 @@ void GrGLUniformManager::set3fv(UniformHandle u, |
int offset, |
int arrayCount, |
const GrGLfloat v[]) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kVec3f_GrSLType); |
GrAssert(arrayCount > 0); |
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, offset, arrayCount); |
@@ -139,7 +139,7 @@ void GrGLUniformManager::set4f(UniformHandle u, |
GrGLfloat v1, |
GrGLfloat v2, |
GrGLfloat v3) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kVec4f_GrSLType); |
GrAssert(GrGLShaderVar::kNonArray == uni.fArrayCount); |
GrAssert(kUnusedUniform != uni.fFSLocation || kUnusedUniform != uni.fVSLocation); |
@@ -155,7 +155,7 @@ void GrGLUniformManager::set4fv(UniformHandle u, |
int offset, |
int arrayCount, |
const GrGLfloat v[]) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kVec4f_GrSLType); |
GrAssert(arrayCount > 0); |
GrAssert(kUnusedUniform != uni.fFSLocation || kUnusedUniform != uni.fVSLocation); |
@@ -168,7 +168,7 @@ void GrGLUniformManager::set4fv(UniformHandle u, |
} |
void GrGLUniformManager::setMatrix3f(UniformHandle u, const GrGLfloat matrix[]) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kMat33f_GrSLType); |
GrAssert(GrGLShaderVar::kNonArray == uni.fArrayCount); |
// TODO: Re-enable this assert once texture matrices aren't forced on all effects |
@@ -182,7 +182,7 @@ void GrGLUniformManager::setMatrix3f(UniformHandle u, const GrGLfloat matrix[]) |
} |
void GrGLUniformManager::setMatrix4f(UniformHandle u, const GrGLfloat matrix[]) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kMat44f_GrSLType); |
GrAssert(GrGLShaderVar::kNonArray == uni.fArrayCount); |
GrAssert(kUnusedUniform != uni.fFSLocation || kUnusedUniform != uni.fVSLocation); |
@@ -198,7 +198,7 @@ void GrGLUniformManager::setMatrix3fv(UniformHandle u, |
int offset, |
int arrayCount, |
const GrGLfloat matrices[]) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kMat33f_GrSLType); |
GrAssert(arrayCount > 0); |
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, offset, arrayCount); |
@@ -217,7 +217,7 @@ void GrGLUniformManager::setMatrix4fv(UniformHandle u, |
int offset, |
int arrayCount, |
const GrGLfloat matrices[]) const { |
- const Uniform& uni = fUniforms[handle_to_index(u)]; |
+ const Uniform& uni = fUniforms[u.toUniformIndex()]; |
GrAssert(uni.fType == kMat44f_GrSLType); |
GrAssert(arrayCount > 0); |
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, offset, arrayCount); |
@@ -267,3 +267,8 @@ void GrGLUniformManager::getUniformLocations(GrGLuint programID, const BuilderUn |
} |
} |
} |
+ |
+const GrGLUniformManager::BuilderUniform& |
+GrGLUniformManager::getBuilderUniform(const BuilderUniformArray& array, UniformHandle handle) const { |
+ return array[handle.toUniformIndex()]; |
+} |