aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorj-p <jp_bruyere@hotmail.com>2020-01-23 07:28:09 +0100
committerGitHub <noreply@github.com>2020-01-23 07:28:09 +0100
commita754cb1e74a9727380e00869b36fef49ca8e9d2b (patch)
tree164559af73957bb6aa255a1ce78bf6aa8917c879
parente549a24bb6bd220817e98cf1af1b270a83bfaba6 (diff)
Appveyor (#3)
MSVC compilation ok.
-rw-r--r--CMakeLists.txt13
-rw-r--r--appveyor.yml24
-rw-r--r--src/vkh_app.c3
-rw-r--r--src/vkh_presenter.c17
-rw-r--r--src/vkhelpers.c3
5 files changed, 48 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 07ef231..c0880b1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,9 +1,16 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 3.9)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.7)
PROJECT(vkh VERSION 0.1.0 DESCRIPTION "Vulkan helpers library")
-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
-SET(CMAKE_CXX_FLAGS "-Wall -std=c++11")
+#SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
+
+IF (UNIX)
+ SET(CMAKE_CXX_FLAGS "-Wall -Wno-extra")
+ELSEIF(MSVC)
+ SET(CMAKE_CXX_FLAGS "-W4")
+ENDIF()
+
+
SET(CMAKE_EXE_LINKER_FLAGS "-lm")
IF(NOT CMAKE_BUILD_TYPE)
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..9890041
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,24 @@
+version: 0.1.{build}
+
+environment:
+ VULKAN_SDK: C:/VulkanSDK/1.1.130.0
+ APPVEYOR_SAVE_CACHE_ON_ERROR: true
+
+install:
+ - if not exist VulkanSDK.exe curl -L --silent --show-error --output VulkanSDK.exe https://vulkan.lunarg.com/sdk/download/1.1.130.0/windows/VulkanSDK-1.1.130.0-Installer.exe?Human=true && VulkanSDK.exe /S
+ - vcpkg install glfw3
+cache:
+ - VulkanSDK.exe
+ - c:\tools\vcpkg\installed\
+ - c:\VulkanSDK\
+
+before_build:
+ - git submodule update --init --recursive
+ - mkdir build
+ - cd build
+ - cmake -G "Visual Studio 14" -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake ..
+ - ls
+
+build_script:
+ - msbuild vkh.sln /p:Configuration=Debug /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
+
diff --git a/src/vkh_app.c b/src/vkh_app.c
index cc387ab..013df2c 100644
--- a/src/vkh_app.c
+++ b/src/vkh_app.c
@@ -105,13 +105,14 @@ VkInstance vkh_app_get_inst (VkhApp app) {
VkhPhyInfo* vkh_app_get_phyinfos (VkhApp app, uint32_t* count, VkSurfaceKHR surface) {
VK_CHECK_RESULT(vkEnumeratePhysicalDevices (app->inst, count, NULL));
- VkPhysicalDevice phyDevices[(*count)];
+ VkPhysicalDevice* phyDevices = (VkPhysicalDevice*)malloc((*count) * sizeof(VkPhysicalDevice));
VK_CHECK_RESULT(vkEnumeratePhysicalDevices (app->inst, count, phyDevices));
VkhPhyInfo* infos = (VkhPhyInfo*)malloc((*count) * sizeof(VkhPhyInfo));
for (uint32_t i=0; i<(*count); i++)
infos[i] = vkh_phyinfo_create (phyDevices[i], surface);
+ free (phyDevices);
return infos;
}
diff --git a/src/vkh_presenter.c b/src/vkh_presenter.c
index 83cdc74..f2f2126 100644
--- a/src/vkh_presenter.c
+++ b/src/vkh_presenter.c
@@ -150,10 +150,10 @@ void _init_phy_surface(VkhPresenter r, VkFormat preferedFormat, VkPresentModeKHR
uint32_t count;
VK_CHECK_RESULT(vkGetPhysicalDeviceSurfaceFormatsKHR (r->dev->phy, r->surface, &count, NULL));
assert (count>0);
- VkSurfaceFormatKHR formats[count];
+ VkSurfaceFormatKHR* formats = (VkSurfaceFormatKHR*)malloc(count * sizeof(VkSurfaceFormatKHR));
VK_CHECK_RESULT(vkGetPhysicalDeviceSurfaceFormatsKHR (r->dev->phy, r->surface, &count, formats));
- for (uint i=0; i<count; i++){
+ for (uint32_t i=0; i<count; i++){
if (formats[i].format == preferedFormat) {
r->format = formats[i].format;
r->colorSpace = formats[i].colorSpace;
@@ -164,16 +164,18 @@ void _init_phy_surface(VkhPresenter r, VkFormat preferedFormat, VkPresentModeKHR
VK_CHECK_RESULT(vkGetPhysicalDeviceSurfacePresentModesKHR(r->dev->phy, r->surface, &count, NULL));
assert (count>0);
- VkPresentModeKHR presentModes[count];
+ VkPresentModeKHR* presentModes = (VkPresentModeKHR*)malloc(count * sizeof(VkPresentModeKHR));
VK_CHECK_RESULT(vkGetPhysicalDeviceSurfacePresentModesKHR(r->dev->phy, r->surface, &count, presentModes));
r->presentMode = -1;
- for (uint i=0; i<count; i++){
+ for (uint32_t i=0; i<count; i++){
if (presentModes[i] == presentMode) {
r->presentMode = presentModes[i];
break;
}
}
assert (r->presentMode >= 0);
+ free(formats);
+ free(presentModes);
}
void vkh_presenter_create_swapchain (VkhPresenter r){
@@ -226,13 +228,13 @@ void vkh_presenter_create_swapchain (VkhPresenter r){
VK_CHECK_RESULT(vkGetSwapchainImagesKHR(r->dev->dev, r->swapChain, &r->imgCount, NULL));
assert (r->imgCount>0);
- VkImage images[r->imgCount];
- VK_CHECK_RESULT(vkGetSwapchainImagesKHR(r->dev->dev, r->swapChain, &r->imgCount,images));
+ VkImage* images = (VkImage*)malloc(r->imgCount * sizeof(VkImage));
+ VK_CHECK_RESULT(vkGetSwapchainImagesKHR(r->dev->dev, r->swapChain, &r->imgCount, images));
r->ScBuffers = (VkhImage*) malloc (r->imgCount * sizeof(VkhImage));
r->cmdBuffs = (VkCommandBuffer*)malloc (r->imgCount * sizeof(VkCommandBuffer));
- for (int i=0; i<r->imgCount; i++) {
+ for (uint32_t i=0; i<r->imgCount; i++) {
VkhImage sci = vkh_image_import(r->dev, images[i], r->format, r->width, r->height);
vkh_image_create_view(sci, VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_ASPECT_COLOR_BIT);
@@ -241,6 +243,7 @@ void vkh_presenter_create_swapchain (VkhPresenter r){
r->cmdBuffs [i] = vkh_cmd_buff_create(r->dev, r->cmdPool,VK_COMMAND_BUFFER_LEVEL_PRIMARY);
}
r->currentScBufferIndex = 0;
+ free (images);
}
void _swapchain_destroy (VkhPresenter r){
for (uint32_t i = 0; i < r->imgCount; i++)
diff --git a/src/vkhelpers.c b/src/vkhelpers.c
index b6490b5..9557bda 100644
--- a/src/vkhelpers.c
+++ b/src/vkhelpers.c
@@ -277,7 +277,7 @@ void dumpLayerExts () {
assert (vkEnumerateInstanceLayerProperties(&instance_layer_count, NULL)==VK_SUCCESS);
if (instance_layer_count == 0)
return;
- VkLayerProperties vk_props[instance_layer_count];
+ VkLayerProperties* vk_props = (VkLayerProperties*)malloc(instance_layer_count * sizeof(VkLayerProperties));
assert (vkEnumerateInstanceLayerProperties(&instance_layer_count, vk_props)==VK_SUCCESS);
for (uint32_t i = 0; i < instance_layer_count; i++) {
@@ -286,4 +286,5 @@ void dumpLayerExts () {
if (res) return res;
info.instance_layer_properties.push_back(layer_props);*/
}
+ free (vk_props);
}