<table><tr><td style="">davidedmundson created this revision.<br />davidedmundson added a reviewer: Plasma.<br />Restricted Application added a project: KWin.<br />Restricted Application added subscribers: KWin, kwin, plasma-devel.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D8600" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Under wayland we support high DPI putting by putting a separation<br />
between the logical co-ordinate system and the resolution of rendered<br />
assets.</p>

<p>When a window is on a high DPI screen, we should render at the higher<br />
resolution.</p>

<p>Like the window scaling this handles any combination of a 2x scaled<br />
decoration being rendered on a 1x screen or vice versa.</p>

<hr class="remarkup-hr" />

<p>This patch is a bit different from the other scaling stuff. We have to<br />
generate the quads *before* we have an updated texture with the new<br />
scale. This means the scale isn't attached to the buffer like elsewhere.</p>

<p>That's why I added a property in TopLevel so there's still one canonical<br />
source and things can't get out of sync.</p>

<p>BUG: 384765</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Crystal clear breeze and oxygen decos on my <span class="phabricator-remarkup-mention-unknown">@2x</span> display<br />
Drag windows to attached <span class="phabricator-remarkup-mention-unknown">@1x</span> display, things still look OK when across 2 screens<br />
Changing the scale of a screen updated the decos instantly</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R108 KWin</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8600" rel="noreferrer">https://phabricator.kde.org/D8600</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>decorations/decorationrenderer.cpp<br />
plugins/scenes/opengl/scene_opengl.cpp<br />
plugins/scenes/qpainter/scene_qpainter.cpp<br />
plugins/scenes/xrender/scene_xrender.cpp<br />
scene.cpp<br />
scene.h<br />
toplevel.cpp<br />
toplevel.h</div></div></div><br /><div><strong>To: </strong>davidedmundson, Plasma<br /><strong>Cc: </strong>plasma-devel, kwin, KWin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart<br /></div>