aboutsummaryrefslogtreecommitdiff
path: root/BuddhaTest
Commit message (Collapse)AuthorAgeFilesLines
* Workers now directly operate on their state buffer.Andreas Grois2018-03-171-52/+28
| | | | | | | | | | | 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.
* Change PID controller to use frame numbers as time, and time only as ↵Andreas Grois2018-03-171-2/+2
| | | | controlled parameter
* Fix y-value being always the same if only one worker is usedAndreas Grois2018-03-171-1/+1
|
* Fix a few warnings spit out by MSVC compiler:Andreas Grois2018-03-171-3/+4
|
* Remove unneededAndreas Grois2018-03-171-2/+1
|
* Improve parallelization by not storing the offset, but instead ↵Andreas Grois2018-03-172-22/+22
| | | | | | re-calculating it every dispatch. By this I could get the VGPR usage down from 40 to 36.
* Change starting value code to just jump to next orbit if in main bulb orAndreas Grois2018-03-161-21/+19
| | | | cardioid.
* Fix wrong iteration per frame codeAndreas Grois2018-03-161-9/+9
|
* minorAndreas Grois2018-03-161-2/+1
|
* Merge branch 'master' into feature/01-PausabilityAndreas Grois2018-03-161-1/+1
|\
| * Fix wrong seed calculation, now I've had some sleep.Andreas Grois2018-03-161-2/+1
| |
* | Comment out debug outputAndreas Grois2018-03-161-1/+1
| |
* | Tweak PID a bitAndreas Grois2018-03-161-2/+2
| |
* | Fix endless loop in shader and make framerate adaptiveAndreas Grois2018-03-154-12/+53
| | | | | | | | | | | | It seems forcing points outside the cardioid and bulb with a bad random generator can take really long... Also, now framerate adjusts based on time it takes to render frames.
* | Force starting values to be outside main cardioid and bulb, and add storage ↵Andreas Grois2018-03-152-22/+21
| | | | | | | | specifiers to buffers.
* | OopsAndreas Grois2018-03-151-9/+9
| |
* | Prevent even more waiting by storing a more complete stateAndreas Grois2018-03-153-35/+43
| |
* | Speed up computation tremendously, by having each worker (nearly)Andreas Grois2018-03-152-81/+70
| | | | | | | | | | completely store its state and working (nearly) fully independent of each other.
* | First commit with compute pausabilityAndreas Grois2018-03-144-37/+133
|/
* Split buffer in three, one per color (as OpenGL guarantees that one can at ↵Andreas Grois2018-03-115-28/+61
| | | | | | | | least have 8 SSBOs), to allow three times larger images. Also make it possible to ignore maximum buffer size reported by the driver. The maximum buffer size limitation is rather strict on radeonsi, so I decided to split the buffer in three, effectively increasing the maximum image size by a factor of three. While doing so I realized that at least on radeonsi the reported maximum buffer size seems to be off. For this reason I added a new command line switch, that allows to ignore the maximum buffer size check. For those curious: radeonsi reports a maximum buffer size of 128 MB, but I had no problems when using three buffers of 1098 MB each.
* Use long for command line validity checks.v0.0.2-kindaWorkingBetterAndreas Grois2018-03-111-4/+2
|
* Another warning fixedv0.0.1-kindaworkingAndreas Grois2018-03-111-1/+1
|
* Fix lots of warnings output by visual studio...Andreas Grois2018-03-111-11/+12
|
* Replace std::cout with std::cerr for actual error messages. Remove someAndreas Grois2018-03-112-13/+13
| | | | debugging output
* Disable vsync. Not needed, and causing the rendering to be slower thanAndreas Grois2018-03-111-0/+3
| | | | necessary.
* Instead of using the yDecoupler value directly, the code's now using theAndreas Grois2018-03-111-1/+1
| | | | | hash of it, causing more drastic changes of the y=f(x,yDecoupler) function with dispatch number.
* Clarify help output regarding image sizeAndreas Grois2018-03-111-2/+2
|
* Make preview window scale if being resized.Andreas Grois2018-03-111-0/+8
|
* Decouple y and x value based on iteration. Should approximately squareAndreas Grois2018-03-112-21/+22
| | | | teh available randomness!
* Fix wrong max pixel output. Forgot to update this when I reduced the buffer ↵Andreas Grois2018-03-101-1/+1
| | | | size by a factor of two.
* Remove useless mirror code in fragment shader. Buffer is already mirrored now.Andreas Grois2018-03-101-1/+1
|
* Rename project from BuddhaTest to BuddhaShaderAndreas Grois2018-03-101-4/+4
|
* Prepare install script, and make shader loading work from PREFIX/share/...Andreas Grois2018-03-104-18/+61
|
* Add command line parsingAndreas Grois2018-03-103-72/+209
|
* Remove non-needed host buffer copy to ssbo, instead initialize ssbo withAndreas Grois2018-03-101-2/+2
| | | | zero.
* Move buffer dimensions out of buffer into uniforms. No longer odd -2Andreas Grois2018-03-103-15/+23
| | | | everywhere.
* Add color scaling option (as 8 bit per channel is not really much)Andreas Grois2018-03-103-5/+6
|
* Gamma correction for outputAndreas Grois2018-03-103-9/+59
|
* Reduce buffer size by a factor of 2 (image is symmetric)Andreas Grois2018-03-105-13/+12
|
* Fix mirroring in png outputAndreas Grois2018-03-103-4/+12
| | | | | Restrict starting value range to positive y-values, probably improving random quality
* Make local work group size tweakable. (Not yet exposed to user)Andreas Grois2018-03-104-10/+23
|
* Use vectors as storage for png data as a simple means to prevent leaksAndreas Grois2018-03-101-15/+7
| | | | in case of error.
* Make sure png file gets closed by wrapping the file descriptor into aAndreas Grois2018-03-102-7/+41
| | | | class with destructor
* Forgot symmetry on png export. Added now.Andreas Grois2018-03-101-0/+8
|
* Dump result to image.png in current folder.Andreas Grois2018-03-104-6/+84
|
* ColorizeAndreas Grois2018-03-092-7/+15
|
* Make this thing render.Andreas Grois2018-03-092-10/+186
| | | | Also: Steal integer hash from stackexchange...
* Initial CommitAndreas Grois2018-03-0910-0/+5309