Bug 26129

Summary: [APPLE_object_purgeable] error should be generated when purgeable/unpurgeable called between Begin()/End()
Product: Mesa Reporter: Shuang He <shuang.he>
Component: Drivers/DRI/i965Assignee: Chris Wilson <chris>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: piglit case

Description Shuang He 2010-01-19 19:20:15 UTC
Created attachment 32736 [details]
piglit case

System Environment:
--------------------------
mesa (object-purgeable)a5a74202661423326184151e6ba746c3b4564186
(git://people.freedesktop.org/~ickle/mesa)
Libdrm:         (master)db50f5127421ac8f4e3ce4eb7c27d27475781488
Xserver:               
(server-1.7-branch)aea5ace1ee331fab0b72885ce0d5d3fc235e0708
Xf86_video_intel:              
(master)8ecf70ea553083cbc26928dc3973c8f6f8b3d9d0



Bug detailed description:
-------------------------
I'm testing this extension on my G41.
According to the spec of GL_APPLE_object_purgeable, 
"INVALID_OPERATION is generated if either ObjectUnpurgeableAPPLE or
    ObjectUnpurgeableAPPLE is called between the execution of Begin and
    the corresponding execution of End."


You could run and check attached pigit case
Comment 1 Chris Wilson 2010-03-05 02:30:40 UTC
Checks for Begin/End added:

ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0);
Comment 2 Shuang He 2010-03-10 18:30:06 UTC
Thanks, verified against:
Libdrm:         (master)04fd3872ee8bd8d5e2c27740508c67c2d51dbc11
Mesa:           (master)6f4ce4a4fed9f0f0f0ee89a63e406ab86dae7150
Xserver:                (master)bbae92795c7eab062e6722c42fa7915e0cee5d69
Xf86_video_intel:              
(master)318aa9ed799197810e2039dbe3ec51559dcc888c
Kernel:       (drm-intel-next)338d762fc2dc2c1493813123fc4cea998bb3e683

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.