aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/gl')
-rw-r--r--src/gpu/gl/GrGpuGL.cpp9
-rw-r--r--src/gpu/gl/GrGpuGL_program.cpp33
2 files changed, 15 insertions, 27 deletions
diff --git a/src/gpu/gl/GrGpuGL.cpp b/src/gpu/gl/GrGpuGL.cpp
index 442bbb42a0..1cca043ee9 100644
--- a/src/gpu/gl/GrGpuGL.cpp
+++ b/src/gpu/gl/GrGpuGL.cpp
@@ -1986,13 +1986,8 @@ void GrGpuGL::flushBlend(bool isLines,
BlendCoeffReferencesConstant(dstCoeff)) &&
(!fHWBlendState.fConstColorValid ||
fHWBlendState.fConstColor != blendConst)) {
-
- float c[] = {
- GrColorUnpackR(blendConst) / 255.f,
- GrColorUnpackG(blendConst) / 255.f,
- GrColorUnpackB(blendConst) / 255.f,
- GrColorUnpackA(blendConst) / 255.f
- };
+ GrGLfloat c[4];
+ GrColorToRGBAFloat(blendConst, c);
GL_CALL(BlendColor(c[0], c[1], c[2], c[3]));
fHWBlendState.fConstColor = blendConst;
fHWBlendState.fConstColorValid = true;
diff --git a/src/gpu/gl/GrGpuGL_program.cpp b/src/gpu/gl/GrGpuGL_program.cpp
index a1807da445..9e3a5d884c 100644
--- a/src/gpu/gl/GrGpuGL_program.cpp
+++ b/src/gpu/gl/GrGpuGL_program.cpp
@@ -259,15 +259,6 @@ void GrGpuGL::flushColorMatrix() {
}
}
-static const float ONE_OVER_255 = 1.f / 255.f;
-
-#define GR_COLOR_TO_VEC4(color) {\
- GrColorUnpackR(color) * ONE_OVER_255,\
- GrColorUnpackG(color) * ONE_OVER_255,\
- GrColorUnpackB(color) * ONE_OVER_255,\
- GrColorUnpackA(color) * ONE_OVER_255 \
-}
-
void GrGpuGL::flushColor(GrColor color) {
const ProgramDesc& desc = fCurrentProgram->getDesc();
const GrDrawState& drawState = this->getDrawState();
@@ -280,19 +271,18 @@ void GrGpuGL::flushColor(GrColor color) {
switch (desc.fColorInput) {
case ProgramDesc::kAttribute_ColorInput:
if (fHWConstAttribColor != color) {
- // OpenGL ES only supports the float varieties of
- // glVertexAttrib
- float c[] = GR_COLOR_TO_VEC4(color);
- GL_CALL(VertexAttrib4fv(GrGLProgram::ColorAttributeIdx(),
- c));
+ // OpenGL ES only supports the float varieties of glVertexAttrib
+ GrGLfloat c[4];
+ GrColorToRGBAFloat(color, c);
+ GL_CALL(VertexAttrib4fv(GrGLProgram::ColorAttributeIdx(), c));
fHWConstAttribColor = color;
}
break;
case ProgramDesc::kUniform_ColorInput:
if (fCurrentProgram->fColor != color) {
- // OpenGL ES doesn't support unsigned byte varieties of
- // glUniform
- float c[] = GR_COLOR_TO_VEC4(color);
+ // OpenGL ES doesn't support unsigned byte varieties of glUniform
+ GrGLfloat c[4];
+ GrColorToRGBAFloat(color, c);
GrAssert(kInvalidUniformHandle != fCurrentProgram->fUniforms.fColorUni);
fCurrentProgram->fUniformManager.set4fv(fCurrentProgram->fUniforms.fColorUni,
0, 1, c);
@@ -309,7 +299,8 @@ void GrGpuGL::flushColor(GrColor color) {
UniformHandle filterColorUni = fCurrentProgram->fUniforms.fColorFilterUni;
if (kInvalidUniformHandle != filterColorUni &&
fCurrentProgram->fColorFilterColor != drawState.getColorFilterColor()) {
- float c[] = GR_COLOR_TO_VEC4(drawState.getColorFilterColor());
+ GrGLfloat c[4];
+ GrColorToRGBAFloat(drawState.getColorFilterColor(), c);
fCurrentProgram->fUniformManager.set4fv(filterColorUni, 0, 1, c);
fCurrentProgram->fColorFilterColor = drawState.getColorFilterColor();
}
@@ -330,7 +321,8 @@ void GrGpuGL::flushCoverage(GrColor coverage) {
if (fHWConstAttribCoverage != coverage) {
// OpenGL ES only supports the float varieties of
// glVertexAttrib
- float c[] = GR_COLOR_TO_VEC4(coverage);
+ GrGLfloat c[4];
+ GrColorToRGBAFloat(coverage, c);
GL_CALL(VertexAttrib4fv(GrGLProgram::CoverageAttributeIdx(),
c));
fHWConstAttribCoverage = coverage;
@@ -340,7 +332,8 @@ void GrGpuGL::flushCoverage(GrColor coverage) {
if (fCurrentProgram->fCoverage != coverage) {
// OpenGL ES doesn't support unsigned byte varieties of
// glUniform
- float c[] = GR_COLOR_TO_VEC4(coverage);
+ GrGLfloat c[4];
+ GrColorToRGBAFloat(coverage, c);
GrAssert(kInvalidUniformHandle != fCurrentProgram->fUniforms.fCoverageUni);
fCurrentProgram->fUniformManager.set4fv(fCurrentProgram->fUniforms.fCoverageUni,
0, 1, c);