This commit is contained in:
2025-04-05 21:52:53 +02:00
parent 82619762fe
commit ae758c34cd
12 changed files with 205 additions and 31 deletions

View File

@@ -9,14 +9,27 @@
#ifndef PULSE_SOFTWARE_COMPUTE_PIPELINE_H_
#define PULSE_SOFTWARE_COMPUTE_PIPELINE_H_
#include <tinycthread.h>
#include "Soft.h"
#include <spvm/state.h>
#include <spvm/program.h>
typedef struct SoftSharedMemoryEntry
{
spvm_result data;
spvm_result_t destination;
spvm_word slot;
} SoftSharedMemoryEntry;
typedef struct SoftComputePipeline
{
spvm_program_t program;
const char* entry_point;
SoftSharedMemoryEntry* workgroup_memory_allocations;
uint32_t workgroup_memory_allocations_size;
uint32_t workgroup_memory_allocations_capacity;
mtx_t workgroup_memory_allocations_mutex;
} SoftComputePipeline;
PulseComputePipeline SoftCreateComputePipeline(PulseDevice device, const PulseComputePipelineCreateInfo* info);