#jogamp @ irc.freenode.net - 20140624 05:05:27 (UTC)


20140624 05:05:27 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20140623050527.html
20140624 05:05:27 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20140624050527.html
20140624 05:08:37 * zzuegg (zzuegg@anon) Quit (Ping timeout: 240 seconds)
20140624 05:08:59 * zzuegg (zzuegg@anon) has joined #jogamp
20140624 06:21:48 * monsieur_max (~maxime@anon) has joined #jogamp
20140624 08:37:46 <zubzub> rmk0: sgothel I think java SPI might solve it
20140624 08:38:35 <zubzub> sgothel: findClass will not work if you the CL is not in the parent chain of your classloader
20140624 08:38:46 <zubzub> eg pretty much any container
20140624 08:38:54 <rmk0> .o.
20140624 08:39:14 <zubzub> sgothel: plus as you said it might be slow
20140624 08:39:25 <zubzub> http://docs.oracle.com/javase/tutorial/sound/SPI-intro.html
20140624 08:40:20 * rmk0 eyes it
20140624 08:40:26 <rmk0> i just woke up, i may be incoherent
20140624 08:41:09 <zubzub> SPI is basically querying a java type registery that gives you all implementations of the queried type
20140624 08:41:38 <zubzub> implementations are found by looking at all jar's META-INF/services folder
20140624 08:42:22 <zubzub> so you don't use the classloader hierarchy to find a type
20140624 08:43:50 <rmk0> hm
20140624 08:45:33 <zubzub> i'm not sure how it will work in a container though
20140624 09:14:36 <rmk0> i don't think jogl will work in a container, currently, due to assumptions it makes about the classloader hierarchy
20140624 09:15:18 <rmk0> think we have to use the container-specific native library loading there, and not use any of the current code to unpack jars and so on
20140624 09:15:43 <rmk0> it also assumes that native libraries loaded by one module will be available to another... we ran into this problem with ceylon
20140624 09:15:57 <rmk0> the only solution there is to pack the jogl-all and gluegen-rt jars into one module
20140624 09:15:59 * jvanek (jvanek@anon) has joined #jogamp
20140624 09:24:55 <zubzub> in osgi you can mark eg jogl as a fragment bundle of gluegen
20140624 09:25:02 <zubzub> then they will share the same classloader
20140624 09:25:14 <rmk0> hm, right
20140624 09:25:53 <zubzub> although it does not 'respect' the philosophy of fragment bundles, it should work
20140624 09:26:28 <zubzub> the native jars could also be marked as fragment bundles
20140624 09:26:36 <zubzub> and with some extra lines in their manifest
20140624 09:26:45 <zubzub> it would allow osgi to load the native library
20140624 09:26:54 <zubzub> while disabling jogls own native lib loading
20140624 09:27:40 <zubzub> since ceylon is an osgi ripoff I assume it would work in a similar way
20140624 09:29:16 <rmk0> i don't remember seeing that feature
20140624 09:32:45 <zubzub> that's because osgi is superior ;)
20140624 09:33:16 <rmk0> most likely!
20140624 09:34:06 <zubzub> unfortunately the flexiblity of osgi makes it tricky to do it right
20140624 11:36:53 <zubzub> looking at SPI, I think it might actually work
20140624 11:46:26 <rmk0> supposedly as of today, ceylon modules can run in osgi containers
20140624 12:53:03 * eclesia (~husky@anon) has joined #jogamp
20140624 12:53:09 <eclesia> hi
20140624 14:24:18 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20140624 15:07:41 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20140624 15:57:20 * kermyt (~kermyt@anon) has joined #jogamp
20140624 16:08:12 * eclesia (~husky@anon) has left #jogamp
20140624 16:40:00 * juank_prada (~juank_pra@anon) has joined #jogamp
20140624 17:23:25 * monsieur_max (~maxime@anon) has joined #jogamp
20140624 17:27:18 * [Mike] (~Mike]@anon) has joined #jogamp
20140624 17:54:37 * juank_ (~juank_pra@anon) has joined #jogamp
20140624 17:57:42 * juank_prada (~juank_pra@anon) Quit (Ping timeout: 245 seconds)
20140624 19:43:26 * void256 (~void@anon) has joined #jogamp
20140624 19:54:56 * juank_ (~juank_pra@anon) Quit (Read error: Connection reset by peer)
20140624 19:55:19 <void256> Caused by: javax.media.opengl.GLException: Not a GL2 implementation
20140624 19:55:20 <void256> at jogamp.opengl.gl4.GL4bcImpl.getGL2(GL4bcImpl.java:37072)
20140624 19:55:22 <void256> at de.lessvoid.nifty.renderer.jogl.render.JoglGL.glGetError(JoglGL.java:375)
20140624 19:55:31 <void256> hi people :) does that sound familiar to one of you? o_O
20140624 19:56:12 <void256> <jogamp.version>2.1.4</jogamp.version>
20140624 19:56:45 <sgothel> you might wanne dump the GLContext .. or whole version info via JoglVersion.getGLStrings(..)
20140624 19:56:55 <sgothel> probably it's not a GL2 context :)
20140624 19:57:15 <sgothel> (but a core one, i.e. GLES2, GLES3, GL3, GL4, ..
20140624 19:57:17 <void256> hi sven ;) yes, sounds like its not a GL2 context ;)
20140624 19:57:35 <void256> I just don't know why - I haven't changed anything iirc O_O
20140624 19:57:48 <sgothel> .. as selected via GLCapabilitie's GLProfile
20140624 19:58:20 <sgothel> maybe you updated NV, Mesa driver etc .. and suddenly .. there is ES3 available or something
20140624 19:58:29 <sgothel> or GL3
20140624 19:58:38 <sgothel> while you selected maybe GL2ES2
20140624 19:58:48 <sgothel> we favor core profiles ..
20140624 19:59:04 <sgothel> hence .. try using GLProfile.getMaxFunction...() (sic)
20140624 19:59:16 <rmk0> mesa's gone from 2.1, to 3.0, to 3.1, to 3.3 in about 18 months
20140624 19:59:29 <rmk0> would expect distributions to catch up slowly and thus the available context to change regularly
20140624 20:03:13 <rmk0> don't know what version of mesa a reasonably conservative distro like debian is using at the moment
20140624 20:03:30 <rmk0> is usually... oldish
20140624 20:03:56 <void256> GLProfile[GL2GL3/GL4.hw]
20140624 20:04:03 * hija (~hija@anon) has joined #jogamp
20140624 20:04:12 <void256> return GLContext.getCurrentGL().getGL2().glGetError();
20140624 20:04:26 <sgothel> GL4 is not a GL2
20140624 20:04:32 <sgothel> isGL2() == false
20140624 20:04:53 <void256> can I somehow disable GL4? o_O
20140624 20:04:54 <sgothel> GL2 is fixed function, GL4 is core (w/o it) .. see UML diagram on jogamp homepage
20140624 20:05:06 <sgothel> you can choose max-fixed-function .. via GLProfile
20140624 20:05:26 <sgothel> when you create your GLCapabilities request
20140624 20:05:27 <void256> I want core
20140624 20:05:29 <void256> :)
20140624 20:05:37 <sgothel> so then don't do getGL2() .. duh :)
20140624 20:05:47 <void256> hmm
20140624 20:05:51 <void256> damn it :)
20140624 20:06:04 <sgothel> glGetError() is in GL .. isn't it ?
20140624 20:06:26 <void256> indeed
20140624 20:06:28 <void256> >__<
20140624 20:06:33 <void256> wtf
20140624 20:06:55 <void256> Committer: Julien Gouesse <gouessej@orange.fr> 2014-01-24 09:53:54
20140624 20:07:10 <void256> Julien wrote that with "GLContext.getCurrentGL().getGL2()" everywhere ;)
20140624 20:07:20 <sgothel> which project ? probably a fast port of something
20140624 20:07:27 <void256> Nifty of course
20140624 20:07:34 <void256> Update JoglGL.java
20140624 20:07:36 <void256> Partial fix of the issue 205:
20140624 20:07:37 <void256> https://github.com/void256/nifty-gui/issues/205
20140624 20:07:40 <void256> that was his commit comment
20140624 20:07:57 <sgothel> hey .. give him KUDOS for doing the fast port :), accuracy lies in the eyes of the maintainer .. and you obviously merged it :)
20140624 20:08:06 <void256> ;)
20140624 20:08:50 <sgothel> advice .. carefully 'mouse over' each GL call .. and see the javadoc API ..
20140624 20:09:00 <sgothel> then reduce the GL usage to the lowest possible
20140624 20:09:16 <sgothel> if it uses / requires more than GL2ES2, you may need special handling
20140624 20:09:32 <sgothel> i.e. I usually base all stuff on GL2ES2 .. and branch for specifics .. i.e. GL3 etc
20140624 20:22:24 <void256> it's not his fault
20140624 20:22:49 <void256> it was using getGL2() before but only stored it in a member variable
20140624 20:22:56 <void256> he only removed that part
20140624 20:23:06 <void256> but I'm sure that worked before .. hmm
20140624 20:24:12 <sgothel> ah .. so thats the source of the code .. and well, 'fault' and 'guilt' is a hard concept anyway :)
20140624 20:24:47 <void256> ;)
20140624 20:50:41 <void256> muhaha
20140624 20:50:44 <void256> it works again :D
20140624 20:51:45 <void256> there were other bugs as well by other contributors .. but ... I blame the maintainer now ;)
20140624 20:54:34 * kermyt (~kermyt@anon) Quit (Ping timeout: 240 seconds)
20140624 20:57:08 * [Mike] (~Mike]@anon) Quit (Ping timeout: 244 seconds)
20140624 20:57:15 * kermyt (~kermyt@anon) has joined #jogamp
20140624 21:03:36 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20140624 21:18:46 * [Mike] (~Mike]@anon) has joined #jogamp
20140624 21:28:42 * void256_ (~void@anon) has joined #jogamp
20140624 21:30:22 * gouessej (5279c429@anon) has joined #jogamp
20140624 21:30:25 <gouessej> Hi
20140624 21:30:36 <gouessej> void256, what's wrong with what I wrote?
20140624 21:30:39 * void256 (~void@anon) Quit (Ping timeout: 240 seconds)
20140624 21:30:52 * void256_ is now known as void256
20140624 21:32:31 <gouessej> It was already using a GL2 instance anyway
20140624 21:33:00 <gouessej> except in JoglCoreGL
20140624 21:33:05 <gouessej> It used GL3
20140624 21:33:15 <gouessej> Then I used GLContext.getCurrentGL().getGL3()
20140624 21:33:21 <gouessej> it seems logical
20140624 21:33:27 <gouessej> I didn't break anything
20140624 21:33:53 <gouessej> Please don't use the "core" GL everywhere
20140624 21:34:02 <gouessej> Sven's suggestion is fine
20140624 21:34:28 <gouessej> We should use GL2ES2 and GL2ES1 when it's possible
20140624 21:34:43 <sgothel> He mentioned the 'offending code' pre-existed somewhat (getGL2() -> breaks things if core profile)
20140624 21:34:59 <gouessej> ok that's right
20140624 21:35:02 <sgothel> nobody at fault -- all cool, just an oversight
20140624 21:35:38 <gouessej> My PC has become very cool since I removed the faulty piece of hardware :)
20140624 21:36:33 <gouessej> the DVI extension card "Silicon Image"
20140624 21:37:57 <void256> gouessej: sorry! it's all well :)
20140624 21:38:33 <gouessej> Don't be sorry but I thought this part of your API could go on using the non core profile
20140624 21:38:44 <void256> I thought so too
20140624 21:39:00 <gouessej> What are you going to do then?
20140624 21:39:14 <void256> but somehow it did not - I think I've never checked since there was a commit by someone else
20140624 21:39:20 <void256> I've removed the getGL2() part :D
20140624 21:39:40 <void256> before:
20140624 21:39:42 <void256> GLContext.getCurrentGL().getGL2().glGetError();
20140624 21:39:47 <void256> after:
20140624 21:39:48 <void256> GLContext.getCurrentGL().glGetError();
20140624 21:39:51 <void256> helped ;)
20140624 21:40:50 <gouessej> ok
20140624 21:47:42 * kermyt (~kermyt@anon) Quit (Ping timeout: 255 seconds)
20140624 21:51:33 <gouessej> Good night.
20140624 21:51:42 * gouessej (5279c429@anon) Quit (Quit: Page closed)
20140624 21:51:48 * kermyt (~kermyt@anon) has joined #jogamp
20140624 21:56:53 <void256> I'm off too .. thanks for the help! :D
20140624 21:57:11 * void256 (~void@anon) Quit (Quit: ChatZilla 0.9.90.1 [Firefox 30.0/20140605174243])
20140625 02:31:25 * kermyt (~kermyt@anon) Quit (Ping timeout: 244 seconds)
20140625 02:34:03 * kermyt (~kermyt@anon) has joined #jogamp
20140625 04:31:34 * [Mike] (~Mike]@anon) Quit ()
20140625 05:05:27 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20140625050527.html