blob: 7434a77a6ca723c8aaf36438eea27d6554e1d92a [file] [log] [blame]
Alex Sakhartchouk14607a62012-03-21 09:58:15 -07001/*
2 * Copyright (C) 2012 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/*! \mainpage notitle
18 *
19 * Renderscript is a high-performance runtime that provides graphics rendering and
20 * compute operations at the native level. Renderscript code is compiled on devices
21 * at runtime to allow platform-independence as well.
22 * This reference documentation describes the Renderscript runtime APIs, which you
23 * can utilize to write Renderscript code in C99. The Renderscript header
24 * files are automatically included for you, except for the rs_graphics.rsh header. If
25 * you are doing graphics rendering, include the graphics header file like this:
26 *
27 * <code>#include "rs_graphics.rsh"</code>
28 *
29 * To use Renderscript, you need to utilize the Renderscript runtime APIs documented here
30 * as well as the Android framework APIs for Renderscript.
31 * For documentation on the Android framework APIs, see the <a target="_parent" href=
32 * "http://developer.android.com/reference/android/renderscript/package-summary.html">
33 * android.renderscript</a> package reference.
34 * For more information on how to develop with Renderscript and how the runtime and
35 * Android framework APIs interact, see the <a target="_parent" href=
36 * "http://developer.android.com/guide/topics/renderscript/index.html">Renderscript
37 * developer guide</a> and the <a target="_parent" href=
38 * "http://developer.android.com/resources/samples/RenderScript/index.html">
39 * Renderscript samples</a>.
40 */
41
42/** @file rs_program.rsh
43 * \brief Program object routines
44 *
45 *
46 */
47
48#ifndef __RS_PROGRAM_RSH__
49#define __RS_PROGRAM_RSH__
50
51/**
52 * @hide
53 * Get program store depth function
54 *
55 * @param ps
56 */
57extern rs_depth_func __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -070058 rsgProgramStoreGetDepthFunc(rs_program_store ps);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -070059
60/**
61 * @hide
62 * Get program store depth mask
63 *
64 * @param ps
65 */
66extern bool __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -070067 rsgProgramStoreGetDepthMask(rs_program_store ps);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -070068/**
69 * @hide
70 * Get program store red component color mask
71 *
72 * @param ps
73 */
74extern bool __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -070075 rsgProgramStoreGetColorMaskR(rs_program_store ps);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -070076
77/**
78 * @hide
79 * Get program store green component color mask
80 *
81 * @param ps
82 */
83extern bool __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -070084 rsgProgramStoreGetColorMaskG(rs_program_store ps);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -070085
86/**
87 * @hide
88 * Get program store blur component color mask
89 *
90 * @param ps
91 */
92extern bool __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -070093 rsgProgramStoreGetColorMaskB(rs_program_store ps);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -070094
95/**
96 * @hide
97 * Get program store alpha component color mask
98 *
99 * @param ps
100 */
101extern bool __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -0700102 rsgProgramStoreGetColorMaskA(rs_program_store ps);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -0700103
104/**
105 * @hide
106 * Get program store blend source function
107 *
108 * @param ps
109 */
110extern rs_blend_src_func __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -0700111 rsgProgramStoreGetBlendSrcFunc(rs_program_store ps);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -0700112
113/**
114 * @hide
115 * Get program store blend destination function
116 *
117 * @param ps
118 */
119extern rs_blend_dst_func __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -0700120 rsgProgramStoreGetBlendDstFunc(rs_program_store ps);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -0700121
122/**
123 * @hide
124 * Get program store dither state
125 *
126 * @param ps
127 */
128extern bool __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -0700129 rsgProgramStoreGetDitherEnabled(rs_program_store ps);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -0700130
131/**
132 * @hide
133 * Get program raster point sprite state
134 *
135 * @param pr
136 */
137extern bool __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -0700138 rsgProgramRasterGetPointSpriteEnabled(rs_program_raster pr);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -0700139
140/**
141 * @hide
142 * Get program raster cull mode
143 *
144 * @param pr
145 */
146extern rs_cull_mode __attribute__((overloadable))
Alex Sakhartchoukf8e195e2012-03-22 10:50:55 -0700147 rsgProgramRasterGetCullMode(rs_program_raster pr);
Alex Sakhartchouk14607a62012-03-21 09:58:15 -0700148
149
150
151#endif // __RS_PROGRAM_RSH__
152