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/gallium | |
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/gallium')
-rw-r--r-- | src/gallium/auxiliary/pipe-loader/pipe_loader.c | 2 | ||||
-rw-r--r-- | src/gallium/targets/d3dadapter9/drm.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader.c b/src/gallium/auxiliary/pipe-loader/pipe_loader.c index 54af4d531ca..e0fb249b6f0 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader.c @@ -99,7 +99,7 @@ pipe_loader_load_options(struct pipe_loader_device *dev) driParseOptionInfo(&dev->option_info, xml_options); driParseConfigFiles(&dev->option_cache, &dev->option_info, 0, - dev->driver_name, NULL); + dev->driver_name, NULL, NULL, 0); } char * diff --git a/src/gallium/targets/d3dadapter9/drm.c b/src/gallium/targets/d3dadapter9/drm.c index 657c619ac42..819aa59468c 100644 --- a/src/gallium/targets/d3dadapter9/drm.c +++ b/src/gallium/targets/d3dadapter9/drm.c @@ -250,7 +250,8 @@ drm_create_adapter( int fd, ctx->base.throttling = ctx->base.throttling_value > 0; driParseOptionInfo(&defaultInitOptions, __driConfigOptionsNine); - driParseConfigFiles(&userInitOptions, &defaultInitOptions, 0, "nine", NULL); + driParseConfigFiles(&userInitOptions, &defaultInitOptions, 0, + "nine", NULL, NULL, 0); if (driCheckOption(&userInitOptions, "throttle_value", DRI_INT)) { throttling_value_user = driQueryOptioni(&userInitOptions, "throttle_value"); if (throttling_value_user == -1) |