[Mesa-dev] [PATCH 1/2] intel: make intel_flush_front safe to call during initial MakeCurrent

Anuj Phogat anuj.phogat at gmail.com
Wed Jun 5 19:25:48 PDT 2013


On Thu, May 30, 2013 at 7:44 AM, Paul Berry <stereotype441 at gmail.com> wrote:
> The patch that follows will fix a bug that prevents
> intel_flush_front() from being called often enough.  In doing so, it
> will create a situation where intel_flush_front() during the initial
> call to glXMakeCurrent().  In this circumstance, ctx->DrawBuffer
> hasn't been initialized yet and is NULL.  Fortunately,
> intel->front_buffer_dirty is false, so intel_flush_front() doesn't
> actually need to do anything.  To avoid a segfault, swap the order of
> terms in intel_flush_front()'s if statement.
> ---
>  src/mesa/drivers/dri/intel/intel_context.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
> index 88cc247..495cc73 100644
> --- a/src/mesa/drivers/dri/intel/intel_context.c
> +++ b/src/mesa/drivers/dri/intel/intel_context.c
> @@ -286,7 +286,7 @@ intel_flush_front(struct gl_context *ctx)
>      __DRIdrawable *driDrawable = driContext->driDrawablePriv;
>      __DRIscreen *const screen = intel->intelScreen->driScrnPriv;
>
> -    if (_mesa_is_winsys_fbo(ctx->DrawBuffer) && intel->front_buffer_dirty) {
> +    if (intel->front_buffer_dirty && _mesa_is_winsys_fbo(ctx->DrawBuffer)) {
>        if (screen->dri2.loader->flushFrontBuffer != NULL &&
>            driDrawable &&
>            driDrawable->loaderPrivate) {
> --
> 1.8.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Both patches are:
Reviewed-by:  Anuj Phogat <anuj.phogat at gmail.com>


More information about the mesa-dev mailing list