SetMiscFlags method

Sets transform flags that specify how to generate the output.


HRESULT retVal = object.SetMiscFlags(dwMiscFlags);


dwMiscFlags [in]


Value or combination of values from the DXTMISCFLAGS enumeration that specifies how the transform generates output. You can specify one or both of the following values.


The transform performs a composite over the output surface when writing the result.


The transform performs a dither of its result into the output surface.


Setting the DXTMF_BLEND_WITH_OUTPUT flag causes the transform to composite the result over the output surface samples. This reduces memory swapping that occurs if the result sample actually replaces the sample in the output buffer.

The constructor of the transform sets the transform flags, depending on the kind of transform. You need to use the IDXTransform::GetMiscFlags method to find out what the transform's flags are before using IDXTransform::SetMiscFlags to change the flags. Note that you can only change the DXTMF_BLEND_WITH_OUTPUT and DXTMF_DITHER_OUTPUT flags. The remaining flags are inherent properties of the transform and cannot be changed by IDXTransform::SetMiscFlags.

If the DXTMF_BOUNDS_SUPPORTED flag is set, you can specify a DXBNDS structure in the IDXTransform::Execute method. If the DXTMF_PLACEMENT_SUPPORTED flag is set, you can specify a DXVEC structure in IDXTransform::Execute. If either of these flags is not set, then the transform expects you to specify a corresponding NULL in place of the parameter. Failing to do this will cause an error in the call to the IDXTransform::Execute method.

The constructor sets the DXTMF_BLEND_WITH_OUTPUT flag by default. You can reset this flag.