mirror of
https://github.com/Kbz-8/Pulse.git
synced 2026-01-11 15:33:34 +00:00
yes
This commit is contained in:
@@ -53,7 +53,6 @@ static void SoftCommandDispatch(SoftCommand* cmd)
|
||||
thrd_t* invocations = (thrd_t*)malloc(invocations_count * sizeof(thrd_t));
|
||||
PULSE_CHECK_PTR(invocations);
|
||||
|
||||
printf("test2 %d %d\n", invocations_count, local_size);
|
||||
uint32_t invocation_index = 0;
|
||||
for(uint32_t z = 0; z < cmd->Dispatch.groupcount_z; z++)
|
||||
{
|
||||
@@ -63,21 +62,15 @@ static void SoftCommandDispatch(SoftCommand* cmd)
|
||||
{
|
||||
for(uint32_t i = 0; i < local_size; i++)
|
||||
{
|
||||
printf("\r%d", invocation_index);
|
||||
thrd_create(&invocations[invocation_index], SoftCommandDispatchCore, soft_pipeline);
|
||||
thrd_join(invocations[invocation_index], NULL);
|
||||
invocation_index++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
printf("\ntest %d %d %d\n", invocation_index, invocations_count, local_size);
|
||||
for(uint32_t i = 0; i < invocations_count; i++)
|
||||
{
|
||||
printf("test %d\n", i);
|
||||
int res;
|
||||
thrd_join(invocations[i], &res);
|
||||
PULSE_UNUSED(res);
|
||||
}
|
||||
thrd_join(invocations[i], PULSE_NULLPTR);
|
||||
free(invocations);
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,10 @@ PulseComputePipeline SoftCreateComputePipeline(PulseDevice device, const PulseCo
|
||||
soft_pipeline->entry_point = calloc(1, strlen(info->entrypoint));
|
||||
strcpy((char*)soft_pipeline->entry_point, info->entrypoint);
|
||||
|
||||
// Create dummy state to retrieve informations from the spirv
|
||||
spvm_state_t state = spvm_state_create(soft_pipeline->program);
|
||||
spvm_state_delete(state);
|
||||
|
||||
pipeline->driver_data = soft_pipeline;
|
||||
|
||||
if(PULSE_IS_BACKEND_HIGH_LEVEL_DEBUG(device->backend))
|
||||
@@ -52,6 +56,7 @@ void SoftDestroyComputePipeline(PulseDevice device, PulseComputePipeline pipelin
|
||||
PULSE_UNUSED(device);
|
||||
SoftComputePipeline* soft_pipeline = SOFT_RETRIEVE_DRIVER_DATA_AS(pipeline, SoftComputePipeline*);
|
||||
spvm_program_delete(soft_pipeline->program);
|
||||
free(soft_pipeline->entry_point);
|
||||
free(soft_pipeline);
|
||||
if(PULSE_IS_BACKEND_HIGH_LEVEL_DEBUG(device->backend))
|
||||
PulseLogInfoFmt(device->backend, "(Soft) destroyed compute pipeline %p", pipeline);
|
||||
|
||||
Reference in New Issue
Block a user