WORKGROUP_SIZE_X in utils.h erstellt
This commit is contained in:
@ -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)
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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 ***/
|
||||||
|
Reference in New Issue
Block a user