aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <courtneygo@google.com>2015-12-01 14:08:28 -0700
committerJon Ashburn <jon@lunarg.com>2015-12-17 11:20:06 -0700
commitf5970c76038ae09ef457ecf8a239c50e86cd789e (patch)
tree4cd3ec3eebfbe78deb48518900830f8cfc3bd2e0
parentedcff401e235512af036e8949399df4ee1c4b48e (diff)
downloadusermoji-f5970c76038ae09ef457ecf8a239c50e86cd789e.tar.xz
layers: export debug_report extension
Need the EnumerateInstanceExtensionProperties to report support for the debug report extension as well as in the json file because different platforms will use either the json file (Windows & Linux) or the Enumerate call (Android).
-rw-r--r--layers/device_limits.cpp5
-rw-r--r--layers/draw_state.cpp20
-rw-r--r--layers/image.cpp20
-rw-r--r--layers/mem_tracker.cpp20
-rw-r--r--layers/param_checker.cpp20
-rw-r--r--layers/swapchain.cpp38
6 files changed, 92 insertions, 31 deletions
diff --git a/layers/device_limits.cpp b/layers/device_limits.cpp
index c7df462e..25beadec 100644
--- a/layers/device_limits.cpp
+++ b/layers/device_limits.cpp
@@ -147,20 +147,19 @@ static void init_device_limits(layer_data *my_data, const VkAllocationCallbacks
}
}
-static const VkExtensionProperties dl_physicaldevice_extensions[] = {
+static const VkExtensionProperties instance_extensions[] = {
{
VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME,
VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION
}
};
-/* DeviceLimits does not have any global extensions */
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
const char *pLayerName,
uint32_t *pCount,
VkExtensionProperties* pProperties)
{
- return util_GetExtensionProperties(1, dl_physicaldevice_extensions, pCount, pProperties);
+ return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties);
}
static const VkLayerProperties dl_global_layers[] = {
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index c2afbdc6..2cafc404 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -2713,12 +2713,10 @@ VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(VkDevice device, cons
layer_data_map.erase(key);
}
-static const VkLayerProperties ds_global_layers[] = {
+static const VkExtensionProperties instance_extensions[] = {
{
- "DrawState",
- VK_API_VERSION,
- VK_MAKE_VERSION(0, 1, 0),
- "Validation layer: DrawState",
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME,
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION
}
};
@@ -2727,10 +2725,18 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPrope
uint32_t *pCount,
VkExtensionProperties* pProperties)
{
- /* DrawState does not have any global extensions */
- return util_GetExtensionProperties(0, NULL, pCount, pProperties);
+ return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties);
}
+static const VkLayerProperties ds_global_layers[] = {
+ {
+ "DrawState",
+ VK_API_VERSION,
+ VK_MAKE_VERSION(0, 1, 0),
+ "Validation layer: DrawState",
+ }
+};
+
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
uint32_t *pCount,
VkLayerProperties* pProperties)
diff --git a/layers/image.cpp b/layers/image.cpp
index cde964af..614f9d54 100644
--- a/layers/image.cpp
+++ b/layers/image.cpp
@@ -190,12 +190,10 @@ VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(VkDevice device, cons
layer_data_map.erase(key);
}
-static const VkLayerProperties pc_global_layers[] = {
+static const VkExtensionProperties instance_extensions[] = {
{
- "Image",
- VK_API_VERSION,
- VK_MAKE_VERSION(0, 1, 0),
- "Validation layer: Image ParamChecker",
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME,
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION
}
};
@@ -204,10 +202,18 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPrope
uint32_t *pCount,
VkExtensionProperties* pProperties)
{
- // ParamChecker does not have any global extensions
- return util_GetExtensionProperties(0, NULL, pCount, pProperties);
+ return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties);
}
+static const VkLayerProperties pc_global_layers[] = {
+ {
+ "Image",
+ VK_API_VERSION,
+ VK_MAKE_VERSION(0, 1, 0),
+ "Validation layer: Image ParamChecker",
+ }
+};
+
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
uint32_t *pCount,
VkLayerProperties* pProperties)
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index 62a78ba8..c77f1cd9 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -1180,12 +1180,10 @@ VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
memcpy(&memProps, pMemoryProperties, sizeof(VkPhysicalDeviceMemoryProperties));
}
-static const VkLayerProperties mtGlobalLayers[] = {
+static const VkExtensionProperties instance_extensions[] = {
{
- "MemTracker",
- VK_API_VERSION,
- VK_MAKE_VERSION(0, 1, 0),
- "Validation layer: MemTracker",
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME,
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION
}
};
@@ -1194,10 +1192,18 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPrope
uint32_t *pCount,
VkExtensionProperties *pProperties)
{
- /* Mem tracker does not have any global extensions */
- return util_GetExtensionProperties(0, NULL, pCount, pProperties);
+ return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties);
}
+static const VkLayerProperties mtGlobalLayers[] = {
+ {
+ "MemTracker",
+ VK_API_VERSION,
+ VK_MAKE_VERSION(0, 1, 0),
+ "Validation layer: MemTracker",
+ }
+};
+
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
uint32_t *pCount,
VkLayerProperties *pProperties)
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 0514bf18..6f023753 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -150,12 +150,10 @@ VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackLUNARG(
layer_destroy_msg_callback(data->report_data, msgCallback, pAllocator);
}
-static const VkLayerProperties pc_global_layers[] = {
+static const VkExtensionProperties instance_extensions[] = {
{
- "ParamChecker",
- VK_API_VERSION,
- VK_MAKE_VERSION(0, 1, 0),
- "Validation layer: ParamChecker",
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME,
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION
}
};
@@ -164,10 +162,18 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPrope
uint32_t *pCount,
VkExtensionProperties* pProperties)
{
- /* ParamChecker does not have any global extensions */
- return util_GetExtensionProperties(0, NULL, pCount, pProperties);
+ return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties);
}
+static const VkLayerProperties pc_global_layers[] = {
+ {
+ "ParamChecker",
+ VK_API_VERSION,
+ VK_MAKE_VERSION(0, 1, 0),
+ "Validation layer: ParamChecker",
+ }
+};
+
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
uint32_t *pCount,
VkLayerProperties* pProperties)
diff --git a/layers/swapchain.cpp b/layers/swapchain.cpp
index 2b8ed24c..609f44e6 100644
--- a/layers/swapchain.cpp
+++ b/layers/swapchain.cpp
@@ -41,6 +41,39 @@ template layer_data *get_my_data_ptr<layer_data>(
void *data_key,
std::unordered_map<void *, layer_data *> &data_map);
+static const VkExtensionProperties instance_extensions[] = {
+ {
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME,
+ VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION
+ }
+};
+
+VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
+ const char *pLayerName,
+ uint32_t *pCount,
+ VkExtensionProperties* pProperties)
+{
+ return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties);
+}
+
+static const VkLayerProperties swapchain_global_layers[] = {
+ {
+ "Swapchain",
+ VK_API_VERSION,
+ VK_MAKE_VERSION(0, 1, 0),
+ "Validation layer: Swapchain",
+ }
+};
+
+VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
+ uint32_t *pCount,
+ VkLayerProperties* pProperties)
+{
+ return util_GetLayerProperties(ARRAY_SIZE(swapchain_global_layers),
+ swapchain_global_layers,
+ pCount, pProperties);
+}
+
static void createDeviceRegisterExtensions(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, VkDevice device)
{
@@ -1204,6 +1237,11 @@ VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(V
return (PFN_vkVoidFunction) vkGetInstanceProcAddr;
}
+ if (!strcmp(funcName, "vkEnumerateInstanceLayerProperties"))
+ return (PFN_vkVoidFunction) vkEnumerateInstanceLayerProperties;
+ if (!strcmp(funcName, "vkEnumerateInstanceExtensionProperties"))
+ return (PFN_vkVoidFunction) vkEnumerateInstanceExtensionProperties;
+
addr = layer_intercept_instance_proc(funcName);
if (addr)
return addr;