blob: 2ae5636f752454cc6ce0f6dc8620ac2c61e89c5c [file] [log] [blame]
#include "shared.rsh"
#include "rs_graphics.rsh"
rs_program_store ditherEnable;
rs_program_store colorRWriteEnable;
rs_program_store colorGWriteEnable;
rs_program_store colorBWriteEnable;
rs_program_store colorAWriteEnable;
rs_program_store blendSrc;
rs_program_store blendDst;
rs_program_store depthWriteEnable;
rs_program_store depthFunc;
static bool test_program_store_getters() {
bool failed = false;
_RS_ASSERT(rsgProgramStoreGetDepthFunc(depthFunc) == RS_DEPTH_FUNC_GREATER);
_RS_ASSERT(rsgProgramStoreIsDepthMaskEnabled(depthFunc) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskRedEnabled(depthFunc) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskGreenEnabled(depthFunc) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskBlueEnabled(depthFunc) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskAlphaEnabled( depthFunc) == false);
_RS_ASSERT(rsgProgramStoreIsDitherEnabled(depthFunc) == false);
_RS_ASSERT(rsgProgramStoreGetBlendSrcFunc(depthFunc) == RS_BLEND_SRC_ZERO);
_RS_ASSERT(rsgProgramStoreGetBlendDstFunc(depthFunc) == RS_BLEND_DST_ZERO);
_RS_ASSERT(rsgProgramStoreGetDepthFunc(depthWriteEnable) == RS_DEPTH_FUNC_ALWAYS);
_RS_ASSERT(rsgProgramStoreIsDepthMaskEnabled(depthWriteEnable) == true);
_RS_ASSERT(rsgProgramStoreIsColorMaskRedEnabled(depthWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskGreenEnabled(depthWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskBlueEnabled(depthWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskAlphaEnabled( depthWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsDitherEnabled(depthWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreGetBlendSrcFunc(depthWriteEnable) == RS_BLEND_SRC_ZERO);
_RS_ASSERT(rsgProgramStoreGetBlendDstFunc(depthWriteEnable) == RS_BLEND_DST_ZERO);
_RS_ASSERT(rsgProgramStoreGetDepthFunc(colorRWriteEnable) == RS_DEPTH_FUNC_ALWAYS);
_RS_ASSERT(rsgProgramStoreIsDepthMaskEnabled(colorRWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskRedEnabled(colorRWriteEnable) == true);
_RS_ASSERT(rsgProgramStoreIsColorMaskGreenEnabled(colorRWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskBlueEnabled(colorRWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskAlphaEnabled( colorRWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsDitherEnabled(colorRWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreGetBlendSrcFunc(colorRWriteEnable) == RS_BLEND_SRC_ZERO);
_RS_ASSERT(rsgProgramStoreGetBlendDstFunc(colorRWriteEnable) == RS_BLEND_DST_ZERO);
_RS_ASSERT(rsgProgramStoreGetDepthFunc(colorGWriteEnable) == RS_DEPTH_FUNC_ALWAYS);
_RS_ASSERT(rsgProgramStoreIsDepthMaskEnabled(colorGWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskRedEnabled(colorGWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskGreenEnabled(colorGWriteEnable) == true);
_RS_ASSERT(rsgProgramStoreIsColorMaskBlueEnabled(colorGWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskAlphaEnabled( colorGWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsDitherEnabled(colorGWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreGetBlendSrcFunc(colorGWriteEnable) == RS_BLEND_SRC_ZERO);
_RS_ASSERT(rsgProgramStoreGetBlendDstFunc(colorGWriteEnable) == RS_BLEND_DST_ZERO);
_RS_ASSERT(rsgProgramStoreGetDepthFunc(colorBWriteEnable) == RS_DEPTH_FUNC_ALWAYS);
_RS_ASSERT(rsgProgramStoreIsDepthMaskEnabled(colorBWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskRedEnabled(colorBWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskGreenEnabled(colorBWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskBlueEnabled(colorBWriteEnable) == true);
_RS_ASSERT(rsgProgramStoreIsColorMaskAlphaEnabled( colorBWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsDitherEnabled(colorBWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreGetBlendSrcFunc(colorBWriteEnable) == RS_BLEND_SRC_ZERO);
_RS_ASSERT(rsgProgramStoreGetBlendDstFunc(colorBWriteEnable) == RS_BLEND_DST_ZERO);
_RS_ASSERT(rsgProgramStoreGetDepthFunc(colorAWriteEnable) == RS_DEPTH_FUNC_ALWAYS);
_RS_ASSERT(rsgProgramStoreIsDepthMaskEnabled(colorAWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskRedEnabled(colorAWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskGreenEnabled(colorAWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskBlueEnabled(colorAWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskAlphaEnabled( colorAWriteEnable) == true);
_RS_ASSERT(rsgProgramStoreIsDitherEnabled(colorAWriteEnable) == false);
_RS_ASSERT(rsgProgramStoreGetBlendSrcFunc(colorAWriteEnable) == RS_BLEND_SRC_ZERO);
_RS_ASSERT(rsgProgramStoreGetBlendDstFunc(colorAWriteEnable) == RS_BLEND_DST_ZERO);
_RS_ASSERT(rsgProgramStoreGetDepthFunc(ditherEnable) == RS_DEPTH_FUNC_ALWAYS);
_RS_ASSERT(rsgProgramStoreIsDepthMaskEnabled(ditherEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskRedEnabled(ditherEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskGreenEnabled(ditherEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskBlueEnabled(ditherEnable) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskAlphaEnabled( ditherEnable) == false);
_RS_ASSERT(rsgProgramStoreIsDitherEnabled(ditherEnable) == true);
_RS_ASSERT(rsgProgramStoreGetBlendSrcFunc(ditherEnable) == RS_BLEND_SRC_ZERO);
_RS_ASSERT(rsgProgramStoreGetBlendDstFunc(ditherEnable) == RS_BLEND_DST_ZERO);
_RS_ASSERT(rsgProgramStoreGetDepthFunc(blendSrc) == RS_DEPTH_FUNC_ALWAYS);
_RS_ASSERT(rsgProgramStoreIsDepthMaskEnabled(blendSrc) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskRedEnabled(blendSrc) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskGreenEnabled(blendSrc) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskBlueEnabled(blendSrc) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskAlphaEnabled( blendSrc) == false);
_RS_ASSERT(rsgProgramStoreIsDitherEnabled(blendSrc) == false);
_RS_ASSERT(rsgProgramStoreGetBlendSrcFunc(blendSrc) == RS_BLEND_SRC_DST_COLOR);
_RS_ASSERT(rsgProgramStoreGetBlendDstFunc(blendSrc) == RS_BLEND_DST_ZERO);
_RS_ASSERT(rsgProgramStoreGetDepthFunc(blendDst) == RS_DEPTH_FUNC_ALWAYS);
_RS_ASSERT(rsgProgramStoreIsDepthMaskEnabled(blendDst) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskRedEnabled(blendDst) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskGreenEnabled(blendDst) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskBlueEnabled(blendDst) == false);
_RS_ASSERT(rsgProgramStoreIsColorMaskAlphaEnabled( blendDst) == false);
_RS_ASSERT(rsgProgramStoreIsDitherEnabled(blendDst) == false);
_RS_ASSERT(rsgProgramStoreGetBlendSrcFunc(blendDst) == RS_BLEND_SRC_ZERO);
_RS_ASSERT(rsgProgramStoreGetBlendDstFunc(blendDst) == RS_BLEND_DST_DST_ALPHA);
if (failed) {
rsDebug("test_program_store_getters FAILED", 0);
}
else {
rsDebug("test_program_store_getters PASSED", 0);
}
return failed;
}
void program_store_test() {
bool failed = false;
failed |= test_program_store_getters();
if (failed) {
rsSendToClientBlocking(RS_MSG_TEST_FAILED);
}
else {
rsSendToClientBlocking(RS_MSG_TEST_PASSED);
}
}