On non vgpu10, driver doesn't support util_blitter_blit for SVGA3D_Z_D16,
SVGA3D_Z_D24x8, SVGA3D_Z_D24S8. Patch fixes following piglit tests regression on hwv8 caused
by commit
27bf35caea5e:
spec@arb_depth_texture@fbo-depth-gl-depth-component16-blit
spec@arb_depth_texture@fbo-depth-gl-depth-component24-blit
spec@arb_depth_texture@fbo-depth-gl-depth-component32-blit
Tested with mtt-piglit on hw 8,9,10,11,13 and mtt-glretrace on windows and linux.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
SVGA_STATS_TIME_PUSH(sws, SVGA_STATS_TIME_BLITBLITTER);
+ /**
+ * Avoid using util_blitter_blit() for these depth formats on non-vgpu10
+ * devices because these depth formats only support comparison mode
+ * and not ordinary sampling.
+ */
+ if (!svga_have_vgpu10(svga) && (blit.mask & PIPE_MASK_Z) &&
+ (svga_texture(dst)->key.format == SVGA3D_Z_D16 ||
+ svga_texture(dst)->key.format == SVGA3D_Z_D24X8 ||
+ svga_texture(dst)->key.format == SVGA3D_Z_D24S8)) {
+ ret = false;
+ goto done;
+ }
+
/**
* If format is srgb and blend is enabled then color values need
* to be converted into linear format.