Bug 658 - 3.1 context on Mesa 9.0.1 is buggy
Summary: 3.1 context on Mesa 9.0.1 is buggy
Status: RESOLVED FIXED
Alias: None
Product: Jogl
Classification: JogAmp
Component: core (show other bugs)
Version: 2
Hardware: pc_all linux
: --- normal
Assignee: Sven Gothel
URL:
Depends on:
Blocks:
 
Reported: 2012-12-28 20:56 CET by Mark Raynsford
Modified: 2012-12-29 23:46 CET (History)
1 user (show)

See Also:
Type: ---
SCM Refs:
jogl 3ce0aa6e36d9474ac3105cab491a60327860757d
Workaround: TRUE


Attachments
Two unit tests (3.93 KB, text/plain)
2012-12-28 20:56 CET, Mark Raynsford
Details
The second test as native code with GLFW (1.07 KB, text/plain)
2012-12-28 21:03 CET, Mark Raynsford
Details
The first test as native code with GLFW (666 bytes, text/x-c)
2012-12-28 21:04 CET, Mark Raynsford
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Raynsford 2012-12-28 20:56:04 CET
Created attachment 402 [details]
Two unit tests

The 3.1 context exposed by the recent 9.0.1 update is defective. At least two function calls give nonsensical errors (the second of which actually prevents the use of VBOs at all). I've only confirmed this on Intel.

See the attached test cases (both of which should *pass* on the buggy setup).

Note that forcing a 3.0 context with -Djogl.debug.GLContext.NoProfileAliasing results in a working 3.0 context that won't give the errors detected in the unit tests.
Comment 1 Mark Raynsford 2012-12-28 21:03:40 CET
Created attachment 403 [details]
The second test as native code with GLFW
Comment 2 Mark Raynsford 2012-12-28 21:04:20 CET
Created attachment 404 [details]
The first test as native code with GLFW
Comment 3 Mark Raynsford 2012-12-28 21:06:20 CET
The native tests give the following output on buggy contexts:

renderer : Mesa DRI Intel(R) Sandybridge Mobile 
version  : 3.1 Mesa 9.0.1
vendor   : Intel Open Source Technology Center
glVertexAttribPointer: 502

renderer : Mesa DRI Intel(R) Sandybridge Mobile 
version  : 3.1 Mesa 9.0.1
vendor   : Intel Open Source Technology Center
test-poly: glPolygonMode: 1280
Comment 4 Mark Raynsford 2012-12-29 13:52:22 CET
I've just discovered that glPolygonMode(GL_FRONT, ...); and glPolygonMode(GL_BACK, ...); are invalid under 3.1 - only GL_FRONT_AND_BACK is allowed.

I'm still investigating the second case, in case it's not a bug either.
Comment 5 Sven Gothel 2012-12-29 23:46:40 CET
    Fix Bug 658 (Mesa 9.0 3.1 Intel compat quirk, 3.1 core only) ; No PROFILE_ALIASING compat -> core ; Fix setGLFunctionAvailability(..) failure path @ profile query
    
    - Add GLRendererQuirks.GLNonCompliant, marking a GL context/profile non compliant.
      Currently: 'Mesa DRI Intel(R) Sandybridge Desktop' && 3.1 compat profile
    
    - Fix Bug 658 (Mesa 9.0 3.1 Intel compat quirk, 3.1 core only)
      Detect case using new GLRendererQuirks.GLNonCompliant in setGLFunctionAvailability() and return 'false'.

...

http://jogamp.org/git/?p=jogl.git;a=commit;h=3ce0aa6e36d9474ac3105cab491a60327860757d