constants are now @builtin

This commit is contained in:
Alessandro Mauri 2025-05-21 22:38:20 +02:00
parent 6f73f2d443
commit 2db2f2f0af
20 changed files with 1397 additions and 1395 deletions

View file

@ -22,9 +22,9 @@ fn GPUShader* load_shader(GPUDevice* device, ZString filename, GPUShaderStage st
ZString entrypoint;
GPUShaderFormat backend_formats = sdl::get_gpu_shader_formats(device);
GPUShaderFormat format = sdl::GPU_SHADERFORMAT_INVALID;
if (backend_formats & sdl::GPU_SHADERFORMAT_SPIRV) {
format = sdl::GPU_SHADERFORMAT_SPIRV;
GPUShaderFormat format = GPU_SHADERFORMAT_INVALID;
if (backend_formats & GPU_SHADERFORMAT_SPIRV) {
format = GPU_SHADERFORMAT_SPIRV;
entrypoint = "main";
}
@ -79,12 +79,12 @@ fn void print_info()
fn void handle_event(Event event, bool* quit) {
switch (event.type) {
case sdl::EVENT_QUIT: {
case EVENT_QUIT: {
*quit = true;
} break;
case sdl::EVENT_KEY_DOWN: {
case EVENT_KEY_DOWN: {
switch (event.key.key) {
case sdl::K_Q: {
case K_Q: {
*quit = true;
} break;
case sdl::K_W: {
@ -111,16 +111,16 @@ fn int main() {
}
Window* window;
window = sdl::create_window(WINDOW_TITLE, WINDOW_WIDTH, WINDOW_HEIGHT, sdl::WINDOW_VULKAN);
window = sdl::create_window(WINDOW_TITLE, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_VULKAN);
if (window == null) {
io::eprintf("ERROR: SDL_CreateWindow failed: %s\n", sdl::get_error());
return 1;
}
sdl::set_window_position(window, sdl::WINDOWPOS_CENTERED, sdl::WINDOWPOS_CENTERED);
sdl::set_window_position(window, WINDOWPOS_CENTERED, WINDOWPOS_CENTERED);
GPUDevice* device = sdl::create_gpu_device(sdl::GPU_SHADERFORMAT_SPIRV, true, null);
GPUDevice* device = sdl::create_gpu_device(GPU_SHADERFORMAT_SPIRV, true, null);
if (device == null) {
io::eprintf("ERROR: SDL_CreateGPUDevice failed: %s\n", sdl::get_error());
@ -156,7 +156,7 @@ fn int main() {
.format = sdl::get_gpu_swapchain_texture_format(device, window)
}},
},
.primitive_type = GPUPrimitiveType.GPU_PRIMITIVETYPE_TRIANGLELIST,
.primitive_type = GPU_PRIMITIVETYPE_TRIANGLELIST,
.vertex_shader = shader_vert,
.fragment_shader = shader_frag,
};
@ -217,8 +217,8 @@ fn int main() {
GPUColorTargetInfo color_target_info;
color_target_info.texture = swapchain_texture;
color_target_info.clear_color = COLOR_BLACK;
color_target_info.load_op = GPULoadOp.GPU_LOADOP_CLEAR;
color_target_info.store_op = GPUStoreOp.GPU_STOREOP_STORE;
color_target_info.load_op = GPU_LOADOP_CLEAR;
color_target_info.store_op = GPU_STOREOP_STORE;
GPURenderPass* render_pass = sdl::begin_gpu_render_pass(cmdbuf, &color_target_info, 1, null);
sdl::bind_gpu_graphics_pipeline(render_pass, pipeline_fill);