diff options
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 6 | ||||
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_tex_copy.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp index c70dc22330a..a6b2bbf1a65 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp @@ -347,6 +347,12 @@ brw_blorp_copytexsubimage(struct intel_context *intel, return false; } + /* We can't use blorp to copy to a 1D array texture, since it can only + * write to one layer of the texture at a time. + */ + if (dst_mt->target == GL_TEXTURE_1D_ARRAY) + return false; + /* Source clipping shouldn't be necessary, since copytexsubimage (in * src/mesa/main/teximage.c) calls _mesa_clip_copytexsubimage() which * takes care of it. diff --git a/src/mesa/drivers/dri/intel/intel_tex_copy.c b/src/mesa/drivers/dri/intel/intel_tex_copy.c index 363cbbd182d..d8e65baad5b 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_copy.c +++ b/src/mesa/drivers/dri/intel/intel_tex_copy.c @@ -83,6 +83,7 @@ intel_copy_texsubimage(struct intel_context *intel, if (intelImage->base.Base.TexObject->Target == GL_TEXTURE_1D_ARRAY || intelImage->base.Base.TexObject->Target == GL_TEXTURE_2D_ARRAY) { perf_debug("no support for array textures\n"); + return false; } /* glCopyTexImage (and the glBlitFramebuffer() path that reuses this) |