Merge change I5dad8b4d
* changes: Place shader logging behind prop to declutter logs.
This commit is contained in:
@@ -239,7 +239,7 @@ void Context::timerPrint()
|
||||
void Context::setupCheck()
|
||||
{
|
||||
if (checkVersion2_0()) {
|
||||
mShaderCache.lookup(mVertex.get(), mFragment.get());
|
||||
mShaderCache.lookup(this, mVertex.get(), mFragment.get());
|
||||
|
||||
mFragmentStore->setupGL2(this, &mStateFragmentStore);
|
||||
mFragment->setupGL2(this, &mStateFragment, &mShaderCache);
|
||||
@@ -272,6 +272,7 @@ void * Context::threadProc(void *vrsc)
|
||||
rsc->props.mLogTimes = getProp("debug.rs.profile");
|
||||
rsc->props.mLogScripts = getProp("debug.rs.script");
|
||||
rsc->props.mLogObjects = getProp("debug.rs.objects");
|
||||
rsc->props.mLogShaders = getProp("debug.rs.shaders");
|
||||
|
||||
ScriptTLSStruct *tlsStruct = new ScriptTLSStruct;
|
||||
if (!tlsStruct) {
|
||||
|
||||
@@ -164,6 +164,7 @@ public:
|
||||
bool mLogTimes;
|
||||
bool mLogScripts;
|
||||
bool mLogObjects;
|
||||
bool mLogShaders;
|
||||
} props;
|
||||
|
||||
void dumpDebug() const;
|
||||
|
||||
@@ -125,13 +125,15 @@ void Program::createShader()
|
||||
{
|
||||
}
|
||||
|
||||
bool Program::loadShader(uint32_t type)
|
||||
bool Program::loadShader(Context *rsc, uint32_t type)
|
||||
{
|
||||
mShaderID = glCreateShader(type);
|
||||
rsAssert(mShaderID);
|
||||
|
||||
LOGV("Loading shader type %x, ID %i", type, mShaderID);
|
||||
LOGE(mShader.string());
|
||||
if (rsc->props.mLogShaders) {
|
||||
LOGV("Loading shader type %x, ID %i", type, mShaderID);
|
||||
LOGV(mShader.string());
|
||||
}
|
||||
|
||||
if (mShaderID) {
|
||||
const char * ss = mShader.string();
|
||||
@@ -156,7 +158,10 @@ bool Program::loadShader(uint32_t type)
|
||||
}
|
||||
}
|
||||
}
|
||||
LOGV("--Shader load result %x ", glGetError());
|
||||
|
||||
if (rsc->props.mLogShaders) {
|
||||
LOGV("--Shader load result %x ", glGetError());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ protected:
|
||||
String8 mAttribNames[MAX_ATTRIBS];
|
||||
String8 mUniformNames[MAX_UNIFORMS];
|
||||
|
||||
bool loadShader(uint32_t type);
|
||||
bool loadShader(Context *, uint32_t type);
|
||||
|
||||
public:
|
||||
void forceDirty() const {mDirty = true;}
|
||||
|
||||
@@ -161,8 +161,8 @@ void ProgramFragment::setupGL2(const Context *rsc, ProgramFragmentState *state,
|
||||
//LOGE("sgl2 frag2 %x", glGetError());
|
||||
}
|
||||
|
||||
void ProgramFragment::loadShader() {
|
||||
Program::loadShader(GL_FRAGMENT_SHADER);
|
||||
void ProgramFragment::loadShader(Context *rsc) {
|
||||
Program::loadShader(rsc, GL_FRAGMENT_SHADER);
|
||||
}
|
||||
|
||||
void ProgramFragment::createShader()
|
||||
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
void setTexEnable(uint32_t slot, bool);
|
||||
|
||||
virtual void createShader();
|
||||
virtual void loadShader();
|
||||
virtual void loadShader(Context *rsc);
|
||||
virtual void init(Context *rsc);
|
||||
|
||||
|
||||
|
||||
@@ -108,8 +108,8 @@ void ProgramVertex::setupGL(const Context *rsc, ProgramVertexState *state)
|
||||
mDirty = false;
|
||||
}
|
||||
|
||||
void ProgramVertex::loadShader() {
|
||||
Program::loadShader(GL_VERTEX_SHADER);
|
||||
void ProgramVertex::loadShader(Context *rsc) {
|
||||
Program::loadShader(rsc, GL_VERTEX_SHADER);
|
||||
}
|
||||
|
||||
void ProgramVertex::createShader()
|
||||
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
void transformToScreen(const Context *, float *v4out, const float *v3in) const;
|
||||
|
||||
virtual void createShader();
|
||||
virtual void loadShader();
|
||||
virtual void loadShader(Context *);
|
||||
virtual void init(Context *);
|
||||
|
||||
|
||||
|
||||
@@ -41,13 +41,13 @@ ShaderCache::~ShaderCache()
|
||||
free(mEntries);
|
||||
}
|
||||
|
||||
bool ShaderCache::lookup(ProgramVertex *vtx, ProgramFragment *frag)
|
||||
bool ShaderCache::lookup(Context *rsc, ProgramVertex *vtx, ProgramFragment *frag)
|
||||
{
|
||||
if (!vtx->getShaderID()) {
|
||||
vtx->loadShader();
|
||||
vtx->loadShader(rsc);
|
||||
}
|
||||
if (!frag->getShaderID()) {
|
||||
frag->loadShader();
|
||||
frag->loadShader(rsc);
|
||||
}
|
||||
//LOGV("ShaderCache lookup vtx %i, frag %i", vtx->getShaderID(), frag->getShaderID());
|
||||
|
||||
@@ -115,15 +115,21 @@ bool ShaderCache::lookup(ProgramVertex *vtx, ProgramFragment *frag)
|
||||
}
|
||||
for (uint32_t ct=0; ct < vtx->getAttribCount(); ct++) {
|
||||
e->mVtxAttribSlots[ct] = glGetAttribLocation(pgm, vtx->getAttribName(ct));
|
||||
LOGV("vtx A, %s = %d\n", vtx->getAttribName(ct).string(), e->mVtxAttribSlots[ct]);
|
||||
if (rsc->props.mLogShaders) {
|
||||
LOGV("vtx A, %s = %d\n", vtx->getAttribName(ct).string(), e->mVtxAttribSlots[ct]);
|
||||
}
|
||||
}
|
||||
for (uint32_t ct=0; ct < vtx->getUniformCount(); ct++) {
|
||||
e->mVtxUniformSlots[ct] = glGetUniformLocation(pgm, vtx->getUniformName(ct));
|
||||
LOGV("vtx U, %s = %d\n", vtx->getUniformName(ct).string(), e->mVtxUniformSlots[ct]);
|
||||
if (rsc->props.mLogShaders) {
|
||||
LOGV("vtx U, %s = %d\n", vtx->getUniformName(ct).string(), e->mVtxUniformSlots[ct]);
|
||||
}
|
||||
}
|
||||
for (uint32_t ct=0; ct < vtx->getUniformCount(); ct++) {
|
||||
e->mFragUniformSlots[ct] = glGetUniformLocation(pgm, frag->getUniformName(ct));
|
||||
LOGV("frag U, %s = %d\n", frag->getUniformName(ct).string(), e->mFragUniformSlots[ct]);
|
||||
if (rsc->props.mLogShaders) {
|
||||
LOGV("frag U, %s = %d\n", frag->getUniformName(ct).string(), e->mFragUniformSlots[ct]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ public:
|
||||
ShaderCache();
|
||||
virtual ~ShaderCache();
|
||||
|
||||
bool lookup(ProgramVertex *, ProgramFragment *);
|
||||
bool lookup(Context *rsc, ProgramVertex *, ProgramFragment *);
|
||||
|
||||
void cleanupVertex(uint32_t id);
|
||||
void cleanupFragment(uint32_t id);
|
||||
|
||||
Reference in New Issue
Block a user