Standard version: 1.4
RE:Vision would like an host to test Plugin Instances part
Suggested Solution For Plugin Instances
The following properties, currently only settable in the describe actions, should be dynamically setable in an instance.
For example a plugin might support tiles in CPU but not in GPU
For example an host might be GPU centric but a driver comes up and break plug-in implementation on GPU, at least plug-in can be selected by user to render CPU.
Feature Request has been broken in two - parameter hint moved to next version
Host that support these 2 processing modes should allow an effect to change their mind in Instance Changed.
For plug-ins, it is safer to attach such state changes to a parameter so there is not a synch issue with render threads.
We might need at some point a way for host to communicate user has selected to render GPU or CPU sort of things. This is different.
Right now it's what we do: (sorry for a bit of non pure OFX here)
gPropHost = (OfxPropertySuiteV1 *) gHost->fetchSuite(gHost->host, kOfxPropertySuite, 1); // gHost is cached here on Loading of plugin
mEffectHost->getPropertySet(effect, &effectProps); // OfxImageEffectHandle effect is passed by host
gPropHost->propSetString(effectProps, kOfxImageEffectPropOpenGLRenderSupported, 0, "true"); // or false is how we envision switching state
When setting to true we also do this (assuming it's not set):
// we support all the OpenGL bit depths
gPropHost->propSetString(effectProps, kOfxOpenGLPropPixelDepth, 0, kOfxBitDepthByte);
gPropHost->propSetString(effectProps, kOfxOpenGLPropPixelDepth, 1, kOfxBitDepthShort);
gPropHost->propSetString(effectProps, kOfxOpenGLPropPixelDepth, 2, kOfxBitDepthFloat);
// and assuming host will convert to 32b float - kOfxBitDepthHalf - as we don't handle it (we could for IO, butsame as host, see no advantage today to us)
No comments on this change yet