summaryrefslogtreecommitdiff
path: root/libs/rs/rsProgramFragmentStore.cpp
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2010-05-13 18:30:11 -0700
committerJason Sams <rjsams@android.com>2010-05-13 18:35:01 -0700
commit54db59c3594e887a412a24713fc3daa1c2404593 (patch)
treecd78b514370d0e9b60e3711417395601824e8270 /libs/rs/rsProgramFragmentStore.cpp
parentf5523645a97643874840e029b4a7e9a4e4220806 (diff)
Rename ProgramFragmentStore to ProgramStore.
Change-Id: Ia8ad9ac856944838ced38a2f1e8f07387050bdfd
Diffstat (limited to 'libs/rs/rsProgramFragmentStore.cpp')
-rw-r--r--libs/rs/rsProgramFragmentStore.cpp308
1 files changed, 0 insertions, 308 deletions
diff --git a/libs/rs/rsProgramFragmentStore.cpp b/libs/rs/rsProgramFragmentStore.cpp
deleted file mode 100644
index 8a2157f3c0b2..000000000000
--- a/libs/rs/rsProgramFragmentStore.cpp
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-#include "rsContext.h"
-#include "rsProgramFragmentStore.h"
-
-#include <GLES/gl.h>
-#include <GLES/glext.h>
-
-using namespace android;
-using namespace android::renderscript;
-
-
-ProgramFragmentStore::ProgramFragmentStore(Context *rsc) :
- Program(rsc)
-{
- mAllocFile = __FILE__;
- mAllocLine = __LINE__;
- mDitherEnable = true;
- mBlendEnable = false;
- mColorRWriteEnable = true;
- mColorGWriteEnable = true;
- mColorBWriteEnable = true;
- mColorAWriteEnable = true;
- mBlendSrc = GL_ONE;
- mBlendDst = GL_ZERO;
-
-
- mDepthTestEnable = false;
- mDepthWriteEnable = true;
- mDepthFunc = GL_LESS;
-
-
-}
-
-ProgramFragmentStore::~ProgramFragmentStore()
-{
-}
-
-void ProgramFragmentStore::setupGL(const Context *rsc, ProgramFragmentStoreState *state)
-{
- if (state->mLast.get() == this) {
- return;
- }
- state->mLast.set(this);
-
- glColorMask(mColorRWriteEnable,
- mColorGWriteEnable,
- mColorBWriteEnable,
- mColorAWriteEnable);
- if (mBlendEnable) {
- glEnable(GL_BLEND);
- glBlendFunc(mBlendSrc, mBlendDst);
- } else {
- glDisable(GL_BLEND);
- }
-
- //LOGE("pfs %i, %i, %x", mDepthWriteEnable, mDepthTestEnable, mDepthFunc);
-
- glDepthMask(mDepthWriteEnable);
- if(mDepthTestEnable || mDepthWriteEnable) {
- glEnable(GL_DEPTH_TEST);
- glDepthFunc(mDepthFunc);
- } else {
- glDisable(GL_DEPTH_TEST);
- }
-
- if (mDitherEnable) {
- glEnable(GL_DITHER);
- } else {
- glDisable(GL_DITHER);
- }
-}
-
-void ProgramFragmentStore::setupGL2(const Context *rsc, ProgramFragmentStoreState *state)
-{
- if (state->mLast.get() == this) {
- return;
- }
- state->mLast.set(this);
-
- glColorMask(mColorRWriteEnable,
- mColorGWriteEnable,
- mColorBWriteEnable,
- mColorAWriteEnable);
- if (mBlendEnable) {
- glEnable(GL_BLEND);
- glBlendFunc(mBlendSrc, mBlendDst);
- } else {
- glDisable(GL_BLEND);
- }
-
- //LOGE("pfs %i, %i, %x", mDepthWriteEnable, mDepthTestEnable, mDepthFunc);
-
- glDepthMask(mDepthWriteEnable);
- if(mDepthTestEnable || mDepthWriteEnable) {
- glEnable(GL_DEPTH_TEST);
- glDepthFunc(mDepthFunc);
- } else {
- glDisable(GL_DEPTH_TEST);
- }
-
- if (mDitherEnable) {
- glEnable(GL_DITHER);
- } else {
- glDisable(GL_DITHER);
- }
-}
-
-
-void ProgramFragmentStore::setDitherEnable(bool enable)
-{
- mDitherEnable = enable;
-}
-
-void ProgramFragmentStore::setDepthFunc(RsDepthFunc func)
-{
- mDepthTestEnable = true;
-
- switch(func) {
- case RS_DEPTH_FUNC_ALWAYS:
- mDepthTestEnable = false;
- mDepthFunc = GL_ALWAYS;
- break;
- case RS_DEPTH_FUNC_LESS:
- mDepthFunc = GL_LESS;
- break;
- case RS_DEPTH_FUNC_LEQUAL:
- mDepthFunc = GL_LEQUAL;
- break;
- case RS_DEPTH_FUNC_GREATER:
- mDepthFunc = GL_GREATER;
- break;
- case RS_DEPTH_FUNC_GEQUAL:
- mDepthFunc = GL_GEQUAL;
- break;
- case RS_DEPTH_FUNC_EQUAL:
- mDepthFunc = GL_EQUAL;
- break;
- case RS_DEPTH_FUNC_NOTEQUAL:
- mDepthFunc = GL_NOTEQUAL;
- break;
- }
-}
-
-void ProgramFragmentStore::setDepthMask(bool mask)
-{
- mDepthWriteEnable = mask;
-}
-
-void ProgramFragmentStore::setBlendFunc(RsBlendSrcFunc src, RsBlendDstFunc dst)
-{
- mBlendEnable = true;
- if ((src == RS_BLEND_SRC_ONE) &&
- (dst == RS_BLEND_DST_ZERO)) {
- mBlendEnable = false;
- }
-
- switch(src) {
- case RS_BLEND_SRC_ZERO:
- mBlendSrc = GL_ZERO;
- break;
- case RS_BLEND_SRC_ONE:
- mBlendSrc = GL_ONE;
- break;
- case RS_BLEND_SRC_DST_COLOR:
- mBlendSrc = GL_DST_COLOR;
- break;
- case RS_BLEND_SRC_ONE_MINUS_DST_COLOR:
- mBlendSrc = GL_ONE_MINUS_DST_COLOR;
- break;
- case RS_BLEND_SRC_SRC_ALPHA:
- mBlendSrc = GL_SRC_ALPHA;
- break;
- case RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA:
- mBlendSrc = GL_ONE_MINUS_SRC_ALPHA;
- break;
- case RS_BLEND_SRC_DST_ALPHA:
- mBlendSrc = GL_DST_ALPHA;
- break;
- case RS_BLEND_SRC_ONE_MINUS_DST_ALPHA:
- mBlendSrc = GL_ONE_MINUS_DST_ALPHA;
- break;
- case RS_BLEND_SRC_SRC_ALPHA_SATURATE:
- mBlendSrc = GL_SRC_ALPHA_SATURATE;
- break;
- }
-
- switch(dst) {
- case RS_BLEND_DST_ZERO:
- mBlendDst = GL_ZERO;
- break;
- case RS_BLEND_DST_ONE:
- mBlendDst = GL_ONE;
- break;
- case RS_BLEND_DST_SRC_COLOR:
- mBlendDst = GL_SRC_COLOR;
- break;
- case RS_BLEND_DST_ONE_MINUS_SRC_COLOR:
- mBlendDst = GL_ONE_MINUS_SRC_COLOR;
- break;
- case RS_BLEND_DST_SRC_ALPHA:
- mBlendDst = GL_SRC_ALPHA;
- break;
- case RS_BLEND_DST_ONE_MINUS_SRC_ALPHA:
- mBlendDst = GL_ONE_MINUS_SRC_ALPHA;
- break;
- case RS_BLEND_DST_DST_ALPHA:
- mBlendDst = GL_DST_ALPHA;
- break;
- case RS_BLEND_DST_ONE_MINUS_DST_ALPHA:
- mBlendDst = GL_ONE_MINUS_DST_ALPHA;
- break;
- }
-}
-
-void ProgramFragmentStore::setColorMask(bool r, bool g, bool b, bool a)
-{
- mColorRWriteEnable = r;
- mColorGWriteEnable = g;
- mColorBWriteEnable = b;
- mColorAWriteEnable = a;
-}
-
-
-ProgramFragmentStoreState::ProgramFragmentStoreState()
-{
- mPFS = NULL;
-}
-
-ProgramFragmentStoreState::~ProgramFragmentStoreState()
-{
- delete mPFS;
-
-}
-
-void ProgramFragmentStoreState::init(Context *rsc, int32_t w, int32_t h)
-{
- ProgramFragmentStore *pfs = new ProgramFragmentStore(rsc);
- mDefault.set(pfs);
-}
-
-void ProgramFragmentStoreState::deinit(Context *rsc)
-{
- mDefault.clear();
- mLast.clear();
-}
-
-
-namespace android {
-namespace renderscript {
-
-void rsi_ProgramFragmentStoreBegin(Context * rsc, RsElement in, RsElement out)
-{
- delete rsc->mStateFragmentStore.mPFS;
- rsc->mStateFragmentStore.mPFS = new ProgramFragmentStore(rsc);
-
-}
-
-void rsi_ProgramFragmentStoreDepthFunc(Context *rsc, RsDepthFunc func)
-{
- rsc->mStateFragmentStore.mPFS->setDepthFunc(func);
-}
-
-void rsi_ProgramFragmentStoreDepthMask(Context *rsc, bool mask)
-{
- rsc->mStateFragmentStore.mPFS->setDepthMask(mask);
-}
-
-void rsi_ProgramFragmentStoreColorMask(Context *rsc, bool r, bool g, bool b, bool a)
-{
- rsc->mStateFragmentStore.mPFS->setColorMask(r, g, b, a);
-}
-
-void rsi_ProgramFragmentStoreBlendFunc(Context *rsc, RsBlendSrcFunc src, RsBlendDstFunc dst)
-{
- rsc->mStateFragmentStore.mPFS->setBlendFunc(src, dst);
-}
-
-RsProgramFragmentStore rsi_ProgramFragmentStoreCreate(Context *rsc)
-{
- ProgramFragmentStore *pfs = rsc->mStateFragmentStore.mPFS;
- pfs->incUserRef();
- rsc->mStateFragmentStore.mPFS = 0;
- return pfs;
-}
-
-void rsi_ProgramFragmentStoreDither(Context *rsc, bool enable)
-{
- rsc->mStateFragmentStore.mPFS->setDitherEnable(enable);
-}
-
-
-}
-}