1
0

WORKGROUP_SIZE_X in utils.h erstellt

This commit is contained in:
Niklas Birk
2020-03-31 15:56:36 +02:00
parent 1ba5d33634
commit 0fdd5a58e9
4 changed files with 5 additions and 4 deletions

View File

@ -501,7 +501,7 @@ void createComputeCommandBuffer(Compute *compute)
vkCmdBindDescriptorSets(compute->commandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, compute->pipelineLayout, 0, 3, vkCmdBindDescriptorSets(compute->commandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, compute->pipelineLayout, 0, 3,
descriptorSets, 0, NULL); descriptorSets, 0, NULL);
vkCmdDispatch(compute->commandBuffer, WORKGROUP_SIZE_X, WORKGROUP_SIZE_Y, WORKGROUP_SIZE_Z); vkCmdDispatch(compute->commandBuffer, PARTICLE_AMOUNT / WORKGROUP_SIZE_X, WORKGROUP_SIZE_Y, WORKGROUP_SIZE_Z);
ASSERT_VK(vkEndCommandBuffer(compute->commandBuffer)) ASSERT_VK(vkEndCommandBuffer(compute->commandBuffer))
} }
@ -509,7 +509,7 @@ void createComputeCommandBuffer(Compute *compute)
void createSemaphore(VkDevice device, VkSemaphore *semaphore) void createSemaphore(VkDevice device, VkSemaphore *semaphore)
{ {
VkSemaphoreCreateInfo semaphoreCreateInfo = { .sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO }; VkSemaphoreCreateInfo semaphoreCreateInfo = { .sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO };
ASSERT_VK(vkCreateSemaphore(device, &semaphoreCreateInfo, NULL, semaphore)); ASSERT_VK(vkCreateSemaphore(device, &semaphoreCreateInfo, NULL, semaphore))
} }
void shutdownComputeVulkan(Compute *compute) void shutdownComputeVulkan(Compute *compute)

View File

@ -16,7 +16,6 @@
#define PARTICLE_AMOUNT 1000000 #define PARTICLE_AMOUNT 1000000
#define PARTICLE_SIZE (3 * sizeof(vector3f) + sizeof(float)) #define PARTICLE_SIZE (3 * sizeof(vector3f) + sizeof(float))
#define WORKGROUP_SIZE_X 1024
#define WORKGROUP_SIZE_Y 1 #define WORKGROUP_SIZE_Y 1
#define WORKGROUP_SIZE_Z 1 #define WORKGROUP_SIZE_Z 1

View File

@ -87,7 +87,7 @@ int main()
/*** UPDATE ***/ /*** UPDATE ***/
glUseProgram(computeShaderProgram); glUseProgram(computeShaderProgram);
glUniform1f(dtUniformLocation, tFrame); glUniform1f(dtUniformLocation, tFrame);
glDispatchCompute(PARTICLE_AMOUNT / 1024, 1, 1); glDispatchCompute(PARTICLE_AMOUNT / WORKGROUP_SIZE_X, 1, 1);
glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT | GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT); glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT | GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT);
/*** RENDER ***/ /*** RENDER ***/

View File

@ -4,4 +4,6 @@
#define UPPER_AGE 250 #define UPPER_AGE 250
#define LOWER_AGE 60 #define LOWER_AGE 60
#define WORKGROUP_SIZE_X 1024
char *readFile(char *filename, char *mode, long *size); char *readFile(char *filename, char *mode, long *size);