diff options
| author | Eric Anholt <eric@anholt.net> | 2010-05-13 10:13:52 -0700 | 
|---|---|---|
| committer | Eric Anholt <eric@anholt.net> | 2010-05-13 13:02:09 -0700 | 
| commit | 61aa9c86c20b1bc9957aa9fe9976703a93cc4d3c (patch) | |
| tree | ce1188de49bcbdacbe1708fe9923e8fa7791f68d /src | |
| parent | 165694ad65374ff4330bd80acb398fe0428ba2e6 (diff) | |
intel: Don't update window system renderbuffers on TexImage.
While sometimes rendering occurs in the form of blits for TexImage, it
doesn't interact with the window system renderbuffers, so skip it.
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_context.c | 4 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_tex_image.c | 4 | 
2 files changed, 5 insertions, 3 deletions
| diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 7d83e52f64..0369942b39 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -409,6 +409,10 @@ intel_update_renderbuffers(__DRIcontext *context, __DRIdrawable *drawable)     driUpdateFramebufferSize(&intel->ctx, drawable);  } +/** + * intel_prepare_render should be called anywhere that curent read/drawbuffer + * state is required. + */  void  intel_prepare_render(struct intel_context *intel)  { diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c index 7784223abb..06bf262704 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_image.c +++ b/src/mesa/drivers/dri/intel/intel_tex_image.c @@ -240,7 +240,7 @@ try_pbo_upload(struct intel_context *intel,     if (drm_intel_bo_references(intel->batch->buf, dst_buffer))        intel_flush(&intel->ctx); -   intel_prepare_render(intel); +     {        dri_bo *src_buffer = intel_bufferobj_buffer(intel, pbo, INTEL_READ); @@ -473,8 +473,6 @@ intelTexImage(GLcontext * ctx,  					   pixels, unpack, "glTexImage");     } -   intel_prepare_render(intel); -     if (intelImage->mt) {        if (pixels != NULL) {  	 /* Flush any queued rendering with the texture before mapping. */ | 
