aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLUniformHandler.cpp
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2016-11-23 01:02:43 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-11-23 01:02:57 +0000
commit59dc41175d99d0a31c046aec0c26c4d82a3a3574 (patch)
tree5e1d050baec746da7f2fd2a83a128ab4e9d9cd1b /src/gpu/gl/GrGLUniformHandler.cpp
parent83a3b390dbeafb703af9b34049220e88834d10be (diff)
Revert "Initial OpenGL Image support."
This reverts commit be34882042048db096baca32ddf4a8b472529804. Reason for revert: Test failures and shader compilation issues on Android. Original change's description: > Initial OpenGL Image support. > > This change along with recently landed changes is enough to make the new unit test work and not much else. imageLoad is support but not stores or any other image functions (atomics). Barriers in the shading language or the GL API are not yet hooked up. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4182 > > Change-Id: I5958b7c89e40ae5ee05f7bbaca3b3738162fe5ce > Reviewed-on: https://skia-review.googlesource.com/4182 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> > TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I29a2502c296ae39ed9a999957800414ae46e6f0f Reviewed-on: https://skia-review.googlesource.com/5129 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/gl/GrGLUniformHandler.cpp')
-rw-r--r--src/gpu/gl/GrGLUniformHandler.cpp56
1 files changed, 9 insertions, 47 deletions
diff --git a/src/gpu/gl/GrGLUniformHandler.cpp b/src/gpu/gl/GrGLUniformHandler.cpp
index 6a2e21fb5c..2def001f43 100644
--- a/src/gpu/gl/GrGLUniformHandler.cpp
+++ b/src/gpu/gl/GrGLUniformHandler.cpp
@@ -80,33 +80,11 @@ GrGLSLUniformHandler::SamplerHandle GrGLUniformHandler::addSampler(uint32_t visi
return GrGLSLUniformHandler::SamplerHandle(fSamplers.count() - 1);
}
-GrGLSLUniformHandler::ImageStorageHandle GrGLUniformHandler::addImageStorage(
- uint32_t visibility, GrSLType type, GrImageStorageFormat format, const char* name) {
- SkASSERT(name && strlen(name));
- SkDEBUGCODE(static const uint32_t kVisMask = kVertex_GrShaderFlag | kFragment_GrShaderFlag);
- SkASSERT(0 == (~kVisMask & visibility));
- SkASSERT(0 != visibility);
- SkString mangleName;
- char prefix = 'u';
- fProgramBuilder->nameVariable(&mangleName, prefix, name, true);
-
- UniformInfo& imageStorage = fImageStorages.push_back();
- imageStorage.fVariable.setName(mangleName);
-
- SkASSERT(GrSLTypeIsImageStorage(type));
- imageStorage.fVariable.setType(type);
- imageStorage.fVariable.setTypeModifier(GrShaderVar::kUniform_TypeModifier);
- imageStorage.fVariable.setImageStorageFormat(format);
- imageStorage.fLocation = -1;
- imageStorage.fVisibility = visibility;
- return GrGLSLUniformHandler::ImageStorageHandle(fImageStorages.count() - 1);
-}
-
void GrGLUniformHandler::appendUniformDecls(GrShaderFlags visibility, SkString* out) const {
for (int i = 0; i < fUniforms.count(); ++i) {
if (fUniforms[i].fVisibility & visibility) {
fUniforms[i].fVariable.appendDecl(fProgramBuilder->glslCaps(), out);
- out->append(";");
+ out->append(";\n");
}
}
for (int i = 0; i < fSamplers.count(); ++i) {
@@ -115,29 +93,19 @@ void GrGLUniformHandler::appendUniformDecls(GrShaderFlags visibility, SkString*
out->append(";\n");
}
}
- for (int i = 0; i < fImageStorages.count(); ++i) {
- if (fImageStorages[i].fVisibility & visibility) {
- fImageStorages[i].fVariable.appendDecl(fProgramBuilder->glslCaps(), out);
- out->append(";");
- }
- }
}
void GrGLUniformHandler::bindUniformLocations(GrGLuint programID, const GrGLCaps& caps) {
if (caps.bindUniformLocationSupport()) {
- int currUniform = 0;
- for (int i = 0; i < fUniforms.count(); ++i, ++currUniform) {
- GL_CALL(BindUniformLocation(programID, currUniform, fUniforms[i].fVariable.c_str()));
- fUniforms[i].fLocation = currUniform;
- }
- for (int i = 0; i < fSamplers.count(); ++i, ++currUniform) {
- GL_CALL(BindUniformLocation(programID, currUniform, fSamplers[i].fVariable.c_str()));
- fSamplers[i].fLocation = currUniform;
+ int uniformCnt = fUniforms.count();
+ for (int i = 0; i < uniformCnt; ++i) {
+ GL_CALL(BindUniformLocation(programID, i, fUniforms[i].fVariable.c_str()));
+ fUniforms[i].fLocation = i;
}
- for (int i = 0; i < fImageStorages.count(); ++i) {
- GL_CALL(BindUniformLocation(programID, currUniform,
- fImageStorages[i].fVariable.c_str()));
- fImageStorages[i].fLocation = currUniform;
+ for (int i = 0; i < fSamplers.count(); ++i) {
+ GrGLint location = i + uniformCnt;
+ GL_CALL(BindUniformLocation(programID, location, fSamplers[i].fVariable.c_str()));
+ fSamplers[i].fLocation = location;
}
}
}
@@ -155,12 +123,6 @@ void GrGLUniformHandler::getUniformLocations(GrGLuint programID, const GrGLCaps&
GL_CALL_RET(location, GetUniformLocation(programID, fSamplers[i].fVariable.c_str()));
fSamplers[i].fLocation = location;
}
- for (int i = 0; i < fImageStorages.count(); ++i) {
- GrGLint location;
- GL_CALL_RET(location, GetUniformLocation(programID,
- fImageStorages[i].fVariable.c_str()));
- fImageStorages[i].fLocation = location;
- }
}
}