On Wed, 2009-04-01 at 18:29 -0700, Ian Romanick wrote:
> This is part of the fix for DRI2 front-buffer rendering.
> 
> Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>
> ---
>  src/mesa/drivers/dri/intel/intel_context.c |   10 ++++++++--
>  1 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/intel/intel_context.c 
> b/src/mesa/drivers/dri/intel/intel_context.c
> index 2e76e93..0aa1c18 100644
> --- a/src/mesa/drivers/dri/intel/intel_context.c
> +++ b/src/mesa/drivers/dri/intel/intel_context.c
> @@ -223,8 +223,10 @@ intel_update_renderbuffers(__DRIcontext *context, 
> __DRIdrawable *drawable)
>     screen = intel->intelScreen->driScrnPriv;
>  
>     i = 0;
> -   if (intel_fb->color_rb[0])
> +   if (intel_fb->color_rb[0]) {
> +      attachments[i++] = __DRI_BUFFER_FAKE_FRONT_LEFT;
>        attachments[i++] = __DRI_BUFFER_FRONT_LEFT;
> +   }
>     if (intel_fb->color_rb[1])
>        attachments[i++] = __DRI_BUFFER_BACK_LEFT;
>     if (intel_get_renderbuffer(&intel_fb->Base, BUFFER_DEPTH))
> @@ -261,8 +263,12 @@ intel_update_renderbuffers(__DRIcontext *context, 
> __DRIdrawable *drawable)
>     for (i = 0; i < count; i++) {
>         switch (buffers[i].attachment) {
>         case __DRI_BUFFER_FRONT_LEFT:
> +        rb = NULL;
> +        break;
> +
> +       case __DRI_BUFFER_FAKE_FRONT_LEFT:
>          rb = intel_fb->color_rb[0];
> -        region_name = "dri2 front buffer";
> +        region_name = "dri2 fake front buffer";
>          break;
>  
>         case __DRI_BUFFER_BACK_LEFT:

This breaks GLX_EXT_texture_from_pixmap - the real front buffer is
needed for that (pixmaps/pbuffers in general?).

OTOH I think we shouldn't really need to get information about the real
front buffer if we use the fake front buffer. I think have_front and
corresponding checks could be removed from src/glx/x11/dri2_glx.c.


Also:

intel_context.c: In function ‘intel_update_renderbuffers’:
intel_context.c:188: warning: ‘region_name’ may be used uninitialized in this 
function


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer

------------------------------------------------------------------------------
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to