[Mesa-dev] [PATCH 04/15] i965: Don't require spans (swrast) support to consider a format FBO complete.

Ian Romanick idr at freedesktop.org
Thu Nov 17 12:53:01 PST 2011


On 11/15/2011 05:55 PM, Eric Anholt wrote:
> We don't want to go writing GetRow/PutRow for every format required by
> GL 3.0, when it's very hard to get those functions called, and in
> every case we want to make swrast do direct mapping through
> MapRenderbuffer anyway.
>
> This causes MESA_FORMAT_R11_G11_B10_FLOAT to be considered complete on gen6.
> ---
>   src/mesa/drivers/dri/intel/intel_fbo.c |   10 +++++++++-
>   1 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c
> index 74280dc..c1e7bad 100644
> --- a/src/mesa/drivers/dri/intel/intel_fbo.c
> +++ b/src/mesa/drivers/dri/intel/intel_fbo.c
> @@ -1309,12 +1309,20 @@ intel_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb)
>   	 continue;
>         }
>
> +      if (!intel->vtbl.render_target_supported(intel, irb->Base.Format)) {
> +	 DBG("Unsupported HW texture/renderbuffer format attached: %s\n",
> +	     _mesa_get_format_name(irb->Base.Format));
> +	 fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT;
> +      }
> +
> +#ifdef I915
>         if (!intel_span_supports_format(irb->Base.Format) ||
>   	  !intel->vtbl.render_target_supported(intel, irb->Base.Format)) {
> -	 DBG("Unsupported texture/renderbuffer format attached: %s\n",
> +	 DBG("Unsupported swrast texture/renderbuffer format attached: %s\n",
>   	     _mesa_get_format_name(irb->Base.Format));
>   	 fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT;
>         }
> +#endif
>      }
>   }
>

Is this the right logic for i915?  As coded, the FBO will be unsupported 
if either hardware or swrast can't handle it.  It seems like that could 
be right, but I wanted to double check.


More information about the mesa-dev mailing list