- layout = util_format_description(dst_templ.format)->layout;
-
- if (!util_blitter_is_copy_supported(i915->blitter, dst, src)) {
- switch (util_format_get_blocksize(dst_templ.format)) {
- case 1:
- dst_templ.format = PIPE_FORMAT_I8_UNORM;
- break;
- case 2:
- dst_templ.format = PIPE_FORMAT_B5G6R5_UNORM;
- break;
- case 4:
- dst_templ.format = PIPE_FORMAT_B8G8R8A8_UNORM;
- break;
- default:
- debug_printf("i915: copy_region: Unhandled format: %s. Falling back to software.\n"
- "i915: copy_region: Software fallback doesn't work for tiled textures.\n",
- util_format_short_name(dst_templ.format));
- }
- src_templ.format = dst_templ.format;
- }
+ /* Fallback for depth&stencil. XXX: see if we can use a proxy format */
+ desc = util_format_description(src->format);
+ if (desc->colorspace == UTIL_FORMAT_COLORSPACE_ZS)
+ goto fallback;