[Mesa-dev] [PATCH 5/7] intel: Remove silly check for !bufmgr.

Eric Anholt eric at anholt.net
Fri Sep 27 17:32:12 PDT 2013


Ian Romanick <idr at 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130927/0a159e5c/attachment.pgp>


More information about the mesa-dev mailing list