Commit 5f0e4c7c authored by Jason Ekstrand's avatar Jason Ekstrand

i965: Delete the meta-base CopyImageSubData implementation

When I originally implemented the ARB_copy_image extension, the fast-path
was written in meta using texture views.  This path only worked if both
images were uncompressed color images.  All of the other cases fell back to
the blitter or, in the worst case, mapping and memcpy on the CPU.  Now that
we have the blorp path, it handles all copies ever and the old meta,
blitter, and CPU paths are only used on gen5 and below.  The primary reason
why we needed the meta path (apart from having a slow blitter on later
hardware) was to handle multisampling which gen5 and earlier don't support
anyway.  Since the blitter is reasonably fast on gen5, we can just delete
the meta path and get rid of all that terrible code.

If we decide that we're ok with just disabling ARB_copy_image on gen5 and
earlier (I personally am), then we could get rid of another 300 lines or so
of semi-hairy code.
Reviewed-by: Anuj Phogat's avatarAnuj Phogat <>
parent 06d86492
......@@ -621,7 +621,6 @@ COMMON_DRIVER_FILES = \
drivers/common/driverfuncs.c \
drivers/common/driverfuncs.h \
drivers/common/meta_blit.c \
drivers/common/meta_copy_image.c \
drivers/common/meta_generate_mipmap.c \
drivers/common/meta_tex_subimage.c \
drivers/common/meta.c \
......@@ -492,16 +492,6 @@ _mesa_meta_and_swrast_BlitFramebuffer(struct gl_context *ctx,
GLint dstX1, GLint dstY1,
GLbitfield mask, GLenum filter);
_mesa_meta_CopyImageSubData_uncompressed(struct gl_context *ctx,
struct gl_texture_image *src_tex_image,
struct gl_renderbuffer *src_renderbuffer,
int src_x, int src_y, int src_z,
struct gl_texture_image *dst_tex_image,
struct gl_renderbuffer *dst_renderbuffer,
int dst_x, int dst_y, int dst_z,
int src_width, int src_height);
extern void
_mesa_meta_Clear(struct gl_context *ctx, GLbitfield buffers);
This diff is collapsed.
......@@ -183,16 +183,6 @@ intel_copy_image_sub_data(struct gl_context *ctx,
struct intel_mipmap_tree *src_mt, *dst_mt;
unsigned src_level, dst_level;
if (brw->gen < 6 &&
src_image, src_renderbuffer,
src_x, src_y, src_z,
dst_image, dst_renderbuffer,
dst_x, dst_y, dst_z,
src_width, src_height)) {
if (src_image) {
src_mt = intel_texture_image(src_image)->mt;
src_level = src_image->Level + src_image->TexObject->MinLevel;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment