It's necessary for HW devices, software reference device does not support blending.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/evr/mixer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/evr/mixer.c b/dlls/evr/mixer.c index fb7fcf79d9c..bb3f938cb64 100644 --- a/dlls/evr/mixer.c +++ b/dlls/evr/mixer.c @@ -1326,7 +1326,7 @@ static void video_mixer_render(struct video_mixer *mixer, IDirect3DSurface9 *rt)
video_mixer_normalize_rect(&dst, &stream_vis, &norm); video_mixer_scale_rect(&samples[sample_count].DstRect, rt_desc.Width, rt_desc.Height, &norm); - samples[sample_count].PlanarAlpha = DXVA2FloatToFixed(1.0f); + samples[sample_count].PlanarAlpha = DXVA2_Fixed32OpaqueAlpha();
sample_count++; } @@ -1335,6 +1335,7 @@ static void video_mixer_render(struct video_mixer *mixer, IDirect3DSurface9 *rt) { SetRect(¶ms.TargetRect, 0, 0, rt_desc.Width, rt_desc.Height); params.BackgroundColor = mixer->bkgnd_color.ayuv; + params.Alpha = DXVA2_Fixed32OpaqueAlpha();
if (FAILED(hr = IDirectXVideoProcessor_VideoProcessBlt(mixer->processor, rt, ¶ms, samples, sample_count, NULL)))