diff options
Diffstat (limited to 'driver/rsdShader.cpp')
-rw-r--r-- | driver/rsdShader.cpp | 9 |
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; |