rs_core.rsh
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2011-2012 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 
00042 #ifndef __RS_CORE_RSH__
00043 #define __RS_CORE_RSH__
00044 
00045 #define _RS_RUNTIME extern
00046 
00047 #include "rs_types.rsh"
00048 #include "rs_allocation.rsh"
00049 #include "rs_atomic.rsh"
00050 #include "rs_cl.rsh"
00051 #include "rs_debug.rsh"
00052 #include "rs_element.rsh"
00053 #include "rs_math.rsh"
00054 #include "rs_matrix.rsh"
00055 #include "rs_object.rsh"
00056 #include "rs_quaternion.rsh"
00057 #include "rs_sampler.rsh"
00058 #include "rs_time.rsh"
00059 
00065 extern bool __attribute__((overloadable))
00066     rsSendToClient(int cmdID);
00070 extern bool __attribute__((overloadable))
00071     rsSendToClient(int cmdID, const void *data, uint len);
00076 extern void __attribute__((overloadable))
00077     rsSendToClientBlocking(int cmdID);
00081 extern void __attribute__((overloadable))
00082     rsSendToClientBlocking(int cmdID, const void *data, uint len);
00083 
00084 
00092 enum rs_for_each_strategy {
00093     RS_FOR_EACH_STRATEGY_SERIAL,
00094     RS_FOR_EACH_STRATEGY_DONT_CARE,
00095     RS_FOR_EACH_STRATEGY_DST_LINEAR,
00096     RS_FOR_EACH_STRATEGY_TILE_SMALL,
00097     RS_FOR_EACH_STRATEGY_TILE_MEDIUM,
00098     RS_FOR_EACH_STRATEGY_TILE_LARGE
00099 };
00100 
00101 
00106 typedef struct rs_script_call {
00107     enum rs_for_each_strategy strategy;
00108     uint32_t xStart;
00109     uint32_t xEnd;
00110     uint32_t yStart;
00111     uint32_t yEnd;
00112     uint32_t zStart;
00113     uint32_t zEnd;
00114     uint32_t arrayStart;
00115     uint32_t arrayEnd;
00116 } rs_script_call_t;
00117 
00134 #if !defined(RS_VERSION) || (RS_VERSION < 14)
00135 extern void __attribute__((overloadable))
00136     rsForEach(rs_script script, rs_allocation input,
00137               rs_allocation output, const void * usrData,
00138               const rs_script_call_t *sc);
00142 extern void __attribute__((overloadable))
00143     rsForEach(rs_script script, rs_allocation input,
00144               rs_allocation output, const void * usrData);
00145 #else
00146 
00165 extern void __attribute__((overloadable))
00166     rsForEach(rs_script script, rs_allocation input, rs_allocation output,
00167               const void * usrData, size_t usrDataLen, const rs_script_call_t *);
00171 extern void __attribute__((overloadable))
00172     rsForEach(rs_script script, rs_allocation input, rs_allocation output,
00173               const void * usrData, size_t usrDataLen);
00177 extern void __attribute__((overloadable))
00178     rsForEach(rs_script script, rs_allocation input, rs_allocation output);
00179 #endif
00180 
00181 
00182 
00183 #undef _RS_RUNTIME
00184 
00185 #endif
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.