summaryrefslogtreecommitdiff
path: root/driver/rsdShader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'driver/rsdShader.cpp')
-rw-r--r--driver/rsdShader.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/driver/rsdShader.cpp b/driver/rsdShader.cpp
index 7511883e..eaf679a5 100644
--- a/driver/rsdShader.cpp
+++ b/driver/rsdShader.cpp
@@ -41,14 +41,13 @@ RsdShader::RsdShader(const Program *p, uint32_t type,
init(textureNames, textureNamesCount, textureNamesLength);
for(size_t i=0; i < textureNamesCount; i++) {
- mTextureNames.push_back(std::string(textureNames[i],
- textureNamesLength[i]));
+ mTextureNames.push(String8(textureNames[i], textureNamesLength[i]));
}
}
RsdShader::~RsdShader() {
for (uint32_t i = 0; i < mStateBasedShaders.size(); i ++) {
- StateBasedKey *state = mStateBasedShaders[i];
+ StateBasedKey *state = mStateBasedShaders.itemAt(i);
if (state->mShaderID) {
glDeleteShader(state->mShaderID);
}
@@ -77,7 +76,7 @@ RsdShader::StateBasedKey *RsdShader::getExistingState() {
RsdShader::StateBasedKey *returnKey = nullptr;
for (uint32_t i = 0; i < mStateBasedShaders.size(); i ++) {
- returnKey = mStateBasedShaders[i];
+ returnKey = mStateBasedShaders.itemAt(i);
for (uint32_t ct = 0; ct < mRSProgram->mHal.state.texturesCount; ct ++) {
uint32_t texType = 0;
@@ -109,7 +108,7 @@ uint32_t RsdShader::getStateBasedShaderID(const Context *rsc) {
// We have not created a shader for this particular state yet
state = new StateBasedKey(mTextureCount);
mCurrentState = state;
- mStateBasedShaders.push_back(state);
+ mStateBasedShaders.add(state);
createShader();
loadShader(rsc);
return mCurrentState->mShaderID;