diff options
author | Lionel Landwerlin <[email protected]> | 2019-09-08 12:59:32 +0300 |
---|---|---|
committer | Lionel Landwerlin <[email protected]> | 2019-09-15 15:37:02 +0300 |
commit | 04dc6074cf7f651b720868e0ba24362b585d1b31 (patch) | |
tree | a4d6f4ec7a4ce32b397fbca1a0e6510539da14dc /src/intel | |
parent | 6d5f11ab345b05759c22acbcd2f79928311689e3 (diff) |
driconfig: add a new engine name/version parameter
Vulkan applications can register with the following structure :
typedef struct VkApplicationInfo {
VkStructureType sType;
const void* pNext;
const char* pApplicationName;
uint32_t applicationVersion;
const char* pEngineName;
uint32_t engineVersion;
uint32_t apiVersion;
} VkApplicationInfo;
This enables the Vulkan implementations to apply workarounds based off
matching this description.
Here we add a new parameter for matching the driconfig options with
the following :
<device driver="anv">
<application engine_name_match="MyOwnEngine.*" engine_versions="10:12,40:42">
<option name="blaaah" value="true" />
</application>
</device>
v2: switch engine name match to use regexps
v3: Verify that the regexec returns REG_NOMATCH for match failure (Eric)
v4: Add missing bit that went to the following commit (Eric)
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: 19.2 <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r-- | src/intel/vulkan/anv_device.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 77361f8f631..b458c15abed 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -780,7 +780,9 @@ VkResult anv_CreateInstance( driParseOptionInfo(&instance->available_dri_options, anv_dri_options_xml); driParseConfigFiles(&instance->dri_options, &instance->available_dri_options, - 0, "anv", NULL); + 0, "anv", NULL, + instance->app_info.engine_name, + instance->app_info.engine_version); *pInstance = anv_instance_to_handle(instance); |