Skip to content

Commit 5155304

Browse files
cdotstoutRebase bot
authored andcommitted
[vulkan] Update layers for compatibility with upstream
Disable GN include checks temporarily. After the VVL repo has been updated the include checks will be restored. Bug:b/319117470 Change-Id: I6a42a0d3c40260b846f62a8f1cf24e2a004768f1 Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/970937 Fuchsia-Auto-Submit: Craig Stout <cstout@google.com> Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com> Reviewed-by: John Bauman <jbauman@google.com>
1 parent beded4d commit 5155304

File tree

4 files changed

+49
-32
lines changed

4 files changed

+49
-32
lines changed

src/lib/vulkan/layers.gni

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
# this will add both the loadable module, configuration JSON file and related
88
# dependencies.
99

10-
import("//third_party/Vulkan-ValidationLayers/build-gn/layers-fuchsia.gni")
10+
import("//third_party/Vulkan-ValidationLayers/scripts/gn/layers-fuchsia.gni")

src/lib/vulkan/swapchain/BUILD.gn

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,34 @@ validation_layer_dir = "//third_party/Vulkan-ValidationLayers"
2323
config("vulkan_layer_config") {
2424
include_dirs = [
2525
"$validation_layer_dir/layers",
26-
"$validation_layer_dir/layers/generated",
26+
"$validation_layer_dir/layers/utils",
27+
"$validation_layer_dir/layers/vulkan",
28+
"$validation_layer_dir/layers/vulkan/generated",
2729
]
2830
cflags = [ "-Wno-extra-semi" ]
2931
}
3032

3133
source_set("layer_common") {
34+
#TODO(b/319117470) - remove to complete soft transition
35+
check_includes = false
3236
public_configs = [ ":vulkan_layer_config" ]
3337

3438
sources = [
35-
"$validation_layer_dir/layers/generated/vk_dispatch_table_helper.h",
36-
"$validation_layer_dir/layers/generated/vk_extension_helper.h",
37-
"$validation_layer_dir/layers/generated/vk_layer_dispatch_table.h",
38-
"$validation_layer_dir/layers/vk_layer_data.h",
39-
"$validation_layer_dir/layers/vk_layer_extension_utils.cpp",
40-
"$validation_layer_dir/layers/vk_layer_extension_utils.h",
39+
"$validation_layer_dir/layers/containers/custom_containers.h",
40+
"$validation_layer_dir/layers/utils/vk_layer_extension_utils.cpp",
41+
"$validation_layer_dir/layers/utils/vk_layer_extension_utils.h",
42+
"$validation_layer_dir/layers/vulkan/generated/vk_api_version.h",
43+
"$validation_layer_dir/layers/vulkan/generated/vk_dispatch_table_helper.h",
44+
"$validation_layer_dir/layers/vulkan/generated/vk_extension_helper.h",
45+
"$validation_layer_dir/layers/vulkan/generated/vk_layer_dispatch_table.h",
4146
]
4247

4348
public_deps = [ "//third_party/Vulkan-Headers:vulkan_headers" ]
4449
}
4550

4651
loadable_module("swapchain") {
52+
#TODO(b/319117470) - remove to complete soft transition
53+
check_includes = false
4754
output_name = "VkLayer_image_pipe_swapchain"
4855
sources = [
4956
"fuchsia_platform_event.cc",
@@ -113,6 +120,8 @@ source_set("display") {
113120
}
114121

115122
loadable_module("fb") {
123+
#TODO(b/319117470) - remove to complete soft transition
124+
check_includes = false
116125
output_name = "VkLayer_image_pipe_swapchain_fb"
117126
defines = [ "USE_IMAGEPIPE_SURFACE_FB" ]
118127
sources = [ "image_pipe_swapchain_layer.cc" ]
@@ -139,6 +148,8 @@ group("image_pipe_swapchain_fb_layer") {
139148
}
140149

141150
loadable_module("fb_skip_present") {
151+
#TODO(b/319117470) - remove to complete soft transition
152+
check_includes = false
142153
output_name = "VkLayer_image_pipe_swapchain_fb_skip_present"
143154
defines = [
144155
"USE_IMAGEPIPE_SURFACE_FB",
@@ -168,6 +179,8 @@ group("image_pipe_swapchain_fb_skip_present_layer") {
168179
}
169180

170181
loadable_module("copy") {
182+
#TODO(b/319117470) - remove to complete soft transition
183+
check_includes = false
171184
testonly = true # Not intended for production use
172185
output_name = "VkLayer_image_pipe_swapchain_copy"
173186
defines = [ "USE_SWAPCHAIN_SURFACE_COPY" ]

src/lib/vulkan/swapchain/image_pipe_swapchain_layer.cc

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ constexpr bool kSkipPresent = false;
4848
#endif
4949

5050
#include <vk_dispatch_table_helper.h>
51-
#include <vk_layer_data.h>
5251
#include <vk_layer_extension_utils.h>
5352

5453
#include <limits>
@@ -58,6 +57,11 @@ constexpr bool kSkipPresent = false;
5857

5958
#include "vk_layer_dispatch_table.h"
6059

60+
// Older headers defined this for us
61+
#ifndef VK_LAYER_EXPORT
62+
#define VK_LAYER_EXPORT __attribute__((visibility("default")))
63+
#endif
64+
6165
namespace {
6266
// The loader dispatch table may be a different version from the layer's, and can't be used
6367
// directly.
@@ -585,9 +589,9 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateImagePipeSurfaceFUCHSIA(
585589
VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
586590
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) {
587591
#elif defined(VK_USE_PLATFORM_WAYLAND_KHR)
588-
VKAPI_ATTR VkResult VKAPI_CALL
589-
CreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
590-
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) {
592+
VKAPI_ATTR VkResult VKAPI_CALL CreateWaylandSurfaceKHR(
593+
VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
594+
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) {
591595

592596
#else
593597
#error Unsupported
@@ -627,9 +631,9 @@ VKAPI_ATTR void VKAPI_CALL DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR v
627631
delete surface;
628632
}
629633

630-
VKAPI_ATTR VkResult VKAPI_CALL
631-
GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
632-
VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) {
634+
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilitiesKHR(
635+
VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
636+
VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) {
633637
VkLayerInstanceDispatchTable* instance_dispatch_table =
634638
GetLayerDataPtr(get_dispatch_key(physicalDevice), layer_data_map)
635639
->instance_dispatch_table.get();
@@ -662,9 +666,9 @@ GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfa
662666
return VK_SUCCESS;
663667
}
664668

665-
VKAPI_ATTR VkResult VKAPI_CALL
666-
GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, const VkSurfaceKHR surface,
667-
uint32_t* pCount, VkSurfaceFormatKHR* pSurfaceFormats) {
669+
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormatsKHR(
670+
VkPhysicalDevice physicalDevice, const VkSurfaceKHR surface, uint32_t* pCount,
671+
VkSurfaceFormatKHR* pSurfaceFormats) {
668672
SupportedImageProperties& supported_properties =
669673
reinterpret_cast<ImagePipeSurface*>(surface)->GetSupportedImageProperties();
670674
if (pSurfaceFormats == nullptr) {
@@ -679,9 +683,9 @@ GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, const VkSurf
679683
return VK_SUCCESS;
680684
}
681685

682-
VKAPI_ATTR VkResult VKAPI_CALL
683-
GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, const VkSurfaceKHR surface,
684-
uint32_t* pCount, VkPresentModeKHR* pPresentModes) {
686+
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModesKHR(
687+
VkPhysicalDevice physicalDevice, const VkSurfaceKHR surface, uint32_t* pCount,
688+
VkPresentModeKHR* pPresentModes) {
685689
LayerData* layer_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), layer_data_map);
686690
return reinterpret_cast<ImagePipeSurface*>(surface)->GetPresentModes(
687691
physicalDevice, layer_data->instance_dispatch_table.get(), pCount, pPresentModes);
@@ -889,9 +893,9 @@ VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceExtensionProperties(
889893
return VK_ERROR_LAYER_NOT_PRESENT;
890894
}
891895

892-
VKAPI_ATTR VkResult VKAPI_CALL
893-
EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName,
894-
uint32_t* pCount, VkExtensionProperties* pProperties) {
896+
VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceExtensionProperties(
897+
VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pCount,
898+
VkExtensionProperties* pProperties) {
895899
if (pLayerName && !strcmp(pLayerName, swapchain_layer.layerName))
896900
return util_GetExtensionProperties(std::size(device_extensions), device_extensions, pCount,
897901
pProperties);
@@ -1070,8 +1074,8 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPrope
10701074
pProperties);
10711075
}
10721076

1073-
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
1074-
vkEnumerateInstanceLayerProperties(uint32_t* pCount, VkLayerProperties* pProperties) {
1077+
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
1078+
uint32_t* pCount, VkLayerProperties* pProperties) {
10751079
return image_pipe_swapchain::EnumerateInstanceLayerProperties(pCount, pProperties);
10761080
}
10771081

@@ -1081,9 +1085,9 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
10811085
return image_pipe_swapchain::EnumerateDeviceLayerProperties(VK_NULL_HANDLE, pCount, pProperties);
10821086
}
10831087

1084-
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
1085-
vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName,
1086-
uint32_t* pCount, VkExtensionProperties* pProperties) {
1088+
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
1089+
VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pCount,
1090+
VkExtensionProperties* pProperties) {
10871091
assert(physicalDevice == VK_NULL_HANDLE);
10881092
return image_pipe_swapchain::EnumerateDeviceExtensionProperties(VK_NULL_HANDLE, pLayerName,
10891093
pCount, pProperties);
@@ -1094,7 +1098,7 @@ VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkD
10941098
return image_pipe_swapchain::GetDeviceProcAddr(dev, funcName);
10951099
}
10961100

1097-
VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL
1098-
vkGetInstanceProcAddr(VkInstance instance, const char* funcName) {
1101+
VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
1102+
VkInstance instance, const char* funcName) {
10991103
return image_pipe_swapchain::GetInstanceProcAddr(instance, funcName);
11001104
}

src/lib/vulkan/validation_layers/BUILD.gn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# found in the LICENSE file.
44

55
import("//build/dist/resource.gni")
6-
import("//third_party/Vulkan-ValidationLayers/build-gn/layers-fuchsia.gni")
6+
import("//third_party/Vulkan-ValidationLayers/scripts/gn/layers-fuchsia.gni")
77

88
# This defines a target that any fuchsia_component() or fuchsia_package()
99
# can simply depend on to get the Vulkan validation layers loadable modules

0 commit comments

Comments
 (0)