intel: Simplify intel_renderbuffer_update_wrapper() by passing in the image.

NOTE: This is a candidate for the 8.0 branch.
This commit is contained in:
Eric Anholt
2012-01-19 17:40:41 -08:00
parent 74484c5d41
commit b73f5df648

View File

@@ -59,15 +59,6 @@
static struct gl_renderbuffer * static struct gl_renderbuffer *
intel_new_renderbuffer(struct gl_context * ctx, GLuint name); intel_new_renderbuffer(struct gl_context * ctx, GLuint name);
static bool
intel_renderbuffer_update_wrapper(struct intel_context *intel,
struct intel_renderbuffer *irb,
struct intel_mipmap_tree *mt,
uint32_t level,
uint32_t layer,
gl_format format,
GLenum internal_format);
bool bool
intel_framebuffer_has_hiz(struct gl_framebuffer *fb) intel_framebuffer_has_hiz(struct gl_framebuffer *fb)
{ {
@@ -470,19 +461,20 @@ intel_framebuffer_renderbuffer(struct gl_context * ctx,
* *
* @return true on success * @return true on success
*/ */
static bool static bool
intel_renderbuffer_update_wrapper(struct intel_context *intel, intel_renderbuffer_update_wrapper(struct intel_context *intel,
struct intel_renderbuffer *irb, struct intel_renderbuffer *irb,
struct intel_mipmap_tree *mt, struct gl_texture_image *image,
uint32_t level, uint32_t layer)
uint32_t layer,
gl_format format,
GLenum internal_format)
{ {
struct gl_renderbuffer *rb = &irb->Base.Base; struct gl_renderbuffer *rb = &irb->Base.Base;
struct intel_texture_image *intel_image = intel_texture_image(image);
struct intel_mipmap_tree *mt = intel_image->mt;
int level = image->Level;
rb->Format = format; rb->Format = image->TexFormat;
rb->InternalFormat = internal_format; rb->InternalFormat = image->InternalFormat;
rb->_BaseFormat = _mesa_get_format_base_format(rb->Format); rb->_BaseFormat = _mesa_get_format_base_format(rb->Format);
rb->Width = mt->level[level].width; rb->Width = mt->level[level].width;
rb->Height = mt->level[level].height; rb->Height = mt->level[level].height;
@@ -628,10 +620,7 @@ intel_render_texture(struct gl_context * ctx,
} }
} }
if (!intel_renderbuffer_update_wrapper(intel, irb, if (!intel_renderbuffer_update_wrapper(intel, irb, image, layer)) {
mt, att->TextureLevel, layer,
image->TexFormat,
image->InternalFormat)) {
_mesa_reference_renderbuffer(&att->Renderbuffer, NULL); _mesa_reference_renderbuffer(&att->Renderbuffer, NULL);
_swrast_render_texture(ctx, fb, att); _swrast_render_texture(ctx, fb, att);
return; return;