<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BuddhaShader, branch v0.0.3-adaptive-iterations</title>
<subtitle>First steps with OpenGL: A compute shader that renders a BuddhaBrot to an SSBO. Can also save the result to PNG for future viewing pleasure. </subtitle>
<id>https://git.grois.info/BuddhaShader/atom/?h=v0.0.3-adaptive-iterations</id>
<link rel='self' href='https://git.grois.info/BuddhaShader/atom/?h=v0.0.3-adaptive-iterations'/>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/'/>
<updated>2018-03-17T19:52:50Z</updated>
<entry>
<title>Remove layout specifier from struct. Seems it's not allowed after all.</title>
<updated>2018-03-17T19:52:50Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T19:52:50Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=c2018354129a4a6eff1649eaba4d99756b537ed3'/>
<id>urn:sha1:c2018354129a4a6eff1649eaba4d99756b537ed3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Properly calculate required buffer size. I'm starting to think that std140 would have been the better alternative...</title>
<updated>2018-03-17T19:50:04Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T19:50:04Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=605c5052dd91ec99901b6254eee2914a394843d3'/>
<id>urn:sha1:605c5052dd91ec99901b6254eee2914a394843d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix memory allocation for state buffer. How could that ever work?</title>
<updated>2018-03-17T18:35:55Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T18:35:55Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=873409ffdc8f172fb9fe6c46b6ddbad9239cf02d'/>
<id>urn:sha1:873409ffdc8f172fb9fe6c46b6ddbad9239cf02d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Seems vec2 needs 16 bytes on nVidia...</title>
<updated>2018-03-17T17:16:30Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T17:16:30Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=e1e7d9fed39cb8fc281925960c71f7dc197e6568'/>
<id>urn:sha1:e1e7d9fed39cb8fc281925960c71f7dc197e6568</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Correct line endings.</title>
<updated>2018-03-17T16:51:19Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T16:51:19Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=b05e87dc5004f5badc02508570ddc55f31b451cc'/>
<id>urn:sha1:b05e87dc5004f5badc02508570ddc55f31b451cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Again, cleaned code a bit</title>
<updated>2018-03-17T16:48:12Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T16:48:12Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=5a9c8599daee7d1d569ade3647d0078e56123c7a'/>
<id>urn:sha1:5a9c8599daee7d1d569ade3647d0078e56123c7a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean code a bit</title>
<updated>2018-03-17T16:47:42Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T16:47:42Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=e26b273f2c772ab19daade19dfb3163842200c6d'/>
<id>urn:sha1:e26b273f2c772ab19daade19dfb3163842200c6d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Workers now directly operate on their state buffer.</title>
<updated>2018-03-17T16:28:40Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T16:28:40Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=3ff4226638aceaf179ce27ea9d0fd63327caa53b'/>
<id>urn:sha1:3ff4226638aceaf179ce27ea9d0fd63327caa53b</id>
<content type='text'>
To quote the documentation:
First, within a single shader invocation, if you perform an incoherent memory write, the value written will always be visible for reading. But only through that particular variable and only within the shader invocation that issued
the write. You need not do anything special to make this happen.

This means there is nothing stopping us from just reading and writing in the buffer as if the values were local variables, as they are specific to a given invocation. Also, buffer access happens infrequently, and furthermore
there's nothing stopping the GPU from caching the values, as memory access is incoherent anyhow.

Long story short: Now the code uses only 28 VGPRs, meaning that the AMD GCN hardware ideal of 32 is again achieved.
</content>
</entry>
<entry>
<title>Change PID controller to use frame numbers as time, and time only as controlled parameter</title>
<updated>2018-03-17T16:09:35Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T16:09:35Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=e8848a763daf8f266834fab448fd88715d9d5b18'/>
<id>urn:sha1:e8848a763daf8f266834fab448fd88715d9d5b18</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix y-value being always the same if only one worker is used</title>
<updated>2018-03-17T16:00:53Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2018-03-17T16:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/BuddhaShader/commit/?id=c93afe46650cca3d133dfb49642db2fac2edee0d'/>
<id>urn:sha1:c93afe46650cca3d133dfb49642db2fac2edee0d</id>
<content type='text'>
</content>
</entry>
</feed>
