From 407cae950325682a56fe5373dd218a666da901ef Mon Sep 17 00:00:00 2001 From: Alex Sakhartchouk Date: Fri, 6 May 2011 14:59:45 -0700 Subject: rsLib cleanup Change-Id: Ifb66059338e3435ac79435296a650c44699921aa --- libs/rs/driver/rsdGL.cpp | 27 +++++++++++++++-- libs/rs/driver/rsdGL.h | 2 ++ libs/rs/driver/rsdMeshObj.cpp | 9 +++--- libs/rs/driver/rsdShader.cpp | 14 +++++---- libs/rs/driver/rsdShaderCache.cpp | 5 ++-- libs/rs/driver/rsdVertexArray.cpp | 9 +++--- libs/rs/driver/rsdVertexArray.h | 2 +- libs/rs/rsAllocation.cpp | 4 +-- libs/rs/rsContext.cpp | 61 ++------------------------------------- libs/rs/rsContext.h | 30 ++----------------- libs/rs/rsFBOCache.cpp | 5 ++-- libs/rs/rsFBOCache.h | 2 +- libs/rs/rsMesh.cpp | 2 -- libs/rs/rsProgramFragment.cpp | 4 +-- libs/rs/rsProgramFragment.h | 2 +- libs/rs/rsProgramVertex.cpp | 2 +- libs/rs/rsProgramVertex.h | 2 +- libs/rs/rsScriptC_LibGL.cpp | 6 ++-- 18 files changed, 66 insertions(+), 122 deletions(-) (limited to 'libs/rs') diff --git a/libs/rs/driver/rsdGL.cpp b/libs/rs/driver/rsdGL.cpp index 48690d5..de9fb51 100644 --- a/libs/rs/driver/rsdGL.cpp +++ b/libs/rs/driver/rsdGL.cpp @@ -30,11 +30,8 @@ #include #include -//#include -//#include #include - #include "rsdCore.h" #include "rsdGL.h" @@ -346,3 +343,27 @@ void rsdGLSwap(const android::renderscript::Context *rsc) { eglSwapBuffers(dc->gl.egl.display, dc->gl.egl.surface); } +void rsdGLCheckError(const android::renderscript::Context *rsc, + const char *msg, bool isFatal) { + GLenum err = glGetError(); + if (err != GL_NO_ERROR) { + char buf[1024]; + snprintf(buf, sizeof(buf), "GL Error = 0x%08x, from: %s", err, msg); + + if (isFatal) { + rsc->setError(RS_ERROR_FATAL_DRIVER, buf); + } else { + switch (err) { + case GL_OUT_OF_MEMORY: + rsc->setError(RS_ERROR_OUT_OF_MEMORY, buf); + break; + default: + rsc->setError(RS_ERROR_DRIVER, buf); + break; + } + } + + LOGE("%p, %s", rsc, buf); + } + +} diff --git a/libs/rs/driver/rsdGL.h b/libs/rs/driver/rsdGL.h index 351b2d5..90cbe04 100644 --- a/libs/rs/driver/rsdGL.h +++ b/libs/rs/driver/rsdGL.h @@ -76,6 +76,8 @@ void rsdGLShutdown(const android::renderscript::Context *rsc); bool rsdGLSetSurface(const android::renderscript::Context *rsc, uint32_t w, uint32_t h, ANativeWindow *sur); void rsdGLSwap(const android::renderscript::Context *rsc); +void rsdGLCheckError(const android::renderscript::Context *rsc, + const char *msg, bool isFatal = false); #endif diff --git a/libs/rs/driver/rsdMeshObj.cpp b/libs/rs/driver/rsdMeshObj.cpp index 6bb33f7..2c07784 100644 --- a/libs/rs/driver/rsdMeshObj.cpp +++ b/libs/rs/driver/rsdMeshObj.cpp @@ -23,6 +23,7 @@ #include #include "rsdMeshObj.h" +#include "rsdGL.h" using namespace android; using namespace android::renderscript; @@ -134,7 +135,7 @@ void RsdMeshObj::renderPrimitiveRange(const Context *rsc, uint32_t primIndex, ui return; } - rsc->checkError("Mesh::renderPrimitiveRange 1"); + rsdGLCheckError(rsc, "Mesh::renderPrimitiveRange 1"); // update attributes with either buffer information or data ptr based on their current state for (uint32_t ct=0; ct < mAttribCount; ct++) { uint32_t allocIndex = mAttribAllocationIndex[ct]; @@ -149,9 +150,9 @@ void RsdMeshObj::renderPrimitiveRange(const Context *rsc, uint32_t primIndex, ui } RsdVertexArray va(mAttribs, mAttribCount); - va.setupGL2(rsc); + va.setup(rsc); - rsc->checkError("Mesh::renderPrimitiveRange 2"); + rsdGLCheckError(rsc, "Mesh::renderPrimitiveRange 2"); Mesh::Primitive_t *prim = mRSMesh->mHal.state.primitives[primIndex]; if (prim->mIndexBuffer.get()) { glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, prim->mIndexBuffer->getBufferObjectID()); @@ -160,7 +161,7 @@ void RsdMeshObj::renderPrimitiveRange(const Context *rsc, uint32_t primIndex, ui glDrawArrays(mGLPrimitives[primIndex], start, len); } - rsc->checkError("Mesh::renderPrimitiveRange"); + rsdGLCheckError(rsc, "Mesh::renderPrimitiveRange"); } void RsdMeshObj::updateGLPrimitives() { diff --git a/libs/rs/driver/rsdShader.cpp b/libs/rs/driver/rsdShader.cpp index 1710a8b..371266b 100644 --- a/libs/rs/driver/rsdShader.cpp +++ b/libs/rs/driver/rsdShader.cpp @@ -377,7 +377,7 @@ void RsdShader::setupSampler(const Context *rsc, const Sampler *s, const Allocat glTexParameterf(target, GL_TEXTURE_MAX_ANISOTROPY_EXT, anisoValue); } - rsc->checkError("Sampler::setupGL2 tex env"); + rsdGLCheckError(rsc, "Sampler::setup tex env"); } void RsdShader::setupTextures(const Context *rsc, RsdShaderCache *sc) { @@ -385,8 +385,10 @@ void RsdShader::setupTextures(const Context *rsc, RsdShaderCache *sc) { return; } + RsdHal *dc = (RsdHal *)rsc->mHal.drv; + uint32_t numTexturesToBind = mRSProgram->mHal.state.texturesCount; - uint32_t numTexturesAvailable = rsc->getMaxFragmentTextures(); + uint32_t numTexturesAvailable = dc->gl.gl.maxFragmentTextureImageUnits; if (numTexturesToBind >= numTexturesAvailable) { LOGE("Attempting to bind %u textures on shader id %u, but only %u are available", mRSProgram->mHal.state.texturesCount, (uint32_t)this, numTexturesAvailable); @@ -408,7 +410,7 @@ void RsdShader::setupTextures(const Context *rsc, RsdShaderCache *sc) { rsc->setError(RS_ERROR_BAD_SHADER, "Non-texture allocation bound to a shader"); } glBindTexture(target, mRSProgram->mHal.state.textures[ct]->getTextureID()); - rsc->checkError("ProgramFragment::setupGL2 tex bind"); + rsdGLCheckError(rsc, "ProgramFragment::setup tex bind"); if (mRSProgram->mHal.state.samplers[ct].get()) { setupSampler(rsc, mRSProgram->mHal.state.samplers[ct].get(), mRSProgram->mHal.state.textures[ct].get()); } else { @@ -416,16 +418,16 @@ void RsdShader::setupTextures(const Context *rsc, RsdShaderCache *sc) { glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - rsc->checkError("ProgramFragment::setupGL2 tex env"); + rsdGLCheckError(rsc, "ProgramFragment::setup tex env"); } glUniform1i(sc->fragUniformSlot(mTextureUniformIndexStart + ct), ct); - rsc->checkError("ProgramFragment::setupGL2 uniforms"); + rsdGLCheckError(rsc, "ProgramFragment::setup uniforms"); } glActiveTexture(GL_TEXTURE0); mDirty = false; - rsc->checkError("ProgramFragment::setupGL2"); + rsdGLCheckError(rsc, "ProgramFragment::setup"); } void RsdShader::setupUserConstants(const Context *rsc, RsdShaderCache *sc, bool isFragment) { diff --git a/libs/rs/driver/rsdShaderCache.cpp b/libs/rs/driver/rsdShaderCache.cpp index 18a8225..d11490c 100644 --- a/libs/rs/driver/rsdShaderCache.cpp +++ b/libs/rs/driver/rsdShaderCache.cpp @@ -19,6 +19,7 @@ #include "rsdShader.h" #include "rsdShaderCache.h" +#include "rsdGL.h" #include #include @@ -128,7 +129,7 @@ bool RsdShaderCache::link(const Context *rsc) { glUseProgram(mEntries[ct]->program); mCurrent = mEntries[ct]; //LOGV("RsdShaderCache hit, using %i", ct); - rsc->checkError("RsdShaderCache::link (hit)"); + rsdGLCheckError(rsc, "RsdShaderCache::link (hit)"); return true; } } @@ -230,7 +231,7 @@ bool RsdShaderCache::link(const Context *rsc) { //LOGV("SC made program %i", e->program); glUseProgram(e->program); - rsc->checkError("RsdShaderCache::link (miss)"); + rsdGLCheckError(rsc, "RsdShaderCache::link (miss)"); return true; } diff --git a/libs/rs/driver/rsdVertexArray.cpp b/libs/rs/driver/rsdVertexArray.cpp index d0a5a54..62ec107 100644 --- a/libs/rs/driver/rsdVertexArray.cpp +++ b/libs/rs/driver/rsdVertexArray.cpp @@ -20,6 +20,7 @@ #include #include +#include "rsdGL.h" #include "rsdCore.h" #include "rsdVertexArray.h" #include "rsdShaderCache.h" @@ -78,13 +79,13 @@ void RsdVertexArray::logAttrib(uint32_t idx, uint32_t slot) const { mAttribs[idx].offset); } -void RsdVertexArray::setupGL2(const Context *rsc) const { +void RsdVertexArray::setup(const Context *rsc) const { RsdHal *dc = (RsdHal *)rsc->mHal.drv; RsdVertexArrayState *state = dc->gl.vertexArrayState; RsdShaderCache *sc = dc->gl.shaderCache; - rsc->checkError("RsdVertexArray::setupGL2 start"); + rsdGLCheckError(rsc, "RsdVertexArray::setup start"); uint32_t maxAttrs = state->mAttrsEnabledSize; for (uint32_t ct=1; ct < maxAttrs; ct++) { @@ -94,7 +95,7 @@ void RsdVertexArray::setupGL2(const Context *rsc) const { } } - rsc->checkError("RsdVertexArray::setupGL2 disabled"); + rsdGLCheckError(rsc, "RsdVertexArray::setup disabled"); for (uint32_t ct=0; ct < mCount; ct++) { int32_t slot = sc->vtxAttribSlot(mAttribs[ct].name); if (rsc->props.mLogShadersAttr) { @@ -113,7 +114,7 @@ void RsdVertexArray::setupGL2(const Context *rsc) const { mAttribs[ct].stride, mAttribs[ct].ptr + mAttribs[ct].offset); } - rsc->checkError("RsdVertexArray::setupGL2 done"); + rsdGLCheckError(rsc, "RsdVertexArray::setup done"); } //////////////////////////////////////////// RsdVertexArrayState::RsdVertexArrayState() { diff --git a/libs/rs/driver/rsdVertexArray.h b/libs/rs/driver/rsdVertexArray.h index 925a6ae..3e807a3 100644 --- a/libs/rs/driver/rsdVertexArray.h +++ b/libs/rs/driver/rsdVertexArray.h @@ -49,7 +49,7 @@ public: RsdVertexArray(const Attrib *attribs, uint32_t numAttribs); virtual ~RsdVertexArray(); - void setupGL2(const android::renderscript::Context *rsc) const; + void setup(const android::renderscript::Context *rsc) const; void logAttrib(uint32_t idx, uint32_t slot) const; protected: diff --git a/libs/rs/rsAllocation.cpp b/libs/rs/rsAllocation.cpp index b5f6f56..5b84ca6 100644 --- a/libs/rs/rsAllocation.cpp +++ b/libs/rs/rsAllocation.cpp @@ -209,7 +209,7 @@ void Allocation::uploadToTexture(const Context *rsc) { freeScriptMemory(); } - rsc->checkError("Allocation::uploadToTexture"); + //rsc->checkError("Allocation::uploadToTexture"); #endif //ANDROID_RS_SERIALIZE } @@ -334,7 +334,7 @@ void Allocation::uploadToBufferObject(const Context *rsc) { glBindBuffer(target, mBufferID); glBufferData(target, mHal.state.type->getSizeBytes(), getPtr(), GL_DYNAMIC_DRAW); glBindBuffer(target, 0); - rsc->checkError("Allocation::uploadToBufferObject"); + //rsc->checkError("Allocation::uploadToBufferObject"); #endif //ANDROID_RS_SERIALIZE } diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp index e2e14f2..98adabc 100644 --- a/libs/rs/rsContext.cpp +++ b/libs/rs/rsContext.cpp @@ -27,11 +27,6 @@ #include -#include -#include -#include -#include - #include #include #include @@ -52,28 +47,6 @@ bool Context::initGLThread() { return false; } - const char * ext = (const char *)glGetString(GL_EXTENSIONS); - - glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &mGL.mMaxVertexAttribs); - glGetIntegerv(GL_MAX_VERTEX_UNIFORM_VECTORS, &mGL.mMaxVertexUniformVectors); - glGetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, &mGL.mMaxVertexTextureUnits); - - glGetIntegerv(GL_MAX_VARYING_VECTORS, &mGL.mMaxVaryingVectors); - glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &mGL.mMaxTextureImageUnits); - - glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &mGL.mMaxFragmentTextureImageUnits); - glGetIntegerv(GL_MAX_FRAGMENT_UNIFORM_VECTORS, &mGL.mMaxFragmentUniformVectors); - - mGL.OES_texture_npot = NULL != strstr(ext, "GL_OES_texture_npot"); - mGL.GL_IMG_texture_npot = NULL != strstr(ext, "GL_IMG_texture_npot"); - mGL.GL_NV_texture_npot_2D_mipmap = NULL != strstr(ext, "GL_NV_texture_npot_2D_mipmap"); - mGL.EXT_texture_max_aniso = 1.0f; - bool hasAniso = NULL != strstr(ext, "GL_EXT_texture_filter_anisotropic"); - if (hasAniso) { - glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &mGL.EXT_texture_max_aniso); - } - - LOGV("initGLThread end %p", this); pthread_mutex_unlock(&gInitMutex); return true; } @@ -112,38 +85,11 @@ uint32_t Context::runScript(Script *s) { return ret; } -void Context::checkError(const char *msg, bool isFatal) const { - - GLenum err = glGetError(); - if (err != GL_NO_ERROR) { - char buf[1024]; - snprintf(buf, sizeof(buf), "GL Error = 0x%08x, from: %s", err, msg); - - if (isFatal) { - setError(RS_ERROR_FATAL_DRIVER, buf); - } else { - switch (err) { - case GL_OUT_OF_MEMORY: - setError(RS_ERROR_OUT_OF_MEMORY, buf); - break; - default: - setError(RS_ERROR_DRIVER, buf); - break; - } - } - - LOGE("%p, %s", this, buf); - } -} - uint32_t Context::runRootScript() { - glViewport(0, 0, mWidth, mHeight); - timerSet(RS_TIMER_SCRIPT); mStateFragmentStore.mLast.clear(); uint32_t ret = runScript(mRootScript.get()); - checkError("runRootScript"); return ret; } @@ -217,10 +163,10 @@ void Context::timerPrint() { bool Context::setupCheck() { mFragmentStore->setup(this, &mStateFragmentStore); - mFragment->setupGL2(this, &mStateFragment); + mFragment->setup(this, &mStateFragment); mRaster->setup(this, &mStateRaster); - mVertex->setupGL2(this, &mStateVertex); - mFBOCache.setupGL2(this); + mVertex->setup(this, &mStateVertex); + mFBOCache.setup(this); return true; } @@ -406,7 +352,6 @@ bool Context::initContext(Device *dev, const RsSurfaceConfig *sc) { memset(&mUserSurfaceConfig, 0, sizeof(mUserSurfaceConfig)); } - memset(&mGL, 0, sizeof(mGL)); mIsGraphicsContext = sc != NULL; int status; diff --git a/libs/rs/rsContext.h b/libs/rs/rsContext.h index 107f639..1407b7e 100644 --- a/libs/rs/rsContext.h +++ b/libs/rs/rsContext.h @@ -42,9 +42,10 @@ #include "rsgApiStructs.h" #include "rsLocklessFifo.h" -#include #endif // ANDROID_RS_SERIALIZE +class ANativeWindow; + // --------------------------------------------------------------------------- namespace android { @@ -197,43 +198,16 @@ public: } props; void dumpDebug() const; - void checkError(const char *, bool isFatal = false) const; void setError(RsError e, const char *msg = NULL) const; mutable const ObjectBase * mObjHead; - bool ext_OES_texture_npot() const {return mGL.OES_texture_npot;} - bool ext_GL_IMG_texture_npot() const {return mGL.GL_IMG_texture_npot;} - bool ext_GL_NV_texture_npot_2D_mipmap() const {return mGL.GL_NV_texture_npot_2D_mipmap;} - float ext_texture_max_aniso() const {return mGL.EXT_texture_max_aniso; } - uint32_t getMaxFragmentTextures() const {return mGL.mMaxFragmentTextureImageUnits;} - uint32_t getMaxFragmentUniformVectors() const {return mGL.mMaxFragmentUniformVectors;} - uint32_t getMaxVertexUniformVectors() const {return mGL.mMaxVertexUniformVectors;} - uint32_t getMaxVertexAttributes() const {return mGL.mMaxVertexAttribs;} - uint32_t getDPI() const {return mDPI;} void setDPI(uint32_t dpi) {mDPI = dpi;} Device *mDev; protected: - struct { - int32_t mMaxVaryingVectors; - int32_t mMaxTextureImageUnits; - - int32_t mMaxFragmentTextureImageUnits; - int32_t mMaxFragmentUniformVectors; - - int32_t mMaxVertexAttribs; - int32_t mMaxVertexUniformVectors; - int32_t mMaxVertexTextureUnits; - - bool OES_texture_npot; - bool GL_IMG_texture_npot; - bool GL_NV_texture_npot_2D_mipmap; - float EXT_texture_max_aniso; - } mGL; - uint32_t mDPI; uint32_t mWidth; uint32_t mHeight; diff --git a/libs/rs/rsFBOCache.cpp b/libs/rs/rsFBOCache.cpp index 78aa8ce..0f33f67 100644 --- a/libs/rs/rsFBOCache.cpp +++ b/libs/rs/rsFBOCache.cpp @@ -30,7 +30,7 @@ using namespace android::renderscript; FBOCache::FBOCache() { mFBOId = 0; - mDirty = false; + mDirty = true; mMaxTargets = 1; mColorTargets = new ObjectBaseRef[mMaxTargets]; } @@ -180,7 +180,7 @@ void FBOCache::setColorAttachment(Context *rsc) { #endif //ANDROID_RS_SERIALIZE } -void FBOCache::setupGL2(Context *rsc) { +void FBOCache::setup(Context *rsc) { #ifndef ANDROID_RS_SERIALIZE if (!mDirty) { return; @@ -205,5 +205,6 @@ void FBOCache::setupGL2(Context *rsc) { glBindFramebuffer(GL_FRAMEBUFFER, 0); glViewport(0, 0, rsc->getWidth(), rsc->getHeight()); } + mDirty = false; #endif //ANDROID_RS_SERIALIZE } diff --git a/libs/rs/rsFBOCache.h b/libs/rs/rsFBOCache.h index 9a0a3b6..c9ae1dc 100644 --- a/libs/rs/rsFBOCache.h +++ b/libs/rs/rsFBOCache.h @@ -34,7 +34,7 @@ public: void bindDepthTarget(Context *, Allocation *a); void resetAll(Context *); - void setupGL2(Context *); + void setup(Context *); protected: diff --git a/libs/rs/rsMesh.cpp b/libs/rs/rsMesh.cpp index ed29063..35184c1 100644 --- a/libs/rs/rsMesh.cpp +++ b/libs/rs/rsMesh.cpp @@ -199,10 +199,8 @@ void Mesh::renderPrimitiveRange(Context *rsc, uint32_t primIndex, uint32_t start if (prim->mIndexBuffer.get()) { prim->mIndexBuffer->uploadCheck(rsc); } - rsc->checkError("Mesh::renderPrimitiveRange upload check"); mRSC->mHal.funcs.mesh.draw(mRSC, this, primIndex, start, len); - rsc->checkError("Mesh::renderPrimitiveRange draw"); } void Mesh::uploadAll(Context *rsc) { diff --git a/libs/rs/rsProgramFragment.cpp b/libs/rs/rsProgramFragment.cpp index fcbfbc8..e40fc7b 100644 --- a/libs/rs/rsProgramFragment.cpp +++ b/libs/rs/rsProgramFragment.cpp @@ -55,14 +55,12 @@ void ProgramFragment::setConstantColor(Context *rsc, float r, float g, float b, mDirty = true; } -void ProgramFragment::setupGL2(Context *rsc, ProgramFragmentState *state) { +void ProgramFragment::setup(Context *rsc, ProgramFragmentState *state) { if ((state->mLast.get() == this) && !mDirty) { return; } state->mLast.set(this); - rsc->checkError("ProgramFragment::setupGL2 start"); - for (uint32_t ct=0; ct < mHal.state.texturesCount; ct++) { if (!mHal.state.textures[ct].get()) { LOGE("No texture bound for shader id %u, texture unit %u", (uint)this, ct); diff --git a/libs/rs/rsProgramFragment.h b/libs/rs/rsProgramFragment.h index 7520af0..d6e20cd 100644 --- a/libs/rs/rsProgramFragment.h +++ b/libs/rs/rsProgramFragment.h @@ -32,7 +32,7 @@ public: uint32_t paramLength); virtual ~ProgramFragment(); - virtual void setupGL2(Context *, ProgramFragmentState *); + virtual void setup(Context *, ProgramFragmentState *); virtual void serialize(OStream *stream) const; virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_PROGRAM_FRAGMENT; } diff --git a/libs/rs/rsProgramVertex.cpp b/libs/rs/rsProgramVertex.cpp index b8b3c0b..534e8a6 100644 --- a/libs/rs/rsProgramVertex.cpp +++ b/libs/rs/rsProgramVertex.cpp @@ -32,7 +32,7 @@ ProgramVertex::~ProgramVertex() { mRSC->mHal.funcs.vertex.destroy(mRSC, this); } -void ProgramVertex::setupGL2(Context *rsc, ProgramVertexState *state) { +void ProgramVertex::setup(Context *rsc, ProgramVertexState *state) { if ((state->mLast.get() == this) && !mDirty) { return; } diff --git a/libs/rs/rsProgramVertex.h b/libs/rs/rsProgramVertex.h index 04224a7..5cfdd8b 100644 --- a/libs/rs/rsProgramVertex.h +++ b/libs/rs/rsProgramVertex.h @@ -31,7 +31,7 @@ public: const uint32_t * params, uint32_t paramLength); virtual ~ProgramVertex(); - virtual void setupGL2(Context *rsc, ProgramVertexState *state); + virtual void setup(Context *rsc, ProgramVertexState *state); void setProjectionMatrix(Context *, const rsc_Matrix *) const; void getProjectionMatrix(Context *, rsc_Matrix *) const; diff --git a/libs/rs/rsScriptC_LibGL.cpp b/libs/rs/rsScriptC_LibGL.cpp index ecda485..3259cb4 100644 --- a/libs/rs/rsScriptC_LibGL.cpp +++ b/libs/rs/rsScriptC_LibGL.cpp @@ -156,7 +156,7 @@ void rsrDrawQuadTexCoords(Context *rsc, Script *sc, attribs[1].set(GL_FLOAT, 2, 8, false, (uint32_t)tex, "ATTRIB_texture0"); RsdVertexArray va(attribs, 2); - va.setupGL2(rsc); + va.setup(rsc); glDrawArrays(GL_TRIANGLE_FAN, 0, 4); } @@ -250,7 +250,7 @@ void rsrFinish(Context *rsc, Script *sc) { void rsrClearColor(Context *rsc, Script *sc, float r, float g, float b, float a) { - rsc->mFBOCache.setupGL2(rsc); + rsc->mFBOCache.setup(rsc); rsc->setupProgramStore(); glClearColor(r, g, b, a); @@ -258,7 +258,7 @@ void rsrClearColor(Context *rsc, Script *sc, float r, float g, float b, float a) } void rsrClearDepth(Context *rsc, Script *sc, float v) { - rsc->mFBOCache.setupGL2(rsc); + rsc->mFBOCache.setup(rsc); rsc->setupProgramStore(); glClearDepthf(v); -- cgit v1.1