Bug 105721 - [g33] piglit intermittent failure on spec.apple_object_purgeable.object_purgeable-api-vbo
Summary: [g33] piglit intermittent failure on spec.apple_object_purgeable.object_purge...
Status: RESOLVED MOVED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-23 18:49 UTC by Clayton Craft
Modified: 2019-09-25 19:10 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Clayton Craft 2018-03-23 18:49:55 UTC
stdout from failing test:

Mesa: User error: GL_INVALID_VALUE in glObjectPurgeable(name = 0x0)
Mesa: User error: GL_INVALID_VALUE in glObjectUnpurgeable(name = 0x0)
Mesa: User error: GL_INVALID_VALUE in glGetObjectParameteriv(name = 0x0)
Mesa: User error: GL_INVALID_OPERATION in glObjectPurgeable(name = 0x1) is already purgeable
Mesa: User error: GL_INVALID_OPERATION in glObjectUnpurgeable(name = 0x1) object is  already "unpurged"
Mesa: User error: GL_INVALID_OPERATION in glObjectPurgeable(name = 0x1) is already purgeable
glObjectUnpurgeableAPPLE:GL_UNDEFINED_APPLE: expected 0x8a1c (GL_UNDEFINED_APPLE), got 0x8a1b (GL_RETAINED_APPLE).Mesa: User error: GL_INVALID_OPERATION in glObjectUnpurgeable(name = 0x1) object is  already "unpurged"
Comment 1 Chris Wilson 2018-03-26 13:00:12 UTC
Fwiw, pull the fixes from i965:

commit ed442ee39b4e2a2e25ea4ccd880e4bded9d29a51
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Jan 10 21:23:24 2017 +0000

    i965: Do not use purged bo after calling glObjectUnpurgeable
    
    If the buffer has been freed by the kernel under memory pressure, it is
    invalid to try and access the backing storage for that buffer in the
    future - the backing storage is not recreated automatically. As such we
    need to mark the GL object as being freed for unretained buffers and so
    recreate the object on next use.
    
    Futhermore from the GL_APPLE_object_purgeable:
    
        "In contrast, by calling ObjectUnpurgeableAPPLE with an <option> of
        UNDEFINED_APPLE, the application is indicating that it intends to
        recreate the contents of the storage from scratch.  Further, the
        application is is stating that it would like the GL to do only the
        minimal amount of work set PURGEABLE_APPLE to FALSE.   If
        ObjectUnpurgeableAPPLE is called with the <option> set to
        UNDEFINED_APPLE, then ObjectUnpurgeableAPPLE will return the value
        UNDEFINED_APPLE."
    
    we must always report GL_UNDEFINED_APPLE when called with
    glObjectUnpurgeable(GL_UNDEFINED_APPLE).
    
    Testcase: piglit/object_purgeable-api-*
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Comment 2 GitLab Migration User 2019-09-25 19:10:18 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1708.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.