-#include "vk_util.h"
-
-/* Convert the VK_USE_PLATFORM_* defines to booleans */
-%for platform in ['ANDROID', 'WAYLAND', 'XCB', 'XLIB']:
-#ifdef VK_USE_PLATFORM_${platform}_KHR
-# undef VK_USE_PLATFORM_${platform}_KHR
-# define VK_USE_PLATFORM_${platform}_KHR true
-#else
-# define VK_USE_PLATFORM_${platform}_KHR false
-#endif
-%endfor
-
-/* And ANDROID too */
-#ifdef ANDROID
-# undef ANDROID
-# define ANDROID true
-#else
-# define ANDROID false
-#endif
-
-#define ANV_HAS_SURFACE (VK_USE_PLATFORM_WAYLAND_KHR || \\
- VK_USE_PLATFORM_XCB_KHR || \\
- VK_USE_PLATFORM_XLIB_KHR)
-
-const VkExtensionProperties anv_instance_extensions[ANV_INSTANCE_EXTENSION_COUNT] = {
-%for ext in instance_extensions:
- {"${ext.name}", ${ext.ext_version}},
-%endfor
-};
-
-bool
-anv_instance_extension_supported(const char *name)
-{
-%for ext in instance_extensions:
- if (strcmp(name, "${ext.name}") == 0)
- return ${ext.enable};
-%endfor
- return false;
-}
-
-VkResult anv_EnumerateInstanceExtensionProperties(
- const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties)
-{
- VK_OUTARRAY_MAKE(out, pProperties, pPropertyCount);
-
-%for ext in instance_extensions:
- if (${ext.enable}) {
- vk_outarray_append(&out, prop) {
- *prop = (VkExtensionProperties) {
- .extensionName = "${ext.name}",
- .specVersion = ${ext.ext_version},
- };
- }
- }
-%endfor
-
- return vk_outarray_status(&out);
-}
-
-uint32_t
-anv_physical_device_api_version(struct anv_physical_device *dev)
-{
- return ${MAX_API_VERSION.c_vk_version()};
-}
-
-const VkExtensionProperties anv_device_extensions[ANV_DEVICE_EXTENSION_COUNT] = {
-%for ext in device_extensions:
- {"${ext.name}", ${ext.ext_version}},
-%endfor
-};
-
-bool
-anv_physical_device_extension_supported(struct anv_physical_device *device,
- const char *name)
-{
-%for ext in device_extensions:
- if (strcmp(name, "${ext.name}") == 0)
- return ${ext.enable};
-%endfor
- return false;
-}
-
-VkResult anv_EnumerateDeviceExtensionProperties(
- VkPhysicalDevice physicalDevice,
- const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties)
-{
- ANV_FROM_HANDLE(anv_physical_device, device, physicalDevice);
- VK_OUTARRAY_MAKE(out, pProperties, pPropertyCount);
- (void)device;
-
-%for ext in device_extensions:
- if (${ext.enable}) {
- vk_outarray_append(&out, prop) {
- *prop = (VkExtensionProperties) {
- .extensionName = "${ext.name}",
- .specVersion = ${ext.ext_version},
- };
- }
- }
-%endfor
-
- return vk_outarray_status(&out);
-}
-""")