<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle21
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1027" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hello Pritima,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">One possible explanation from my site: <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter" />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0" />
<v:f eqn="sum @0 1 0" />
<v:f eqn="sum 0 0 @1" />
<v:f eqn="prod @2 1 2" />
<v:f eqn="prod @3 21600 pixelWidth" />
<v:f eqn="prod @3 21600 pixelHeight" />
<v:f eqn="sum @0 0 1" />
<v:f eqn="prod @6 1 2" />
<v:f eqn="prod @7 21600 pixelWidth" />
<v:f eqn="sum @8 21600 0" />
<v:f eqn="prod @7 21600 pixelHeight" />
<v:f eqn="sum @10 21600 0" />
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" />
<o:lock v:ext="edit" aspectratio="t" />
</v:shapetype><v:shape id="Rectangle_x0020_6" o:spid="_x0000_s1026" type="#_x0000_t75" style='position:absolute;margin-left:63pt;margin-top:12.85pt;width:174pt;height:42pt;z-index:251659264;visibility:visible;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;mso-position-horizontal-relative:text;mso-position-vertical:absolute;mso-position-vertical-relative:text'>
<v:imagedata src="cid:image001.png@01DA8B4D.9D8A7350" o:title="" />
<o:lock v:ext="edit" aspectratio="f" />
</v:shape><![endif]--><![if !vml]><span style="mso-ignore:vglayout;position:absolute;z-index:251659264;margin-left:84px;margin-top:17px;width:232px;height:56px"><img width="232" height="56" style="width:2.4166in;height:.5833in" src="cid:image001.png@01DA8B4D.9D8A7350" v:shapes="Rectangle_x0020_6"></span><![endif]>For
 me it looks like the buffer you send to compositor has a content below<o:p></o:p></p>
<p class="MsoNormal"><img width="313" height="49" style="width:3.2604in;height:.5104in" id="_x0000_i1029" src="cid:image005.png@01DA8B4D.0BE59970"><o:p></o:p></p>
<p class="MsoNormal">And the red area has some alpha value which is wrongly interpreted by the display unit during the composition.<o:p></o:p></p>
<p class="MsoNormal">If GPU composition is enforced the GPU can interpret the values correctly and provide expected results..<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>From:</b> wayland-devel <wayland-devel-bounces@lists.freedesktop.org>
<b>On Behalf Of </b>Pritama Biswas (QUIC)<br>
<b>Sent:</b> Monday, April 8, 2024 3:31 PM<br>
<b>To:</b> wayland-devel@lists.freedesktop.org<br>
<b>Cc:</b> Namit Solanki (QUIC) <quic_nsolanki@quicinc.com><br>
<b>Subject:</b> RE: Corruption seen in GPU composed output<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Team,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Please find the comparison between working and non-working use-cases.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Issue case: When status bar and camera layer are GPU composed and video layer is composed by Display Processing Unit.                                                                                                                       
<o:p></o:p></p>
<p class="MsoNormal"><img width="307" height="183" style="width:3.1979in;height:1.9062in" id="Picture_x0020_3" src="cid:image006.png@01DA8B4D.0BE59970"> 
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Working case: When all layers are sent to gl-renderer for GPU composition.<o:p></o:p></p>
<p class="MsoNormal"><img width="307" height="173" style="width:3.1979in;height:1.802in" id="Picture_x0020_5" src="cid:image007.jpg@01DA8B4D.0BE59970" alt="A person posing for a picture

Description automatically generated"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks and Regards,<o:p></o:p></p>
<p class="MsoNormal">Pritama Biswas<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>From:</b> Pritama Biswas (QUIC) <br>
<b>Sent:</b> Monday, April 8, 2024 6:28 PM<br>
<b>To:</b> 'wayland-devel@lists.freedesktop.org' <<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a>><br>
<b>Cc:</b> Namit Solanki (QUIC) <<a href="mailto:quic_nsolanki@quicinc.com">quic_nsolanki@quicinc.com</a>><br>
<b>Subject:</b> Corruption seen in GPU composed output<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt">Hi Weston team,<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We are seeing corruption when running video playback in fullscreen (1080p) + camera in non-fullscreen mode (480x270) in Weston 10.<o:p></o:p></p>
<p class="MsoNormal"><img border="0" width="463" height="264" style="width:4.8229in;height:2.75in" id="Picture_x0020_1" src="cid:image008.jpg@01DA8B4D.0BE59970" alt="A person standing in front of a painting

Description automatically generated"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here, the status bar and the camera layer is sent for GPU composition via gl-renderer and the video layer is sent to Display processing unit for composition.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We took layer buffer dump for GPU composer layer and confirmed that the GPU composed output is corrupted as shown below:<o:p></o:p></p>
<p class="MsoNormal"><img border="0" width="466" height="229" style="width:4.8541in;height:2.3854in" id="Picture_x0020_2" src="cid:image009.png@01DA8B4D.0BE59970"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">When we force all the layers (camera + Video + Status bar) to go to GPU composition, issue is not seen.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any pointers to debug or fix this issue will be helpful.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks and Regards,<o:p></o:p></p>
<p class="MsoNormal">Pritama Biswas<o:p></o:p></p>
</div>
</body>
</html>