Before, we were only allocating these from our TexImage, so if the texture image was set up in any other way (non-accelerated glGenerateMipmaps()), they'd be missing or wrong.tags/mesa-8.0-rc1
@@ -60,6 +60,11 @@ intel_alloc_texture_image_buffer(struct gl_context *ctx, | |||
struct gl_texture_object *texobj = image->TexObject; | |||
struct intel_texture_object *intel_texobj = intel_texture_object(texobj); | |||
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); |
@@ -68,6 +68,9 @@ void intel_tex_map_images(struct intel_context *intel, | |||
void intel_tex_unmap_images(struct intel_context *intel, | |||
struct intel_texture_object *intelObj); | |||
bool | |||
intel_tex_image_s8z24_create_renderbuffers(struct intel_context *intel, | |||
struct intel_texture_image *image); | |||
void intel_tex_image_s8z24_scatter(struct intel_context *intel, | |||
struct intel_texture_image *intel_image); |
@@ -282,7 +282,7 @@ intel_tex_image_s8z24_gather(struct intel_context *intel, | |||
intel_tex_image_s8z24_scattergather(intel, intel_image, false); | |||
} | |||
static bool | |||
bool | |||
intel_tex_image_s8z24_create_renderbuffers(struct intel_context *intel, | |||
struct intel_texture_image *image) | |||
{ |