mirror of
https://github.com/Kbz-8/Pulse.git
synced 2026-01-11 15:33:34 +00:00
fixing descriptor sets, adding buffer compute write test
This commit is contained in:
@@ -35,16 +35,17 @@ int main(void)
|
||||
#include "shader.spv.h"
|
||||
};
|
||||
|
||||
PulseComputePipelineCreateInfo info = {};
|
||||
PulseComputePipelineCreateInfo info = { 0 };
|
||||
info.code_size = sizeof(shader_bytecode);
|
||||
info.code = shader_bytecode;
|
||||
info.entrypoint = "main";
|
||||
info.format = PULSE_SHADER_FORMAT_SPIRV_BIT;
|
||||
info.num_readwrite_storage_buffers = 1;
|
||||
|
||||
PulseComputePipeline pipeline = PulseCreateComputePipeline(device, &info);
|
||||
CHECK_PULSE_HANDLE_RETVAL(pipeline, 1);
|
||||
|
||||
PulseBufferCreateInfo buffer_create_info = {};
|
||||
PulseBufferCreateInfo buffer_create_info = { 0 };
|
||||
buffer_create_info.size = 1024;
|
||||
buffer_create_info.usage = PULSE_BUFFER_USAGE_STORAGE_READ | PULSE_BUFFER_USAGE_STORAGE_WRITE | PULSE_BUFFER_USAGE_TRANSFER_DOWNLOAD;
|
||||
|
||||
@@ -68,6 +69,13 @@ int main(void)
|
||||
if(!PulseWaitForFences(device, &fence, 1, true))
|
||||
fprintf(stderr, "Could not wait for fences, %s\n", PulseVerbaliseErrorType(PulseGetLastErrorType()));
|
||||
|
||||
void* ptr;
|
||||
PulseMapBuffer(buffer, &ptr);
|
||||
for(uint32_t i = 0; i < 1024; i++)
|
||||
printf("%d, ", ((int32_t*)ptr)[i]);
|
||||
puts("");
|
||||
PulseUnmapBuffer(buffer);
|
||||
|
||||
PulseReleaseCommandList(device, cmd);
|
||||
PulseDestroyFence(device, fence);
|
||||
PulseDestroyComputePipeline(device, pipeline);
|
||||
|
||||
@@ -14,12 +14,12 @@ struct SSBO
|
||||
|
||||
external
|
||||
{
|
||||
[set(0), binding(0)] ssbo: storage[SSBO],
|
||||
[set(1), binding(0)] ssbo: storage[SSBO],
|
||||
}
|
||||
|
||||
[entry(compute)]
|
||||
[workgroup(32, 32, 1)]
|
||||
fn main(input: Input)
|
||||
{
|
||||
ssbo.data[input.indices.x * input.indices.y] = 1;
|
||||
ssbo.data[input.indices.x * input.indices.y] = i32(input.indices.x * input.indices.y);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user