114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/* 214607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Copyright (C) 2012 The Android Open Source Project 314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 414607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Licensed under the Apache License, Version 2.0 (the "License"); 514607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * you may not use this file except in compliance with the License. 614607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * You may obtain a copy of the License at 714607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * http://www.apache.org/licenses/LICENSE-2.0 914607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 1014607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Unless required by applicable law or agreed to in writing, software 1114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * distributed under the License is distributed on an "AS IS" BASIS, 1214607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * See the License for the specific language governing permissions and 1414607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * limitations under the License. 1514607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 1614607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 1714607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** @file rs_program.rsh 1814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * \brief Program object routines 1914607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 2014607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 2114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 2214607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 2314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk#ifndef __RS_PROGRAM_RSH__ 2414607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk#define __RS_PROGRAM_RSH__ 2514607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 263c0c6061ce428609182eedcf82c7f75df074fcf4Alex Sakhartchouk#if (defined(RS_VERSION) && (RS_VERSION >= 16)) 273c0c6061ce428609182eedcf82c7f75df074fcf4Alex Sakhartchouk 2814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 2914607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program store depth function 3014607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 31340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param ps program store to query 3214607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 3314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern rs_depth_func __attribute__((overloadable)) 34f8e195ee50ac7b01fc0130af6634afe475d2deaeAlex Sakhartchouk rsgProgramStoreGetDepthFunc(rs_program_store ps); 3514607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 3614607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 3714607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program store depth mask 3814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 39340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param ps program store to query 4014607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 4114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern bool __attribute__((overloadable)) 42340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk rsgProgramStoreIsDepthMaskEnabled(rs_program_store ps); 4314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 4414607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program store red component color mask 4514607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 46340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param ps program store to query 4714607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 4814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern bool __attribute__((overloadable)) 49340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk rsgProgramStoreIsColorMaskRedEnabled(rs_program_store ps); 5014607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 5114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 5214607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program store green component color mask 5314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 54340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param ps program store to query 5514607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 5614607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern bool __attribute__((overloadable)) 57340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk rsgProgramStoreIsColorMaskGreenEnabled(rs_program_store ps); 5814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 5914607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 6014607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program store blur component color mask 6114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 62340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param ps program store to query 6314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 6414607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern bool __attribute__((overloadable)) 65340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk rsgProgramStoreIsColorMaskBlueEnabled(rs_program_store ps); 6614607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 6714607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 6814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program store alpha component color mask 6914607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 70340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param ps program store to query 7114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 7214607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern bool __attribute__((overloadable)) 73340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk rsgProgramStoreIsColorMaskAlphaEnabled(rs_program_store ps); 7414607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 7514607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 7614607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program store blend source function 7714607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 78340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param ps program store to query 7914607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 8014607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern rs_blend_src_func __attribute__((overloadable)) 81f8e195ee50ac7b01fc0130af6634afe475d2deaeAlex Sakhartchouk rsgProgramStoreGetBlendSrcFunc(rs_program_store ps); 8214607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 8314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 8414607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program store blend destination function 8514607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 86340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param ps program store to query 8714607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 8814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern rs_blend_dst_func __attribute__((overloadable)) 89f8e195ee50ac7b01fc0130af6634afe475d2deaeAlex Sakhartchouk rsgProgramStoreGetBlendDstFunc(rs_program_store ps); 9014607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 9114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 9214607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program store dither state 9314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 94340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param ps program store to query 9514607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 9614607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern bool __attribute__((overloadable)) 97340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk rsgProgramStoreIsDitherEnabled(rs_program_store ps); 9814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 9914607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 10014607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program raster point sprite state 10114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 102340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param pr program raster to query 10314607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 10414607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern bool __attribute__((overloadable)) 105340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk rsgProgramRasterIsPointSpriteEnabled(rs_program_raster pr); 10614607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 10714607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk/** 10814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * Get program raster cull mode 10914607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk * 110340d15add608408d64cc2b9bec4f0d1924552cf5Alex Sakhartchouk * @param pr program raster to query 11114607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk */ 11214607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchoukextern rs_cull_mode __attribute__((overloadable)) 113f8e195ee50ac7b01fc0130af6634afe475d2deaeAlex Sakhartchouk rsgProgramRasterGetCullMode(rs_program_raster pr); 11414607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 1153c0c6061ce428609182eedcf82c7f75df074fcf4Alex Sakhartchouk#endif // (defined(RS_VERSION) && (RS_VERSION >= 16)) 11614607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 11714607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk#endif // __RS_PROGRAM_RSH__ 11814607a6bd1e909a7944e39b7ec71dc0ba65de2cdAlex Sakhartchouk 119