| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
extension related details of the GL_VERSION_x_y blocks into their extension block
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Update header:
- GL/glext.h to khronos 2010-08-03
- GL3/gl3.h to khronos 2010-08-03
- Move platform code to
GL/glplatform.h
GL3/glplatform.h
- Unify 64bit typedefs: gl-64bit-types.h
- Move GL 3.[123] and 4.[01] complete subsumed extension
enums and functions into their extension spec and just reference them.
This ensures proper extension availability
via lower OpenGL profiles, hence a proper GL2GL3 interface.
- GL3/GL4 cleanup:
- make-glextension-depignore.sh:
determine required GL version for extensions
for proper positioning, ie GL2GL3 or GL3 or GL4
via gluegen IgnoreExtension commands.
- use ARB_ES2_compatibility for common GL2ES2 methods,
if available
- consolidated gl2-gl4 subsumed extension to gl-common.cfg
- Missing GL3/GL4 Functions:
glMultiDrawElementsBaseVertex
glDebugMessageCallbackARB
glDebugMessageCallbackAMD
- TODO (new feature integration):
- ARB_ES2_compatibility / ARB_get_program_binary for com/jogamp/opengl/util/glsl, ie
- store binaries com/jogamp/opengl/util/glsl/sdk/CompileShader*
- query supported binary formats (enums ?)
- optional prio binaries
- ARB_ES2_compatibility, if available GLES2/GL2ES12 would be available
- ARB_separate_shader_objects for com/jogamp/opengl/util/glsl, ie
- swizzle vertex/fragment shader in programs
- ..
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
glMap*Buffer*; GLX/WGL/CgGL: All runtime dynamic; Misc ..
TODO: Compile and test on MacOSX ..
Fix:
=====
Multithreading/Locking:
See jogl/doc/Implementation/MultiThreading.txt
- Locking layer is not platform agnostic, ie GLContextImpl, GLDrawableImpl, ..
and NEWT: Window/Display
- No more use of JAWT global lock necessary, removed.
- No need for X11 Display lock, on the contrary,
this made the NV driver hang.
- Use common window/surface lock
- All NativeWindow surfaceLock's are recursive now
glMapBuffer: If size is 0, don't do cont with the native call.
glMapBufferRange: Fix capacity.
glNamedBufferDataEXT: Track the size.
glMapNamedBufferEXT: Manual impl. - use the tracked size
glXGetVisualFromFBConfig, glXChooseFBConfig, glXChooseVisual: Instead of
ignoring and implement a renamed version (*Copied), we just use ManualImplementation
for the proper copy-result code.
DesktopGLDynamicLookupHelper: Initialize _hasGLBinding* attributes
in the determing loadGLJNILibrary() method, which is called by super().
Otherwise static init will overwrite them after the super() call.
X11GLXDrawableFactory: Don't release anything at shutdown (removed sharedContext.destroy()),
since this caused a freeze/SEGV sometimes.
Fixed NEWT's reparentWindow() functionality incl NewtCanvasAWT usage.
- Native: if not visible, don't focus, etc
- NewtCanvasAWT: Use the container size to start with
- Run the command on the EDT
Using GlueGen's new DynamicLibraryBundle utility:
- X11, Windows and MacOSX OpenGL adapted to DynamicLibraryBundleInfo.
- X11GLXDynamicLookupHelper -> X11GLXDynamicLibraryBundleInfo
- Remove all path from lib names.
- GL order: libGL.so.1, libGL.so, GL
- shallLinkGlobal: true -> to server some 'old' DRI systems
-> http://dri.sourceforge.net/doc/DRIuserguide.html
- shallLookupGlobal: false
- Try both : glXGetProcAddressARB and glXGetProcAddress
- Using bootstrap: GLX.glXGetProcAddress(long glxGetProcAddressHandle, String glFuncName)
Found the issue with LIBGL_DRIVERS_PATH, ie if not set
no valid GL instance can be found (ie ATI fglrx/DRI).
This may happen if using a differen user than the desktop user
for whom the env var is set within some /etc/X11/Xsession.d/ script.
Enhancements:
=============
GLBufferSizeTracker: Use IntIntHashMap and add DirectState size tracking.
GLBufferStateTracker: Use IntIntHashMap.
GLStateTracker: Use IntIntHashMap.
GLDynamicLookupHelper: More generic (global loading/lookup and GetProcAddress function name list),
remove redundant code.
FIXME:
MacOSXCGLDynamicLookupHelper:
- Not tested
- Not using NSImage lookup anymore as recommended by OSX API Doc,
so dlsym is used always (to be tested)
WindowsWGLDynamicLookupHelper:
- Not tested
GLX/WGL/CgGL is all runtime-dynamic as now, ie loaded and looked-up at runtime,
no compile time dependencies to GL anymore, nor a need to specify CgGL.
Split up WGL in GDI and WGL, to allow proper dynamic runtime linkage of OpenGL32
while using static binding to GDI32
NEWT events generated by native code are enqueued and not send directly.
This should ease locking mechanisms .. if any are necessary.
NEWT: More platform specific code moved to *Impl method,
simplifying the generic code of the superclass and impl protocol.
Cleanup:
=========
Replace all InternalBufferUtil's with com.jogamp.common.nio.Buffers
Removed all InternalBufferUtil's from repository
Removed GLContextImpl notion of 'optimized' surface locking,
where the surface gets unlocked during makeCurrent/release.
This just makes no sense and would impact multithreading in a horrible way.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLAutoDrawable: dispose() calls only with created context.
- Using the EGL approach of DynamicLookupHelper,
now generalized in abstract GLDynamicLookupHelper,
DesktopGLDynamicLookupHelper and EGLGLDynamicLookupHelper.
The implementation of these are self contained.
- Sharing common code.
- Unifying implementation and binding loading,
as well as the function lookup within the impl libs.
- Removed DRIHack, since its no more required
due to the new DesktopGLDynamicLookupHelper.
- Removed compile time link to GL and GLU libs
- Removed redundant library OS functions from X11/WGL
bindings, GlueGen's common code is being used now.
- GLAutoDrawable: dispose() calls only with created context.
This cleans up stack traces in case of eventual bugs,
where context creation is not successful.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+++++
Changed NEWT NativeWindow creation contract
Original contract:
(1) A native window was created as soon as possible,
ie when NEWTFactory.createWindow(..) was called - if possible.
(2) A valid native window has to be created at least after setVisible(true)
has been called.
Problems:
Not all implementation are able to create the native window that early,
but at setVisible(true) only (e.g: KD and EGL).
Due to window parenting especially the new AWT/NEWT parenting,
the native window can only be created in case the parent native window is valid.
New contract:
(1) A native window is created at setVisible(true),
if it's a top level window or the native parent window is valid.
(2) A valid native window may not be created after setVisible(true)
has been called.
Subsequent setVisible(true) calls shall be made in case
the creation has not been done yet.
This is demonstrated in GLWindow.display() for example.
The new contract implements a lazy native window creation.
+++++
AWT/NEWT Parenting
- HierarchyListener and ComponentListener ensure that the NEWT child window
will be setVisible according to the AWT parent window.
- Lazy native window creation relaxes requirements to the parent window's state.
- Attachment of the child window and setVisible() may be called
after NEWT child window creation.
- GLWindow supports NEWT child window creation directly
The test case TestParenting01AWT.java reflect this new contract
and demonstrates more simplified and more flexible use cases.
+++++
NEWT Fixes:
- All NEWT implementation's native code method names end with 0.
- GLWindow: don't issue the actual 'init'/'display' call to GLEventListeners
in case the window is not visible.
- NEWT setSize/setPosition:
if native-window
call native-window action and let the attributes being set by
the feedback call, which issues more action, ie RESIZE.
else
set the attributes directly, no feedback call/action is necessary.
+++++
X11 Fixes:
- X11GLContext MakeContextCurrent:
Use MakeCurrent in case write and read drawable are equal,
otherwise SEGV happens on ATI with heavy multithreading involved!
Even XLockDisplay and XSync didn't help here ..
- X11GLXDrawableFactory shared resource:
Removed the resource holder thread to simplify code,
hence proper release is no more desired and it could become a cause for deadlock.
- Moved XInitThreads() from NEWT X11Window -> NativeWindow X11Util,
since NativeWindow is loaded first (essential for XInitThreads())
and it is the more basic lib.
- Made call to XInitThreads() conditional, ie it's spared if
AWT could be used - which causes SEGV .. (AWT bug). See X11Util.java
+++++
JOGL Fixes:
- GLProfile.isAWTAvailable() -> NativeWindowFactory.isAWTAvailable()
- GLProfile.isAWTJOGLAvailable() -> GLProfile.isAWTAvailable()
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- All available OpenGL versions (native/platform) are verified at GLProfile
initialization and can be queried ..
A mapping of major,compat -> major,minor,options is created.
- Removal of temp context creation, when creating a context.
This was necessary to query general availability of ARB_create_context.
Due to the shared context of X11GLXDrawableFactory and WindowsWGLDrawableFactory,
this is no more necessary.
Due to the version mapping, the ARB_create_context paramters are known.
- NativeWindow X11Lib: Added X11ErrorHandler, throwing a RuntimeException.
Necessary to catch BadMatch .. etc X11 errors, eg for glXCreateContextAttribsARB
Hence all X11 calls are covered now.
- X11DummyGLXDrawable needs to use an own Window, otherwise GLn n>2 fails
- Flattening the desktop GL* implementation,
all use GL4bcImpl, which reduces the footprint dramatically.
- GL*Impl.isGL*() (desktop) utilizes the GLContext.isGL*(),
hence the results reflect the actual native context version.
- GLContextImpl makeCurrent/create: Added workflow documentation,
clarified code, defined abstract methods to have a protocol.
- Removed moved files (from here to gluegen),
see gluegen a01cb3d59715a41153380f1977ec75263b762dc6
- NativeLibLoader -> <TYPE>JNILibLoader
- Fixed Exception Handling (as in gluegen bce53b52c8638729750c4286dbc04cb14329fd34),
ie removed empty catch Throwable ..
- GLContext.setSwapInterval(): Nop in offscreen case, otherwise X11IOError (NVIDIA Bug)
Test:
Tests
- Junit
- demos.gears.Gears
- demos.jrefract.JRefract
Platforms
- Linux 64/32 ATI/NVidia
- MacOsX
- Windows (virtualbox 3.1.6, offscreen failed)
TODO/BUGS:
- FIXME ATI GLn n>2 with AWT, can't make context current, works well on NVIDIA though
- FIXME GL3GL4: Due to GL3 and GL4 implementation bugs, we still choose GL2 first, if available!
- Add GL 3.3 to GL3/gl3ext.h
- Add GL 4.0 to GL3/gl3ext.h and fix the GL3/GL4 seperation
- Rename jogl.gl2.jar -> jogl.gldesktop.jar (as done with it's native lib already)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- See https://bugzilla.mozilla.org/show_bug.cgi?id=486277
- Calling XCloseDisplay occasionally leads to a SIGSEGV,
even thought the reference is valid and OK.
Workaround is not to close any X11Display,
but to hold them stashed and reuse them.
Since we already pipeline all X11Display's
via Nativewindow's X11Util, an added referenceCounter
and a global active/passive list solved this problem.
This workaround is only active in case 'isVendorATI()'.
NEWT/NativeWindow X11:
- Let XIOErrorHandler and invalid display references
fail hard with FatalError, otherwise we won't see
the stack trace - and those bugs are indeed fatal.
NativeWindow X11:
- Install XIOErrorHandler, which stays active.
- X11Util.X11Display:
- Add reference counter
- Add global active/passive list.
Passive if reference count == 0
and marked as 'un-closeable' (-> ATI).
Reusing passive members when create a new display.
-
JOGL:
- Use DeleteLocalRef() calls to free temp NIO buffer
in manual *Copied implementation.
- GLDrawableFactoryImpl: Be serious about the shutdown() semantics
- *GraphicsConfiguration:
- Fix the invalid Onscreen/PBuffer/Pixmap determination (X11/EGL/WGL)
- Just return null if not valid
- X11GLXGraphicsConfigurationFactory - FBConfig
- Determine recommendedIndex properly ..
- Don't bail out if a FBConfig is invalid ..
- Use Chooser in case nothing is recommended ..
- X11OffscreenGLXDrawable fixes bugs:
- wrong (int) cast of parent window in XCreatePixmap call
- setting display to zero too early in destruction, ie
before XCloseDisplay
- X11GLXDrawableFactory is using [singleton] shared dummy resources for
- Screen, Drawable and Context
which are utilized in case they are needed ..
They are removed at shutdown call
- GLXVersion gathering in GLXUtil now ..
- DefaultGLCapabilitiesChooser: Respect PBuffer selection
Tests:
- Add DrawableFactory shutdown()
- Add various Offscreen Capabilties
- Add Offscreen and non-pbuffer case
- JUnit Passed (Linux64bit: NVidia/ATI)
- demos.jrefract.JRefract passed (Linux64bit: NVidia/ATI)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- See https://bugzilla.mozilla.org/show_bug.cgi?id=486277
- Description:
- To use PBuffer, a context must be current
- X11Display cannot be switched while using the PBuffer
[within one thread]. Hence we shall try harder to reuse
_the_ user configured X11Display - whenever possible.
This is actually a good thing, ie cleanup up our
code again.
- Changes to workaround/cleanup:
- GLDrawableFactory* methods 'canCreate*()'
are changed to 'canCreate*(AbstractGraphicsDevice)'
to allow pipelining the X11Display.
This reduces the overhead of using a local TLS X11Display.
- WindowsDummyWGLDrawable cstr gets the GLProfile as a parameter now,
this is done while adding X11DummyGLXDrawable - forseeing the
usecase to query available GLProfiles at startup.
- X11DummyGLXDrawable added, following the WindowsDummyWGLDrawable path
to have a dummy GLContext current to fix the ATI bug.
NativeWindow X11:
- Add XIOErrorHandler to identify the fatal failure
of closing a Display (-> ATI bug).
Build:
- Adding ant.jar and ant-junit.jar to the junit compile/run classpath
-
Misc:
- Fix: CreateDummyWindow(..) returns a HWND, not a HDC
- mapToRealGLFunctionName: Added mapping for X11/GLX.
- X11GLXGraphicsConfigurationFactory: Uncommented dead code 'createDefaultGraphicsConfigurationFBConfig'
Tests: Passed (Linux64bit: NVidia/ATI)
Todo: More tests on ATI, especially multithreading/X11Display usage.
|
|
|
|
|
| |
http://www.jogamp.org/bugzilla/show_bug.cgi?id=392
7220416bcef3140883d3966d921442feae3107c4
|
| |
|
| |
|
|
|
|
| |
- renamed com.sun.gluegen.runtime -> com.jogamp.gluegen.runtime.
|
| |
|
|
|
|
|
|
| |
GL_NV_vertex_buffer_unified_memory
- Cleaned up
- Added in GL2 + GL3 -> GL2GL3
|
|
|
|
|
|
|
|
|
|
|
| |
where 'bc' is not a religious remark,
but simply means 'backward compatible' :)
GL3bc := GL2 + GL3,
hence the interface does not define any new values or methods.
Moved GL3's 3.1 part from gl3.h to gl3ext.h,
so it can be included in gl3bc.c, besides gl2.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to limitations on Windows,
we need to standardize the one thread for
- window creation, and
- event dispatching
This was already mentioned in the previous implementation
but while integrating into another threading model (Plugin3),
it turned out that manual managing the thread is too much of a burden.
NEWT now uses a EDT per Display and Thread as the default,
where Display creation, Window creation and event dispatching is 'pipelined' into.
This can be switched off:
NewtFactory.setUseEDT(boolean onoff);
and queried via:
NewtFactory.useEDT();
Note this EDT impl. does not implicate a global lock or whatsoever.
The experimantal semantics of a current GL context
for input event dispatching is removed,
i.e. the GL context is no more made current for mouse/key listener.
This reduces the complexity and allows the proper impl. of
the external dispatch via EDT .. for example.
Removed:
GLWindow: setEventHandlerMode(int) .. etc
X11Display: XLockDisplay/XUnlockDisplay
needed to be utilized to allow the new
multithreading (EDT/Render) Display usage.
X11Window: lockSurface/unlockSurface
locks X11Display as well ..
+++++
NEWT: 'getSurfaceHandle()' semantics changed.
To allow usage of the surfaceHandle for OS
where it is allocated thread local (MS-Windows),
it shall be aquired/released while lockSurface/unlockSurface.
This is done in the Windows Window implementation.
GLWindow can no more query 'getSurfaceHandle()'
to verify if 'setRealized()' was successful.
NEWT: Window surface lock is recursive and blocking now,
as it shall be.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- If property 'nativewindow.ws.name' is set,
use it as the custom windowing type returned by
getNativeWindowType(true)
NEWT:
- Using NativeWindowFactory's property 'nativewindow.ws.name'
as a package name for custom NEWT windowing imlementations,
ie:
-Dnativewindow.ws.name=com.sun.javafx.newt.intel.gdl
-Dnativewindow.ws.name=com.sun.javafx.newt.broadcom.egl
This allows far more flexibility to add custom impl.
- Add Intel-GDL, define property 'useIntelGDL'
to build the native part.
Intel GDL is impl in the package 'com.sun.javafx.newt.intel.gdl'
JOGL:
- All impl. of 'createGLDrawable(..)', which were actually creating
onscreen drawable only, were renamed to 'createOnscreenDrawable(..)'.
- GLDrawableFactoryImpl impl. 'createGLDrawable(..)' now
and dispatches to the actual create* methods in respect to
the Capabilities, ie onscreen, pbuffer and offscreen.
- GLDrawableFactory:
- If using a native ES profile -> EGLDrawableFactory
- If existing native OS factory -> Use that ..
- Else -> Use EGLDrawableFactory, if available
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fixes for OpenGL 3.2
- More strict define/function checking
- Better documentation in source code: extension relation
- GL extension marker exclusion is done by GlueGen now
- Adapted gluegen cfg files
Added OpenGL 3.2 extensions for GL3
Revalidation of all OpenGL 2.0/3.0/3.1 and 3.2 extensions
GL2GL3 based on OpenGL 2.0/3.0 headers
EGL shares common egl-common.cfg file
Removed experimental java system property 'jogl.GLContext.3_2',
try a 3.2 context in case of GL3.
X11GLXContext:
- Always try to make a created context current,
to verify it's usability. This is different than under WGL.
- Temporary removed usage: GLX.GLX_CONTEXT_PROFILE_MASK_ARB
NV driver bug.
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLX_ARB_create_context: Add 3.2 context
WGL_ARB_create_context: Add 3.2 context
Add: Trying to use 3.2 core profile creation for GL3,
disabled by default.
(Disabled per default due to a freezing JVM on Linux
_after_ the Java main thread and Hotspot finishes.)
Experimental: You may try '3.2 core profile creation'
setting the java system property 'jogl.GLContext.3_2'.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add GL_NV_present_video
- add GL_NV_conditional_render
- add GL_EXT_transform_feedback
- add GL_EXT_direct_state_access
GL3:
- GLAPIENTRY -> APIENTRY (as in the orig headers)
- Add GL_ARB_geometry_shader4 to gl3ext.h
|
| |
|
|
|
|
| |
glAllocateMemoryNV to GL2GL3 only. Add GL2GL3 interface. Fix some GL2 signatures. BroadcomEGL disable custom setSize().
|
|
|
|
| |
(-Dnativewindow.ws.name=BroadcomEGL): 1st Draft of supporting broadcom's proprietary EGL mapping
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- GLX, CGL, WGL
- GL2ES12 desktop ES1 and ES2 common profile
Cleanup JAR file seperation
- New: jogl.cdcfp.jar (ALL for CVM/CDC)
- New: setup.nogl2es12 (Allow GL2ES12 for CVM without gl2/gl3)
- Clean dependencies of GLX, WGL, CGL (incl. for GL2ES12)
- Only build supported JAR archive, ie if they are being build
Fix GL2ES12: Only add impl. for ES1 and ES2 interface methods
- Use new com.sun.gluegen.runtime.PointerBuffer, to support CVM
- CVM and J2SE Java JAR archives are equal!
- Well, the build form *everything* includes some empty directories
in the cdcfp JAR archives though.
- Removed last AWT dependency in MacOSX chain
- GLDrawableFactory
- com.sun.opengl.impl.macosx.cgl.MacOSXCGLDrawableFactory
- com.sun.opengl.impl.macosx.cgl.awt.MacOSXAWTCGLDrawableFactory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current thread default display or
the given display is being used,
hence it is no more required to use a ToolkitLock
for X11 without AWT.
Removed X11 ToolkitLock in case of X11 without AWT,
which is being detected with the absence of the classes
java.awt.Component _AND_ javax.media.nativewindow.awt.AWTGraphicsDevice
or with the system property
java.awt.headless=true
Only in the Java2D/Swing case, one 'leaking' Display
is created within canCreateGLPbuffer().
- Workaround for Hotsport bugs #4395095, #6852404
4395095 JNI access to java.nio DirectBuffer constructor/accessor
6852404 Race condition in JNI Direct Buffer access and creation routines
- Added build.xml
-Dbuild.noarchives=true property to skip the time consuming
creation of zip archives.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1988 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
Solaris/SPARC nightly build machines.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1978 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
of unsigned long long which is not supported in some compilers (e.g. MSVC 6)
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1963 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1962 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1959 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
on to trunk
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1958 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
| |
Added and specified GLContext.copy() and supplied implementations on
Windows, X11 and Mac OS X platforms. New code is untested at this
time. May need to make subsequent changes on X11 and Mac platforms
where new code has not been compiled yet.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1075 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
(glXReleaseTextImageEXT should be glXReleaseTexImageEXT) reported by
user bleb on javagaming.org forums; reported to NVidia
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1011 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
Updated wglext.h and glxext.h to current versions plus GeForce 8
series extensions.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@991 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
| |
including OpenGL 2.1 entry points and definitions. Minor changes to
GlueGen and PCPP to allow slightly more complicated #ifdef constructs
and new Windows built-in types to parse.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@990 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added getChosenGLCapabilities() to the GLDrawable interface.
Implemented on Windows, Unix and Mac OS X platforms with various
techniques. Attempts to provide correct answers in all cases, even
when the GLCapabilitiesChooser mechanism is not supported. Required
addition of new platform-specific Java code in most cases to either
re-convert existing PIXELFORMATDESCRIPTORS / XVisualInfos, or to query
the pixel format or visual chosen for drawables like pbuffers for
which the chooser mechanism is not (yet) implemented. Tested on
Windows, Solaris/x86, and Mac OS X with on-screen, off-screen and
pbuffer drawables. (Full support for the Java2D/JOGL bridge is not yet
in place; the answer returned from the GLJPanel in this case is
currently the default GLCapabilities, and it is likely that "external"
GLDrawables will return null.)
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@989 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Obtained from:
Submitted by: Travis
Reviewed by:
Sun is adding an alternative license term to the SGI Free B license which
is permitted under that license. We are removing a couple of provisions
from the SGI Free B license to make the license more liberal for our end
users of JOGL. So these changes are just communication of that. There are
no actual source code changes, just changes to the license file and the
license text in each source code file.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@856 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLJPanels when the Java2D/JOGL bridge is active on Mac OS X. This
required adding an alternate implementation for pbuffer drawables and
contexts on OS X which uses CGL rather than the NextStep OpenGL APIs.
Tested with advance Mustang bits on Mac OS X; Water and
HWShadowmapsSimple demos (which use pbuffers) are now working within
the JRefract harness when the Java2D/JOGL bridge is active.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@855 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue 216: Cannot create GLCanvas on non-default GraphicsDevice
Made JOGL Xinerama-aware; now uses screen 0 rather than the screen
reported from the AWT GraphicsDevice when Xinerama is enabled. So far
only compiled and tested on non-Xinerama configuration on Linux; more
testing needed on Xinerama setups and on Solaris.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@782 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
on Windows 64-bit
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@715 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DrawingSurface locking primitives during the makeCurrent operation.
While in theory the JAWT should be used for locking for the entire
duration of the makeCurrent/release pair, in practice because OpenGL
is orthogonal to the window system this is not really necessary, at
least if higher-level locking primitives are used to make sure the
window is not torn down out from under the library while OpenGL
rendering is being performed. The OpenGL-related work done in
GLCanvas.addNotify() and removeNotify() handles this. These changes
enable simultaneous multi-head rendering on X11 systems with one
OpenGL context per thread. Changed GLContext.destroy() to acquire the
context's lock during the destroyImpl operation for correctness in the
new protocol. Changed several Mac OS X native code entry points to not
take an unnecessary NSView* argument. Tested with several demos on all
platforms to stress creation and destruction of multiple kinds of
OpenGL contexts.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@624 232f8b59-042b-4e1e-8c03-345bb8c30851
|