summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsElement.h
diff options
context:
space:
mode:
authorAlex Sakhartchouk <alexst@google.com>2012-03-28 14:18:15 -0700
committerAlex Sakhartchouk <alexst@google.com>2012-03-28 14:18:15 -0700
commitb43a1e5ddf274eb5e01dc8e450bd15b640bebe9f (patch)
treebf9d1b5d92ef8f65afd8c51016a5da7130bc6d3e /libs/rs/rsElement.h
parentf9c1f9935b349fe1a3f27be4462026dd212f8b78 (diff)
downloadframeworks_base-b43a1e5ddf274eb5e01dc8e450bd15b640bebe9f.zip
frameworks_base-b43a1e5ddf274eb5e01dc8e450bd15b640bebe9f.tar.gz
frameworks_base-b43a1e5ddf274eb5e01dc8e450bd15b640bebe9f.tar.bz2
Moving libRS
Change-Id: I1e42204e862585b9c2f7818b615890c60f08faf6
Diffstat (limited to 'libs/rs/rsElement.h')
-rw-r--r--libs/rs/rsElement.h187
1 files changed, 0 insertions, 187 deletions
diff --git a/libs/rs/rsElement.h b/libs/rs/rsElement.h
deleted file mode 100644
index b86d3bc..0000000
--- a/libs/rs/rsElement.h
+++ /dev/null
@@ -1,187 +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.
- */
-
-#ifndef ANDROID_STRUCTURED_ELEMENT_H
-#define ANDROID_STRUCTURED_ELEMENT_H
-
-#include "rsComponent.h"
-#include "rsUtils.h"
-#include "rsDefines.h"
-#include "rsObjectBase.h"
-
-// ---------------------------------------------------------------------------
-namespace android {
-namespace renderscript {
-/*****************************************************************************
- * CAUTION
- *
- * Any layout changes for this class may require a corresponding change to be
- * made to frameworks/compile/libbcc/lib/ScriptCRT/rs_core.c, which contains
- * a partial copy of the information below.
- *
- *****************************************************************************/
-// An element is a group of Components that occupies one cell in a structure.
-class Element : public ObjectBase {
-public:
- struct Hal {
- mutable void *drv;
-
- struct State {
- RsDataType dataType;
- RsDataKind dataKind;
- uint32_t vectorSize;
- uint32_t elementSizeBytes;
-
- // Subelements
- const Element **fields;
- uint32_t *fieldArraySizes;
- const char **fieldNames;
- uint32_t *fieldNameLengths;
- uint32_t *fieldOffsetBytes;
- uint32_t fieldsCount;
- };
- State state;
- };
- Hal mHal;
-
- class Builder {
- public:
- Builder();
- void add(const Element *e, const char *nameStr, uint32_t arraySize);
- ObjectBaseRef<const Element> create(Context *rsc);
- private:
- Vector<ObjectBaseRef<const Element> > mBuilderElementRefs;
- Vector<const Element *> mBuilderElements;
- Vector<const char*> mBuilderNameStrings;
- Vector<size_t> mBuilderNameLengths;
- Vector<uint32_t> mBuilderArrays;
- };
- uint32_t getGLType() const;
- uint32_t getGLFormat() const;
-
- size_t getSizeBitsUnpadded() const;
- size_t getSizeBytesUnpadded() const {
- return (getSizeBitsUnpadded() + 7) >> 3;
- }
-
- size_t getSizeBits() const;
- size_t getSizeBytes() const {
- return (getSizeBits() + 7) >> 3;
- }
-
- size_t getFieldOffsetBits(uint32_t componentNumber) const {
- return mFields[componentNumber].offsetBits;
- }
- size_t getFieldOffsetBytes(uint32_t componentNumber) const {
- return mFields[componentNumber].offsetBits >> 3;
- }
-
- size_t getFieldOffsetBytesUnpadded(uint32_t componentNumber) const {
- return mFields[componentNumber].offsetBitsUnpadded >> 3;
- }
-
- uint32_t getFieldCount() const {return mFieldCount;}
- const Element * getField(uint32_t idx) const {return mFields[idx].e.get();}
- const char * getFieldName(uint32_t idx) const {return mFields[idx].name.string();}
- uint32_t getFieldArraySize(uint32_t idx) const {return mFields[idx].arraySize;}
-
- const Component & getComponent() const {return mComponent;}
- RsDataType getType() const {return mComponent.getType();}
- RsDataKind getKind() const {return mComponent.getKind();}
- uint32_t getBits() const {return mBits;}
- uint32_t getBitsUnpadded() const {return mBitsUnpadded;}
-
- void dumpLOGV(const char *prefix) const;
- virtual void serialize(OStream *stream) const;
- virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_ELEMENT; }
- static Element *createFromStream(Context *rsc, IStream *stream);
-
- static ObjectBaseRef<const Element> createRef(Context *rsc,
- RsDataType dt,
- RsDataKind dk,
- bool isNorm,
- uint32_t vecSize);
- static ObjectBaseRef<const Element> createRef(Context *rsc, size_t count,
- const Element **,
- const char **,
- const size_t * lengths,
- const uint32_t *asin);
-
- static const Element* create(Context *rsc,
- RsDataType dt,
- RsDataKind dk,
- bool isNorm,
- uint32_t vecSize) {
- ObjectBaseRef<const Element> elem = createRef(rsc, dt, dk, isNorm, vecSize);
- elem->incUserRef();
- return elem.get();
- }
- static const Element* create(Context *rsc, size_t count,
- const Element **ein,
- const char **nin,
- const size_t * lengths,
- const uint32_t *asin) {
- ObjectBaseRef<const Element> elem = createRef(rsc, count, ein, nin, lengths, asin);
- elem->incUserRef();
- return elem.get();
- }
-
- void incRefs(const void *) const;
- void decRefs(const void *) const;
- bool getHasReferences() const {return mHasReference;}
-
-protected:
- // deallocate any components that are part of this element.
- void clear();
-
- typedef struct {
- String8 name;
- ObjectBaseRef<const Element> e;
- uint32_t offsetBits;
- uint32_t offsetBitsUnpadded;
- uint32_t arraySize;
- } ElementField_t;
- ElementField_t *mFields;
- size_t mFieldCount;
- bool mHasReference;
-
-
- virtual ~Element();
- Element(Context *);
-
- Component mComponent;
- uint32_t mBitsUnpadded;
- uint32_t mBits;
-
- void compute();
-
- virtual void preDestroy() const;
-};
-
-
-class ElementState {
-public:
- ElementState();
- ~ElementState();
-
- // Cache of all existing elements.
- Vector<Element *> mElements;
-};
-
-
-}
-}
-#endif //ANDROID_STRUCTURED_ELEMENT_H