<div dir="ltr"><div>Reviewed-by: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>><br><br></div>Marek<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 13, 2017 at 12:05 AM, Rob Herring <span dir="ltr"><<a href="mailto:robh@kernel.org" target="_blank">robh@kernel.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Commit 3dfe61ed6ec6 ("gallium: decrease the size of pipe_box - 24 -> 16<br>
bytes") changed the size of pipe_box, but the virgl code was relying on<br>
pipe_box and drm_virtgpu_3d_box structs having the same size/layout doing<br>
a struct copy. Copy the fields one by one instead.<br>
<br>
Cc: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>><br>
Cc: Dave Airlie <<a href="mailto:airlied@redhat.com">airlied@redhat.com</a>><br>
Signed-off-by: Rob Herring <<a href="mailto:robh@kernel.org">robh@kernel.org</a>><br>
---<br>
 src/gallium/winsys/virgl/drm/<wbr>virgl_drm_winsys.c | 14 ++++++++++++--<br>
 1 file changed, 12 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/src/gallium/winsys/virgl/<wbr>drm/virgl_drm_winsys.c b/src/gallium/winsys/virgl/<wbr>drm/virgl_drm_winsys.c<br>
index 4708126aed9d..0edae4767e6b 100644<br>
--- a/src/gallium/winsys/virgl/<wbr>drm/virgl_drm_winsys.c<br>
+++ b/src/gallium/winsys/virgl/<wbr>drm/virgl_drm_winsys.c<br>
@@ -264,7 +264,12 @@ virgl_bo_transfer_put(struct virgl_winsys *vws,<br>
<br>
    memset(&tohostcmd, 0, sizeof(tohostcmd));<br>
    tohostcmd.bo_handle = res->bo_handle;<br>
-   tohostcmd.box = *(struct drm_virtgpu_3d_box *)box;<br>
+   tohostcmd.box.x = box->x;<br>
+   tohostcmd.box.y = box->y;<br>
+   tohostcmd.box.z = box->z;<br>
+   tohostcmd.box.w = box->width;<br>
+   tohostcmd.box.h = box->height;<br>
+   tohostcmd.box.d = box->depth;<br>
    tohostcmd.offset = buf_offset;<br>
    tohostcmd.level = level;<br>
   // tohostcmd.stride = stride;<br>
@@ -288,7 +293,12 @@ virgl_bo_transfer_get(struct virgl_winsys *vws,<br>
    fromhostcmd.offset = buf_offset;<br>
   // fromhostcmd.stride = stride;<br>
   // fromhostcmd.layer_stride = layer_stride;<br>
-   fromhostcmd.box = *(struct drm_virtgpu_3d_box *)box;<br>
+   fromhostcmd.box.x = box->x;<br>
+   fromhostcmd.box.y = box->y;<br>
+   fromhostcmd.box.z = box->z;<br>
+   fromhostcmd.box.w = box->width;<br>
+   fromhostcmd.box.h = box->height;<br>
+   fromhostcmd.box.d = box->depth;<br>
    return drmIoctl(vdws->fd, DRM_IOCTL_VIRTGPU_TRANSFER_<wbr>FROM_HOST, &fromhostcmd);<br>
 }<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
2.11.0<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>