summaryrefslogtreecommitdiff
path: root/libs/rs/rsAllocation.cpp
diff options
context:
space:
mode:
author Alex Sakhartchouk <alexst@google.com> 2011-01-28 09:31:47 -0800
committer Alex Sakhartchouk <alexst@google.com> 2011-01-31 12:38:34 -0800
commita3b5960f6f28a81cd63abd69adcdfb5dcc05aa30 (patch)
treeced261c0c614263d9f8acb5bdc483324f6b25311 /libs/rs/rsAllocation.cpp
parentbd07f8e864120c183d6ef6dded1fb286a004b2a5 (diff)
Making sure we can build libRS on the host for serialization.
Change-Id: If0a5d77b20c0e1e2d124fa0737643a5dd1d4409a
Diffstat (limited to 'libs/rs/rsAllocation.cpp')
-rw-r--r--libs/rs/rsAllocation.cpp43
1 files changed, 26 insertions, 17 deletions
diff --git a/libs/rs/rsAllocation.cpp b/libs/rs/rsAllocation.cpp
index c598f0395362..2839b76cdeb2 100644
--- a/libs/rs/rsAllocation.cpp
+++ b/libs/rs/rsAllocation.cpp
@@ -21,12 +21,7 @@
#include <GLES/glext.h>
#else
#include "rsContextHostStub.h"
-
-#include <OpenGL/gl.h>
-#include <OpenGl/glext.h>
-#endif
-
-#include "utils/StopWatch.h"
+#endif //ANDROID_RS_BUILD_FOR_HOST
static void rsaAllocationGenerateScriptMips(RsContext con, RsAllocation va);
@@ -83,7 +78,7 @@ Allocation::~Allocation() {
mPtr = NULL;
}
freeScriptMemory();
-
+#ifndef ANDROID_RS_BUILD_FOR_HOST
if (mBufferID) {
// Causes a SW crash....
//LOGV(" mBufferID %i", mBufferID);
@@ -94,6 +89,7 @@ Allocation::~Allocation() {
glDeleteTextures(1, &mTextureID);
mTextureID = 0;
}
+#endif //ANDROID_RS_BUILD_FOR_HOST
}
void Allocation::setCpuWritable(bool) {
@@ -118,6 +114,7 @@ void Allocation::deferedUploadToTexture(const Context *rsc) {
}
uint32_t Allocation::getGLTarget() const {
+#ifndef ANDROID_RS_BUILD_FOR_HOST
if (getIsTexture()) {
if (mType->getDimFaces()) {
return GL_TEXTURE_CUBE_MAP;
@@ -128,6 +125,7 @@ uint32_t Allocation::getGLTarget() const {
if (getIsBufferObject()) {
return GL_ARRAY_BUFFER;
}
+#endif //ANDROID_RS_BUILD_FOR_HOST
return 0;
}
@@ -158,7 +156,7 @@ void Allocation::syncAll(Context *rsc, RsAllocationUsageType src) {
}
void Allocation::uploadToTexture(const Context *rsc) {
-
+#ifndef ANDROID_RS_BUILD_FOR_HOST
mUsageFlags |= RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE;
GLenum type = mType->getElement()->getComponent().getGLType();
GLenum format = mType->getElement()->getComponent().getGLFormat();
@@ -195,8 +193,10 @@ void Allocation::uploadToTexture(const Context *rsc) {
}
rsc->checkError("Allocation::uploadToTexture");
+#endif //ANDROID_RS_BUILD_FOR_HOST
}
+#ifndef ANDROID_RS_BUILD_FOR_HOST
const static GLenum gFaceOrder[] = {
GL_TEXTURE_CUBE_MAP_POSITIVE_X,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
@@ -205,10 +205,12 @@ const static GLenum gFaceOrder[] = {
GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
};
+#endif //ANDROID_RS_BUILD_FOR_HOST
void Allocation::update2DTexture(const void *ptr, uint32_t xoff, uint32_t yoff,
uint32_t lod, RsAllocationCubemapFace face,
uint32_t w, uint32_t h) {
+#ifndef ANDROID_RS_BUILD_FOR_HOST
GLenum type = mType->getElement()->getComponent().getGLType();
GLenum format = mType->getElement()->getComponent().getGLFormat();
GLenum target = (GLenum)getGLTarget();
@@ -220,9 +222,11 @@ void Allocation::update2DTexture(const void *ptr, uint32_t xoff, uint32_t yoff,
t = gFaceOrder[face];
}
glTexSubImage2D(t, lod, xoff, yoff, w, h, format, type, ptr);
+#endif //ANDROID_RS_BUILD_FOR_HOST
}
void Allocation::upload2DTexture(bool isFirstUpload) {
+#ifndef ANDROID_RS_BUILD_FOR_HOST
GLenum type = mType->getElement()->getComponent().getGLType();
GLenum format = mType->getElement()->getComponent().getGLFormat();
@@ -258,10 +262,9 @@ void Allocation::upload2DTexture(bool isFirstUpload) {
}
if (mMipmapControl == RS_ALLOCATION_MIPMAP_ON_SYNC_TO_TEXTURE) {
-#ifndef ANDROID_RS_BUILD_FOR_HOST
glGenerateMipmap(target);
-#endif //ANDROID_RS_BUILD_FOR_HOST
}
+#endif //ANDROID_RS_BUILD_FOR_HOST
}
void Allocation::deferedUploadToBufferObject(const Context *rsc) {
@@ -270,6 +273,7 @@ void Allocation::deferedUploadToBufferObject(const Context *rsc) {
}
void Allocation::uploadToBufferObject(const Context *rsc) {
+#ifndef ANDROID_RS_BUILD_FOR_HOST
rsAssert(!mType->getDimY());
rsAssert(!mType->getDimZ());
@@ -288,6 +292,7 @@ void Allocation::uploadToBufferObject(const Context *rsc) {
glBufferData(target, mType->getSizeBytes(), getPtr(), GL_DYNAMIC_DRAW);
glBindBuffer(target, 0);
rsc->checkError("Allocation::uploadToBufferObject");
+#endif //ANDROID_RS_BUILD_FOR_HOST
}
void Allocation::uploadCheck(Context *rsc) {
@@ -386,7 +391,7 @@ void Allocation::elementData(Context *rsc, uint32_t x, const void *data,
ptr += mType->getElement()->getFieldOffsetBytes(cIdx);
if (sizeBytes != e->getSizeBytes()) {
- LOGE("Error Allocation::subElementData data size %i does not match field size %i.", sizeBytes, e->getSizeBytes());
+ LOGE("Error Allocation::subElementData data size %i does not match field size %zu.", sizeBytes, e->getSizeBytes());
rsc->setError(RS_ERROR_BAD_VALUE, "subElementData bad size.");
return;
}
@@ -429,7 +434,7 @@ void Allocation::elementData(Context *rsc, uint32_t x, uint32_t y,
ptr += mType->getElement()->getFieldOffsetBytes(cIdx);
if (sizeBytes != e->getSizeBytes()) {
- LOGE("Error Allocation::subElementData data size %i does not match field size %i.", sizeBytes, e->getSizeBytes());
+ LOGE("Error Allocation::subElementData data size %i does not match field size %zu.", sizeBytes, e->getSizeBytes());
rsc->setError(RS_ERROR_BAD_VALUE, "subElementData bad size.");
return;
}
@@ -445,10 +450,13 @@ void Allocation::elementData(Context *rsc, uint32_t x, uint32_t y,
}
void Allocation::addProgramToDirty(const Program *p) {
+#ifndef ANDROID_RS_BUILD_FOR_HOST
mToDirtyList.push(p);
+#endif //ANDROID_RS_BUILD_FOR_HOST
}
void Allocation::removeProgramToDirty(const Program *p) {
+#ifndef ANDROID_RS_BUILD_FOR_HOST
for (size_t ct=0; ct < mToDirtyList.size(); ct++) {
if (mToDirtyList[ct] == p) {
mToDirtyList.removeAt(ct);
@@ -456,6 +464,7 @@ void Allocation::removeProgramToDirty(const Program *p) {
}
}
rsAssert(0);
+#endif //ANDROID_RS_BUILD_FOR_HOST
}
void Allocation::dumpLOGV(const char *prefix) const {
@@ -530,9 +539,11 @@ Allocation *Allocation::createFromStream(Context *rsc, IStream *stream) {
}
void Allocation::sendDirty() const {
+#ifndef ANDROID_RS_BUILD_FOR_HOST
for (size_t ct=0; ct < mToDirtyList.size(); ct++) {
mToDirtyList[ct]->forceDirty();
}
+#endif //ANDROID_RS_BUILD_FOR_HOST
}
void Allocation::incRefs(const void *ptr, size_t ct, size_t startOff) const {
@@ -591,7 +602,7 @@ void Allocation::resize2D(Context *rsc, uint32_t dimX, uint32_t dimY) {
/////////////////
//
-
+#ifndef ANDROID_RS_BUILD_FOR_HOST
namespace android {
namespace renderscript {
@@ -674,8 +685,6 @@ static void mip(const Adapter2D &out, const Adapter2D &in) {
}
}
-#ifndef ANDROID_RS_BUILD_FOR_HOST
-
void rsi_AllocationSyncAll(Context *rsc, RsAllocation va, RsAllocationUsageType src) {
Allocation *a = static_cast<Allocation *>(va);
a->syncAll(rsc, src);
@@ -739,8 +748,6 @@ void rsi_AllocationResize2D(Context *rsc, RsAllocation va, uint32_t dimX, uint32
a->resize2D(rsc, dimX, dimY);
}
-#endif //ANDROID_RS_BUILD_FOR_HOST
-
}
}
@@ -840,3 +847,5 @@ RsAllocation rsaAllocationCubeCreateFromBitmap(RsContext con, RsType vtype,
texAlloc->deferedUploadToTexture(rsc);
return texAlloc;
}
+
+#endif //ANDROID_RS_BUILD_FOR_HOST