1/*
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/** @file rs_program.rsh
18 *  \brief Program object routines
19 *
20 *
21 */
22
23#ifndef __RS_PROGRAM_RSH__
24#define __RS_PROGRAM_RSH__
25
26#if (defined(RS_VERSION) && (RS_VERSION >= 16))
27
28/**
29 * Get program store depth function
30 *
31 * @param ps program store to query
32 */
33extern rs_depth_func __attribute__((overloadable))
34    rsgProgramStoreGetDepthFunc(rs_program_store ps);
35
36/**
37 * Get program store depth mask
38 *
39 * @param ps program store to query
40 */
41extern bool __attribute__((overloadable))
42    rsgProgramStoreIsDepthMaskEnabled(rs_program_store ps);
43/**
44 * Get program store red component color mask
45 *
46 * @param ps program store to query
47 */
48extern bool __attribute__((overloadable))
49    rsgProgramStoreIsColorMaskRedEnabled(rs_program_store ps);
50
51/**
52 * Get program store green component color mask
53 *
54 * @param ps program store to query
55 */
56extern bool __attribute__((overloadable))
57    rsgProgramStoreIsColorMaskGreenEnabled(rs_program_store ps);
58
59/**
60 * Get program store blur component color mask
61 *
62 * @param ps program store to query
63 */
64extern bool __attribute__((overloadable))
65    rsgProgramStoreIsColorMaskBlueEnabled(rs_program_store ps);
66
67/**
68 * Get program store alpha component color mask
69 *
70 * @param ps program store to query
71 */
72extern bool __attribute__((overloadable))
73    rsgProgramStoreIsColorMaskAlphaEnabled(rs_program_store ps);
74
75/**
76 * Get program store blend source function
77 *
78 * @param ps program store to query
79 */
80extern rs_blend_src_func __attribute__((overloadable))
81        rsgProgramStoreGetBlendSrcFunc(rs_program_store ps);
82
83/**
84 * Get program store blend destination function
85 *
86 * @param ps program store to query
87 */
88extern rs_blend_dst_func __attribute__((overloadable))
89    rsgProgramStoreGetBlendDstFunc(rs_program_store ps);
90
91/**
92 * Get program store dither state
93 *
94 * @param ps program store to query
95 */
96extern bool __attribute__((overloadable))
97    rsgProgramStoreIsDitherEnabled(rs_program_store ps);
98
99/**
100 * Get program raster point sprite state
101 *
102 * @param pr program raster to query
103 */
104extern bool __attribute__((overloadable))
105    rsgProgramRasterIsPointSpriteEnabled(rs_program_raster pr);
106
107/**
108 * Get program raster cull mode
109 *
110 * @param pr program raster to query
111 */
112extern rs_cull_mode __attribute__((overloadable))
113    rsgProgramRasterGetCullMode(rs_program_raster pr);
114
115#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
116
117#endif // __RS_PROGRAM_RSH__
118
119