aboutsummaryrefslogtreecommitdiff
path: root/layers/object_tracker.h
diff options
context:
space:
mode:
authorMark Young <marky@lunarg.com>2017-02-28 09:58:04 -0700
committerMark Young <marky@lunarg.com>2017-03-01 08:20:22 -0700
commite2ebfd58c6cfbafbee172093b22e06867e1c3fe6 (patch)
tree7617f642ef2cee90b334b8e58455296c0f47df59 /layers/object_tracker.h
parent9172c7bf11a3dbb663e170f57692e68891e891c9 (diff)
downloadusermoji-e2ebfd58c6cfbafbee172093b22e06867e1c3fe6.tar.xz
vulkan: update to header 1.0.42
Updated all necessary files to 1.0.42. This includes the various headers as well as the loader, and the parameter validation, object tracking, and threading layers. Additionally, bump all layer JSON files to 1.0.42. Also, in this change: - Enable loader extension automation so that the loader now generates all extension entry-points automatically during build to reduce likelihood of missing a critical piece on header update. - Enable layer dispatch table extension automation for the same reason. - Fixes from Mark Lobodzinski and Tony Barbour to resolve crash in loader when working with Intel's Windows driver due to GetInstanceProcAddr getting called on inappropriate command names. Change-Id: Ic18d3fac2e145c386c0192031deb5089c91a00d8
Diffstat (limited to 'layers/object_tracker.h')
-rw-r--r--layers/object_tracker.h45
1 files changed, 31 insertions, 14 deletions
diff --git a/layers/object_tracker.h b/layers/object_tracker.h
index abbe3c2d..ae1e9c4a 100644
--- a/layers/object_tracker.h
+++ b/layers/object_tracker.h
@@ -1,7 +1,7 @@
-/* Copyright (c) 2015-2016 The Khronos Group Inc.
- * Copyright (c) 2015-2016 Valve Corporation
- * Copyright (c) 2015-2016 LunarG, Inc.
- * Copyright (C) 2015-2016 Google Inc.
+/* Copyright (c) 2015-2017 The Khronos Group Inc.
+ * Copyright (c) 2015-2017 Valve Corporation
+ * Copyright (c) 2015-2017 LunarG, Inc.
+ * Copyright (C) 2015-2017 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -94,12 +94,32 @@ struct layer_data {
debug_report_data *report_data;
std::vector<VkDebugReportCallbackEXT> logging_callback;
- bool wsi_enabled;
- bool wsi_display_swapchain_enabled;
- bool wsi_display_extension_enabled;
- bool objtrack_extensions_enabled;
- bool nvx_device_generated_commands_enabled;
- bool ext_display_control_enabled;
+
+ union device_extension_enables {
+ struct {
+ bool wsi : 1;
+ bool wsi_display_swapchain : 1;
+ bool wsi_display_extension : 1;
+ bool objtrack_extensions : 1;
+ bool khr_descriptor_update_template : 1;
+ bool khr_maintenance1 : 1;
+ bool khr_push_descriptor : 1;
+ bool khx_device_group : 1;
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ bool khx_external_memory_win32 : 1;
+#endif // VK_USE_PLATFORM_WIN32_KHR
+ bool khx_external_memory_fd : 1;
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ bool khx_external_semaphore_win32 : 1;
+#endif // VK_USE_PLATFORM_WIN32_KHR
+ bool khx_external_semaphore_fd : 1;
+ bool ext_display_control : 1;
+ bool ext_discard_rectangles : 1;
+ bool nv_clip_space_w_scaling : 1;
+ bool nvx_device_generated_commands : 1;
+ };
+ uint64_t padding[4];
+ } enables;
// The following are for keeping track of the temporary callbacks that can
// be used in vkCreateInstance and vkDestroyInstance:
@@ -124,16 +144,13 @@ struct layer_data {
num_objects{},
num_total_objects(0),
report_data(nullptr),
- wsi_enabled(false),
- wsi_display_swapchain_enabled(false),
- wsi_display_extension_enabled(false),
- objtrack_extensions_enabled(false),
num_tmp_callbacks(0),
tmp_dbg_create_infos(nullptr),
tmp_callbacks(nullptr),
object_map{},
dispatch_table{} {
object_map.resize(VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT + 1);
+ memset(enables.padding, 0, sizeof(uint64_t) * 4);
}
};