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

Paul Berry stereotype441 at gmail.com
Wed Jun 5 10:40:46 PDT 2013


On 5 June 2013 10:37, Chad Versace <chad.versace at linux.intel.com> wrote:

> On 05/30/2013 07:44 AM, Paul Berry 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.
>>
>
> The sentence that begins with "In doing so" seems incomplete and I don't
> understand its intent.
>

Sorry about that.  I appear to have experienced some packet loss in between
my brain and my fingers.  What I meant to say was "In doing so, it will
create a situation where intel_flush_front() *is called* during the initial
call to glXMakeCurrent."

I'll fix the commit message before pushing.


>
> Other than that, these two patches are
> Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
>
>
>  ---
>>   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) {
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130605/ad165fd9/attachment.html>


More information about the mesa-dev mailing list