summaryrefslogtreecommitdiffstats
path: root/libs/rs/driver/rsdShader.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/rs/driver/rsdShader.h')
-rw-r--r--libs/rs/driver/rsdShader.h139
1 files changed, 0 insertions, 139 deletions
diff --git a/libs/rs/driver/rsdShader.h b/libs/rs/driver/rsdShader.h
deleted file mode 100644
index 2680b3e..0000000
--- a/libs/rs/driver/rsdShader.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2011-2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef ANDROID_RSD_SHADER_H
-#define ANDROID_RSD_SHADER_H
-
-#include <utils/String8.h>
-
-// ---------------------------------------------------------------------------
-namespace android {
-namespace renderscript {
-
-class Element;
-class Context;
-class Program;
-
-}
-}
-
-class RsdShaderCache;
-
-#define RS_SHADER_ATTR "ATTRIB_"
-#define RS_SHADER_UNI "UNI_"
-
-class RsdShader {
-public:
-
- RsdShader(const android::renderscript::Program *p, uint32_t type,
- const char * shaderText, uint32_t shaderLength,
- const char** textureNames, size_t textureNamesCount,
- const size_t *textureNamesLength);
- virtual ~RsdShader();
-
- uint32_t getStateBasedShaderID(const android::renderscript::Context *);
-
- // Add ability to get all ID's to clean up the cached program objects
- uint32_t getStateBasedIDCount() const { return mStateBasedShaders.size(); }
- uint32_t getStateBasedID(uint32_t index) const {
- return mStateBasedShaders.itemAt(index)->mShaderID;
- }
-
- uint32_t getAttribCount() const {return mAttribCount;}
- uint32_t getUniformCount() const {return mUniformCount;}
- const android::String8 & getAttribName(uint32_t i) const {return mAttribNames[i];}
- const android::String8 & getUniformName(uint32_t i) const {return mUniformNames[i];}
- uint32_t getUniformArraySize(uint32_t i) const {return mUniformArraySizes[i];}
-
- android::String8 getGLSLInputString() const;
-
- bool isValid() const {return mIsValid;}
- void forceDirty() const {mDirty = true;}
-
- bool loadShader(const android::renderscript::Context *);
- void setup(const android::renderscript::Context *, RsdShaderCache *sc);
-
-protected:
-
- class StateBasedKey {
- public:
- StateBasedKey(uint32_t texCount) : mShaderID(0) {
- mTextureTargets = new uint32_t[texCount];
- }
- ~StateBasedKey() {
- delete[] mTextureTargets;
- }
- uint32_t mShaderID;
- uint32_t *mTextureTargets;
- };
-
- bool createShader();
- StateBasedKey *getExistingState();
-
- const android::renderscript::Program *mRSProgram;
- bool mIsValid;
-
- // Applies to vertex and fragment shaders only
- void appendUserConstants();
- void setupUserConstants(const android::renderscript::Context *rsc,
- RsdShaderCache *sc, bool isFragment);
- void initAddUserElement(const android::renderscript::Element *e,
- android::String8 *names, uint32_t *arrayLengths,
- uint32_t *count, const char *prefix);
- void setupTextures(const android::renderscript::Context *rsc, RsdShaderCache *sc);
- void setupSampler(const android::renderscript::Context *rsc,
- const android::renderscript::Sampler *s,
- const android::renderscript::Allocation *tex);
-
- void appendAttributes();
- void appendTextures();
-
- void initAttribAndUniformArray();
-
- mutable bool mDirty;
- android::String8 mShader;
- android::String8 mUserShader;
- uint32_t mType;
-
- uint32_t mTextureCount;
- StateBasedKey *mCurrentState;
- uint32_t mAttribCount;
- uint32_t mUniformCount;
- android::String8 *mAttribNames;
- android::String8 *mUniformNames;
- uint32_t *mUniformArraySizes;
-
- android::Vector<android::String8> mTextureNames;
-
- android::Vector<StateBasedKey*> mStateBasedShaders;
-
- int32_t mTextureUniformIndexStart;
-
- void logUniform(const android::renderscript::Element *field,
- const float *fd, uint32_t arraySize);
- void setUniform(const android::renderscript::Context *rsc,
- const android::renderscript::Element *field,
- const float *fd, int32_t slot, uint32_t arraySize );
- void initMemberVars();
- void init(const char** textureNames, size_t textureNamesCount,
- const size_t *textureNamesLength);
-};
-
-#endif //ANDROID_RSD_SHADER_H
-
-
-
-