anv: add support for driconf
No option is supported yet, this is just the boilerplate. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
parent
ba73564b52
commit
4dcb1fff19
|
@ -40,6 +40,7 @@
|
||||||
#include "util/os_file.h"
|
#include "util/os_file.h"
|
||||||
#include "util/u_atomic.h"
|
#include "util/u_atomic.h"
|
||||||
#include "util/u_string.h"
|
#include "util/u_string.h"
|
||||||
|
#include "util/xmlpool.h"
|
||||||
#include "git_sha1.h"
|
#include "git_sha1.h"
|
||||||
#include "vk_util.h"
|
#include "vk_util.h"
|
||||||
#include "common/gen_defines.h"
|
#include "common/gen_defines.h"
|
||||||
|
@ -47,6 +48,10 @@
|
||||||
|
|
||||||
#include "genxml/gen7_pack.h"
|
#include "genxml/gen7_pack.h"
|
||||||
|
|
||||||
|
static const char anv_dri_options_xml[] =
|
||||||
|
DRI_CONF_BEGIN
|
||||||
|
DRI_CONF_END;
|
||||||
|
|
||||||
/* This is probably far to big but it reflects the max size used for messages
|
/* This is probably far to big but it reflects the max size used for messages
|
||||||
* in OpenGLs KHR_debug.
|
* in OpenGLs KHR_debug.
|
||||||
*/
|
*/
|
||||||
|
@ -770,6 +775,10 @@ VkResult anv_CreateInstance(
|
||||||
|
|
||||||
VG(VALGRIND_CREATE_MEMPOOL(instance, 0, false));
|
VG(VALGRIND_CREATE_MEMPOOL(instance, 0, false));
|
||||||
|
|
||||||
|
driParseOptionInfo(&instance->available_dri_options, anv_dri_options_xml);
|
||||||
|
driParseConfigFiles(&instance->dri_options, &instance->available_dri_options,
|
||||||
|
0, "anv", NULL);
|
||||||
|
|
||||||
*pInstance = anv_instance_to_handle(instance);
|
*pInstance = anv_instance_to_handle(instance);
|
||||||
|
|
||||||
return VK_SUCCESS;
|
return VK_SUCCESS;
|
||||||
|
@ -800,6 +809,9 @@ void anv_DestroyInstance(
|
||||||
glsl_type_singleton_decref();
|
glsl_type_singleton_decref();
|
||||||
_mesa_locale_fini();
|
_mesa_locale_fini();
|
||||||
|
|
||||||
|
driDestroyOptionCache(&instance->dri_options);
|
||||||
|
driDestroyOptionInfo(&instance->available_dri_options);
|
||||||
|
|
||||||
vk_free(&instance->alloc, instance);
|
vk_free(&instance->alloc, instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@
|
||||||
#include "util/u_vector.h"
|
#include "util/u_vector.h"
|
||||||
#include "util/u_math.h"
|
#include "util/u_math.h"
|
||||||
#include "util/vma.h"
|
#include "util/vma.h"
|
||||||
|
#include "util/xmlconfig.h"
|
||||||
#include "vk_alloc.h"
|
#include "vk_alloc.h"
|
||||||
#include "vk_debug_report.h"
|
#include "vk_debug_report.h"
|
||||||
|
|
||||||
|
@ -1009,6 +1010,9 @@ struct anv_instance {
|
||||||
bool pipeline_cache_enabled;
|
bool pipeline_cache_enabled;
|
||||||
|
|
||||||
struct vk_debug_report_instance debug_report_callbacks;
|
struct vk_debug_report_instance debug_report_callbacks;
|
||||||
|
|
||||||
|
struct driOptionCache dri_options;
|
||||||
|
struct driOptionCache available_dri_options;
|
||||||
};
|
};
|
||||||
|
|
||||||
VkResult anv_init_wsi(struct anv_physical_device *physical_device);
|
VkResult anv_init_wsi(struct anv_physical_device *physical_device);
|
||||||
|
|
|
@ -50,7 +50,7 @@ anv_init_wsi(struct anv_physical_device *physical_device)
|
||||||
anv_wsi_proc_addr,
|
anv_wsi_proc_addr,
|
||||||
&physical_device->instance->alloc,
|
&physical_device->instance->alloc,
|
||||||
physical_device->master_fd,
|
physical_device->master_fd,
|
||||||
NULL);
|
&physical_device->instance->dri_options);
|
||||||
if (result != VK_SUCCESS)
|
if (result != VK_SUCCESS)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ libanv_common = static_library(
|
||||||
],
|
],
|
||||||
include_directories : [
|
include_directories : [
|
||||||
inc_common, inc_intel, inc_compiler, inc_include,
|
inc_common, inc_intel, inc_compiler, inc_include,
|
||||||
inc_vulkan_wsi,
|
inc_vulkan_wsi, inc_util,
|
||||||
],
|
],
|
||||||
c_args : anv_flags,
|
c_args : anv_flags,
|
||||||
dependencies : anv_deps,
|
dependencies : anv_deps,
|
||||||
|
@ -197,7 +197,7 @@ libvulkan_intel = shared_library(
|
||||||
],
|
],
|
||||||
dependencies : [
|
dependencies : [
|
||||||
dep_thread, dep_dl, dep_m, anv_deps, idep_libintel_common,
|
dep_thread, dep_dl, dep_m, anv_deps, idep_libintel_common,
|
||||||
idep_nir, idep_genxml, idep_vulkan_util, idep_mesautil,
|
idep_nir, idep_genxml, idep_vulkan_util, idep_mesautil, idep_xmlconfig,
|
||||||
],
|
],
|
||||||
c_args : anv_flags,
|
c_args : anv_flags,
|
||||||
link_args : ['-Wl,--build-id=sha1', ld_args_bsymbolic, ld_args_gc_sections],
|
link_args : ['-Wl,--build-id=sha1', ld_args_bsymbolic, ld_args_gc_sections],
|
||||||
|
|
Loading…
Reference in New Issue