diff options
Diffstat (limited to 'intern/opencolorio/ocio_capi.h')
-rw-r--r-- | intern/opencolorio/ocio_capi.h | 90 |
1 files changed, 32 insertions, 58 deletions
diff --git a/intern/opencolorio/ocio_capi.h b/intern/opencolorio/ocio_capi.h index 57799222788..8b319d4ed68 100644 --- a/intern/opencolorio/ocio_capi.h +++ b/intern/opencolorio/ocio_capi.h @@ -24,7 +24,7 @@ extern "C" { #endif -struct OCIO_GLSLDrawState; +typedef struct OCIO_GPUShader OCIO_GPUShader; #define OCIO_DECLARE_HANDLE(name) \ typedef struct name##__ { \ @@ -42,14 +42,9 @@ struct OCIO_GLSLDrawState; OCIO_DECLARE_HANDLE(OCIO_ConstConfigRcPtr); OCIO_DECLARE_HANDLE(OCIO_ConstColorSpaceRcPtr); OCIO_DECLARE_HANDLE(OCIO_ConstProcessorRcPtr); +OCIO_DECLARE_HANDLE(OCIO_ConstCPUProcessorRcPtr); OCIO_DECLARE_HANDLE(OCIO_ConstContextRcPtr); OCIO_DECLARE_HANDLE(OCIO_PackedImageDesc); -OCIO_DECLARE_HANDLE(OCIO_DisplayTransformRcPtr); -OCIO_DECLARE_HANDLE(OCIO_ConstTransformRcPtr); -OCIO_DECLARE_HANDLE(OCIO_ColorSpaceTransformRcPtr); -OCIO_DECLARE_HANDLE(OCIO_ExponentTransformRcPtr); -OCIO_DECLARE_HANDLE(OCIO_MatrixTransformRcPtr); -OCIO_DECLARE_HANDLE(OCIO_GroupTransformRcPtr); OCIO_DECLARE_HANDLE(OCIO_ConstLookRcPtr); /* Standard XYZ to linear sRGB transform, for fallback. */ @@ -163,32 +158,28 @@ void OCIO_lookRelease(OCIO_ConstLookRcPtr *look); OCIO_ConstProcessorRcPtr *OCIO_configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName); -OCIO_ConstProcessorRcPtr *OCIO_configGetProcessor(OCIO_ConstConfigRcPtr *config, - OCIO_ConstTransformRcPtr *transform); +void OCIO_processorRelease(OCIO_ConstProcessorRcPtr *cpu_processor); -void OCIO_processorApply(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img); -void OCIO_processorApply_predivide(OCIO_ConstProcessorRcPtr *processor, OCIO_PackedImageDesc *img); -void OCIO_processorApplyRGB(OCIO_ConstProcessorRcPtr *processor, float *pixel); -void OCIO_processorApplyRGBA(OCIO_ConstProcessorRcPtr *processor, float *pixel); -void OCIO_processorApplyRGBA_predivide(OCIO_ConstProcessorRcPtr *processor, float *pixel); - -void OCIO_processorRelease(OCIO_ConstProcessorRcPtr *p); +OCIO_ConstCPUProcessorRcPtr *OCIO_processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *processor); +void OCIO_cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img); +void OCIO_cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, + OCIO_PackedImageDesc *img); +void OCIO_cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel); +void OCIO_cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel); +void OCIO_cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel); +void OCIO_cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *processor); const char *OCIO_colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs); const char *OCIO_colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs); const char *OCIO_colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs); -OCIO_DisplayTransformRcPtr *OCIO_createDisplayTransform(void); -void OCIO_displayTransformSetInputColorSpaceName(OCIO_DisplayTransformRcPtr *dt, const char *name); -void OCIO_displayTransformSetDisplay(OCIO_DisplayTransformRcPtr *dt, const char *name); -void OCIO_displayTransformSetView(OCIO_DisplayTransformRcPtr *dt, const char *name); -void OCIO_displayTransformSetDisplayCC(OCIO_DisplayTransformRcPtr *dt, - OCIO_ConstTransformRcPtr *et); -void OCIO_displayTransformSetLinearCC(OCIO_DisplayTransformRcPtr *dt, - OCIO_ConstTransformRcPtr *et); -void OCIO_displayTransformSetLooksOverride(OCIO_DisplayTransformRcPtr *dt, const char *looks); -void OCIO_displayTransformSetLooksOverrideEnabled(OCIO_DisplayTransformRcPtr *dt, bool enabled); -void OCIO_displayTransformRelease(OCIO_DisplayTransformRcPtr *dt); +OCIO_ConstProcessorRcPtr *OCIO_createDisplayProcessor(OCIO_ConstConfigRcPtr *config, + const char *input, + const char *view, + const char *display, + const char *look, + const float scale, + const float exponent); OCIO_PackedImageDesc *OCIO_createOCIO_PackedImageDesc(float *data, long width, @@ -200,37 +191,20 @@ OCIO_PackedImageDesc *OCIO_createOCIO_PackedImageDesc(float *data, void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p); -OCIO_GroupTransformRcPtr *OCIO_createGroupTransform(void); -void OCIO_groupTransformSetDirection(OCIO_GroupTransformRcPtr *gt, const bool forward); -void OCIO_groupTransformPushBack(OCIO_GroupTransformRcPtr *gt, OCIO_ConstTransformRcPtr *tr); -void OCIO_groupTransformRelease(OCIO_GroupTransformRcPtr *gt); - -OCIO_ColorSpaceTransformRcPtr *OCIO_createColorSpaceTransform(void); -void OCIO_colorSpaceTransformSetSrc(OCIO_ColorSpaceTransformRcPtr *ct, const char *name); -void OCIO_colorSpaceTransformRelease(OCIO_ColorSpaceTransformRcPtr *ct); - -OCIO_ExponentTransformRcPtr *OCIO_createExponentTransform(void); -void OCIO_exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et, const float *exponent); -void OCIO_exponentTransformRelease(OCIO_ExponentTransformRcPtr *et); - -OCIO_MatrixTransformRcPtr *OCIO_createMatrixTransform(void); -void OCIO_matrixTransformSetValue(OCIO_MatrixTransformRcPtr *mt, - const float *m44, - const float *offset4); -void OCIO_matrixTransformRelease(OCIO_MatrixTransformRcPtr *mt); - -void OCIO_matrixTransformScale(float *m44, float *offset4, const float *scale4); - -int OCIO_supportGLSLDraw(void); -int OCIO_setupGLSLDraw(struct OCIO_GLSLDrawState **state_r, - OCIO_ConstProcessorRcPtr *ocio_processor_scene_to_ui, - OCIO_ConstProcessorRcPtr *ocio_processor_ui_to_display, - OCIO_CurveMappingSettings *curve_mapping_settings, - float dither, - bool predivide, - bool overlay); -void OCIO_finishGLSLDraw(struct OCIO_GLSLDrawState *state); -void OCIO_freeOGLState(struct OCIO_GLSLDrawState *state); +bool OCIO_supportGPUShader(void); +bool OCIO_gpuDisplayShaderBind(OCIO_ConstConfigRcPtr *config, + const char *input, + const char *view, + const char *display, + const char *look, + OCIO_CurveMappingSettings *curve_mapping_settings, + const float scale, + const float exponent, + const float dither, + const bool use_predivide, + const bool use_overlay); +void OCIO_gpuDisplayShaderUnbind(void); +void OCIO_gpuCacheFree(void); const char *OCIO_getVersionString(void); int OCIO_getVersionHex(void); |