aboutsummaryrefslogtreecommitdiff
path: root/BuddhaTest/Shaders/BuddhaCompute.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'BuddhaTest/Shaders/BuddhaCompute.glsl')
-rw-r--r--BuddhaTest/Shaders/BuddhaCompute.glsl5
1 files changed, 1 insertions, 4 deletions
diff --git a/BuddhaTest/Shaders/BuddhaCompute.glsl b/BuddhaTest/Shaders/BuddhaCompute.glsl
index 10dfe23..7cd4efe 100644
--- a/BuddhaTest/Shaders/BuddhaCompute.glsl
+++ b/BuddhaTest/Shaders/BuddhaCompute.glsl
@@ -34,6 +34,7 @@ uniform uint height;
uniform uvec4 orbitLength;
uniform uint iterationsPerDispatch;
+uniform uint totalIterations;
void addToColorOfCell(uvec2 cell, uvec3 toAdd)
{
@@ -202,15 +203,11 @@ vec2 getCurrentOrbitOffset(const uint orbitNumber, const uint totalWorkers, cons
void main() {
//we need to know how many total work groups are running this iteration
-
const uvec3 totalWorkersPerDimension = gl_WorkGroupSize * gl_NumWorkGroups;
const uint totalWorkers = totalWorkersPerDimension.x*totalWorkersPerDimension.y*totalWorkersPerDimension.z;
const uint uniqueWorkerID = gl_GlobalInvocationID.x + gl_GlobalInvocationID.y*totalWorkersPerDimension.x + gl_GlobalInvocationID.z*(totalWorkersPerDimension.x * totalWorkersPerDimension.y);
- const uint _totalIterations = orbitLength.x > orbitLength.y ? orbitLength.x : orbitLength.y;
- const uint totalIterations = _totalIterations > orbitLength.z ? _totalIterations : orbitLength.z;
-
individualData state = stateArray[uniqueWorkerID];
//getIndividualState(in uint CellID, out vec2 offset, out vec2 coordinates, out uint phase, out uint orbitNumber, out uint doneIterations)