diff --git a/CMSceneGraph b/CMSceneGraph index cbc6cda1..2dc2e3ef 160000 --- a/CMSceneGraph +++ b/CMSceneGraph @@ -1 +1 @@ -Subproject commit cbc6cda17afa4985025f588e7801654d9a8d4d1b +Subproject commit 2dc2e3ef9587a69eb29216411f9de322c65860a6 diff --git a/src/SceneGraph/Vulkan/VKDeviceAttribute.cpp b/src/SceneGraph/Vulkan/VKDeviceAttribute.cpp index 72805cbe..32c1520a 100644 --- a/src/SceneGraph/Vulkan/VKDeviceAttribute.cpp +++ b/src/SceneGraph/Vulkan/VKDeviceAttribute.cpp @@ -5,6 +5,22 @@ #include VK_NAMESPACE_BEGIN + +namespace +{ + PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = NULL; + PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR = NULL; + PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = NULL; + + PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT = NULL; + PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT = NULL; +} + +bool InitPhysicsDeviceSurfaceAPI2() +{ + return(false); +} + void SavePipelineCacheData(VkDevice device,VkPipelineCache cache,const VkPhysicalDeviceProperties &pdp); GPUDeviceAttribute::GPUDeviceAttribute(VkInstance inst,const GPUPhysicalDevice *pd,VkSurfaceKHR s) @@ -72,39 +88,39 @@ void GPUDeviceAttribute::Refresh() { uint32_t format_count; - surface_format.format = VK_FORMAT_B8G8R8A8_SRGB; + surface_format.format = VK_FORMAT_B8G8R8A8_UNORM; surface_format.colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR; - //if (vkGetPhysicalDeviceSurfaceFormatsKHR(pdevice, surface, &format_count, nullptr) == VK_SUCCESS) - //{ - // surface_formats_list.SetCount(format_count); + if (vkGetPhysicalDeviceSurfaceFormatsKHR(pdevice, surface, &format_count, nullptr) == VK_SUCCESS) + { + surface_formats_list.SetCount(format_count); - // if (vkGetPhysicalDeviceSurfaceFormatsKHR(pdevice, surface, &format_count, surface_formats_list.GetData()) != VK_SUCCESS) - // { - // surface_formats_list.Clear(); - // } - // else - // { - // VkSurfaceFormatKHR *sf = surface_formats_list.GetData(); + if (vkGetPhysicalDeviceSurfaceFormatsKHR(pdevice, surface, &format_count, surface_formats_list.GetData()) != VK_SUCCESS) + { + surface_formats_list.Clear(); + } + //else + //{ + // VkSurfaceFormatKHR *sf = surface_formats_list.GetData(); - // if (format_count == 1 && sf->format == VK_FORMAT_UNDEFINED) - // { - // } - // else - // { - // surface_format.format=VK_FORMAT_UNDEFINED; + // if (format_count == 1 && sf->format == VK_FORMAT_UNDEFINED) + // { + // } + // else + // { + // surface_format.format=VK_FORMAT_UNDEFINED; - // for(uint32_t i=0;iformat>surface_format.format - // &&sf->colorSpace==VK_COLOR_SPACE_SRGB_NONLINEAR_KHR) - // surface_format=*sf; + // for(uint32_t i=0;iformat>surface_format.format + // &&sf->colorSpace==VK_COLOR_SPACE_SRGB_NONLINEAR_KHR) + // surface_format=*sf; - // ++sf; - // } - // } - // } - //} + // ++sf; + // } + // } + //} + } } {