mesa/src/intel
Jason Ekstrand d62063ce31 anv: Autogenerate extension query and lookup
As time goes on, extension advertising is going to get more complex.
Today, we either implement an extension or we don't.  However, in the
future, whether or not we advertise an extension will depend on kernel
or hardware features.  This commit introduces a python codegen framework
that generates the anv_EnumerateFooExtensionProperties functions as well
as a pair of anv_foo_extension_supported functions for querying for the
support of a given extension string.  Each extension has an "enable"
predicate that is any valid C expression.  For device extensions, the
physical device is available as "device" so the expression could be
something such as "device->has_kernel_feature".  For instance
extensions, the only option is VK_USE_PLATFORM defines.

This mechanism also means that we have a single one-line-per-entry table
for all extension declarations instead of the two tables we had in
anv_device.c and the one we had in anv_entrypoints_gen.py.  The Python
code is smart and uses the XML to determine whether an extension is an
instance extension or device extension.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2017-08-01 11:12:41 -07:00
..
blorp intel/isl: Add a helper to get a subimage surface 2017-07-22 21:41:12 -07:00
common intel/decoder: Reuse the gen_make_gen() helper. 2017-07-25 14:44:52 -07:00
compiler i965: Set lower_vote_trivial in vector_nir_options_gen6 too. 2017-07-21 18:09:01 -07:00
genxml intel: genxml: make a couple of enums show up in aubinator 2017-07-02 00:45:38 +01:00
isl intel/isl: Add some sanity checks for compressed surfaces 2017-07-22 21:41:12 -07:00
tools aubinator: don't leak fd of opened aubfile 2017-07-13 22:50:50 +01:00
vulkan anv: Autogenerate extension query and lookup 2017-08-01 11:12:41 -07:00
Android.blorp.mk intel: android: remove libdrm_intel requirement 2017-03-30 19:07:23 +01:00
Android.common.mk android: intel: fix include paths in new "common" library 2016-09-03 20:03:16 -07:00
Android.compiler.mk intel: android: remove libdrm_intel requirement 2017-03-30 19:07:23 +01:00
Android.genxml.mk i965/cnl: Wire up android Mesa build files for gen10 2017-06-09 16:02:58 -07:00
Android.isl.mk i965/cnl: Wire up android Mesa build files for gen10 2017-06-09 16:02:58 -07:00
Android.mk intel/vulkan: Get rid of recursive make 2017-03-13 11:16:35 +00:00
Android.vulkan.mk anv: Autogenerate extension query and lookup 2017-08-01 11:12:41 -07:00
Makefile.am intel/isl: Add basic modifier introspection 2017-07-12 21:15:46 -07:00
Makefile.blorp.am blorp: automake: add TODO to the tarball 2017-02-24 17:37:00 +00:00
Makefile.common.am intel: common: Fix link failure with standalone Android build 2017-07-05 18:49:21 +01:00
Makefile.compiler.am intel/compiler: link all tests again gtest, even test_eu_compact" 2017-03-13 11:16:35 +00:00
Makefile.genxml.am intel: genxml: automake: include gen_bits_header.py in the tarball 2017-04-05 13:16:28 +01:00
Makefile.isl.am i965/cnl: Wire up Mesa build files for gen10 2017-06-09 16:02:58 -07:00
Makefile.sources anv: Autogenerate extension query and lookup 2017-08-01 11:12:41 -07:00
Makefile.tools.am intel: tools: add intel_aub.h as part of aubinator 2017-06-29 10:03:40 +02:00
Makefile.vulkan.am anv: Autogenerate extension query and lookup 2017-08-01 11:12:41 -07:00