#jogamp @ irc.freenode.net - 20160111 05:05:16 (UTC)


20160111 05:05:16 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20160109064316.html
20160111 05:05:16 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20160111050516.html
20160111 06:18:55 * netlike (~netlike@anon) has joined #jogamp
20160111 06:23:40 * user__ (~netlike@anon) has joined #jogamp
20160111 06:26:42 * netlike (~netlike@anon) Quit (Ping timeout: 250 seconds)
20160111 08:28:00 * monsieur_max (~maxime@anon) has joined #jogamp
20160111 08:33:58 * Eclesia (~husky@anon) has joined #jogamp
20160111 08:34:11 <Eclesia> hi
20160111 08:39:12 * elect (~GBarbieri@anon) has joined #jogamp
20160111 09:07:05 * user__ (~netlike@anon) Quit (Quit: Leaving)
20160111 10:18:12 <bruce-> morning
20160111 10:23:51 <elect> hi
20160111 10:26:53 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160111 10:40:03 * monsieur_max (~maxime@anon) has joined #jogamp
20160111 11:52:08 * Eclesia (~husky@anon) Quit (Ping timeout: 250 seconds)
20160111 11:52:41 * Eclesia (~husky@anon) has joined #jogamp
20160111 12:56:53 <xranby1> http://hexus.net/tv/show/2016/01/Imagination_demos_real_time_ray_tracing_on_a_PowerVR_GPU
20160111 12:57:17 <xranby1> look at that.. realtime raytracing now in silicon
20160111 12:59:16 <xranby1> without using fans
20160111 12:59:25 <xranby1> 5x faster than a GTX 980 Ti while consuming 10x less power
20160111 13:00:06 <zubzub> but does it have electrolites?
20160111 13:02:35 <elect> sgothel, any test/sample available regarding GLDebugMessageHandler, GLDebugMessage and GLDebugListener?
20160111 13:04:05 <xranby1> zubzub: not any big capacitors what i can see in this image of the GPU http://hexus.net/media/uploaded/2016/1/3b5f2233-52e2-4ade-ba6e-5d9720932a38.png
20160111 13:04:31 <xranby1> the PowerVR GR6500 is a mobile GPU whose die size and power consumption is said to be comparable with GPUs that already exist in today's smartphones
20160111 13:38:57 <Eclesia> zubzub: is it brawndo
20160111 13:39:27 <Eclesia> it <-> is
20160111 13:55:14 <xranby1> I always enjoy seeing running live demos, eating dog food and drinking the kool-aid
20160111 13:56:06 <xranby1> however when they say you should try it too, the first bite is for free.. then be caucious
20160111 13:57:17 <xranby1> i also stay away from the sign this paper before you can look at it people
20160111 14:02:03 <xranby1> Eclesia: i have been exploring whats missing in Mesa3D in order to have a working free software Gallium driver for the ARM Mali GPU.
20160111 14:02:36 <xranby1> Eclesia: The reverse engineering people have documented the ISA for the GPU and written some external assemblers and disassemblers
20160111 14:03:05 <bruce-> I am looking for a cheap alternative to RPI that does not use SD cards
20160111 14:03:26 <bruce-> I have had so many problems with the SD cards that I am afraid to use the RPI for anything serious
20160111 14:03:39 <xranby1> Eclesia: so after some days analysing.. the only missing bit is to A) pick an intermediate IR and B) write the logic/register allocator for this GPU and then toss the data to the GPU
20160111 14:03:53 <zubzub> bruce-: have you tried bying a good sd card?
20160111 14:04:00 <zubzub> 90% of what's on the market is crap
20160111 14:04:07 <bruce-> yeah, what is a good SD card?
20160111 14:04:09 <bruce-> we have tried so many
20160111 14:04:24 <bruce-> we have bought batches of 10 of which half don't work properly
20160111 14:04:28 <xranby1> bruce-: i have some alpha c.h.i.p boards based on the allwinner R8 SoC
20160111 14:04:55 <Eclesia> xranby1: and you want to write this code in unlicense-lib, cool ou already have a write access , good luck :)
20160111 14:04:55 <zubzub> there' also an intel all in one thing that looks like a chromecast but is actually a full pc
20160111 14:05:10 <xranby1> the chip is quite cheap however you need a free software gpu driver
20160111 14:05:29 <bruce-> for this I don't really need gpu actually
20160111 14:05:32 <zubzub> bruce-: have you tried connecting an external usb driver?
20160111 14:05:35 <xranby1> bruce-: if you want to have an easy life.. do take a close look at the intel offerings
20160111 14:05:50 <zubzub> *usb drive
20160111 14:05:52 <zubzub> non ssd one
20160111 14:06:03 <bruce-> an RPI with on board flash would be great
20160111 14:06:04 <zubzub> usb powered (if the pi can do that that is)
20160111 14:06:39 <bruce-> we use the RPI basically as a bridge between ethernet and serial, to drive LED installations
20160111 14:06:49 <xranby1> bruce-: do you require a lot of USB ports, a lot of ethernet connections, a lot of GPIO .. or similar?
20160111 14:07:01 <bruce-> just one usb port and one ethernet port
20160111 14:07:17 <xranby1> the chip have one usb port and one wifi port and a lot of gpio
20160111 14:10:46 <xranby1> bruce-: ... if wifi + gpio only is ok then there is one chip that is becomming the star in the maker community.. let me think... ESP8266 https://www.sparkfun.com/products/13678
20160111 14:12:20 <xranby1> (15:06:04) zubzub: usb powered (if the pi can do that that is) <- the raspberry Pi zero can be reverse powered using its usb otg port
20160111 14:14:48 <xranby1> Eclesia: the idea have crossed my mind to implement the GPU compiler in UN lib
20160111 14:15:29 <xranby1> making mesa3d depend on java might stir up some interesting discussions
20160111 14:17:21 <zubzub> xranby1: yeah, never gonna happen :p
20160111 14:17:53 <Eclesia> xranby1: you can try, for now I'm occupied with sarting a flash virtual machine :)
20160111 14:17:55 <bruce-> xranby1: that is a cute chip but does not really fit what I am doing
20160111 14:17:59 <Eclesia> starting*
20160111 14:19:37 <xranby1> zubzub: i will likely simply make an implementation that uses NIR as the IR and try lower it to the GPU using the existing C based assembler structs available from the Lima reverse engineering research.
20160111 14:20:15 <xranby1> Lima kind of stopped after all core developers got head hunted
20160111 14:20:56 <zubzub> I have no idea what you are talking about but Im sure it's awesome
20160111 14:21:31 <zubzub> what is NIR, what is IR and what is Lima
20160111 14:22:28 <xranby1> Lima is the project that reverse engineered the ARM Mali GPU -> http://limadriver.org/
20160111 14:22:50 <xranby1> They documented the GPU's ISA http://limadriver.org/Lima+ISA/
20160111 14:23:26 <xranby1> that is the GPU's machine code instruction set architecture (ISA)
20160111 14:24:33 <xranby1> Mesa3D have many Intermediate representation (IR) think of it as a common way to express GPU shaders
20160111 14:25:23 <xranby1> Inside Mesa3D there exist four mayour IR TGSI, SPIR-V <- these two are good for data interchange and NIR, LLVM <- these two are good at doing actual optimizations of the shaders
20160111 14:26:11 <xranby1> the AMD radeonsi driver uses LLVM IR to do its optimizations and have made stellar benchmark performance compared to the closed source catalyst driver
20160111 14:26:30 <Eclesia> IR ?
20160111 14:26:39 <xranby1> IR = Intermediate representation
20160111 14:27:40 <xranby1> inside the OpenGL driver the a GLSL shader is forst converted into an IR
20160111 14:27:49 <xranby1> optimizations is then performed on the IR
20160111 14:28:24 <xranby1> when when the shader is optimized it is lowered into a stream of bytes using the GPU's machinecode
20160111 14:29:06 <xranby1> thus if order to write a backend for a new GPU inside the Mesa3D project
20160111 14:29:38 <xranby1> you need to write a compiler that takes one of the suppored IR and compiles it into machine code for the GPU
20160111 14:31:35 <xranby1> many of the free software drivers for SoC uses the NIR IR that is freedreno (for the adreno GPU's), etnaviv ( for the vivante GPU), vc4 (for the Broadcome videocore GPU)
20160111 14:32:24 <xranby1> thus optimization work for one GPU will benefit all other GPU's when using NIR
20160111 14:32:57 <zubzub> xranby1: ok
20160111 14:33:05 <zubzub> and what does that have to do with java
20160111 14:33:31 <xranby1> zubzub: a compiler can be written in any language
20160111 14:35:07 <xranby1> thus the question.. is would it be good/bad to write the IR -> GPU machinecode compiler in java?
20160111 14:35:57 <xranby1> Eclesia's UB lib at least have some neat classes that may be used
20160111 14:36:01 <xranby1> UN lib
20160111 14:36:31 <zubzub> xranby1: I assume that would require spawning a child jvm process to perform it's stuff
20160111 14:36:52 <zubzub> spawing a jvm is costly no?
20160111 14:37:01 <xranby1> maybe.. or simply copile it statically using GCJ
20160111 14:38:12 <zubzub> I think you will save a lot on development time, but you will loose a lot at runtime
20160111 14:39:18 <rmk0> would think a java compiler that consumes GLSL and produces SPIR-V would be more useful... compile shaders as part of a build via a maven plugin or whatever
20160111 14:39:35 <zubzub> rmk0: idd
20160111 14:39:40 <zubzub> and please no build system plugins
20160111 14:39:42 <zubzub> please no
20160111 14:39:49 <zubzub> use java build in code generation mechanisms
20160111 14:40:03 <rmk0> eh?
20160111 14:40:11 <zubzub> java has build in support to perform source and resource generation
20160111 14:40:21 <zubzub> compile time annotation processors
20160111 14:40:32 <rmk0> that's if you're taking java source code and producing something else, yes
20160111 14:40:40 <rmk0> i'm talking about raw glsl to spir-v
20160111 14:40:48 <zubzub> you can put an annotaiton on a java package-info file
20160111 14:41:12 <zubzub> and have your annotation processor derive information from that annotation to find the glsl and output spir v
20160111 14:41:30 <rmk0> i'd rather not pointlessly involve java source code at all
20160111 14:41:56 <rmk0> would expose the same interface as the existing command line glslc
20160111 14:52:13 <rmk0> http://waste.io7m.com/2016/01/11/instancing.png
20160111 14:52:14 <rmk0> \o/
20160111 14:52:36 <rmk0> 4096 instances in one draw call ♥
20160111 14:53:06 <monsieur_max> more !
20160111 14:53:22 <rmk0> *instancing increases*
20160111 14:54:14 <rmk0> i'm going to limit it to 32k per batch so that i don't run into your nvidia driver bug
20160111 14:54:21 * rmk0 kicks nvidia
20160111 14:55:01 <elect> which bug?=
20160111 14:56:19 <rmk0> https://github.com/io7m/nvidia-bug-20151230/blob/master/bug.c
20160111 14:56:28 <rmk0> discovered by monsieur_max
20160111 14:56:53 <rmk0> rendering will just lock up when rendering a particular number of instances (within a particular range)
20160111 14:57:16 <monsieur_max> rmk0: don't remember this ...
20160111 14:57:35 <monsieur_max> i don't even know what rendering means, same for instance or nvidia
20160111 14:57:48 <rmk0> ...
20160111 14:58:01 * rmk0 consults logs
20160111 14:59:32 <rmk0> monsieur_max: wow, i'm sorry, i've mixed you up with bruce-
20160111 14:59:40 <rmk0> no idea how i managed that
20160111 14:59:44 <monsieur_max> happens all the time
20160111 14:59:53 <monsieur_max> we're like twins
20160111 15:00:15 <rmk0> http://jogamp.org/log/irc/jogamp_20151230050514.html
20160111 15:00:50 <rmk0> it won't freeze when the number of instances is less than 37364 or more than 100000
20160111 15:00:57 <rmk0> no doubt the range is a bit smaller than that
20160111 15:02:12 <elect> is it acknoledged by nv?
20160111 15:02:59 <elect> I wonder how such a serious bug may be around
20160111 15:04:37 <rmk0> i think it may only be reproduceable on OS X, so it may be breakage by apple
20160111 15:05:35 <elect> bruce-, have you had the chance to test it on 10.11?
20160111 15:06:52 <xranby1> At the end of last year in 2015-12-20: the Lima project changed its topic to: "this project looking for developers, if you'd like to try, come to our IRC #lima "
20160111 15:07:19 <xranby1> and i picked up on this challenge.. therefore I am looking into Mesa3D and Gallium in order to write a free software Mali GPU driver; how hard can it be?
20160111 15:07:56 <xranby1> as my new years eve resolution
20160111 15:08:38 <xranby1> looking into it do make the GPU driver internals more understandable
20160111 15:13:04 <zubzub> I'm just implementing a jna alternative
20160111 15:13:11 <zubzub> I'm not as crazy as xranby1 :p
20160111 15:15:41 <xranby1> zubzub: i am naievly imaginating that this GPU driver project will be like an assignment where you is selected to make a pie and enters a large resturant kitchen where all the chefs have gone missing, however they have left random cooking recipes all over the place
20160111 15:23:56 <rmk0> might not be so bad if all it really has to do is translate bytecode
20160111 15:24:12 <rmk0> imagine it gets nasty if you have to deal with power management and other nonsense
20160111 15:24:28 <rmk0> does the kernel abstract that stuff away?
20160111 15:24:57 <xranby1> yes, the kernel makes sure that the power regulators is turned on in the right order for the GPU to operate
20160111 15:25:46 <xranby1> and the kernel provide the /dev/dri/card0 that you use to pass data to the GPU
20160111 15:28:08 <xranby1> you then write to this /dev/dri/card0 file using the linux ioctl syscall
20160111 15:28:42 <xranby1> or better also abstract how to talk to this device file use the libdrm library
20160111 15:28:55 <rmk0> right
20160111 15:47:28 <xranby1> libdrm is technically a part of the linux kernel however it is maintained by the freedesktop / mesa3d people
20160111 15:48:10 <rmk0> it's all one big grey area by now
20160111 15:48:13 <zubzub> libdrm is the user space part to interface with the kernel space part
20160111 15:50:35 <xranby1> in the ARM Mali case, the free software libdrm have already been patched to support the closed source GPU driver hence the userspace part is already there!
20160111 15:52:09 <xranby1> the ARM Mali gpu do not know how to pass the rendered data to the screen, thus one part of the kernel is to also provide a driver for the scanout hardware that is differnt for about each arm SoC chip
20160111 15:52:37 <xranby1> Thus all Allwinner SoC chips have a scanout hardware that is used to copy data to the screen
20160111 15:52:53 <xranby1> this hardware supports some scaling and layers so that you can have a nice mousepointer
20160111 15:53:48 <xranby1> hdmi connectivity, LCD connectivity etc etc
20160111 15:54:33 <xranby1> thus the libdrm must know how to talk to the GPU and when to setup the scanout hardware
20160111 15:56:51 <xranby1> when you have a linux kernel kms framebuffer driver then that is the driver for the scanout hardware
20160111 16:42:35 * elect (~GBarbieri@anon) Quit (Ping timeout: 240 seconds)
20160111 16:52:33 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160111 17:06:12 * Eclesia (~husky@anon) has left #jogamp
20160111 18:18:32 * badshah400 (~badshah40@anon) has joined #jogamp
20160111 18:56:18 * badshah400 (~badshah40@anon) Quit (Read error: Connection reset by peer)
20160111 18:56:28 * badshah400_ (~badshah40@anon) has joined #jogamp
20160111 18:56:34 * badshah400_ is now known as badshah400
20160111 20:03:48 * monsieur_max (~maxime@anon) has joined #jogamp
20160111 20:30:37 * Eclesia (~eclesia@anon) has joined #jogamp
20160111 20:48:17 <Eclesia> \o/
20160111 20:50:22 <rmk0> \o/
20160111 20:50:56 <Eclesia> I found someone to make a glyphe TTF, a bit like fontawesome.io (but in public domain)
20160111 20:51:04 <Eclesia> his first results : http://unlicense.developpez.com/temporaire/fonts.png
20160111 20:52:51 <rmk0> not bad... the cursor-like arrows look a bit ... bent
20160111 20:53:04 <rmk0> may be an optical illusion
20160111 20:53:25 <Eclesia> hmm maybe
20160111 20:53:59 <Eclesia> anyway, a start is a start, nothing's perfect the first time :)
20160111 20:54:06 <rmk0> right
20160111 20:56:35 <Eclesia> I think i'll put this in a different projet. unlicense-font since it's not code. that will make easier for everyone to use.
20160111 20:56:41 <Eclesia> make it*
20160111 21:55:46 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160111 22:21:23 <Eclesia> good night ++
20160111 22:21:30 * Eclesia (~eclesia@anon) Quit (Quit: Leaving.)
20160112 02:55:49 * badshah400 (~badshah40@anon) Quit (Quit: badshah400)
20160112 03:02:52 * badshah400 (~badshah40@anon) has joined #jogamp
20160112 03:36:59 * badshah400 (~badshah40@anon) Quit (Quit: badshah400)
20160112 05:05:16 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20160112050516.html