height,
depth,
intelImage->base.Base.NumSamples,
- INTEL_MIPTREE_TILING_ANY,
- layout_flags);
+ layout_flags | MIPTREE_LAYOUT_ALLOC_ANY_TILED);
}
static void
DBG("%s mesa_format %s target %s format %s type %s level %d %dx%dx%d\n",
__func__, _mesa_get_format_name(texImage->TexFormat),
- _mesa_lookup_enum_by_nr(texImage->TexObject->Target),
- _mesa_lookup_enum_by_nr(format), _mesa_lookup_enum_by_nr(type),
+ _mesa_enum_to_string(texImage->TexObject->Target),
+ _mesa_enum_to_string(format), _mesa_enum_to_string(type),
texImage->Level, texImage->Width, texImage->Height, texImage->Depth);
/* Allocate storage for texture data. */
}
static void
-intel_get_tex_image(struct gl_context *ctx,
- GLenum format, GLenum type, GLvoid *pixels,
- struct gl_texture_image *texImage) {
+intel_get_tex_sub_image(struct gl_context *ctx,
+ GLint xoffset, GLint yoffset, GLint zoffset,
+ GLsizei width, GLsizei height, GLint depth,
+ GLenum format, GLenum type, GLvoid *pixels,
+ struct gl_texture_image *texImage)
+{
struct brw_context *brw = brw_context(ctx);
bool ok;
DBG("%s\n", __func__);
if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
- if (_mesa_meta_pbo_GetTexSubImage(ctx, 3, texImage, 0, 0, 0,
- texImage->Width, texImage->Height,
- texImage->Depth, format, type,
+ if (_mesa_meta_pbo_GetTexSubImage(ctx, 3, texImage,
+ xoffset, yoffset, zoffset,
+ width, height, depth, format, type,
pixels, &ctx->Pack)) {
/* Flush to guarantee coherency between the render cache and other
* caches the PBO could potentially be bound to after this point.
perf_debug("%s: fallback to CPU mapping in PBO case\n", __func__);
}
- ok = intel_gettexsubimage_tiled_memcpy(ctx, texImage, 0, 0,
- texImage->Width, texImage->Height,
+ ok = intel_gettexsubimage_tiled_memcpy(ctx, texImage, xoffset, yoffset,
+ width, height,
format, type, pixels, &ctx->Pack);
if(ok)
return;
- _mesa_meta_GetTexImage(ctx, format, type, pixels, texImage);
+ _mesa_meta_GetTexSubImage(ctx, xoffset, yoffset, zoffset,
+ width, height, depth,
+ format, type, pixels, texImage);
DBG("%s - DONE\n", __func__);
}
functions->TexImage = intelTexImage;
functions->EGLImageTargetTexture2D = intel_image_target_texture_2d;
functions->BindRenderbufferTexImage = intel_bind_renderbuffer_tex_image;
- functions->GetTexImage = intel_get_tex_image;
+ functions->GetTexSubImage = intel_get_tex_sub_image;
}