Build the Vulkan backend on CI

This commit is contained in:
Corentin Wallez
2017-11-23 17:22:23 -05:00
committed by Corentin Wallez
parent 3cf6c9df0c
commit b36b501f5e
6 changed files with 29 additions and 22 deletions

View File

@@ -69,7 +69,7 @@ namespace backend { namespace vulkan {
// Write to the staging buffer
ASSERT(allocation.GetMappedPointer() != nullptr);
memcpy(allocation.GetMappedPointer(), data, size);
memcpy(allocation.GetMappedPointer(), data, static_cast<size_t>(size));
// Enqueue host write -> transfer src barrier and copy command
VkCommandBuffer commands = mDevice->GetPendingCommandBuffer();

View File

@@ -339,6 +339,10 @@ namespace backend { namespace vulkan {
usedKnobs->debugReport = true;
}
#endif
if (mGlobalInfo.surface) {
extensionsToRequest.push_back(kExtensionNameKhrSurface);
usedKnobs->surface = true;
}
VkApplicationInfo appInfo;
appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
@@ -448,14 +452,15 @@ namespace backend { namespace vulkan {
return true;
}
VkBool32 Device::OnDebugReportCallback(VkDebugReportFlagsEXT flags,
VkDebugReportObjectTypeEXT /*objectType*/,
uint64_t /*object*/,
size_t /*location*/,
int32_t /*messageCode*/,
const char* /*pLayerPrefix*/,
const char* pMessage,
void* /*pUserdata*/) {
VKAPI_ATTR VkBool32 VKAPI_CALL
Device::OnDebugReportCallback(VkDebugReportFlagsEXT flags,
VkDebugReportObjectTypeEXT /*objectType*/,
uint64_t /*object*/,
size_t /*location*/,
int32_t /*messageCode*/,
const char* /*pLayerPrefix*/,
const char* pMessage,
void* /*pUserdata*/) {
std::cout << pMessage << std::endl;
ASSERT((flags & VK_DEBUG_REPORT_ERROR_BIT_EXT) == 0);

View File

@@ -147,14 +147,15 @@ namespace backend { namespace vulkan {
void GatherQueueFromDevice();
bool RegisterDebugReport();
static VkBool32 OnDebugReportCallback(VkDebugReportFlagsEXT flags,
VkDebugReportObjectTypeEXT objectType,
uint64_t object,
size_t location,
int32_t messageCode,
const char* pLayerPrefix,
const char* pMessage,
void* pUserdata);
static VKAPI_ATTR VkBool32 VKAPI_CALL
OnDebugReportCallback(VkDebugReportFlagsEXT flags,
VkDebugReportObjectTypeEXT objectType,
uint64_t object,
size_t location,
int32_t messageCode,
const char* pLayerPrefix,
const char* pMessage,
void* pUserdata);
// To make it easier to use fn it is a public const member. However
// the Device is allowed to mutate them through these private methods.