Project

General

Profile

Statistics
| Branch: | Revision:

library / src / main / java @ 6672d895

# Date Author Comment
6672d895 06/27/2018 01:31 PM Leszek Koltunski

I am pretty sure this time the flashing issues on Mali T880 r12 driver are finally fixed.

The fix: a queue of FBOs render to, just like before, but this time in DistortedScreen we blit not the current FBO, but the one computed several frames ago.

This of course introduces a delay and uses more memory, but it appears to work and does not seem to have any effects on speed.

586b5fa1 06/27/2018 01:30 PM Leszek Koltunski

Port another commit from master.

I spoke too soon, the ARM Mali flashing is of course not fixed yet. The previous commit fixed Triblur, but the bug is still reproducible elsewhere (only in the 'postprocessed' apps though).

This commit introduces a circular queue in case of the postprocessing FBOs - with little success though.

8ebbc730 06/27/2018 01:16 PM Leszek Koltunski

Port a commit from the master branch.

Finally properly fix the flashing on ARM Mali T880 GPU.

The flashing is caused by a 'full pipeline flush' (see DarkPhoton, https://www.opengl.org/discussion_boards/showthread.php/200754-Flashes-on-ARM-Mali?p=1291679&viewfull=1#post1291679 ). In order to combat it, first introduce the possibility that a single DistortedOutputSurface is backed up by more than one FBO. Then make DistortedScreen be derived from DistortedFramebuffer (which itself is derived from DistortedOutputSurface) and make it contain 3 FBOs, render to them in a circular queue fashion, and blit from a given FBO to the system FBO. The 'more than 1 intermediate FBO' queue prevents the pipeline flush....

baa3989b 06/24/2018 12:07 AM Leszek Koltunski

Revert last changes to the postprocessing FBO.

This reverts commit 2dbed690bdbee80d9bfb22c800073855eb5d0946.

85bfeb7a 06/13/2018 09:33 PM Leszek Koltunski

Try and avoid re-sorting the children by buckets (if we can!). This makes change in rendering order in the 'Transparency' app actually work.

2dbed690 06/08/2018 02:03 PM Leszek Koltunski

In an attempt to contain the flashes on Mali GPU, re-structure the post-processing FBOs from 1 FBO with 2 color attachments + combined depth-stencil to 2 separate FBOs sharing a depth-stencil texture.

Result: this appears to make the flashes slightly worse.

82890e13 06/07/2018 11:47 AM Leszek Koltunski

Minor

2aef1f4d 05/31/2018 12:33 PM Leszek Koltunski

OIT: fixes for Mali: fix a broken loop in the oitRender fragment shader that resulted in flashing.

344ac0e4 05/30/2018 02:22 PM Leszek Koltunski

OIT: fix for 'out of memory' crash on Mali GPUs.

~The thing still does not fully work there - there are still strange flashes in apps that innvolve OIT, for example in 'Triblur'.

5fdae11d 05/23/2018 12:56 PM Leszek Koltunski

OIT: more fixes

c207da02 05/22/2018 03:48 PM Leszek Koltunski

OIT: fixes. Everything looks correct now except for the curious return of the 'dancing lower-left corner' small glitch in the 'Transparency' app.

33f59f22 05/21/2018 05:17 PM Leszek Koltunski

OIT: move towards 4 passes ( clear - build - collapse - render )

bbe3283b 05/18/2018 02:13 PM Leszek Koltunski

correct oitRender again: we need to disable stencil reading and writing and restore after

c8d70463 05/18/2018 01:58 PM Leszek Koltunski

correct oitRenddr again; correct coming to paused state (we could crash)

e92f191a 05/18/2018 12:06 PM Leszek Koltunski

Make sure we don't create a feedback loop in oitRender

c41d046c 05/17/2018 08:16 PM Leszek Koltunski

Make sure we don't create a feedback loop in oitRender

9ab3b712 05/17/2018 04:10 PM Leszek Koltunski

Make us read only the DEPTH part of a DEPTH24_STENCIL8 attachment.

88c7b603 05/17/2018 03:33 PM Leszek Koltunski

Reengineer DistortedScreen

6770ef46 05/11/2018 03:11 PM Leszek Koltunski

Postprocessing: dont crash when we fail to compile postprocessing programs

66a0fa17 05/11/2018 12:53 PM Leszek Koltunski

OIT: some progress

7f30ed38 05/10/2018 03:11 PM Leszek Koltunski

OIT: more bugfixes

56c6ca24 05/10/2018 12:30 PM Leszek Koltunski

OIT: lots of progress on all fronts. Still a few bugs to solve though!

27aefee6 05/03/2018 04:19 PM Leszek Koltunski

OIT: clear the postprocessing buffer with transparent white.

78e89fb5 05/03/2018 03:10 PM Leszek Koltunski

Properly recreate the Atomic and LinkedList buffers onPause.
We have to discard all alpha==0.0 pixels during OIT Pass1.

b36613d8 05/03/2018 12:19 AM Leszek Koltunski

small correction for blending OIT colors.

c92d84ec 05/01/2018 11:21 PM Leszek Koltunski

minor.

375b3950 05/01/2018 11:19 PM Leszek Koltunski

OIT: something starts working ('Blur' and 'Multiblur' work, 'Triblur' and 'Transparency' do not)

c731c612 05/01/2018 09:07 PM Leszek Koltunski

Fix the 'OIT' artefacts.

e029600f 04/27/2018 04:40 PM Leszek Koltunski

still debugging the OIT

2f35828c 04/26/2018 11:22 AM Leszek Koltunski

- remove counting of transparent pixels from main fragment shader
- remove debugs and tidy up
- some fixes for the Mali GPU

cee0369a 04/25/2018 03:26 PM Leszek Koltunski

Order Independent Transparency: debugging

47511918 04/25/2018 02:17 PM Leszek Koltunski

Order Independent Transparency: some progress

f89a986e 04/18/2018 02:37 PM Leszek Koltunski

Order Independent Transparency: some progress

8777ce17 04/17/2018 09:21 PM Leszek Koltunski

Order Independent Transparency. Does not work yet.

8dccc3c2 04/12/2018 08:42 PM Leszek Koltunski

Disable blending during postprocessing.

9455da17 04/09/2018 12:03 PM Leszek Koltunski

Fix for bug #28: looks of the borders of a blurred object depend on if the object is the first in the postprocessing bucket.

ae2802b1 04/08/2018 09:07 PM Leszek Koltunski

Postprocessing buffers mBuffer[] are now shared among all postprocessing operations. This saves a lot of memory, but also means that when doing each particular postprocessing, the textures backing up the mBuffer might be too large. We need to fix two things here: when outputting to those too large textures, we need to adjust the Viewport, and when binding those too large textures as input - we need to adjust the TexCoords to compensate....

79e354b0 04/06/2018 11:28 PM Leszek Koltunski

Improve the 'PostprocessTree' app. Shows bugs in postprocessing.

b0f04e72 04/06/2018 02:31 PM Leszek Koltunski

Simplify postprocessing buffers.

ce154014 04/06/2018 02:02 PM Leszek Koltunski

Make the postprocessing buffers static.

61441ce2 04/06/2018 01:28 PM Leszek Koltunski

A little progress making the postprocessing buffers static.

a4b182d4 04/06/2018 12:21 PM Leszek Koltunski

Introduce possibility that an OutputSurface is backed up by a larger texture than necessary and the 'cloneSize()' method.

3493ef61 04/05/2018 10:20 AM Leszek Koltunski

Improve Blur (boundaries should be more white than black)

e136346d 04/04/2018 02:01 PM Leszek Koltunski

New 'Triblur' testapp.

Shows that the Blur effect doesn't fully work (probably it is the 'blitWithDepth' function which needs to be corrected)

2faad666 04/02/2018 10:15 PM Leszek Koltunski

SSBO: now we have a more-or-less correct running average of the count of transparent fragments over the last few frames.

df4d7edc 03/29/2018 03:58 PM Leszek Koltunski

SSBO: correct various things.

c14e495b 03/28/2018 11:36 PM Leszek Koltunski

SSBO: zero out the per-surface transparent fragment counter only when setting the surface as output for the first time in the frame.

51a3cbab 03/28/2018 10:33 PM Leszek Koltunski

SSBO: handle the fact that we might run out of space in our SSBO if we keep creating new Surfaces.

8a57da61 03/28/2018 09:14 PM Leszek Koltunski

SSBO: counting of transparent fragments more or less works now. Still the counters are zeroed out in the wrong place - every time we start rendering something to a given Surface, rather than once per frame.

27cd6b98 03/28/2018 08:29 PM Leszek Koltunski

SSBO: more and more works...

66ace7f5 03/28/2018 05:34 PM Leszek Koltunski

SSBO: fix problems with endianness.

2ab60f72 03/28/2018 01:58 PM Leszek Koltunski

SSBO: something is working already, although we still get the 4 bytes back from the shader in reverse order ( so '17'=0x00000011 written by the shader becomes '285212672 = 0x11000000' )

12f45260 03/27/2018 07:56 PM Leszek Koltunski

First try at the SSBO (doesn't work - reads in the application don't pick up changes in the shader; crashes.

e6519ac8 03/27/2018 12:51 PM Leszek Koltunski

Up library requirements to OpenGL ES 3.1 (needed for the upcoming GL_SHADER_STORAGE_BUFFER)

7d0ce619 03/27/2018 12:21 PM Leszek Koltunski

New Object Counter class - to count OutputSurfaces lazy way, but keep the counters small (reuse)

a1003b17 03/23/2018 12:28 PM Leszek Koltunski

Remove debugging.

0e924ba5 03/02/2018 12:19 AM Leszek Koltunski

Initialize MessageSender even if compiling some of the programs fails.

70b6a155 07/14/2017 04:37 PM Leszek Koltunski

Internal API change around postprocessing.

33b0fad7 07/04/2017 09:23 AM Leszek Koltunski

Minor.

75f95f8d 07/03/2017 11:08 PM Leszek Koltunski

1) Fix for the last fix in Framebuffer
2) in RenderState, reset everything to a known state (rather than mark as unknown)

68f96a01 07/03/2017 09:52 PM Leszek Koltunski

Fix in Framebuffer

144d252c 07/03/2017 04:14 PM Leszek Koltunski

Minor.

f75a4eee 07/03/2017 03:49 PM Leszek Koltunski

Empty change (add commented out code)

20ee7cc9 07/03/2017 02:18 PM Leszek Koltunski

Bugfix in RenderState

070695a5 07/03/2017 01:52 PM Leszek Koltunski

Bugfix (bug visible in 'Olimpic': when we make the last moving circle invisible, to used to stay visible!)'

7266d8ef 06/30/2017 02:35 PM Leszek Koltunski

Fix quality levels in Glow.

73208cab 06/29/2017 11:47 PM Leszek Koltunski

Debugging Glow.

bed13bea 06/29/2017 08:27 PM Leszek Koltunski

Progress with Glow.

afa15877 06/29/2017 12:35 PM Leszek Koltunski

Bugfix in calculating blur offsets.

7ad20cce 06/28/2017 04:55 PM Leszek Koltunski

Debugging Glow.

a20f274f 06/28/2017 11:16 AM Leszek Koltunski

Simplify Statics.

5b673c85 06/27/2017 02:44 PM Leszek Koltunski

Some progress with GLOW. Still does not look right :)

4b9fe2e9 06/27/2017 01:32 PM Leszek Koltunski

Introduce concepts of 'in' and 'out' postprocessing qualities.

86d322b5 06/27/2017 01:03 PM Leszek Koltunski

Make Postprocessing quality per-effect (rather than applied to the whole queue)

f81ebc3f 06/27/2017 12:19 PM Leszek Koltunski

Javadoc.

6b816678 06/27/2017 11:22 AM Leszek Koltunski

Javadoc.

6ba8be09 06/27/2017 11:10 AM Leszek Koltunski

Javadoc.

faa3ff56 06/27/2017 10:57 AM Leszek Koltunski

Javadoc.

046113dc 06/26/2017 11:42 PM Leszek Koltunski

make RenderState package-local.

3521c6fe 06/26/2017 11:02 PM Leszek Koltunski

move EffectQuality to the effect package.

1149be8f 06/26/2017 09:15 PM Leszek Koltunski

Fixes for dynamic postprocessing.

edd8d7a7 06/26/2017 04:38 PM Leszek Koltunski

Minor

aa2f0486 06/26/2017 04:31 PM Leszek Koltunski

Now all PostprocessEffects are truly self-contained, including dynamic enable() and all shader sources.

041b6dee 06/26/2017 03:44 PM Leszek Koltunski

Simplification in PostprocessEffects

660cd468 06/23/2017 09:36 PM Leszek Koltunski

Correction for the last change.

30949736 06/23/2017 09:14 PM Leszek Koltunski

Postprocessing: take quality only from the first child in a bucket.

8e28b6ff 06/23/2017 12:37 AM Leszek Koltunski

Minor

915b7b2b 06/22/2017 11:22 PM Leszek Koltunski

Minor

8ec0b28a 06/22/2017 10:53 PM Leszek Koltunski

Minor

03aa6c3b 06/22/2017 04:38 PM Leszek Koltunski

Simplification in EffectQueueMatrix.

9af837e8 06/21/2017 09:19 PM Leszek Koltunski

Prevent possibility to enable an effect multiple times.

88d8e57c 06/21/2017 12:51 AM Leszek Koltunski

Minor.

3417ab4e 06/21/2017 12:34 AM Leszek Koltunski

Now all Postprocessing EffectQueues have the right IDs regardless of number of effects.

7cd24173 06/20/2017 11:51 PM Leszek Koltunski

Move all the knowledge about Vertex and Fragment effects to their respective classes.

4bf6e175 06/19/2017 10:22 PM Leszek Koltunski

Minor

1dfc9074 06/19/2017 10:18 PM Leszek Koltunski

All knowledge about Postporcessing moved to the respective Effect classes.

735a8757 06/19/2017 03:51 PM Leszek Koltunski

Simplification in EffectQueueMatrix.

227b03bd 06/19/2017 03:49 PM Leszek Koltunski

Move all knowledge about a MatrixEffect from the EffectQueueMatrix to the classes.

e2e92a29 06/16/2017 03:58 PM Leszek Koltunski

Simplify Effect classes.

a0d5e302 06/16/2017 03:49 PM Leszek Koltunski

Simplify Effect classes.