aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2015-04-14 14:12:59 -0600
committerChia-I Wu <olv@lunarg.com>2015-04-16 17:48:20 +0800
commit94b12ef51a6495efbec92d56754ef6c2947daf98 (patch)
treee6828aa68fb420bb0d479e6293d62d3c8c53c6af
parente2a7a99a62b5f3945c777ec2046f678fe45c77d2 (diff)
downloadusermoji-94b12ef51a6495efbec92d56754ef6c2947daf98.tar.xz
layers: Add extension Validation so loader will add layers with Validation
Also fix extension supported list in DrawState and ObjectTracker to include their local extensions in GetGlobalExtensionInfo()
-rw-r--r--layers/draw_state.cpp10
-rw-r--r--layers/mem_tracker.cpp5
-rw-r--r--layers/param_checker.cpp3
-rwxr-xr-xvk-layer-generate.py20
4 files changed, 28 insertions, 10 deletions
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index e74fa18e..1ad7c1d8 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -1470,10 +1470,14 @@ struct extProps {
uint32_t version;
const char * const name;
};
-#define DRAW_STATE_LAYER_EXT_ARRAY_SIZE 1
+#define DRAW_STATE_LAYER_EXT_ARRAY_SIZE 5
static const struct extProps dsExts[DRAW_STATE_LAYER_EXT_ARRAY_SIZE] = {
// TODO what is the version?
- 0x10, "DrawState"
+ 0x10, "DrawState",
+ 0x10, "Validation",
+ 0x10, "drawStateDumpDotFile",
+ 0x10, "drawStateDumpCommandBufferDotFile",
+ 0x10, "drawStateDumpPngFile"
};
VK_LAYER_EXPORT VkResult VKAPI vkGetGlobalExtensionInfo(
@@ -1637,6 +1641,8 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateGraphicsPipelineDerivative(
track_pipeline(pCreateInfo, pPipeline);
loader_platform_thread_unlock_mutex(&globalLock);
+
+ return result;
}
VK_LAYER_EXPORT VkResult VKAPI vkCreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, VkSampler* pSampler)
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index 152a4e95..fe486333 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -878,10 +878,11 @@ struct extProps {
uint32_t version;
const char * const name;
};
-#define MEM_TRACKER_LAYER_EXT_ARRAY_SIZE 1
+#define MEM_TRACKER_LAYER_EXT_ARRAY_SIZE 2
static const struct extProps mtExts[MEM_TRACKER_LAYER_EXT_ARRAY_SIZE] = {
// TODO what is the version?
- 0x10, "MemTracker"
+ 0x10, "MemTracker",
+ 0x10, "Validation"
};
VK_LAYER_EXPORT VkResult VKAPI vkGetGlobalExtensionInfo(
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index c3cc8392..94550745 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -262,10 +262,11 @@ struct extProps {
const char * const name;
};
-#define PARAM_CHECKER_LAYER_EXT_ARRAY_SIZE 1
+#define PARAM_CHECKER_LAYER_EXT_ARRAY_SIZE 2
static const struct extProps pcExts[PARAM_CHECKER_LAYER_EXT_ARRAY_SIZE] = {
// TODO what is the version?
0x10, "ParamChecker",
+ 0x10, "Validation",
};
VK_LAYER_EXPORT VkResult VKAPI vkGetGlobalExtensionInfo(
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index d9a75814..5e9c54a4 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -200,11 +200,21 @@ class Subcommand(object):
ggei_body.append(' uint32_t version;')
ggei_body.append(' const char * const name;')
ggei_body.append('};')
- ggei_body.append('#define LAYER_EXT_ARRAY_SIZE 1')
- ggei_body.append('static const struct extProps layerExts[LAYER_EXT_ARRAY_SIZE] = {')
- ggei_body.append(' // TODO what is the version?')
- ggei_body.append(' {0x10, "%s"}' % layer)
- ggei_body.append('};')
+ if layer == 'ObjectTracker':
+ ggei_body.append('#define LAYER_EXT_ARRAY_SIZE 4')
+ ggei_body.append('static const struct extProps layerExts[LAYER_EXT_ARRAY_SIZE] = {')
+ ggei_body.append(' // TODO what is the version?')
+ ggei_body.append(' {0x10, "%s"},' % layer)
+ ggei_body.append(' {0x10, "Validation"},')
+ ggei_body.append(' {0x10, "objTrackGetObjectCount"},')
+ ggei_body.append(' {0x10, "objTrackGetObjects"}')
+ ggei_body.append('};')
+ else:
+ ggei_body.append('#define LAYER_EXT_ARRAY_SIZE 1')
+ ggei_body.append('static const struct extProps layerExts[LAYER_EXT_ARRAY_SIZE] = {')
+ ggei_body.append(' // TODO what is the version?')
+ ggei_body.append(' {0x10, "%s"}' % layer)
+ ggei_body.append('};')
ggei_body.append('')
ggei_body.append('VK_LAYER_EXPORT VkResult VKAPI vkGetGlobalExtensionInfo(VkExtensionInfoType infoType, uint32_t extensionIndex, size_t* pDataSize, void* pData)')
ggei_body.append('{')