diff --git a/.cache/clangd/index/command_buffer.h.80BF74E22FA9A8B1.idx b/.cache/clangd/index/command_buffer.h.80BF74E22FA9A8B1.idx deleted file mode 100644 index 2be85a9..0000000 Binary files a/.cache/clangd/index/command_buffer.h.80BF74E22FA9A8B1.idx and /dev/null differ diff --git a/.cache/clangd/index/copy_pass.h.75DC6BAB12A460E6.idx b/.cache/clangd/index/copy_pass.h.75DC6BAB12A460E6.idx deleted file mode 100644 index b49c55a..0000000 Binary files a/.cache/clangd/index/copy_pass.h.75DC6BAB12A460E6.idx and /dev/null differ diff --git a/.cache/clangd/index/device.c.6C259B36172A19C7.idx b/.cache/clangd/index/device.c.6C259B36172A19C7.idx deleted file mode 100644 index 4dca8e8..0000000 Binary files a/.cache/clangd/index/device.c.6C259B36172A19C7.idx and /dev/null differ diff --git a/.cache/clangd/index/device.h.17FFF3FE11DD7B5E.idx b/.cache/clangd/index/device.h.17FFF3FE11DD7B5E.idx deleted file mode 100644 index ac34a87..0000000 Binary files a/.cache/clangd/index/device.h.17FFF3FE11DD7B5E.idx and /dev/null differ diff --git a/.cache/clangd/index/device.h.5489FF8BB9CB1FFB.idx b/.cache/clangd/index/device.h.5489FF8BB9CB1FFB.idx deleted file mode 100644 index 554c17b..0000000 Binary files a/.cache/clangd/index/device.h.5489FF8BB9CB1FFB.idx and /dev/null differ diff --git a/.cache/clangd/index/file.c.CB50DC29A19B1694.idx b/.cache/clangd/index/file.c.CB50DC29A19B1694.idx deleted file mode 100644 index 1f79fe2..0000000 Binary files a/.cache/clangd/index/file.c.CB50DC29A19B1694.idx and /dev/null differ diff --git a/.cache/clangd/index/file.h.9B3CB7460AC25849.idx b/.cache/clangd/index/file.h.9B3CB7460AC25849.idx deleted file mode 100644 index 50b9020..0000000 Binary files a/.cache/clangd/index/file.h.9B3CB7460AC25849.idx and /dev/null differ diff --git a/.cache/clangd/index/init.h.5C86A0883D04E9FA.idx b/.cache/clangd/index/init.h.5C86A0883D04E9FA.idx deleted file mode 100644 index a9c3854..0000000 Binary files a/.cache/clangd/index/init.h.5C86A0883D04E9FA.idx and /dev/null differ diff --git a/.cache/clangd/index/io.c.83B1619B498EFDA2.idx b/.cache/clangd/index/io.c.83B1619B498EFDA2.idx deleted file mode 100644 index 73cda9f..0000000 Binary files a/.cache/clangd/index/io.c.83B1619B498EFDA2.idx and /dev/null differ diff --git a/.cache/clangd/index/io.h.A5F7786F8F198D59.idx b/.cache/clangd/index/io.h.A5F7786F8F198D59.idx deleted file mode 100644 index 1394c23..0000000 Binary files a/.cache/clangd/index/io.h.A5F7786F8F198D59.idx and /dev/null differ diff --git a/.cache/clangd/index/main.c.360458CBCE130659.idx b/.cache/clangd/index/main.c.360458CBCE130659.idx deleted file mode 100644 index a327c3b..0000000 Binary files a/.cache/clangd/index/main.c.360458CBCE130659.idx and /dev/null differ diff --git a/.cache/clangd/index/main.c.FC90165D9662D1FF.idx b/.cache/clangd/index/main.c.FC90165D9662D1FF.idx deleted file mode 100644 index 6696877..0000000 Binary files a/.cache/clangd/index/main.c.FC90165D9662D1FF.idx and /dev/null differ diff --git a/.cache/clangd/index/pch.h.FAF6765EBEF7A460.idx b/.cache/clangd/index/pch.h.FAF6765EBEF7A460.idx deleted file mode 100644 index 3528c3e..0000000 Binary files a/.cache/clangd/index/pch.h.FAF6765EBEF7A460.idx and /dev/null differ diff --git a/.cache/clangd/index/shaders.c.F6267E88DF3F57D6.idx b/.cache/clangd/index/shaders.c.F6267E88DF3F57D6.idx deleted file mode 100644 index aa4c205..0000000 Binary files a/.cache/clangd/index/shaders.c.F6267E88DF3F57D6.idx and /dev/null differ diff --git a/.cache/clangd/index/shaders.h.DC6F6E4EB912EE60.idx b/.cache/clangd/index/shaders.h.DC6F6E4EB912EE60.idx deleted file mode 100644 index 528d0b8..0000000 Binary files a/.cache/clangd/index/shaders.h.DC6F6E4EB912EE60.idx and /dev/null differ diff --git a/.cache/clangd/index/shaders.h.FB84043E831F692A.idx b/.cache/clangd/index/shaders.h.FB84043E831F692A.idx deleted file mode 100644 index a2bdf7c..0000000 Binary files a/.cache/clangd/index/shaders.h.FB84043E831F692A.idx and /dev/null differ diff --git a/.cache/clangd/index/systems.h.4B3B0C8EFC1B6118.idx b/.cache/clangd/index/systems.h.4B3B0C8EFC1B6118.idx deleted file mode 100644 index 73d01fb..0000000 Binary files a/.cache/clangd/index/systems.h.4B3B0C8EFC1B6118.idx and /dev/null differ diff --git a/.cache/clangd/index/upload.h.CC70961FD695C6D2.idx b/.cache/clangd/index/upload.h.CC70961FD695C6D2.idx deleted file mode 100644 index aabbe33..0000000 Binary files a/.cache/clangd/index/upload.h.CC70961FD695C6D2.idx and /dev/null differ diff --git a/.gitignore b/.gitignore index 1521057..d66efff 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,3 @@ build/ # MacOS Cache .DS_Store - - diff --git a/src/brimstone/graphics/command_buffer.c b/src/brimstone/graphics/command_buffer.c index 3165b88..a240b7e 100644 --- a/src/brimstone/graphics/command_buffer.c +++ b/src/brimstone/graphics/command_buffer.c @@ -2,7 +2,7 @@ #include SDL_GPUCommandBuffer* CommandBufferAcquire(SDL_GPUDevice* device) { - assert(device != NULL); + SDL_assert(device != NULL); SDL_GPUCommandBuffer* command_buffer = SDL_AcquireGPUCommandBuffer(device); if(command_buffer == NULL) { @@ -13,7 +13,7 @@ SDL_GPUCommandBuffer* CommandBufferAcquire(SDL_GPUDevice* device) { } bool CommandBufferSubmit(SDL_GPUCommandBuffer* command_buffer) { - assert(command_buffer != NULL); + SDL_assert(command_buffer != NULL); bool success = SDL_SubmitGPUCommandBuffer(command_buffer); if(!success) { diff --git a/src/brimstone/graphics/pipeline.c b/src/brimstone/graphics/pipeline.c index 4ec9a09..87bfb57 100644 --- a/src/brimstone/graphics/pipeline.c +++ b/src/brimstone/graphics/pipeline.c @@ -1,12 +1,11 @@ -#include #include SDL_GPUGraphicsPipeline* GraphicsPipelineCreate(SDL_GPUDevice* device, SDL_Window* window, SDL_GPUShader* vertex_shader, SDL_GPUShader* fragment_shader) { - assert(device != NULL); - assert(window != NULL); - assert(vertex_shader != NULL); - assert(fragment_shader != NULL); + SDL_assert(device != NULL); + SDL_assert(window != NULL); + SDL_assert(vertex_shader != NULL); + SDL_assert(fragment_shader != NULL); SDL_GPUGraphicsPipeline* pipeline = SDL_CreateGPUGraphicsPipeline(device, &(SDL_GPUGraphicsPipelineCreateInfo){ @@ -25,14 +24,8 @@ SDL_GPUGraphicsPipeline* GraphicsPipelineCreate(SDL_GPUDevice* device, SDL_Windo .slot = 0, .input_rate = SDL_GPU_VERTEXINPUTRATE_VERTEX, .instance_step_rate = 0, - .pitch = sizeof(float) * 3, + .pitch = sizeof(Vertex), }, - { - .slot = 1, - .input_rate = SDL_GPU_VERTEXINPUTRATE_VERTEX, - .instance_step_rate = 0, - .pitch = sizeof(float) * 3, - } }, .num_vertex_attributes = 2, .vertex_attributes = (SDL_GPUVertexAttribute[]){ @@ -40,13 +33,13 @@ SDL_GPUGraphicsPipeline* GraphicsPipelineCreate(SDL_GPUDevice* device, SDL_Windo .buffer_slot = 0, .format = SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3, .location = 0, - .offset = 0, + .offset = offsetof(Vertex, pos), }, { - .buffer_slot = 1, + .buffer_slot = 0, .format = SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3, .location = 1, - .offset = 0, + .offset = offsetof(Vertex, color), } } }, diff --git a/src/brimstone/graphics/shaders.c b/src/brimstone/graphics/shaders.c index 6e2a22a..6f7130c 100644 --- a/src/brimstone/graphics/shaders.c +++ b/src/brimstone/graphics/shaders.c @@ -1,7 +1,7 @@ #include SDL_GPUShader* ShaderLoad(SDL_GPUDevice* device, const char* filename, SDL_GPUShaderStage stage) { - assert(device != NULL); + SDL_assert(device != NULL); FileData file = FileRead(filename); SDL_GPUShader* shader = SDL_CreateGPUShader(device, diff --git a/src/brimstone/graphics/upload.c b/src/brimstone/graphics/upload.c index 7b20aef..143a5cd 100644 --- a/src/brimstone/graphics/upload.c +++ b/src/brimstone/graphics/upload.c @@ -3,9 +3,9 @@ #include bool UploadToBuffer(SDL_GPUDevice* device, const void* data, size_t byte_size, SDL_GPUBuffer* buffer) { - assert(device != NULL); - assert(data != NULL); - assert(buffer != NULL); + SDL_assert(device != NULL); + SDL_assert(data != NULL); + SDL_assert(buffer != NULL); SDL_GPUTransferBuffer* transfer_buffer = SDL_CreateGPUTransferBuffer(device, &(SDL_GPUTransferBufferCreateInfo){ @@ -28,10 +28,10 @@ bool UploadToBuffer(SDL_GPUDevice* device, const void* data, size_t byte_size, S SDL_UnmapGPUTransferBuffer(device, transfer_buffer); SDL_GPUCommandBuffer* copy_command_buffer = CommandBufferAcquire(device); - assert(copy_command_buffer != NULL); + SDL_assert(copy_command_buffer != NULL); SDL_GPUCopyPass* copy_pass = CopyPassBegin(copy_command_buffer); - assert(copy_pass != NULL); + SDL_assert(copy_pass != NULL); SDL_UploadToGPUBuffer(copy_pass, &(SDL_GPUTransferBufferLocation){ diff --git a/src/brimstone/io/copy_pass.c b/src/brimstone/io/copy_pass.c index 1c48296..c1f2f15 100644 --- a/src/brimstone/io/copy_pass.c +++ b/src/brimstone/io/copy_pass.c @@ -1,7 +1,7 @@ #include SDL_GPUCopyPass* CopyPassBegin(SDL_GPUCommandBuffer* copy_command_buffer) { - assert(copy_command_buffer != NULL); + SDL_assert(copy_command_buffer != NULL); SDL_GPUCopyPass* copy_pass = SDL_BeginGPUCopyPass(copy_command_buffer); if(copy_pass == NULL) { @@ -12,7 +12,7 @@ SDL_GPUCopyPass* CopyPassBegin(SDL_GPUCommandBuffer* copy_command_buffer) { } void CopyPassEnd(SDL_GPUCopyPass* copy_pass) { - assert(copy_pass != NULL); + SDL_assert(copy_pass != NULL); SDL_EndGPUCopyPass(copy_pass); } diff --git a/src/brimstone/main.c b/src/brimstone/main.c index aec2534..896d36f 100644 --- a/src/brimstone/main.c +++ b/src/brimstone/main.c @@ -5,7 +5,7 @@ int main(int argc, char** argv) { InitSystems(); SDL_GPUDevice* device = DeviceCreate(); - assert(device != NULL); + SDL_assert(device != NULL); SDL_Window* window = SDL_CreateWindow("Brimstone", 800, 600, 0); if(window == NULL) { @@ -14,21 +14,10 @@ int main(int argc, char** argv) { } SDL_ClaimWindowForGPUDevice(device, window); - /*Vertex vertices[] = { + Vertex vertices[] = { { -0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 0.0f }, { 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f }, { 0.0f, 0.5f, 0.0f, 0.0f, 0.0f, 1.0f }, - };*/ - float vertices[3][3] = { - { -0.5f, -0.5f, 0.0f }, - { 0.5f, -0.5f, 0.0f }, - { 0.0f, 0.5f, 0.0f }, - }; - - float colors[3][3] = { - { 1.0f, 0.0f, 0.0f }, - { 0.0f, 1.0f, 0.0f }, - { 0.0f, 0.0f, 1.0f }, }; SDL_GPUBuffer* vertex_buffer = SDL_CreateGPUBuffer(device, @@ -38,26 +27,17 @@ int main(int argc, char** argv) { }); bool upload_successful = UploadToBuffer(device, vertices, sizeof(vertices), vertex_buffer); - assert(upload_successful); - - SDL_GPUBuffer* color_buffer = SDL_CreateGPUBuffer(device, - &(SDL_GPUBufferCreateInfo){ - .usage = SDL_GPU_BUFFERUSAGE_VERTEX, - .size = sizeof(colors), - }); - - upload_successful = UploadToBuffer(device, colors, sizeof(colors), color_buffer); - assert(upload_successful); + SDL_assert(upload_successful); SDL_GPUShader* vertex_shader = ShaderLoad(device, "shader.vert.spv", SDL_GPU_SHADERSTAGE_VERTEX); - assert(vertex_shader != NULL); + SDL_assert(vertex_shader != NULL); SDL_GPUShader* fragment_shader = ShaderLoad(device, "shader.frag.spv", SDL_GPU_SHADERSTAGE_FRAGMENT); - assert(fragment_shader != NULL); + SDL_assert(fragment_shader != NULL); SDL_GPUGraphicsPipeline* pipeline = GraphicsPipelineCreate( device, window, vertex_shader, fragment_shader); - assert(pipeline != NULL); + SDL_assert(pipeline != NULL); bool running = true; SDL_Event event; @@ -99,12 +79,8 @@ int main(int argc, char** argv) { .buffer = vertex_buffer, .offset = 0, }, - { - .buffer = color_buffer, - .offset = 0, - }, }, - 2); + 1); SDL_DrawGPUPrimitives(render_pass, 3, 1, 0, 0); SDL_EndGPURenderPass(render_pass); diff --git a/src/pch.h b/src/pch.h index 152a8b0..dfc7a79 100644 --- a/src/pch.h +++ b/src/pch.h @@ -8,6 +8,7 @@ #include #include +#include #include #include #include