aboutsummaryrefslogtreecommitdiff
path: root/layers/layers_config.cpp
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <courtney@LunarG.com>2015-06-10 17:39:03 -0600
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-06-17 20:56:35 -0600
commit922a0fac69a54ab79203e4047ed358c76b6950c0 (patch)
treeb13fe6bc979e40c1470c70f565f8e4d88564feb5 /layers/layers_config.cpp
parent8a666730247814466271140172d349d68a58e7f6 (diff)
downloadusermoji-922a0fac69a54ab79203e4047ed358c76b6950c0.tar.xz
extensions: begin changes for extension support
This patch starts restructuring the various components (loader, driver, layers, etc.) to support global and device extensions. Require GetProcAddr to access the extension functions and related support.
Diffstat (limited to 'layers/layers_config.cpp')
-rw-r--r--layers/layers_config.cpp40
1 files changed, 28 insertions, 12 deletions
diff --git a/layers/layers_config.cpp b/layers/layers_config.cpp
index 134bf162..5f726640 100644
--- a/layers/layers_config.cpp
+++ b/layers/layers_config.cpp
@@ -53,7 +53,7 @@ private:
static ConfigFile g_configFileObj;
-static unsigned int convertStringEnumVal(const char *_enum)
+static VkLayerDbgAction stringToDbgAction(const char *_enum)
{
// only handles single enum values
if (!strcmp(_enum, "VK_DBG_LAYER_ACTION_IGNORE"))
@@ -64,18 +64,34 @@ static unsigned int convertStringEnumVal(const char *_enum)
return VK_DBG_LAYER_ACTION_LOG_MSG;
else if (!strcmp(_enum, "VK_DBG_LAYER_ACTION_BREAK"))
return VK_DBG_LAYER_ACTION_BREAK;
- else if (!strcmp(_enum, "VK_DBG_LAYER_LEVEL_INFO"))
- return VK_DBG_LAYER_LEVEL_INFO;
- else if (!strcmp(_enum, "VK_DBG_LAYER_LEVEL_WARN"))
- return VK_DBG_LAYER_LEVEL_WARN;
- else if (!strcmp(_enum, "VK_DBG_LAYER_LEVEL_PERF_WARN"))
- return VK_DBG_LAYER_LEVEL_PERF_WARN;
- else if (!strcmp(_enum, "VK_DBG_LAYER_LEVEL_ERROR"))
- return VK_DBG_LAYER_LEVEL_ERROR;
- else if (!strcmp(_enum, "VK_DBG_LAYER_LEVEL_NONE"))
- return VK_DBG_LAYER_LEVEL_NONE;
- return 0;
+ return (VkLayerDbgAction) 0;
+}
+
+static VkFlags stringToDbgReportFlags(const char *_enum)
+{
+ // only handles single enum values
+ if (!strcmp(_enum, "VK_DBG_REPORT_INFO"))
+ return VK_DBG_REPORT_INFO_BIT;
+ else if (!strcmp(_enum, "VK_DBG_REPORT_WARN"))
+ return VK_DBG_REPORT_WARN_BIT;
+ else if (!strcmp(_enum, "VK_DBG_REPORT_PERF_WARN"))
+ return VK_DBG_REPORT_PERF_WARN_BIT;
+ else if (!strcmp(_enum, "VK_DBG_REPORT_ERROR"))
+ return VK_DBG_REPORT_ERROR_BIT;
+ return (VkFlags) 0;
+}
+
+static unsigned int convertStringEnumVal(const char *_enum)
+{
+ unsigned int ret;
+
+ ret = stringToDbgAction(_enum);
+ if (ret)
+ return ret;
+
+ return stringToDbgReportFlags(_enum);
}
+
const char *getLayerOption(const char *_option)
{
return g_configFileObj.getOption(_option);