Nikolay Sivov : evr/mixer: Set destination alpha to fully opaque.

Alexandre Julliard julliard at winehq.org
Fri Nov 5 17:15:53 CDT 2021


Module: wine
Branch: master
Commit: e0b30bc51a3d6e43651d9aa0a6d3eb103182c58a
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=e0b30bc51a3d6e43651d9aa0a6d3eb103182c58a

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Fri Nov  5 13:17:01 2021 +0300

evr/mixer: Set destination alpha to fully opaque.

It's necessary for HW devices, software reference device does not support blending.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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(&params.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, &params, samples,
                 sample_count, NULL)))




More information about the wine-cvs mailing list