diff options
| author | gramanas <anastasis.gramm2@gmail.com> | 2024-06-06 13:41:08 +0300 | 
|---|---|---|
| committer | gramanas <anastasis.gramm2@gmail.com> | 2024-06-06 13:41:08 +0300 | 
| commit | eb5d40f92c6d2d1d7491c350cbdcef2e8bf96e06 (patch) | |
| tree | afe523416d2cd5c57f403dd5a36d28a9c513ed30 /src | |
| parent | a6501b5d7ad204c3b998c843c7ed68ef7be323ba (diff) | |
| download | cgame-eb5d40f92c6d2d1d7491c350cbdcef2e8bf96e06.tar.gz cgame-eb5d40f92c6d2d1d7491c350cbdcef2e8bf96e06.tar.bz2 cgame-eb5d40f92c6d2d1d7491c350cbdcef2e8bf96e06.zip | |
build changes
Diffstat (limited to 'src')
| -rw-r--r-- | src/b.h | 17 | ||||
| -rw-r--r-- | src/render.c | 62 | ||||
| -rw-r--r-- | src/vksetup.h | 6 | 
3 files changed, 49 insertions, 36 deletions
| @@ -49,6 +49,8 @@  typedef enum {      B_INFO, +    B_CMD, +    B_BUILDING,      B_CHANGE,      B_WARNING,      B_ERROR, @@ -306,7 +308,7 @@ bool b_mkdir_if_not_exists(const char *path)      int result = mkdir(path, 0755);      if (result < 0) {          if (errno == EEXIST) { -            b_log(B_INFO, "directory `%s` already exists", path); +          //b_log(B_INFO, "directory `%s` already exists", path);              return true;          }          b_log(B_ERROR, "could not create directory `%s`: %s", path, strerror(errno)); @@ -398,7 +400,7 @@ B_Proc b_cmd_run_async(B_Cmd cmd)      B_String_Builder sb = {0};      b_cmd_render(cmd, &sb);      b_sb_append_null(&sb); -    b_log(B_INFO, "CMD: %s", sb.items); +    b_log(B_CMD, "%s", sb.items);      b_sb_free(sb);      memset(&sb, 0, sizeof(sb)); @@ -486,6 +488,12 @@ void b_log(B_Log_Level level, const char *fmt, ...)      case B_INFO:          fprintf(stderr, "[INFO] ");          break; +    case B_CMD: +        fprintf(stderr, "[CMD] "); +        break; +    case B_BUILDING: +        fprintf(stderr, "[BUILDING] "); +        break;      case B_CHANGE:          fprintf(stderr, "[CHANGE] ");          break; @@ -712,7 +720,10 @@ int b_needs_rebuild(const char *output_path, const char **input_paths, size_t in      if (stat(output_path, &statbuf) < 0) {          // NOTE: if output does not exist it 100% must be rebuilt -        if (errno == ENOENT) return 1; +        if (errno == ENOENT) { +          b_log(B_BUILDING, "%s", output_path); +          return 1; +        }          b_log(B_ERROR, "could not stat %s: %s", output_path, strerror(errno));          return -1;      } diff --git a/src/render.c b/src/render.c index 4893d64..2558bd4 100644 --- a/src/render.c +++ b/src/render.c @@ -13,9 +13,9 @@  #include <vulkan/vulkan.h> -#define VMA_STATIC_VULKAN_FUNCTIONS 0 -#define VMA_DYNAMIC_VULKAN_FUNCTIONS 1 -#include "vk_mem_alloc.h" +/* #define VMA_STATIC_VULKAN_FUNCTIONS 0 */ +/* #define VMA_DYNAMIC_VULKAN_FUNCTIONS 1 */ +/* #include "vk_mem_alloc.h" */  #define STB_IMAGE_IMPLEMENTATION  #include <stb_image.h> @@ -1626,7 +1626,6 @@ draw_frame()    float dt = time - prev_time; -    vkWaitForFences(s.vk.device, 1, &s.frames[currentFrame].in_flight_fence, VK_TRUE, UINT64_MAX);    uint32_t imageIndex; @@ -1696,47 +1695,44 @@ main(int argc, char* argv[])    init_state(&s);    if (!init()) {      vk_log(VK_INFO, "Failed to initialize!\n"); +    abort();    } -  else { -    init_vulkan(); -    bool quit = false; +  init_vulkan(); +  bool quit = false; -    /* VMA POC */ -    VmaVulkanFunctions vulkanFunctions = {0}; -    vulkanFunctions.vkGetInstanceProcAddr = &vkGetInstanceProcAddr; -    vulkanFunctions.vkGetDeviceProcAddr = &vkGetDeviceProcAddr; -    VmaAllocatorCreateInfo allocatorCreateInfo = {0}; -    allocatorCreateInfo.flags = VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT; -    allocatorCreateInfo.vulkanApiVersion = VK_API_VERSION_1_2; -    allocatorCreateInfo.physicalDevice = s.vk.physical_device; -    allocatorCreateInfo.device = s.vk.device; -    allocatorCreateInfo.instance = s.vk.instance; -    allocatorCreateInfo.pVulkanFunctions = &vulkanFunctions; +  /* VMA POC */ +  VmaVulkanFunctions vulkanFunctions = {0}; +  vulkanFunctions.vkGetInstanceProcAddr = &vkGetInstanceProcAddr; +  vulkanFunctions.vkGetDeviceProcAddr = &vkGetDeviceProcAddr; -    VmaAllocator allocator; -    vmaCreateAllocator(&allocatorCreateInfo, &allocator); +  VmaAllocatorCreateInfo allocatorCreateInfo = {0}; +  allocatorCreateInfo.flags = VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT; +  allocatorCreateInfo.vulkanApiVersion = VK_API_VERSION_1_2; +  allocatorCreateInfo.physicalDevice = s.vk.physical_device; +  allocatorCreateInfo.device = s.vk.device; +  allocatorCreateInfo.instance = s.vk.instance; +  allocatorCreateInfo.pVulkanFunctions = &vulkanFunctions; -    // Entire program... +  vmaCreateAllocator(&allocatorCreateInfo, &s.vk.allocator); -    // At the end, don't forget to: -    vmaDestroyAllocator(allocator); +  // At the end, don't forget to: -    // Game loop -    update_camera(0, 0); -    while (!quit) { -      handle_input(&quit); -      imgui_new_frame(s.vk); -      draw_frame(); -      //SDL_Delay(16); -    } +  update_camera(0, 0); -    close_vulkan(); +  // Game loop +  while (!quit) { +    handle_input(&quit); +    imgui_new_frame(s.vk); +    draw_frame(); +    //SDL_Delay(16);    } -  // Free resources and close SDL +  vmaDestroyAllocator(s.vk.allocator); + +  close_vulkan();    closeSDL();    return 0; diff --git a/src/vksetup.h b/src/vksetup.h index 273a785..608975b 100644 --- a/src/vksetup.h +++ b/src/vksetup.h @@ -47,6 +47,10 @@  #include <shaderc/shaderc.h> +#define VMA_STATIC_VULKAN_FUNCTIONS 0 +#define VMA_DYNAMIC_VULKAN_FUNCTIONS 1 +#include "vk_mem_alloc.h" +  #include "../lib/cglm/include/cglm/cglm.h"  #define VK_ARRAY_LEN(arr) sizeof((arr))/sizeof((arr)[0]) @@ -192,6 +196,8 @@ typedef struct vks_context {    vks_image color_image;    vks_image depth_image; +  VmaAllocator allocator; +    VkSampleCountFlagBits msaa_samples;  } vks_context; | 
