<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 16, 2016 at 7:10 PM, Frediano Ziglio <span dir="ltr"><<a href="mailto:fziglio@redhat.com" target="_blank">fziglio@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">><br>
> This patch modifies the Qxl ioctl structures in order<br>
> to make them unified. Ioctls now should inherit QXL_ESCAPE<br>
> structure.<br>
><br>
> Signed-off-by: Sameeh Jubran <<a href="mailto:sameeh@daynix.com">sameeh@daynix.com</a>><br>
<br>
</span>Yes, but doing so with a XDDM driver will fail.<br>
ExtEscape ABI should remain the same.<br>
The structure with the code was done as D3D APIs does not take<br>
a constant but just a raw buffer so the new structures should<br>
be used just with D3DKMTEscape.<br></blockquote><div>Then the second patch can be applied alone, this patch is not needed, I'll resend the second patch.<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
Frediano<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> ---<br>
>  vdagent/display_configuration.<wbr>cpp | 28 ++++++++++++++--------------<br>
>  1 file changed, 14 insertions(+), 14 deletions(-)<br>
><br>
> diff --git a/vdagent/display_<wbr>configuration.cpp<br>
> b/vdagent/display_<wbr>configuration.cpp<br>
> index 01fdbb0..cdbe5e8 100644<br>
> --- a/vdagent/display_<wbr>configuration.cpp<br>
> +++ b/vdagent/display_<wbr>configuration.cpp<br>
> @@ -153,26 +153,26 @@ struct DISPLAYCONFIG_PATH_INFO {<br>
>      UINT32 flags;<br>
>  };<br>
><br>
> -struct QXLMonitorEscape {<br>
> +struct QXLMonitorEscape : QXL_ESCAPE {<br>
>      QXLMonitorEscape(DEVMODE* dev_mode)<br>
>      {<br>
> -        ZeroMemory(&_head, sizeof(_head));<br>
> -        _head.x = dev_mode->dmPosition.x;<br>
> -        _head.y = dev_mode->dmPosition.y;<br>
> -        _head.width = dev_mode->dmPelsWidth;<br>
> -        _head.height = dev_mode->dmPelsHeight;<br>
> +        ZeroMemory(&monitor_config, sizeof(monitor_config));<br>
> +        ioctl = QXL_ESCAPE_MONITOR_CONFIG;<br>
> +        monitor_config.x = dev_mode->dmPosition.x;<br>
> +        monitor_config.y = dev_mode->dmPosition.y;<br>
> +        monitor_config.width = dev_mode->dmPelsWidth;<br>
> +        monitor_config.height = dev_mode->dmPelsHeight;<br>
>      }<br>
> -    QXLHead _head;<br>
>  };<br>
><br>
> -struct QxlCustomEscapeObj : public QXLEscapeSetCustomDisplay {<br>
> +struct QxlCustomEscapeObj : public QXL_ESCAPE {<br>
>      QxlCustomEscapeObj(uint32_t bitsPerPel, uint32_t width, uint32_t height)<br>
>      {<br>
> -        xres = width;<br>
> -        yres = height;<br>
> -        bpp = bitsPerPel;<br>
> +        ioctl = QXL_ESCAPE_SET_CUSTOM_DISPLAY;<br>
> +        custom_display.xres = width;<br>
> +        custom_display.yres = height;<br>
> +        custom_display.bpp = bitsPerPel;<br>
>      }<br>
> -    QxlCustomEscapeObj() {};<br>
>  };<br>
><br>
>  DisplayConfig* DisplayConfig::create_config()<br>
> @@ -252,7 +252,7 @@ bool XPDMInterface::custom_display_<wbr>escape(LPCTSTR<br>
> device_name, DEVMODE* dev_mode<br>
>                                              dev_mode->dmPelsWidth,<br>
>                                              dev_mode->dmPelsHeight);<br>
><br>
>      int err = ExtEscape(hdc, QXL_ESCAPE_SET_CUSTOM_DISPLAY,<br>
> -              sizeof(<wbr>QXLEscapeSetCustomDisplay), (LPCSTR) &custom_escape, 0,<br>
> NULL);<br>
> +              sizeof(QxlCustomEscapeObj), (LPCSTR) &custom_escape, 0, NULL);<br>
>      if (err <= 0) {<br>
>          vd_printf("%s: Can't set custom display, perhaps running with an<br>
>          older driver?",<br>
>              __FUNCTION__);<br>
> @@ -281,7 +281,7 @@ bool XPDMInterface::update_monitor_<wbr>config(LPCTSTR<br>
> device_name, DisplayMode* mode<br>
>          return false;<br>
>      }<br>
><br>
> -    err = ExtEscape(hdc, QXL_ESCAPE_MONITOR_CONFIG, sizeof(QXLHead),<br>
> +    err = ExtEscape(hdc, QXL_ESCAPE_MONITOR_CONFIG,<br>
> sizeof(QXLMonitorEscape),<br>
>                      (LPCSTR) &monitor_config, 0, NULL);<br>
>      if (err < 0) {<br>
>          vd_printf("%s: %S can't update monitor config, may have old, old<br>
>          driver",<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font size="4" color="#0b5394" face="times new roman, serif">Respectfully,<br></font><div style="font-size:12.8px;color:rgb(136,136,136)"><font size="4" color="#0b5394" face="times new roman, serif"><b><i>Sameeh Jubran</i></b></font></div><div style="font-size:12.8px;color:rgb(136,136,136)"><i style="color:rgb(7,55,99);font-family:"times new roman",serif;font-size:large"><span style="line-height:15px"><a href="https://il.linkedin.com/pub/sameeh-jubran/87/747/a8a" title="View public profile" name="UNIQUE_ID_SafeHtmlFilter_UNIQUE_ID_SafeHtmlFilter_UNIQUE_ID_SafeHtmlFilter_UNIQUE_ID_SafeHtmlFilter_14e2c1de96f8c195_UNIQUE_ID_SafeHtmlFilter_SafeHtmlFilter_SafeHtmlFilter_webProfileURL" style="color:rgb(17,85,204);margin:0px;padding:0px;border-width:0px;outline:none;vertical-align:baseline;text-decoration:none" target="_blank">Linkedin</a></span></i><br></div><div style="font-size:12.8px;color:rgb(136,136,136)"><font size="4" face="times new roman, serif" color="#073763"><i>Junior Software Engineer @ <a href="http://www.daynix.com" target="_blank">Daynix</a>.</i></font></div></div></div></div></div></div></div>
</div></div>