intel: Call intel_prepare_render() before looking up regions.
Fixes #27213.
This commit is contained in:
@@ -119,8 +119,6 @@ intelEmitCopyBlit(struct intel_context *intel,
|
||||
break;
|
||||
} while (pass < 2);
|
||||
|
||||
intel_prepare_render(intel);
|
||||
|
||||
if (pass >= 2)
|
||||
return GL_FALSE;
|
||||
|
||||
|
||||
@@ -448,6 +448,8 @@ intel_miptree_image_copy(struct intel_context *intel,
|
||||
width = ALIGN(width, align_w);
|
||||
}
|
||||
|
||||
intel_prepare_render(intel);
|
||||
|
||||
for (i = 0; i < depth; i++) {
|
||||
intel_miptree_get_image_offset(src, level, face, i, &src_x, &src_y);
|
||||
intel_miptree_get_image_offset(dst, level, face, i, &dst_x, &dst_y);
|
||||
|
||||
@@ -108,8 +108,8 @@ do_blit_copypixels(GLcontext * ctx,
|
||||
GLint dstx, GLint dsty, GLenum type)
|
||||
{
|
||||
struct intel_context *intel = intel_context(ctx);
|
||||
struct intel_region *dst = intel_drawbuf_region(intel);
|
||||
struct intel_region *src = copypix_src_region(intel, type);
|
||||
struct intel_region *dst;
|
||||
struct intel_region *src;
|
||||
struct gl_framebuffer *fb = ctx->DrawBuffer;
|
||||
struct gl_framebuffer *read_fb = ctx->ReadBuffer;
|
||||
GLint orig_dstx;
|
||||
@@ -134,13 +134,16 @@ do_blit_copypixels(GLcontext * ctx,
|
||||
ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F)
|
||||
return GL_FALSE;
|
||||
|
||||
intel_prepare_render(intel);
|
||||
|
||||
dst = intel_drawbuf_region(intel);
|
||||
src = copypix_src_region(intel, type);
|
||||
|
||||
if (!src || !dst)
|
||||
return GL_FALSE;
|
||||
|
||||
intelFlush(&intel->ctx);
|
||||
|
||||
intel_prepare_render(intel);
|
||||
|
||||
/* Clip to destination buffer. */
|
||||
orig_dstx = dstx;
|
||||
orig_dsty = dsty;
|
||||
|
||||
Reference in New Issue
Block a user