rs_allocation.rsh
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2011 The Android Open Source Project
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00023 #ifndef __RS_ALLOCATION_RSH__
00024 #define __RS_ALLOCATION_RSH__
00025 
00031 extern rs_allocation __attribute__((overloadable))
00032     rsGetAllocation(const void *);
00033 
00039 extern uint32_t __attribute__((overloadable))
00040     rsAllocationGetDimX(rs_allocation);
00041 
00047 extern uint32_t __attribute__((overloadable))
00048     rsAllocationGetDimY(rs_allocation);
00049 
00055 extern uint32_t __attribute__((overloadable))
00056     rsAllocationGetDimZ(rs_allocation);
00057 
00063 extern uint32_t __attribute__((overloadable))
00064     rsAllocationGetDimLOD(rs_allocation);
00065 
00071 extern uint32_t __attribute__((overloadable))
00072     rsAllocationGetDimFaces(rs_allocation);
00073 
00074 #if (defined(RS_VERSION) && (RS_VERSION >= 14))
00075 
00089 extern void __attribute__((overloadable))
00090     rsAllocationCopy1DRange(rs_allocation dstAlloc,
00091                             uint32_t dstOff, uint32_t dstMip,
00092                             uint32_t count,
00093                             rs_allocation srcAlloc,
00094                             uint32_t srcOff, uint32_t srcMip);
00095 
00117 extern void __attribute__((overloadable))
00118     rsAllocationCopy2DRange(rs_allocation dstAlloc,
00119                             uint32_t dstXoff, uint32_t dstYoff,
00120                             uint32_t dstMip,
00121                             rs_allocation_cubemap_face dstFace,
00122                             uint32_t width, uint32_t height,
00123                             rs_allocation srcAlloc,
00124                             uint32_t srcXoff, uint32_t srcYoff,
00125                             uint32_t srcMip,
00126                             rs_allocation_cubemap_face srcFace);
00127 
00128 #endif //defined(RS_VERSION) && (RS_VERSION >= 14)
00129 
00133 extern const void * __attribute__((overloadable))
00134     rsGetElementAt(rs_allocation, uint32_t x);
00138 extern const void * __attribute__((overloadable))
00139     rsGetElementAt(rs_allocation, uint32_t x, uint32_t y);
00143 extern const void * __attribute__((overloadable))
00144     rsGetElementAt(rs_allocation, uint32_t x, uint32_t y, uint32_t z);
00145 
00146 // New API's
00147 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
00148 
00153 extern const void __attribute__((overloadable))
00154     rsAllocationIoSend(rs_allocation a);
00155 
00160 extern const void __attribute__((overloadable))
00161     rsAllocationIoReceive(rs_allocation a);
00162 
00163 
00169 extern rs_element __attribute__((overloadable))
00170     rsAllocationGetElement(rs_allocation a);
00171 
00178 extern const float4 __attribute__((overloadable))
00179     rsSample(rs_allocation a, rs_sampler s, float location);
00189 extern const float4 __attribute__((overloadable))
00190     rsSample(rs_allocation a, rs_sampler s, float location, float lod);
00191 
00198 extern const float4 __attribute__((overloadable))
00199     rsSample(rs_allocation a, rs_sampler s, float2 location);
00200 
00210 extern const float4 __attribute__((overloadable))
00211     rsSample(rs_allocation a, rs_sampler s, float2 location, float lod);
00212 
00213 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
00214 
00215 #endif
00216 
No examples for this method.
Frequently called with: [Clear]
Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. The original page is available here.