summaryrefslogtreecommitdiff
path: root/rsProgram.cpp
diff options
context:
space:
mode:
authorJason Sams <jsams@google.com>2013-07-09 14:29:39 -0700
committerJason Sams <jsams@google.com>2013-07-09 14:29:39 -0700
commitf313dc32d5ea68a7c48fb4ec6e131ec2fb97ce2d (patch)
tree9309212ee75f350a9cf3b3589f71c7c33b75bc71 /rsProgram.cpp
parentdc596dd105ad4b066a13f7450dae32d2bf56c5a6 (diff)
Remove internal element builder and vector code.
Remove additional String8 references from shared includes. Change-Id: Iede11384b9fc5a303d15d47fd4074c800dc6ad5f
Diffstat (limited to 'rsProgram.cpp')
-rw-r--r--rsProgram.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/rsProgram.cpp b/rsProgram.cpp
index 7114f29d..806d1de0 100644
--- a/rsProgram.cpp
+++ b/rsProgram.cpp
@@ -77,7 +77,9 @@ Program::Program(Context *rsc, const char * shaderText, size_t shaderLength,
shaderText += internalTokenLen;
shaderLength -= internalTokenLen;
}
- mUserShader.setTo(shaderText, shaderLength);
+
+ mUserShader = rsuCopyString(shaderText, shaderLength);
+ mUserShaderLen = shaderLength;
}
Program::~Program() {
@@ -98,6 +100,12 @@ Program::~Program() {
mHal.state.inputElementsCount = 0;
mHal.state.constantsCount = 0;
mHal.state.texturesCount = 0;
+
+ if (mUserShader != NULL) {
+ delete[] mUserShader;
+ mUserShader = NULL;
+ }
+ mUserShaderLen = 0;
}
bool Program::freeChildren() {
@@ -134,6 +142,9 @@ void Program::initMemberVars() {
mConstants = NULL;
mIsInternal = false;
+
+ mUserShader = NULL;
+ mUserShaderLen = 0;
}
void Program::bindAllocation(Context *rsc, Allocation *alloc, uint32_t slot) {