Module: Mesa
Branch: master
Commit: fa5e9f1f73f64ac089f8efd5b101a77d06d22fcd
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa5e9f1f73f64ac089f8efd5b101a77d06d22fcd

Author: Erik Faye-Lund <[email protected]>
Date:   Wed Sep 12 09:48:41 2018 +0200

virgl: adjust strides when mapping temp-resources

When we're mapping temp-resources, we clip the resource to the
transfer-box, which means the stride might not be correct any more.

So let's update the stride from the temp-resource, and recompute the
layer-stride.

This fixes crashes when running dEQP with --deqp-gl-config-name=rgba8888d24s8ms4

Signed-off-by: Erik Faye-Lund <[email protected]>
Fixes: a8987b88ff1 "virgl: add driver for virtio-gpu 3D (v2)"
Reviewed-by: Dave Airlie <[email protected]>

---

 src/gallium/drivers/virgl/virgl_texture.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/virgl/virgl_texture.c 
b/src/gallium/drivers/virgl/virgl_texture.c
index 0902f9b817..9edf0ced0c 100644
--- a/src/gallium/drivers/virgl/virgl_texture.c
+++ b/src/gallium/drivers/virgl/virgl_texture.c
@@ -176,6 +176,8 @@ static void *virgl_texture_transfer_map(struct pipe_context 
*ctx,
       /* we want to do a resolve blit into the temporary */
       hw_res = trans->resolve_tmp->hw_res;
       offset = 0;
+      trans->base.stride = ((struct 
virgl_texture*)trans->resolve_tmp)->stride[level];
+      trans->base.layer_stride = trans->base.stride * nblocksy;
    } else {
       offset = vrend_get_tex_image_offset(vtex, level, box->z);
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to