From f6c2eeaad968b1ad0ebef7fad79eb5f01305a6e3 Mon Sep 17 00:00:00 2001 From: Awais Belal Date: Wed, 5 Sep 2018 11:43:07 +0500 Subject: [PATCH 5/5] demos/cube*: use absolute location for data files If absolute locations are not used here the demo looks for texture files in a haphazard way and can only be launched from the same directory. This allows running the demo from anywhere and consolidate any data files that are needed. Signed-off-by: Awais Belal --- demos/cube.c | 7 ++++++- demos/cube.cpp | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/demos/cube.c b/demos/cube.c index 29a484260..6b5f0b7af 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -67,6 +67,8 @@ #define APP_SHORT_NAME "cube" #define APP_LONG_NAME "The Vulkan Cube Demo Program" +#define VULKAN_DATA_LOC "/usr/share/vulkan-data/" + // Allow a maximum of two outstanding presentation operations. #define FRAME_LAG 2 @@ -1484,7 +1486,10 @@ bool loadTexture(const char *filename, uint8_t *rgba_data, VkSubresourceLayout * return true; #else - FILE *fPtr = fopen(filename, "rb"); + char abs_filename[256]; + strcpy(abs_filename, VULKAN_DATA_LOC); + strcat(abs_filename, filename); + FILE *fPtr = fopen(abs_filename, "rb"); char header[256], *cPtr, *tmp; if (!fPtr) return false; diff --git a/demos/cube.cpp b/demos/cube.cpp index fe8cb7c90..3eee7d9c8 100644 --- a/demos/cube.cpp +++ b/demos/cube.cpp @@ -57,6 +57,8 @@ // Allow a maximum of two outstanding presentation operations. #define FRAME_LAG 2 +#define VULKAN_DATA_LOC "/usr/share/vulkan-data/" + #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) #ifdef _WIN32 @@ -2261,7 +2263,10 @@ void Demo::update_data_buffer() { } bool Demo::loadTexture(const char *filename, uint8_t *rgba_data, vk::SubresourceLayout *layout, int32_t *width, int32_t *height) { - FILE *fPtr = fopen(filename, "rb"); + char abs_filename[256]; + strcpy(abs_filename, VULKAN_DATA_LOC); + strcat(abs_filename, filename); + FILE *fPtr = fopen(abs_filename, "rb"); if (!fPtr) { return false; } -- 2.11.1