[virglrenderer-devel] [PATCH] vrend: specify destination z in resource copy fallback path

Gurchetan Singh gurchetansingh at chromium.org
Thu Mar 15 00:34:12 UTC 2018


We don't always start at a z-offset of zero. For example, when
Gallium copies a temporary depth texture to the final depth texture
[i.e, the one finalized in st_finalize_texture(..)], it sends the
copy commands one slice at a time.

Fixes:
dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth_component32f_2d_array
dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth_component24_2d_array
---
 src/vrend_renderer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
index 70fbdca..7327965 100644
--- a/src/vrend_renderer.c
+++ b/src/vrend_renderer.c
@@ -5748,7 +5748,7 @@ static void vrend_resource_copy_fallback(struct vrend_context *ctx,
          } else if (ctarget == GL_TEXTURE_3D ||
                     ctarget == GL_TEXTURE_2D_ARRAY ||
                     ctarget == GL_TEXTURE_CUBE_MAP_ARRAY) {
-            glTexSubImage3D(ctarget, dst_level, dstx, dsty, 0,src_box->width, src_box->height, src_box->depth, glformat, gltype, tptr + slice_offset);
+            glTexSubImage3D(ctarget, dst_level, dstx, dsty, dstz, src_box->width, src_box->height, src_box->depth, glformat, gltype, tptr + slice_offset);
          } else {
             glTexSubImage2D(ctarget, dst_level, dstx, dsty, src_box->width, src_box->height, glformat, gltype, tptr + slice_offset);
          }
-- 
2.13.5



More information about the virglrenderer-devel mailing list