intel: Refactor intel_downsample_for_dri2_flush

Move it from intel_screen.c to intel_context.c. Redeclare as non-static.
A future commit will use it in multiple files.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
This commit is contained in:
Chad Versace 2012-08-09 09:15:36 -07:00
parent cde2b7e55d
commit 38b748ce29
3 changed files with 34 additions and 30 deletions

View file

@ -241,6 +241,36 @@ intelGetString(struct gl_context * ctx, GLenum name)
}
}
void
intel_downsample_for_dri2_flush(struct intel_context *intel,
__DRIdrawable *drawable)
{
if (intel->gen < 6) {
/* MSAA is not supported, so don't waste time checking for
* a multisample buffer.
*/
return;
}
struct gl_framebuffer *fb = drawable->driverPrivate;
struct intel_renderbuffer *rb;
/* Usually, only the back buffer will need to be downsampled. However,
* the front buffer will also need it if the user has rendered into it.
*/
static const gl_buffer_index buffers[2] = {
BUFFER_BACK_LEFT,
BUFFER_FRONT_LEFT,
};
for (int i = 0; i < 2; ++i) {
rb = intel_get_renderbuffer(fb, buffers[i]);
if (rb == NULL || rb->mt == NULL)
continue;
intel_miptree_downsample(intel, rb->mt);
}
}
static void
intel_flush_front(struct gl_context *ctx)
{

View file

@ -577,6 +577,10 @@ void intel_update_renderbuffers(__DRIcontext *context,
__DRIdrawable *drawable);
void intel_prepare_render(struct intel_context *intel);
void
intel_downsample_for_dri2_flush(struct intel_context *intel,
__DRIdrawable *drawable);
void i915_set_buf_info_for_region(uint32_t *state, struct intel_region *region,
uint32_t buffer_id);
void intel_init_texture_formats(struct gl_context *ctx);

View file

@ -162,36 +162,6 @@ static const __DRItexBufferExtension intelTexBufferExtension = {
intelSetTexBuffer2,
};
static void
intel_downsample_for_dri2_flush(struct intel_context *intel,
__DRIdrawable *drawable)
{
if (intel->gen < 6) {
/* MSAA is not supported, so don't waste time checking for
* a multisample buffer.
*/
return;
}
struct gl_framebuffer *fb = drawable->driverPrivate;
struct intel_renderbuffer *rb;
/* Usually, only the back buffer will need to be downsampled. However,
* the front buffer will also need it if the user has rendered into it.
*/
static const gl_buffer_index buffers[2] = {
BUFFER_BACK_LEFT,
BUFFER_FRONT_LEFT,
};
for (int i = 0; i < 2; ++i) {
rb = intel_get_renderbuffer(fb, buffers[i]);
if (rb == NULL || rb->mt == NULL)
continue;
intel_miptree_downsample(intel, rb->mt);
}
}
static void
intelDRI2Flush(__DRIdrawable *drawable)
{