| #include "rs_core.rsh" |
| #include "rs_graphics.rsh" |
| #include "rs_structs.h" |
| |
| /** |
| * Program Store |
| */ |
| extern rs_depth_func __attribute__((overloadable)) |
| rsProgramStoreGetDepthFunc(rs_program_store ps) { |
| ProgramStore_t *prog = (ProgramStore_t *)ps.p; |
| if (prog == NULL) { |
| return RS_DEPTH_FUNC_INVALID; |
| } |
| return prog->mHal.state.depthFunc; |
| } |
| |
| extern bool __attribute__((overloadable)) |
| rsProgramStoreGetDepthMask(rs_program_store ps) { |
| ProgramStore_t *prog = (ProgramStore_t *)ps.p; |
| if (prog == NULL) { |
| return false; |
| } |
| return prog->mHal.state.depthWriteEnable; |
| } |
| |
| extern bool __attribute__((overloadable)) |
| rsProgramStoreGetColorMaskR(rs_program_store ps) { |
| ProgramStore_t *prog = (ProgramStore_t *)ps.p; |
| if (prog == NULL) { |
| return false; |
| } |
| return prog->mHal.state.colorRWriteEnable; |
| } |
| |
| extern bool __attribute__((overloadable)) |
| rsProgramStoreGetColorMaskG(rs_program_store ps) { |
| ProgramStore_t *prog = (ProgramStore_t *)ps.p; |
| if (prog == NULL) { |
| return false; |
| } |
| return prog->mHal.state.colorGWriteEnable; |
| } |
| |
| extern bool __attribute__((overloadable)) |
| rsProgramStoreGetColorMaskB(rs_program_store ps) { |
| ProgramStore_t *prog = (ProgramStore_t *)ps.p; |
| if (prog == NULL) { |
| return false; |
| } |
| return prog->mHal.state.colorBWriteEnable; |
| } |
| |
| extern bool __attribute__((overloadable)) |
| rsProgramStoreGetColorMaskA(rs_program_store ps) { |
| ProgramStore_t *prog = (ProgramStore_t *)ps.p; |
| if (prog == NULL) { |
| return false; |
| } |
| return prog->mHal.state.colorAWriteEnable; |
| } |
| |
| extern rs_blend_src_func __attribute__((overloadable)) |
| rsProgramStoreGetBlendSrcFunc(rs_program_store ps) { |
| ProgramStore_t *prog = (ProgramStore_t *)ps.p; |
| if (prog == NULL) { |
| return RS_BLEND_SRC_INVALID; |
| } |
| return prog->mHal.state.blendSrc; |
| } |
| |
| extern rs_blend_dst_func __attribute__((overloadable)) |
| rsProgramStoreGetBlendDstFunc(rs_program_store ps) { |
| ProgramStore_t *prog = (ProgramStore_t *)ps.p; |
| if (prog == NULL) { |
| return RS_BLEND_DST_INVALID; |
| } |
| return prog->mHal.state.blendDst; |
| } |
| |
| extern bool __attribute__((overloadable)) |
| rsProgramStoreGetDitherEnabled(rs_program_store ps) { |
| ProgramStore_t *prog = (ProgramStore_t *)ps.p; |
| if (prog == NULL) { |
| return false; |
| } |
| return prog->mHal.state.ditherEnable; |
| } |
| |
| /** |
| * Program Raster |
| */ |
| extern bool __attribute__((overloadable)) |
| rsProgramRasterGetPointSpriteEnabled(rs_program_raster pr) { |
| ProgramRaster_t *prog = (ProgramRaster_t *)pr.p; |
| if (prog == NULL) { |
| return false; |
| } |
| return prog->mHal.state.pointSprite; |
| } |
| |
| extern rs_cull_mode __attribute__((overloadable)) |
| rsProgramRasterGetCullMode(rs_program_raster pr) { |
| ProgramRaster_t *prog = (ProgramRaster_t *)pr.p; |
| if (prog == NULL) { |
| return RS_CULL_INVALID; |
| } |
| return prog->mHal.state.cull; |
| } |