Ian Romanick <i...@freedesktop.org> writes:

> On 09/26/2013 09:19 PM, Kenneth Graunke wrote:
>> On 09/26/2013 08:36 PM, Eric Anholt wrote:
>>> If bufmgr didn't get created, then screen creation failed, and we never
>>> should have got here in the first place.  This was added by Chris Wilson
>>> in 2010 with no explanation for why it would be needed.
>>> ---
>>>  src/mesa/drivers/dri/i915/intel_context.c | 6 ------
>>>  src/mesa/drivers/dri/i965/intel_context.c | 6 ------
>>>  2 files changed, 12 deletions(-)
>>>
>>> diff --git a/src/mesa/drivers/dri/i915/intel_context.c 
>>> b/src/mesa/drivers/dri/i915/intel_context.c
>>> index aff51e8..d25358b 100644
>>> --- a/src/mesa/drivers/dri/i915/intel_context.c
>>> +++ b/src/mesa/drivers/dri/i915/intel_context.c
>>> @@ -385,12 +385,6 @@ intelInitContext(struct intel_context *intel,
>>>     int bo_reuse_mode;
>>>     struct gl_config visual;
>>>  
>>> -   /* we can't do anything without a connection to the device */
>>> -   if (intelScreen->bufmgr == NULL) {
>>> -      *dri_ctx_error = __DRI_CTX_ERROR_NO_MEMORY;
>>> -      return false;
>>> -   }
>>> -
>>>     /* Can't rely on invalidate events, fall back to glViewport hack */
>>>     if (!driContextPriv->driScreenPriv->dri2.useInvalidate) {
>>>        intel->saved_viewport = functions->Viewport;
>>> diff --git a/src/mesa/drivers/dri/i965/intel_context.c 
>>> b/src/mesa/drivers/dri/i965/intel_context.c
>>> index 7526b38..3eb5b8b 100644
>>> --- a/src/mesa/drivers/dri/i965/intel_context.c
>>> +++ b/src/mesa/drivers/dri/i965/intel_context.c
>>> @@ -412,12 +412,6 @@ intelInitContext(struct brw_context *brw,
>>>     int bo_reuse_mode;
>>>     struct gl_config visual;
>>>  
>>> -   /* we can't do anything without a connection to the device */
>>> -   if (intelScreen->bufmgr == NULL) {
>>> -      *dri_ctx_error = __DRI_CTX_ERROR_NO_MEMORY;
>>> -      return false;
>>> -   }
>>> -
>>>     /* Can't rely on invalidate events, fall back to glViewport hack */
>>>     if (!driContextPriv->driScreenPriv->dri2.useInvalidate) {
>>>        brw->saved_viewport = functions->Viewport;
>>>
>> 
>> Huh, you're right, this doesn't look useful at all.  I verified that the
>> screen code does indeed prevent the driver from loading (so this is
>> indeed redundant).  Also, we need bufmgr to get the device ID, which is
>> well before we get here.
>
> We have a bug that may or may not be related to this:
>
> https://bugs.freedesktop.org/show_bug.cgi?id=69622
>
> That case is trying to use bufmgr in one path after it was already
> destroyed in another.  That should affect the init path...

If you're dereferencing through a freed pointer (the screen), checking
for NULL still doesn't make any sense.

Attachment: pgp4rGmM8diN3.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to