#jogamp @ irc.freenode.net - 20160419 05:06:18 (UTC)


20160419 05:06:18 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20160418050618.html
20160419 05:06:18 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20160419050618.html
20160419 05:42:00 * bigpet (uid25664@anon) has joined #jogamp
20160419 06:22:43 * elect (~GBarbieri@anon) has joined #jogamp
20160419 06:23:10 <elect> hi
20160419 06:31:48 * jvanek (jvanek@anon) has joined #jogamp
20160419 06:55:15 * monsieur_max (~maxime@anon) has joined #jogamp
20160419 06:59:40 * Eclesia (~husky@anon) has joined #jogamp
20160419 07:01:07 <Eclesia> hi
20160419 07:14:13 <elect> hey
20160419 07:19:36 <monsieur_max> hello
20160419 08:46:03 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20160419 08:54:48 <elect> hi
20160419 08:59:17 * jvanek (jvanek@anon) has joined #jogamp
20160419 14:11:47 <rmk0_> .o.
20160419 14:12:11 <rmk0_> vaguely suspicious amount of time required to blit framebuffers
20160419 14:12:43 <rmk0_> it seems to take ~1ms to copy the depth and stencil buffers from one screen-sized framebuffer to another...
20160419 14:13:04 <rmk0_> that seems ridiculously expensive
20160419 14:13:22 <rmk0_> like... a plain memcpy in C doesn't take anywhere near that long
20160419 14:15:10 * monsieur_max summons elect
20160419 14:15:43 * elect get dressed
20160419 14:16:19 <elect> I imaged doing it with gpu timers?
20160419 14:16:42 <rmk0_> am i measuring the time with timer queries?
20160419 14:16:47 <elect> yes
20160419 14:16:50 <rmk0_> i am, yes
20160419 14:18:09 <elect> how are you doing
20160419 14:18:10 <elect> ?
20160419 14:19:04 <rmk0_> how am i measuring it?
20160419 14:19:13 <elect> no, how are you blitting?
20160419 14:19:35 <rmk0_> oh, binding one framebuffer to the read target with glBindFramebuffer(GL_READ_FRAMEBUFFER, ...);
20160419 14:19:47 <rmk0_> then another to the draw target with glBindFramebuffer(GL_DRAW_FRAMEBUFFER);
20160419 14:20:00 <elect> got it
20160419 14:20:19 <elect> did you try to profile something else
20160419 14:20:30 <elect> such as, only depth, only stencil, only color att?
20160419 14:21:29 * rmk0_ checks
20160419 14:22:12 <rmk0_> copying color is cheaper
20160419 14:22:20 <rmk0_> http://waste.io7m.com/2016/04/19/profile.png
20160419 14:22:35 <rmk0_> root/main/lights/copy-depth is the depth+stencil copy
20160419 14:22:42 <rmk0_> can see it's 1.3ms on average
20160419 14:23:19 <rmk0_> root/main/emission/blurred/copy-out is a pure RGBA blit
20160419 14:23:23 <elect> how much cheap?
20160419 14:23:33 <elect> er
20160419 14:23:36 <rmk0_> the rgba blit seems to take 0.3ms on average
20160419 14:24:42 <elect> gl3 profile?
20160419 14:24:55 <rmk0_> yeah, 3.3 core
20160419 14:28:34 <rmk0_> difficult to imagine what could be going on that would make a simple copy take that long
20160419 14:28:48 <rmk0_> especially given that fxaa takes about 1.8ms on average
20160419 14:35:09 <rmk0_> i should say that this is intel on linux, so most behaviour probably shouldn't be surprising
20160419 14:36:23 <elect> I can try to profile on win-nv
20160419 14:36:38 <elect> gimme format and size
20160419 14:37:21 <rmk0_> size is 1024x768
20160419 14:37:28 <rmk0_> format is GL_DEPTH24_STENCIL8
20160419 14:38:45 <elect> ah
20160419 14:39:08 <elect> maybe that could be the culprit
20160419 14:39:36 <elect> I thought stencil and depth separatly
20160419 14:40:03 <rmk0_> i'm not sure any modern hardware even supports separate depth and stencil attachments
20160419 14:40:08 <rmk0_> at least outside of the mobile space
20160419 14:40:17 <rmk0_> historically none of them did
20160419 14:40:29 <elect> wut
20160419 14:40:32 <elect> never heard
20160419 14:41:44 <rmk0_> is actually not required by the spec
20160419 14:41:47 <rmk0_> "However, when both depth and stencil attachments are present, implementations are only required to support framebuffer objects where both attachments refer to the same image."
20160419 14:42:55 <rmk0_> in any case... i'm using the DEPTH24_STENCIL8 format and doing a blit of both the depth and stencil, so theoretically that should just be a straight byte code
20160419 14:43:00 <rmk0_> s/code/copy
20160419 14:49:52 <elect> what are your src and dst blittersß
20160419 14:49:53 <elect> ?
20160419 14:50:17 <elect> two fbos with depth-stencil att?
20160419 14:50:24 <rmk0_> yeah
20160419 14:50:34 <rmk0_> GL_NEAREST filter, no mipmapping on any of the textures
20160419 15:00:31 * rmk0_ is now known as rmk0
20160419 15:00:35 * rmk0 (~rmk0@anon) Quit (Changing host)
20160419 15:00:35 * rmk0 (~rmk0@anon) has joined #jogamp
20160419 15:14:30 <elect> https://github.com/elect86/glTest/blob/master/glTest/src/micro/BlitProfile.java
20160419 15:14:39 <elect> GL_QUERY_COUNTER_BITS: 64
20160419 15:14:39 <elect> Framebuffer status: complete
20160419 15:14:39 <elect> Framebuffer status: complete
20160419 15:14:39 <elect> Time: 0.0012480001 ms
20160419 15:16:53 <elect> 1.2 ns
20160419 15:26:26 <elect> sorry, I forgot GL_NEAREST
20160419 15:26:30 <elect> anyway, same result
20160419 15:31:06 * Eclesia (~husky@anon) has left #jogamp
20160419 15:34:59 <rmk0> heh
20160419 15:35:13 <rmk0> yeah... could just be this hardware/driver then
20160419 15:41:30 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20160419 15:54:53 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160419 15:55:05 * elect (~GBarbieri@anon) Quit (Ping timeout: 250 seconds)
20160419 16:54:48 * monsieur_max (~maxime@anon) has joined #jogamp
20160419 18:29:09 * toblerone (a2f6d81c@anon) has joined #jogamp
20160419 18:44:19 * toblerone (a2f6d81c@anon) Quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
20160419 20:30:16 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160419 22:02:40 * bigpet (uid25664@anon) Quit (Quit: Connection closed for inactivity)
20160420 05:06:18 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20160420050618.html