intel: Fix scatter/gather for depthstencil textures

During anholt's MapTextureImage refactoring, the call to
intel_tex_image_s8z24_create_renderbuffers was missplaced. It needs to
occur *after* the miptree is allocated.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad@chad-versace.us>
This commit is contained in:
Chad Versace 2011-10-07 12:12:46 -07:00
parent b48e02383e
commit ef6de0141c

View file

@ -66,11 +66,6 @@ intel_alloc_texture_image_buffer(struct gl_context *ctx,
*/
ctx->Driver.FreeTextureImageBuffer(ctx, image);
if (intel->must_use_separate_stencil
&& image->TexFormat == MESA_FORMAT_S8_Z24) {
intel_tex_image_s8z24_create_renderbuffers(intel, intel_image);
}
if (intel_texobj->mt &&
intel_miptree_match_image(intel_texobj->mt, image)) {
intel_miptree_reference(&intel_image->mt, intel_texobj->mt);
@ -90,6 +85,11 @@ intel_alloc_texture_image_buffer(struct gl_context *ctx,
*/
intel_miptree_reference(&intel_texobj->mt, intel_image->mt);
if (intel->must_use_separate_stencil
&& image->TexFormat == MESA_FORMAT_S8_Z24) {
intel_tex_image_s8z24_create_renderbuffers(intel, intel_image);
}
DBG("%s: alloc obj %p level %d %dx%dx%d using new miptree %p\n",
__FUNCTION__, texobj, image->Level,
width, height, depth, intel_image->mt);