Skip to content

Commit ac73d50

Browse files
committed
demo: Fix sdl_vulkan for Windows, from @gravnem
1 parent d293cc2 commit ac73d50

1 file changed

Lines changed: 18 additions & 13 deletions

File tree

demo/sdl_vulkan/main.c

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ bool create_swap_chain(struct vulkan_demo *demo) {
811811
}
812812

813813
create_info.preTransform = swap_chain_support.capabilities.currentTransform;
814-
814+
815815
if(swap_chain_support.capabilities.supportedCompositeAlpha & VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR) {
816816
create_info.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
817817
} else if(swap_chain_support.capabilities.supportedCompositeAlpha & VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR) {
@@ -821,7 +821,7 @@ bool create_swap_chain(struct vulkan_demo *demo) {
821821
} else if(swap_chain_support.capabilities.supportedCompositeAlpha & VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR) {
822822
create_info.compositeAlpha = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
823823
}
824-
824+
825825
create_info.presentMode = present_mode;
826826
create_info.clipped = VK_TRUE;
827827

@@ -1267,7 +1267,7 @@ bool create_graphics_pipeline(struct vulkan_demo *demo) {
12671267
VkGraphicsPipelineCreateInfo pipeline_info;
12681268
size_t read_result;
12691269

1270-
fp = fopen("shaders/demo.vert.spv", "r");
1270+
fp = fopen("shaders/demo.vert.spv", "rb");
12711271
if (!fp) {
12721272
fprintf(stderr, "Couldn't open shaders/demo.vert.spv\n");
12731273
return false;
@@ -1288,7 +1288,7 @@ bool create_graphics_pipeline(struct vulkan_demo *demo) {
12881288
goto cleanup;
12891289
}
12901290

1291-
fp = fopen("shaders/demo.frag.spv", "r");
1291+
fp = fopen("shaders/demo.frag.spv", "rb");
12921292
if (!fp) {
12931293
fprintf(stderr, "Couldn't open shaders/demo.frag.spv\n");
12941294
return false;
@@ -1497,7 +1497,7 @@ bool create_semaphores(struct vulkan_demo *demo) {
14971497
VkSemaphoreCreateInfo semaphore_info;
14981498
VkResult result;
14991499
uint32_t i;
1500-
1500+
15011501
demo->image_available = (VkSemaphore*)malloc(MAX_IN_FLIGHT_FRAMES * sizeof(VkSemaphore));
15021502
demo->render_finished = (VkSemaphore*)malloc(demo->swap_chain_images_len * sizeof(VkSemaphore));
15031503
memset(&semaphore_info, 0, sizeof(VkSemaphoreCreateInfo));
@@ -1525,13 +1525,13 @@ bool create_fence(struct vulkan_demo *demo) {
15251525
VkResult result;
15261526
VkFenceCreateInfo fence_create_info;
15271527
uint32_t i;
1528-
1528+
15291529
demo->render_fence = (VkFence*)malloc(MAX_IN_FLIGHT_FRAMES * sizeof(VkFence));
15301530

15311531
memset(&fence_create_info, 0, sizeof(VkFenceCreateInfo));
15321532
fence_create_info.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
15331533
fence_create_info.flags = VK_FENCE_CREATE_SIGNALED_BIT;
1534-
1534+
15351535
for(i = 0; i < MAX_IN_FLIGHT_FRAMES; i++) {
15361536
result = vkCreateFence(demo->device, &fence_create_info, NULL,
15371537
&demo->render_fence[i]);
@@ -2032,7 +2032,7 @@ destroy_debug_utils_messenger_ext(VkInstance instance,
20322032
bool cleanup(struct vulkan_demo *demo) {
20332033
VkResult result;
20342034
uint32_t i;
2035-
2035+
20362036
printf("cleaning up\n");
20372037
result = vkDeviceWaitIdle(demo->device);
20382038
if (result != VK_SUCCESS) {
@@ -2046,22 +2046,22 @@ bool cleanup(struct vulkan_demo *demo) {
20462046
MAX_IN_FLIGHT_FRAMES, demo->command_buffers);
20472047
vkDestroyCommandPool(demo->device, demo->command_pool, NULL);
20482048
vkDestroySampler(demo->device, demo->sampler, NULL);
2049-
2049+
20502050
for(i = 0; i < demo->swap_chain_images_len; i++)
20512051
vkDestroySemaphore(demo->device, demo->render_finished[i], NULL);
20522052
if(demo->render_finished)
20532053
free(demo->render_finished);
2054-
2054+
20552055
for(i = 0; i < MAX_IN_FLIGHT_FRAMES; i++)
20562056
vkDestroySemaphore(demo->device, demo->image_available[i], NULL);
20572057
if(demo->image_available)
20582058
free(demo->image_available);
2059-
2059+
20602060
for(i = 0; i < MAX_IN_FLIGHT_FRAMES; i++)
20612061
vkDestroyFence(demo->device, demo->render_fence[i], NULL);
20622062
if(demo->render_fence)
20632063
free(demo->render_fence);
2064-
2064+
20652065
vkDestroyImage(demo->device, demo->demo_texture_image, NULL);
20662066
vkDestroyImageView(demo->device, demo->demo_texture_image_view, NULL);
20672067
vkFreeMemory(demo->device, demo->demo_texture_memory, NULL);
@@ -2141,6 +2141,11 @@ int main(void) {
21412141
WINDOW_HEIGHT,
21422142
SDL_WINDOW_VULKAN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI);
21432143

2144+
if (!demo.win) {
2145+
SDL_Log("Error SDL_CreateWindow %s", SDL_GetError());
2146+
exit(1);
2147+
}
2148+
21442149
if (!create_vulkan_demo(&demo)) {
21452150
fprintf(stderr, "failed to create vulkan demo!\n");
21462151
exit(1);
@@ -2255,7 +2260,7 @@ int main(void) {
22552260

22562261
result = vkWaitForFences(demo.device, 1, &demo.render_fence[demo.current_in_flight_frame], VK_TRUE,
22572262
UINT64_MAX);
2258-
2263+
22592264
if (result != VK_SUCCESS) {
22602265
fprintf(stderr, "vkWaitForFences failed: %d\n", result);
22612266
return false;

0 commit comments

Comments
 (0)