94 lines
3.7 KiB
C
94 lines
3.7 KiB
C
/*
|
|
* Copyright (C) 2007 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 RENDER_SCRIPT_H
|
|
#define RENDER_SCRIPT_H
|
|
|
|
#include <stdint.h>
|
|
#include <sys/types.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "RenderScriptDefines.h"
|
|
|
|
RsDevice rsDeviceCreate();
|
|
void rsDeviceDestroy(RsDevice);
|
|
void rsDeviceSetConfig(RsDevice, RsDeviceParam, int32_t value);
|
|
|
|
RsContext rsContextCreate(RsDevice, uint32_t version);
|
|
RsContext rsContextCreateGL(RsDevice, uint32_t version,
|
|
RsSurfaceConfig sc, uint32_t dpi);
|
|
void rsContextDestroy(RsContext);
|
|
|
|
RsMessageToClientType rsContextGetMessage(RsContext vrsc, void *data, size_t *receiveLen, uint32_t *subID, size_t bufferLen, bool wait);
|
|
RsMessageToClientType rsContextPeekMessage(RsContext vrsc, size_t *receiveLen, uint32_t *subID, bool wait);
|
|
void rsContextInitToClient(RsContext);
|
|
void rsContextDeinitToClient(RsContext);
|
|
|
|
//
|
|
// A3D loading and object update code.
|
|
// Should only be called at object creation, not thread safe
|
|
RsObjectBase rsaFileA3DGetEntryByIndex(RsContext, uint32_t idx, RsFile);
|
|
RsFile rsaFileA3DCreateFromMemory(RsContext, const void *data, uint32_t len);
|
|
RsFile rsaFileA3DCreateFromAsset(RsContext, void *asset);
|
|
RsFile rsaFileA3DCreateFromFile(RsContext, const char *path);
|
|
void rsaFileA3DGetNumIndexEntries(RsContext, int32_t *numEntries, RsFile);
|
|
void rsaFileA3DGetIndexEntries(RsContext, RsFileIndexEntry *fileEntries,uint32_t numEntries, RsFile);
|
|
void rsaGetName(RsContext, void * obj, const char **name);
|
|
// Mesh update functions
|
|
void rsaMeshGetVertexBufferCount(RsContext, RsMesh, int32_t *vtxCount);
|
|
void rsaMeshGetIndexCount(RsContext, RsMesh, int32_t *idxCount);
|
|
void rsaMeshGetVertices(RsContext, RsMesh, RsAllocation *vtxData, uint32_t vtxDataCount);
|
|
void rsaMeshGetIndices(RsContext, RsMesh, RsAllocation *va, uint32_t *primType, uint32_t idxDataCount);
|
|
// Allocation update
|
|
const void* rsaAllocationGetType(RsContext con, RsAllocation va);
|
|
// Type update
|
|
void rsaTypeGetNativeData(RsContext, RsType, uint32_t *typeData, uint32_t typeDataSize);
|
|
// Element update
|
|
void rsaElementGetNativeData(RsContext, RsElement, uint32_t *elemData, uint32_t elemDataSize);
|
|
void rsaElementGetSubElements(RsContext, RsElement, uint32_t *ids, const char **names, uint32_t dataSize);
|
|
|
|
// Async commands for returning new IDS
|
|
RsType rsaTypeCreate(RsContext, RsElement, uint32_t dimX, uint32_t dimY,
|
|
uint32_t dimZ, bool mips, bool faces);
|
|
RsAllocation rsaAllocationCreateTyped(RsContext rsc, RsType vtype,
|
|
RsAllocationMipmapControl mips,
|
|
uint32_t usages);
|
|
RsAllocation rsaAllocationCreateFromBitmap(RsContext con, RsType vtype,
|
|
RsAllocationMipmapControl mips,
|
|
const void *data, uint32_t usages);
|
|
RsAllocation rsaAllocationCubeCreateFromBitmap(RsContext con, RsType vtype,
|
|
RsAllocationMipmapControl mips,
|
|
const void *data, uint32_t usages);
|
|
#ifdef ANDROID_RS_SERIALIZE
|
|
#define NO_RS_FUNCS
|
|
#endif
|
|
|
|
#ifndef NO_RS_FUNCS
|
|
#include "rsgApiFuncDecl.h"
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif
|
|
|
|
#endif // RENDER_SCRIPT_H
|
|
|
|
|
|
|