Bug 774 - GL3bc profile returned for 3.1 core context
Summary: GL3bc profile returned for 3.1 core context
Status: RESOLVED INVALID
Alias: None
Product: Jogl
Classification: JogAmp
Component: core (show other bugs)
Version: 2
Hardware: All linux
: --- major
Assignee: Sven Gothel
URL:
Depends on:
Blocks:
 
Reported: 2013-07-03 23:39 CEST by Mark Raynsford
Modified: 2013-07-04 01:37 CEST (History)
1 user (show)

See Also:
Type: ---
SCM Refs:
1455848398ccdfa89ec9f19379c5dcaed8198e28 061eb775c0a55c9778c087f8a54df2c6a0a49c9c
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Raynsford 2013-07-03 23:39:31 CEST
With the recent patch to allow 3.1 Core contexts on Mesa, it seems that
compatibility profiles are returned.

As an example, when running com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT, the following
output occurs:

com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT
position null
size 640 x 480
resize null
screen 0
translucent false
forceAlpha -1
undecorated false
atop false
fullscreen false
pmvDirect false
mouseVisible true
mouseConfined false
loops 1
loop shutdown false
forceES2 false
forceGL3 false
swapInterval 1
exclusiveContext false
useAnimator true
sysExitWithin none
JUnit version 4.8.2
Thread-1 - SISock: localhost/127.0.0.1:59999 - started
SLOCK [T main @ 1372885588922 ms +++ localhost/127.0.0.1:59999 - Locked within 6 ms, 1 attempts
.++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test01_GL2ES2
Loop 1/1
requested: vsync 1, GLCaps[rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono  , hw, GLProfile[GL3bc/GL3bc.hw], on-scr[.]]
window moved:   2/17 640x480
window moved:   328/230 640x480
window resized: 328/230 640x480
NW chosen: GLCaps[glx vid 0x21c, fbc 0xb6: rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 24/0/0, dbl, mono  , hw, GLProfile[GL3bc/GL3bc.hw], on-scr[.]]
GL chosen: GLCaps[glx vid 0x21c, fbc 0xb6: rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 24/0/0, dbl, mono  , hw, GLProfile[GL3bc/GL3bc.hw], on-scr[.]]
window pos/siz: 328/230 640x480, [ l 2, r 2 - t 17, b 7 - 4x24]
Thread[main-Animator,5,main] GearsES2.init ...
GearsES2 init on Thread[main-Animator,5,main]
Chosen GLCapabilities: GLCaps[glx vid 0x21c, fbc 0xb6: rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 24/0/0, dbl, mono  , hw, GLProfile[GL3bc/GL3bc.hw], on-scr[.]]
INIT GL IS: jogamp.opengl.gl4.GL4bcImpl
GL_VENDOR: X.Org
GL_RENDERER: Gallium 0.4 on AMD RV730
GL_VERSION: 3.1 (Core Profile) Mesa 9.1.3
GL GLSL: true, has-compiler-func: true, version 1.40, 1.40.0
GL FBO: basic true, full true
GL Profile: GLProfile[GL3bc/GL3bc.hw]
GL Renderer Quirks:[NoDoubleBufferedPBuffer, NoSetSwapIntervalPostRetarget]
GL:jogamp.opengl.gl4.GL4bcImpl@102689a7, 3.1 (hardware) - 3.1 (Core Profile) Mesa 9.1.3
gear1 created: com.jogamp.opengl.test.junit.jogl.demos.es2.GearsObjectES2@15d80dfe
gear2 created: com.jogamp.opengl.test.junit.jogl.demos.es2.GearsObjectES2@1b7ea9e6
gear3 created: com.jogamp.opengl.test.junit.jogl.demos.es2.GearsObjectES2@18c44924
Thread[main-Animator,5,main] GearsES2.init FIN
Thread[main-Animator,5,main] GearsES2.reshape 0/0 640x480, swapInterval 1, drawable 0x8200002
main-Animator: ** screenshot: TestGearsES2NEWT.test01_GL2ES2-n0000-GL3bc_-hw-onscreen-Bdbl-Frgb__Irgba8880-D24-St00-Sa00_default-0640x0480.png
Info: GLReadBufferUtil.readPixels: pre-exisiting GL error 0x502
QUIT Window Thread[main-Display-.x11_:0.0-1-EDT-1,5,main]
Thread[main-Display-.x11_:0.0-1-EDT-1,5,main] GearsES2.dispose ... 
Thread[main-Display-.x11_:0.0-1-EDT-1,5,main] GearsES2.dispose FIN
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test01_GL2ES2
.++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test02_GLES2
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test02_GLES2
.++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test03_GL3
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test03_GL3
SLOCK [T main @ 1372885590128 ms --- localhost/127.0.0.1:59999 - Unlock ok within 0 ms

Time: 1.222

OK (3 tests)

Note:

GL_VERSION: 3.1 (Core Profile) Mesa 9.1.3

And:

GL Profile: GLProfile[GL3bc/GL3bc.hw]
Comment 1 Mark Raynsford 2013-07-04 01:13:21 CEST
It seems that this may've been down to some mysterious problem on my side (as in,
I think it may've been Eclipse molesting my build environment somehow).

Everything appears to work correctly now:

.++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test01_GL2ES2
Loop 1/1
requested: vsync 1, GLCaps[rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono  , hw, GLProfile[GL3/GL3.hw], on-scr[.]]
window moved:   2/17 640x480
window moved:   196/79 640x480
window resized: 196/79 640x480
NW chosen: GLCaps[glx vid 0x21c, fbc 0xb6: rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 24/0/0, dbl, mono  , hw, GLProfile[GL3/GL3.hw], on-scr[.]]
GL chosen: GLCaps[glx vid 0x21c, fbc 0xb6: rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 24/0/0, dbl, mono  , hw, GLProfile[GL3/GL3.hw], on-scr[.]]
window pos/siz: 196/79 640x480, [ l 2, r 2 - t 17, b 7 - 4x24]
Thread[main-Animator,5,main] GearsES2.init ...
GearsES2 init on Thread[main-Animator,5,main]
Chosen GLCapabilities: GLCaps[glx vid 0x21c, fbc 0xb6: rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 24/0/0, dbl, mono  , hw, GLProfile[GL3/GL3.hw], on-scr[.]]
INIT GL IS: jogamp.opengl.gl4.GL4bcImpl
GL_VENDOR: X.Org
GL_RENDERER: Gallium 0.4 on AMD RV730
GL_VERSION: 3.1 (Core Profile) Mesa 9.1.3
GL GLSL: true, has-compiler-func: true, version 1.40, 1.40.0
GL FBO: basic true, full true
GL Profile: GLProfile[GL3/GL3.hw]
GL Renderer Quirks:[NoDoubleBufferedPBuffer, NoSetSwapIntervalPostRetarget]
GL:jogamp.opengl.gl4.GL4bcImpl@28b6520b, 3.1 (hardware) - 3.1 (Core Profile) Mesa 9.1.3
gear1 created: com.jogamp.opengl.test.junit.jogl.demos.es2.GearsObjectES2@3488976e
gear2 created: com.jogamp.opengl.test.junit.jogl.demos.es2.GearsObjectES2@738dd1b3
gear3 created: com.jogamp.opengl.test.junit.jogl.demos.es2.GearsObjectES2@63c27a09
Thread[main-Animator,5,main] GearsES2.init FIN
Thread[main-Animator,5,main] GearsES2.reshape 0/0 640x480, swapInterval 1, drawable 0x8200002
main-Animator: ** screenshot: TestGearsES2NEWT.test01_GL2ES2-n0000-GL3___-hw-onscreen-Bdbl-Frgb__Irgba8880-D24-St00-Sa00_default-0640x0480.png
QUIT Window Thread[main-Display-.x11_:0.0-1-EDT-1,5,main]
Thread[main-Display-.x11_:0.0-1-EDT-1,5,main] GearsES2.dispose ... 
Thread[main-Display-.x11_:0.0-1-EDT-1,5,main] GearsES2.dispose FIN
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test01_GL2ES2
.++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test02_GLES2
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test02_GLES2
++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test03_GL3
++++ UITestCase.tearDown: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT - test03_GL3
.SLOCK [T main @ 1372892919982 ms --- localhost/127.0.0.1:59999 - Unlock ok within 1 ms
Comment 2 Sven Gothel 2013-07-04 01:37:01 CEST
Confirmed on Mesa 9.1.3 Intel:

 GL_RENDERER: Mesa DRI Intel(R) Sandybridge Desktop
 GL_VERSION: 3.1 (Core Profile) Mesa 9.1.3
 GL GLSL: true, has-compiler-func: true, version 1.40, 1.40.0
 GL FBO: basic true, full true
 GL Profile: GLProfile[GL3/GL3.hw]

     Native
         GL4bc   false
         GL4 false
         GL3bc   false
         GL3 true [3.1 (Core profile, arb, ES2 compatible, FBO, hardware)]
         GL2 true [3.0 (Compatibility profile, arb, ES2 compatible, FBO, hardware)]
         GL2ES1  true
         GLES1   true [1.0 (ES profile, FBO, hardware)]
         GL2ES2  true
         GLES2   true [2.0 (ES profile, ES2 compatible, FBO, hardware)]
     Profiles
         GLProfile[GL2ES2/GL3.hw]
         GLProfile[GL2ES1/GL2.hw]
         GLProfile[GL2/GL2.hw] 
         GLProfile[GL3/GL3.hw] 
         GLProfile[GL2/GL2.hw] 
         GLProfile[GLES2/GLES2.hw]
         GLProfile[GLES1/GLES1.hw]
         GLProfile[GL2GL3/GL3.hw]
         default GLProfile[GL2/GL2.hw]