diff options
Diffstat (limited to 'libs/rs/rsAdapter.cpp')
-rw-r--r-- | libs/rs/rsAdapter.cpp | 238 |
1 files changed, 0 insertions, 238 deletions
diff --git a/libs/rs/rsAdapter.cpp b/libs/rs/rsAdapter.cpp deleted file mode 100644 index 41811ae01a72..000000000000 --- a/libs/rs/rsAdapter.cpp +++ /dev/null @@ -1,238 +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 "rsAdapter.h" - -using namespace android; -using namespace android::renderscript; - -Adapter1D::Adapter1D(Context *rsc) : ObjectBase(rsc) { - reset(); -} - -Adapter1D::Adapter1D(Context *rsc, Allocation *a) : ObjectBase(rsc) { - reset(); - setAllocation(a); -} - -void Adapter1D::reset() { - mY = 0; - mZ = 0; - mLOD = 0; - mFace = 0; -} - -void * Adapter1D::getElement(uint32_t x) { - rsAssert(mAllocation.get()); - rsAssert(mAllocation->getPtr()); - rsAssert(mAllocation->getType()); - uint8_t * ptr = static_cast<uint8_t *>(mAllocation->getPtr()); - ptr += mAllocation->getType()->getLODOffset(mLOD, x, mY); - return ptr; -} - -void Adapter1D::subData(uint32_t xoff, uint32_t count, const void *data) { - if (mAllocation.get() && mAllocation.get()->getType()) { - void *ptr = getElement(xoff); - count *= mAllocation.get()->getType()->getElementSizeBytes(); - memcpy(ptr, data, count); - } -} - -void Adapter1D::data(const void *data) { - memcpy(getElement(0), - data, - mAllocation.get()->getType()->getSizeBytes()); -} - -void Adapter1D::serialize(OStream *stream) const { -} - -Adapter1D *Adapter1D::createFromStream(Context *rsc, IStream *stream) { - return NULL; -} - -namespace android { -namespace renderscript { - -RsAdapter1D rsi_Adapter1DCreate(Context *rsc) { - Adapter1D *a = new Adapter1D(rsc); - a->incUserRef(); - return a; -} - -void rsi_Adapter1DBindAllocation(Context *rsc, RsAdapter1D va, RsAllocation valloc) { - Adapter1D * a = static_cast<Adapter1D *>(va); - Allocation * alloc = static_cast<Allocation *>(valloc); - a->setAllocation(alloc); -} - -void rsi_Adapter1DSetConstraint(Context *rsc, RsAdapter1D va, RsDimension dim, uint32_t value) { - Adapter1D * a = static_cast<Adapter1D *>(va); - switch (dim) { - case RS_DIMENSION_X: - rsAssert(!"Cannot contrain X in an 1D adapter"); - return; - case RS_DIMENSION_Y: - a->setY(value); - break; - case RS_DIMENSION_Z: - a->setZ(value); - break; - case RS_DIMENSION_LOD: - a->setLOD(value); - break; - case RS_DIMENSION_FACE: - a->setFace(value); - break; - default: - rsAssert(!"Unimplemented constraint"); - return; - } -} - -void rsi_Adapter1DSubData(Context *rsc, RsAdapter1D va, uint32_t xoff, uint32_t count, const void *data) { - Adapter1D * a = static_cast<Adapter1D *>(va); - a->subData(xoff, count, data); -} - -void rsi_Adapter1DData(Context *rsc, RsAdapter1D va, const void *data) { - Adapter1D * a = static_cast<Adapter1D *>(va); - a->data(data); -} - -} -} - -////////////////////////// - -Adapter2D::Adapter2D(Context *rsc) : ObjectBase(rsc) { - reset(); -} - -Adapter2D::Adapter2D(Context *rsc, Allocation *a) : ObjectBase(rsc) { - reset(); - setAllocation(a); -} - -void Adapter2D::reset() { - mZ = 0; - mLOD = 0; - mFace = 0; -} - -void * Adapter2D::getElement(uint32_t x, uint32_t y) const { - rsAssert(mAllocation.get()); - rsAssert(mAllocation->getPtr()); - rsAssert(mAllocation->getType()); - if (mFace != 0 && !mAllocation->getType()->getDimFaces()) { - ALOGE("Adapter wants cubemap face, but allocation has none"); - return NULL; - } - - uint8_t * ptr = static_cast<uint8_t *>(mAllocation->getPtr()); - ptr += mAllocation->getType()->getLODOffset(mLOD, x, y); - - if (mFace != 0) { - uint32_t totalSizeBytes = mAllocation->getType()->getSizeBytes(); - uint32_t faceOffset = totalSizeBytes / 6; - ptr += faceOffset * mFace; - } - return ptr; -} - -void Adapter2D::subData(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, const void *data) { - rsAssert(mAllocation.get()); - rsAssert(mAllocation->getPtr()); - rsAssert(mAllocation->getType()); - - uint32_t eSize = mAllocation.get()->getType()->getElementSizeBytes(); - uint32_t lineSize = eSize * w; - - const uint8_t *src = static_cast<const uint8_t *>(data); - for (uint32_t line=yoff; line < (yoff+h); line++) { - memcpy(getElement(xoff, line), src, lineSize); - src += lineSize; - } -} - -void Adapter2D::data(const void *data) { - memcpy(getElement(0,0), - data, - mAllocation.get()->getType()->getSizeBytes()); -} - -void Adapter2D::serialize(OStream *stream) const { -} - -Adapter2D *Adapter2D::createFromStream(Context *rsc, IStream *stream) { - return NULL; -} - - -namespace android { -namespace renderscript { - -RsAdapter2D rsi_Adapter2DCreate(Context *rsc) { - Adapter2D *a = new Adapter2D(rsc); - a->incUserRef(); - return a; -} - -void rsi_Adapter2DBindAllocation(Context *rsc, RsAdapter2D va, RsAllocation valloc) { - Adapter2D * a = static_cast<Adapter2D *>(va); - Allocation * alloc = static_cast<Allocation *>(valloc); - a->setAllocation(alloc); -} - -void rsi_Adapter2DSetConstraint(Context *rsc, RsAdapter2D va, RsDimension dim, uint32_t value) { - Adapter2D * a = static_cast<Adapter2D *>(va); - switch (dim) { - case RS_DIMENSION_X: - rsAssert(!"Cannot contrain X in an 2D adapter"); - return; - case RS_DIMENSION_Y: - rsAssert(!"Cannot contrain Y in an 2D adapter"); - break; - case RS_DIMENSION_Z: - a->setZ(value); - break; - case RS_DIMENSION_LOD: - a->setLOD(value); - break; - case RS_DIMENSION_FACE: - a->setFace(value); - break; - default: - rsAssert(!"Unimplemented constraint"); - return; - } -} - -void rsi_Adapter2DData(Context *rsc, RsAdapter2D va, const void *data) { - Adapter2D * a = static_cast<Adapter2D *>(va); - a->data(data); -} - -void rsi_Adapter2DSubData(Context *rsc, RsAdapter2D va, uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, const void *data) { - Adapter2D * a = static_cast<Adapter2D *>(va); - a->subData(xoff, yoff, w, h, data); -} - -} -} |