// gpu/ipc/common/vulkan_info.mojom-webui.ts is auto generated by mojom_bindings_generator.py, do not edit
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import { mojo } from '//resources/mojo/mojo/public/js/bindings.js';
import { VkExtensionPropertiesSpec as gpu_mojom_VkExtensionPropertiesSpec, VkLayerPropertiesSpec as gpu_mojom_VkLayerPropertiesSpec, VkPhysicalDeviceFeaturesSpec as gpu_mojom_VkPhysicalDeviceFeaturesSpec, VkPhysicalDevicePropertiesSpec as gpu_mojom_VkPhysicalDevicePropertiesSpec, VkQueueFamilyPropertiesSpec as gpu_mojom_VkQueueFamilyPropertiesSpec } from './vulkan_types.mojom-webui.js';
export const VulkanPhysicalDeviceInfoSpec = { $: {} };
export const VulkanInfoSpec = { $: {} };
mojo.internal.Struct(VulkanPhysicalDeviceInfoSpec.$, 'VulkanPhysicalDeviceInfo', [
    mojo.internal.StructField('properties', 0, 0, gpu_mojom_VkPhysicalDevicePropertiesSpec.$, null, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('extensions', 8, 0, mojo.internal.Array(gpu_mojom_VkExtensionPropertiesSpec.$, false), null, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('features', 16, 0, gpu_mojom_VkPhysicalDeviceFeaturesSpec.$, null, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('featureSamplerYcbcrConversion', 24, 0, mojo.internal.Bool, false, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('featureProtectedMemory', 24, 1, mojo.internal.Bool, false, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('queueFamilies', 32, 0, mojo.internal.Array(gpu_mojom_VkQueueFamilyPropertiesSpec.$, false), null, false /* nullable */, 0, undefined, undefined),
], [[0, 48],]);
export const VulkanPhysicalDeviceInfo_Deserialize = mojo.internal.createStructDeserializer(VulkanPhysicalDeviceInfoSpec.$);
mojo.internal.Struct(VulkanInfoSpec.$, 'VulkanInfo', [
    mojo.internal.StructField('apiVersion', 0, 0, mojo.internal.Uint32, 0, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('usedApiVersion', 4, 0, mojo.internal.Uint32, 0, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('instanceExtensions', 8, 0, mojo.internal.Array(gpu_mojom_VkExtensionPropertiesSpec.$, false), null, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('enabledInstanceExtensions', 16, 0, mojo.internal.Array(mojo.internal.String, false), null, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('instanceLayers', 24, 0, mojo.internal.Array(gpu_mojom_VkLayerPropertiesSpec.$, false), null, false /* nullable */, 0, undefined, undefined),
    mojo.internal.StructField('physicalDevices', 32, 0, mojo.internal.Array(VulkanPhysicalDeviceInfoSpec.$, false), null, false /* nullable */, 0, undefined, undefined),
], [[0, 48],]);
export const VulkanInfo_Deserialize = mojo.internal.createStructDeserializer(VulkanInfoSpec.$);
