diff --git a/build.sh b/build.sh index 316955f..80cf11c 100755 --- a/build.sh +++ b/build.sh @@ -46,13 +46,13 @@ glsl_out="-o./shaders/glsl/" clang_common="${include_flags} -g -Xclang -flto-visibility-public-std -Wno-unknown-warning-option -fdiagnostics-absolute-paths -Wall -Wno-missing-braces -Wno-unused-function -Wno-writable-strings -Wno-unused-value -Wno-unused-variable -Wno-unused-local-typedef -Wno-deprecated-register -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-single-bit-bitfield-constant-conversion -Wno-compare-distinct-pointer-types -Wno-initializer-overrides -Wno-incompatible-pointer-types-discards-qualifiers -Wno-for-loop-analysis -DVMA_STATIC_VULKAN_FUNCTIONS=0" clang_debug="$compiler -g -O0 -DBUILD_DEBUG=1 ${clang_common} ${auto_compile_flags}" -clang_release="$compiler -g -O2 -DBUILD_DEBUG=0 ${clang_common} ${auto_compile_flags}" +clang_release="$compiler -g -O2 ${clang_common} ${auto_compile_flags}" clang_link="-lpthread -lm -lrt -ldl -l:libvma.a" clang_out="-o" gcc_common="${include_flags} -std=c99 -fuse-ld=mold -g -Wno-unknown-warning-option -Wall -Wno-missing-braces -Wno-unused-function -Wno-attributes -Wno-unused-value -Wno-unused-variable -Wno-unused-local-typedef -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-compare-distinct-pointer-types -D_USE_MATH_DEFINES -Dstrdup=_strdup -Dgnu_printf=printf -DVMA_STATIC_VULKAN_FUNCTIONS=0" gcc_debug="$compiler -g -O0 -DBUILD_DEBUG=1 ${gcc_common} ${auto_compile_flags}" -gcc_release="$compiler -g -O2 -DBUILD_DEBUG=0 ${gcc_common} ${auto_compile_flags}" +gcc_release="$compiler -g -O2 ${gcc_common} ${auto_compile_flags}" gcc_link="-lpthread -lm -lrt -ldl -l:libvma.a -lstdc++" gcc_out="-o" diff --git a/src/render_vulkan.c b/src/render_vulkan.c index c4aa7ea..81155b3 100644 --- a/src/render_vulkan.c +++ b/src/render_vulkan.c @@ -401,7 +401,14 @@ static b32 InitVulkan(Arena *arena) renderer.arena = CreateArena(mem, MB(4)); Assert(InitVkGlobalFunctions(), "Unable to load vulkan functions"); - Assert(vkCreateInstance(&inst_info, NULL, &renderer.vk.inst) == VK_SUCCESS, "Error initializing instance"); + { + VkResult result = vkCreateInstance(&inst_info, NULL, &renderer.vk.inst); + if (result != VK_SUCCESS) + { + Printfln("vkCreateInstance failure: %s", VkResultStr(result)); + assert(false && "Failed to initialize instance"); + } + } Assert(InitVkInstanceFunctions(), "Unable to initialize instance functions"); #ifdef BUILD_DEBUG diff --git a/src/vulkan_config.c b/src/vulkan_config.c index fdb9fd4..76b6d15 100644 --- a/src/vulkan_config.c +++ b/src/vulkan_config.c @@ -16,9 +16,12 @@ static VkApplicationInfo app_info = { }; static const char *instance_layers[] = { +#ifdef BUILD_DEBUG "VK_LAYER_KHRONOS_validation" +#endif }; + static const char *instance_extensions[] = { VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_XCB_SURFACE_EXTENSION_NAME,