1// Copyright 2019 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// This file is auto-generated from 6// gpu/ipc/common/generate_vulkan_types.py 7// It's formatted by clang-format using chromium coding style: 8// clang-format -i -style=chromium filename 9// DO NOT EDIT! 10 11module gpu.mojom; 12 13struct VkExtensionProperties { 14 string extensionName; 15 uint32 specVersion; 16}; 17 18struct VkLayerProperties { 19 string layerName; 20 uint32 specVersion; 21 uint32 implementationVersion; 22 string description; 23}; 24 25enum VkPhysicalDeviceType { 26 OTHER = 0, 27 INTEGRATED_GPU = 1, 28 DISCRETE_GPU = 2, 29 VIRTUAL_GPU = 3, 30 CPU = 4, 31 INVALID_VALUE = -1, 32}; 33 34struct VkPhysicalDeviceLimits { 35 uint32 maxImageDimension1D; 36 uint32 maxImageDimension2D; 37 uint32 maxImageDimension3D; 38 uint32 maxImageDimensionCube; 39 uint32 maxImageArrayLayers; 40 uint32 maxTexelBufferElements; 41 uint32 maxUniformBufferRange; 42 uint32 maxStorageBufferRange; 43 uint32 maxPushConstantsSize; 44 uint32 maxMemoryAllocationCount; 45 uint32 maxSamplerAllocationCount; 46 uint64 bufferImageGranularity; 47 uint64 sparseAddressSpaceSize; 48 uint32 maxBoundDescriptorSets; 49 uint32 maxPerStageDescriptorSamplers; 50 uint32 maxPerStageDescriptorUniformBuffers; 51 uint32 maxPerStageDescriptorStorageBuffers; 52 uint32 maxPerStageDescriptorSampledImages; 53 uint32 maxPerStageDescriptorStorageImages; 54 uint32 maxPerStageDescriptorInputAttachments; 55 uint32 maxPerStageResources; 56 uint32 maxDescriptorSetSamplers; 57 uint32 maxDescriptorSetUniformBuffers; 58 uint32 maxDescriptorSetUniformBuffersDynamic; 59 uint32 maxDescriptorSetStorageBuffers; 60 uint32 maxDescriptorSetStorageBuffersDynamic; 61 uint32 maxDescriptorSetSampledImages; 62 uint32 maxDescriptorSetStorageImages; 63 uint32 maxDescriptorSetInputAttachments; 64 uint32 maxVertexInputAttributes; 65 uint32 maxVertexInputBindings; 66 uint32 maxVertexInputAttributeOffset; 67 uint32 maxVertexInputBindingStride; 68 uint32 maxVertexOutputComponents; 69 uint32 maxTessellationGenerationLevel; 70 uint32 maxTessellationPatchSize; 71 uint32 maxTessellationControlPerVertexInputComponents; 72 uint32 maxTessellationControlPerVertexOutputComponents; 73 uint32 maxTessellationControlPerPatchOutputComponents; 74 uint32 maxTessellationControlTotalOutputComponents; 75 uint32 maxTessellationEvaluationInputComponents; 76 uint32 maxTessellationEvaluationOutputComponents; 77 uint32 maxGeometryShaderInvocations; 78 uint32 maxGeometryInputComponents; 79 uint32 maxGeometryOutputComponents; 80 uint32 maxGeometryOutputVertices; 81 uint32 maxGeometryTotalOutputComponents; 82 uint32 maxFragmentInputComponents; 83 uint32 maxFragmentOutputAttachments; 84 uint32 maxFragmentDualSrcAttachments; 85 uint32 maxFragmentCombinedOutputResources; 86 uint32 maxComputeSharedMemorySize; 87 array<uint32, 3> maxComputeWorkGroupCount; 88 uint32 maxComputeWorkGroupInvocations; 89 array<uint32, 3> maxComputeWorkGroupSize; 90 uint32 subPixelPrecisionBits; 91 uint32 subTexelPrecisionBits; 92 uint32 mipmapPrecisionBits; 93 uint32 maxDrawIndexedIndexValue; 94 uint32 maxDrawIndirectCount; 95 float maxSamplerLodBias; 96 float maxSamplerAnisotropy; 97 uint32 maxViewports; 98 array<uint32, 2> maxViewportDimensions; 99 array<float, 2> viewportBoundsRange; 100 uint32 viewportSubPixelBits; 101 uint64 minMemoryMapAlignment; 102 uint64 minTexelBufferOffsetAlignment; 103 uint64 minUniformBufferOffsetAlignment; 104 uint64 minStorageBufferOffsetAlignment; 105 int32 minTexelOffset; 106 uint32 maxTexelOffset; 107 int32 minTexelGatherOffset; 108 uint32 maxTexelGatherOffset; 109 float minInterpolationOffset; 110 float maxInterpolationOffset; 111 uint32 subPixelInterpolationOffsetBits; 112 uint32 maxFramebufferWidth; 113 uint32 maxFramebufferHeight; 114 uint32 maxFramebufferLayers; 115 uint32 framebufferColorSampleCounts; 116 uint32 framebufferDepthSampleCounts; 117 uint32 framebufferStencilSampleCounts; 118 uint32 framebufferNoAttachmentsSampleCounts; 119 uint32 maxColorAttachments; 120 uint32 sampledImageColorSampleCounts; 121 uint32 sampledImageIntegerSampleCounts; 122 uint32 sampledImageDepthSampleCounts; 123 uint32 sampledImageStencilSampleCounts; 124 uint32 storageImageSampleCounts; 125 uint32 maxSampleMaskWords; 126 bool timestampComputeAndGraphics; 127 float timestampPeriod; 128 uint32 maxClipDistances; 129 uint32 maxCullDistances; 130 uint32 maxCombinedClipAndCullDistances; 131 uint32 discreteQueuePriorities; 132 array<float, 2> pointSizeRange; 133 array<float, 2> lineWidthRange; 134 float pointSizeGranularity; 135 float lineWidthGranularity; 136 bool strictLines; 137 bool standardSampleLocations; 138 uint64 optimalBufferCopyOffsetAlignment; 139 uint64 optimalBufferCopyRowPitchAlignment; 140 uint64 nonCoherentAtomSize; 141}; 142 143struct VkPhysicalDeviceSparseProperties { 144 bool residencyStandard2DBlockShape; 145 bool residencyStandard2DMultisampleBlockShape; 146 bool residencyStandard3DBlockShape; 147 bool residencyAlignedMipSize; 148 bool residencyNonResidentStrict; 149}; 150 151struct VkPhysicalDeviceProperties { 152 uint32 apiVersion; 153 uint32 driverVersion; 154 uint32 vendorID; 155 uint32 deviceID; 156 VkPhysicalDeviceType deviceType; 157 string deviceName; 158 array<uint8, 16> pipelineCacheUUID; 159 VkPhysicalDeviceLimits limits; 160 VkPhysicalDeviceSparseProperties sparseProperties; 161}; 162 163struct VkPhysicalDeviceFeatures { 164 bool robustBufferAccess; 165 bool fullDrawIndexUint32; 166 bool imageCubeArray; 167 bool independentBlend; 168 bool geometryShader; 169 bool tessellationShader; 170 bool sampleRateShading; 171 bool dualSrcBlend; 172 bool logicOp; 173 bool multiDrawIndirect; 174 bool drawIndirectFirstInstance; 175 bool depthClamp; 176 bool depthBiasClamp; 177 bool fillModeNonSolid; 178 bool depthBounds; 179 bool wideLines; 180 bool largePoints; 181 bool alphaToOne; 182 bool multiViewport; 183 bool samplerAnisotropy; 184 bool textureCompressionETC2; 185 bool textureCompressionASTC_LDR; 186 bool textureCompressionBC; 187 bool occlusionQueryPrecise; 188 bool pipelineStatisticsQuery; 189 bool vertexPipelineStoresAndAtomics; 190 bool fragmentStoresAndAtomics; 191 bool shaderTessellationAndGeometryPointSize; 192 bool shaderImageGatherExtended; 193 bool shaderStorageImageExtendedFormats; 194 bool shaderStorageImageMultisample; 195 bool shaderStorageImageReadWithoutFormat; 196 bool shaderStorageImageWriteWithoutFormat; 197 bool shaderUniformBufferArrayDynamicIndexing; 198 bool shaderSampledImageArrayDynamicIndexing; 199 bool shaderStorageBufferArrayDynamicIndexing; 200 bool shaderStorageImageArrayDynamicIndexing; 201 bool shaderClipDistance; 202 bool shaderCullDistance; 203 bool shaderFloat64; 204 bool shaderInt64; 205 bool shaderInt16; 206 bool shaderResourceResidency; 207 bool shaderResourceMinLod; 208 bool sparseBinding; 209 bool sparseResidencyBuffer; 210 bool sparseResidencyImage2D; 211 bool sparseResidencyImage3D; 212 bool sparseResidency2Samples; 213 bool sparseResidency4Samples; 214 bool sparseResidency8Samples; 215 bool sparseResidency16Samples; 216 bool sparseResidencyAliased; 217 bool variableMultisampleRate; 218 bool inheritedQueries; 219}; 220 221struct VkExtent3D { 222 uint32 width; 223 uint32 height; 224 uint32 depth; 225}; 226 227struct VkQueueFamilyProperties { 228 uint32 queueFlags; 229 uint32 queueCount; 230 uint32 timestampValidBits; 231 VkExtent3D minImageTransferGranularity; 232}; 233