Mesa (main): virgl/vtest: use correct resource stride in flush_frontbuffer
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Dec 11 18:09:49 UTC 2021
Module: Mesa
Branch: main
Commit: b6d04470272666de9cba86326e544436ee7eebb5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6d04470272666de9cba86326e544436ee7eebb5
Author: Italo Nicola <italonicola at collabora.com>
Date: Fri Jul 9 07:47:29 2021 -0300
virgl/vtest: use correct resource stride in flush_frontbuffer
The displaytarget's resource stride is alignment is currently 64-bytes,
where the shared resource stride is unaligned.
Signed-off-by: Italo Nicola <italonicola at collabora.com>
Reviewed-by: Gert Wollny <gert.wollny at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11714>
---
src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
index b452637c194..1d7fb623118 100644
--- a/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
+++ b/src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c
@@ -628,7 +628,8 @@ static void virgl_vtest_flush_frontbuffer(struct virgl_winsys *vws,
if (sub_box) {
box = *sub_box;
- offset = box.y / util_format_get_blockheight(res->format) * res->stride +
+ uint32_t shm_stride = util_format_get_stride(res->format, res->width);
+ offset = box.y / util_format_get_blockheight(res->format) * shm_stride +
box.x / util_format_get_blockwidth(res->format) * util_format_get_blocksize(res->format);
} else {
box.z = layer;
More information about the mesa-commit
mailing list