Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2024
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 76.56 KB | None | 0 0
  1. Graphics Feature Status
  2. =======================
  3. * Canvas: Software only, hardware acceleration unavailable
  4. * Canvas out-of-process rasterization: Disabled
  5. * Direct Rendering Display Compositor: Disabled
  6. * Compositing: Software only. Hardware acceleration disabled
  7. * Multiple Raster Threads: Enabled
  8. * OpenGL: Disabled
  9. * Rasterization: Software only. Hardware acceleration disabled
  10. * Raw Draw: Disabled
  11. * Skia Graphite: Disabled
  12. * Video Decode: Software only. Hardware acceleration disabled
  13. * Video Encode: Software only. Hardware acceleration disabled
  14. * Vulkan: Disabled
  15. * WebGL: Software only, hardware acceleration unavailable
  16. * WebGL2: Software only, hardware acceleration unavailable
  17. * WebGPU: Software only, hardware acceleration unavailable
  18.  
  19. Problems Detected
  20. =================
  21. * Accelerated video encode has been disabled, either via blocklist, about:flags or the command line.
  22. Disabled Features: video_encode
  23.  
  24. * Gpu compositing has been disabled, either via blocklist, about:flags or the command line. The browser will fall back to software compositing and hardware acceleration will be unavailable.
  25. Disabled Features: gpu_compositing
  26.  
  27. ANGLE Features
  28. ==============
  29. * allowCompressedFormats (Frontend workarounds): Enabled
  30. condition: true
  31. Allow compressed formats
  32.  
  33. * alwaysRunLinkSubJobsThreaded (Frontend features) (http://anglebug.com/8417): Enabled
  34. condition: true
  35. If true, sub tasks of the link job are always threaded, regardless of
  36. GL_KHR_parallel_shader_compile
  37.  
  38. * cacheCompiledShader (Frontend features) (http://anglebug.com/7036): Enabled
  39. condition: true
  40. Enable to cache compiled shaders
  41.  
  42. * compileJobIsThreadSafe (Frontend features) (http://anglebug.com/8297): Enabled
  43. condition: true
  44. If false, parts of the compile job cannot be parallelized
  45.  
  46. * disableAnisotropicFiltering (Frontend workarounds): Disabled
  47. Disable support for anisotropic filtering
  48.  
  49. * disableDrawBuffersIndexed (Frontend features) (http://anglebug.com/7724): Disabled
  50. Disable support for OES_draw_buffers_indexed and EXT_draw_buffers_indexed
  51.  
  52. * disableProgramBinary (Frontend features) (http://anglebug.com/5007): Disabled
  53. Disable support for GL_OES_get_program_binary
  54.  
  55. * disableProgramCaching (Frontend features) (http://anglebug.com/1423136): Disabled
  56. Disables saving programs to the cache
  57.  
  58. * disableProgramCachingForTransformFeedback (Frontend workarounds): Disabled
  59. On some GPUs, program binaries don't contain transform feedback varyings
  60.  
  61. * dumpShaderSource (Frontend features) (http://anglebug.com/7760): Disabled
  62. Write shader source to temp directory
  63.  
  64. * dumpTranslatedShaders (Frontend features) (http://anglebug.com/8280): Disabled
  65. Write translated shaders to temp directory
  66.  
  67. * emulatePixelLocalStorage (Frontend features) (http://anglebug.com/7279): Enabled
  68. condition: true
  69. Emulate ANGLE_shader_pixel_local_storage using shader images
  70.  
  71. * enableCaptureLimits (Frontend features) (http://anglebug.com/5750): Disabled
  72. Set the context limits like frame capturing was enabled
  73.  
  74. * enableProgramBinaryForCapture (Frontend features) (http://anglebug.com/5658): Disabled
  75. Even if FrameCapture is enabled, enable GL_OES_get_program_binary
  76.  
  77. * enableShaderSubstitution (Frontend workarounds) (http://anglebug.com/7761): Disabled
  78. Check the filesystem for shaders to use instead of those provided through
  79. glShaderSource
  80.  
  81. * enableTranslatedShaderSubstitution (Frontend workarounds) (http://anglebug.com/8280): Disabled
  82. Check the filesystem for translated shaders to use instead of the shader
  83. translator's
  84.  
  85. * forceDepthAttachmentInitOnClear (Frontend workarounds) (https://anglebug.com/7246): Disabled
  86. Force depth attachment initialization on clear ops
  87.  
  88. * forceGlErrorChecking (Frontend features) (https://issuetracker.google.com/220069903): Disabled
  89. condition: (IsAndroid() && isSwiftShader)
  90. Force GL error checking (i.e. prevent applications from disabling error
  91. checking
  92.  
  93. * forceInitShaderVariables (Frontend features): Disabled
  94. Force-enable shader variable initialization
  95.  
  96. * forceMinimumMaxVertexAttributes (Frontend features): Disabled
  97. condition: false
  98. Force the minimum GL_MAX_VERTEX_ATTRIBS that the context's client version
  99. allows.
  100.  
  101. * forceRobustResourceInit (Frontend features) (http://anglebug.com/6041): Disabled
  102. Force-enable robust resource init
  103.  
  104. * linkJobIsThreadSafe (Frontend features) (http://anglebug.com/8297): Enabled
  105. condition: true
  106. If false, parts of the link job cannot be parallelized
  107.  
  108. * loseContextOnOutOfMemory (Frontend workarounds): Enabled
  109. condition: true
  110. Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error
  111. occurs
  112.  
  113. * singleThreadedTextureDecompression (Frontend workarounds): Disabled
  114. Disables multi-threaded decompression of compressed texture formats
  115.  
  116. * uncurrentEglSurfaceUponSurfaceDestroy (Frontend workarounds) (https://issuetracker.google.com/292285899): Enabled
  117. condition: true
  118. Make egl surface uncurrent when calling eglDestroySurface(), if the
  119. surface is still bound by the context of current render thread
  120.  
  121. * adjustClearColorPrecision (Vulkan workarounds) (https://issuetracker.google.com/292282210): Disabled
  122. condition: IsAndroid() && mFeatures.supportsLegacyDithering.enabled && isARM
  123. Adjust normalized clear color precision based on framebuffer color channel
  124. bits count
  125.  
  126. * allocateNonZeroMemory (Vulkan features) (http://anglebug.com/4384): Disabled
  127. condition: false
  128. Fill new allocations with non-zero values to flush out errors.
  129.  
  130. * allowGenerateMipmapWithCompute (Vulkan features) (http://anglebug.com/4551): Disabled
  131. condition: supportsSubgroupQuadOpsInComputeShader && mSubgroupExtendedTypesFeatures.shaderSubgroupExtendedTypes && maxComputeWorkGroupInvocations >= 256 && ((isAMD && !IsWindows()) || isNvidia || isSamsung)
  132. Use the compute path to generate mipmaps on devices that meet the minimum
  133. requirements, and the performance is better.
  134.  
  135. * allowHostImageCopyDespiteNonIdenticalLayout (Vulkan features): Disabled
  136. condition: false
  137. When using VK_EXT_host_image_copy, allow
  138. VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT even ifperf query indicates only
  139. optimalDeviceAccess, but not identicalMemoryLayout
  140.  
  141. * allowMultisampledRenderToTextureEmulation (Vulkan workarounds) (http://anglebug.com/8291): Disabled
  142. condition: isTileBasedRenderer || isSamsung
  143. Allow emulation of EXT_multisampled_render_to_texture
  144.  
  145. * appendAliasedMemoryDecorations (Vulkan workarounds) (b/266235549): Enabled
  146. condition: true
  147. Append aliased memory decoration to ssbo and image in SpirV if they are
  148. not declared with restrict memory qualifier in GLSL
  149.  
  150. * asyncCommandBufferReset (Vulkan features) (https://issuetracker.google.com/255411748): Enabled
  151. condition: true
  152. Reset command buffer in async thread.
  153.  
  154. * asyncCommandQueue (Vulkan features) (http://anglebug.com/4324): Disabled
  155. condition: false
  156. Use CommandQueue worker thread to dispatch work to GPU.
  157.  
  158. * avoidOpSelectWithMismatchingRelaxedPrecision (Vulkan workarounds) (http://anglebug.com/8503): Disabled
  159. condition: isNvidia && (nvidiaVersion.major >= 535 && nvidiaVersion.major <= 551)
  160. On some drivers, the OpSelect SPIR-V instruction with arguments with
  161. mismatching RelaxedPrecision decoration causes a crash
  162.  
  163. * bottomLeftOriginPresentRegionRectangles (Vulkan workarounds): Disabled
  164. condition: IsAndroid()
  165. On some platforms present region rectangles are expected to have a
  166. bottom-left origin, instead of top-left origin as from spec
  167.  
  168. * bresenhamLineRasterization (Vulkan features): Enabled
  169. condition: mLineRasterizationFeatures.bresenhamLines == 1U
  170. Enable Bresenham line rasterization via VK_EXT_line_rasterization
  171. extension
  172.  
  173. * clampFragDepth (Vulkan workarounds) (http://anglebug.com/3970): Disabled
  174. condition: isNvidia && !mFeatures.supportsDepthClampZeroOne.enabled
  175. gl_FragDepth is not clamped when rendering to a floating point depth
  176. buffer without VK_EXT_depth_clamp_zero_one
  177.  
  178. * clampPointSize (Vulkan workarounds) (http://anglebug.com/2970): Disabled
  179. condition: isNvidia && nvidiaVersion.major < uint32_t(IsWindows() ? 430 : 421)
  180. The point size range reported from the API is inconsistent with the actual
  181. behavior
  182.  
  183. * compressVertexData (Vulkan workarounds): Disabled
  184. Compress vertex data to smaller data types when possible. Using this
  185. feature makes ANGLE non-conformant.
  186.  
  187. * deferFlushUntilEndRenderPass (Vulkan workarounds) (https://issuetracker.google.com/issues/166475273): Enabled
  188. condition: !isQualcommProprietary
  189. Allow glFlush to be deferred until renderpass ends
  190.  
  191. * disableFlippingBlitWithCommand (Vulkan workarounds) (http://anglebug.com/3498): Disabled
  192. condition: IsAndroid() && isQualcommProprietary
  193. vkCmdBlitImage with flipped coordinates blits incorrectly.
  194.  
  195. * disablePipelineCacheLoadForTesting (Vulkan workarounds) (https://anglebug.com/8417): Disabled
  196. Disable loading the pipeline cache from the blob cache for testing
  197.  
  198. * disableSeparateShaderObjects (Vulkan app workarounds) (https://issuetracker.google.com/309028728): Disabled
  199. Disable GL_EXT_separate_shader_objects and cap core ES version to 3.0
  200.  
  201. * disallowMixedDepthStencilLoadOpNoneAndLoad (Vulkan workarounds) (http://anglebug.com/7370): Disabled
  202. condition: isARM && armDriverVersion < ARMDriverVersion(38, 1, 0)
  203. Disallow use of LOAD_OP_NONE for only one of the depth or stencil aspects
  204. of a depth/stencil attachment
  205.  
  206. * doubleDepthBiasConstantFactor (Vulkan workarounds): Disabled
  207. condition: (isIntel && !IsWindows()) || isRADV || isNvidia
  208. Due to a Vulkan spec ambiguity, some drivers interpret
  209. depthBiasConstantFactor as half the expected value
  210.  
  211. * eglColorspaceAttributePassthrough (Vulkan features) (https://anglebug.com/7319): Disabled
  212. condition: IsAndroid() && isSamsung
  213. Support passthrough of EGL colorspace attribute values
  214.  
  215. * emulateAdvancedBlendEquations (Vulkan features) (http://anglebug.com/3586): Disabled
  216. condition: !mFeatures.supportsBlendOperationAdvanced.enabled && (isVenus || !isIntel)
  217. Emulate GL_KHR_blend_equation_advanced
  218.  
  219. * emulateDithering (Vulkan features) (http://anglebug.com/6755): Disabled
  220. condition: IsAndroid() && !mFeatures.supportsLegacyDithering.enabled
  221. Emulate OpenGL dithering
  222.  
  223. * emulateR32fImageAtomicExchange (Vulkan workarounds) (http://anglebug.com/5535): Enabled
  224. condition: true
  225. Emulate r32f images with r32ui to support imageAtomicExchange.
  226.  
  227. * emulateTransformFeedback (Vulkan features) (http://anglebug.com/3205): Enabled
  228. condition: !mFeatures.supportsTransformFeedbackExtension.enabled && vk::CanSupportTransformFeedbackEmulation(mPhysicalDeviceFeatures)
  229. Emulate transform feedback as the VK_EXT_transform_feedback is not
  230. present.
  231.  
  232. * emulatedPrerotation180 (Vulkan features) (http://anglebug.com/4901): Disabled
  233. Emulate 180-degree prerotation.
  234.  
  235. * emulatedPrerotation270 (Vulkan features) (http://anglebug.com/4901): Disabled
  236. Emulate 270-degree prerotation.
  237.  
  238. * emulatedPrerotation90 (Vulkan features) (http://anglebug.com/4901): Disabled
  239. Emulate 90-degree prerotation.
  240.  
  241. * enableAsyncPipelineCacheCompression (Vulkan workarounds) (http://anglebug.com/4722): Enabled
  242. condition: true
  243. Enable compressing pipeline cache in a thread.
  244.  
  245. * enableMultisampledRenderToTexture (Vulkan workarounds) (http://anglebug.com/4937): Disabled
  246. condition: mFeatures.supportsMultisampledRenderToSingleSampled.enabled || mFeatures.supportsMultisampledRenderToSingleSampledGOOGLEX.enabled || (supportsIndependentDepthStencilResolve && mFeatures.allowMultisampledRenderToTextureEmulation.enabled)
  247. Expose EXT_multisampled_render_to_texture
  248.  
  249. * enableParallelCompileAndLink (Vulkan features) (http://anglebug.com/8297): Disabled
  250. Expose the GL_KHR_parallel_shader_compile extension
  251.  
  252. * enablePipelineCacheDataCompression (Vulkan features) (https://issuetracker.google.com/258207403): Enabled
  253. condition: true
  254. enable pipeline cache data compression.
  255.  
  256. * enablePortabilityEnumeration (Vulkan workarounds) (http://anglebug.com/8229): Disabled
  257. condition: mFeatures.supportsPortabilityEnumeration.enabled && IsApple()
  258. Enable use of VK_KHR_portability_enumeration extension
  259.  
  260. * enablePreRotateSurfaces (Vulkan features) (http://anglebug.com/3502): Disabled
  261. condition: IsAndroid()
  262. Enable Android pre-rotation for landscape applications
  263.  
  264. * enablePrecisionQualifiers (Vulkan features) (http://anglebug.com/3078): Enabled
  265. condition: !(IsPixel2(mPhysicalDeviceProperties.vendorID, mPhysicalDeviceProperties.deviceID) && (mPhysicalDeviceProperties.driverVersion < kPixel2DriverWithRelaxedPrecision)) && !IsPixel4(mPhysicalDeviceProperties.vendorID, mPhysicalDeviceProperties.deviceID)
  266. Enable precision qualifiers in shaders
  267.  
  268. * explicitlyCastMediumpFloatTo16Bit (Vulkan workarounds) (https://issuetracker.google.com/274859104): Disabled
  269. condition: isARM
  270. Explicitly cast mediump floating point values to 16 bit
  271.  
  272. * explicitlyEnablePerSampleShading (Vulkan workarounds) (http://anglebug.com/6876): Disabled
  273. condition: isARM
  274. Explicitly enable per-sample shading if the fragment shader contains the
  275. sample qualifier
  276.  
  277. * exposeNonConformantExtensionsAndVersions (Vulkan workarounds) (http://anglebug.com/5375): Disabled
  278. condition: kExposeNonConformantExtensionsAndVersions && !isVenus
  279. Expose GLES versions and extensions that are not conformant.
  280.  
  281. * forceContinuousRefreshOnSharedPresent (Vulkan features) (https://issuetracker.google.com/229267970): Disabled
  282. condition: false
  283. Force to create vulkan swapchain with continuous refresh on shared present
  284.  
  285. * forceD16TexFilter (Vulkan workarounds) (http://anglebug.com/3452): Disabled
  286. condition: IsAndroid() && isQualcommProprietary
  287. VK_FORMAT_D16_UNORM does not support
  288. VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT, which prevents
  289. OES_depth_texture from being supported.
  290.  
  291. * forceDisableFullScreenExclusive (Vulkan workarounds) (http://anglebug.com/8215): Disabled
  292. Device needs VK_EXT_full_screen_exclusive explicitly disabled
  293.  
  294. * forceFallbackFormat (Vulkan workarounds): Disabled
  295. Force a fallback format for angle_end2end_tests
  296.  
  297. * forceFragmentShaderPrecisionHighpToMediump (Vulkan workarounds) (https://issuetracker.google.com/184850002): Disabled
  298. condition: false
  299. Forces highp precision in fragment shader to mediump.
  300.  
  301. * forceMaxUniformBufferSize16KB (Vulkan workarounds) (https://issuetracker.google.com/161903006): Disabled
  302. condition: isQualcommProprietary && isAdreno540
  303. Force max uniform buffer size to 16K on some device due to bug
  304.  
  305. * forceNearestFiltering (Vulkan workarounds): Disabled
  306. Force nearest filtering when sampling.
  307.  
  308. * forceNearestMipFiltering (Vulkan workarounds): Disabled
  309. Force nearest mip filtering when sampling.
  310.  
  311. * forceSampleUsageForAhbBackedImages (Vulkan app workarounds) (https://issuetracker.google.com/155487768): Disabled
  312. Force enable VK_IMAGE_USAGE_SAMPLED_BIT usage for all AHB images
  313.  
  314. * forceSubmitImmutableTextureUpdates (Vulkan app workarounds) (http://anglebug.com/6929): Disabled
  315. Force submit updates to immutable textures
  316.  
  317. * forceTextureLodOffset1 (Vulkan workarounds): Disabled
  318. Increase the minimum texture level-of-detail by 1 when sampling.
  319.  
  320. * forceTextureLodOffset2 (Vulkan workarounds): Disabled
  321. Increase the minimum texture level-of-detail by 2 when sampling.
  322.  
  323. * forceTextureLodOffset3 (Vulkan workarounds): Disabled
  324. Increase the minimum texture level-of-detail by 3 when sampling.
  325.  
  326. * forceTextureLodOffset4 (Vulkan workarounds): Disabled
  327. Increase the minimum texture level-of-detail by 4 when sampling.
  328.  
  329. * forceWaitForSubmissionToCompleteForQueryResult (Vulkan workarounds) (https://issuetracker.google.com/253522366): Disabled
  330. condition: isARM || (isNvidia && nvidiaVersion.major < 470u)
  331. Force wait for submission to complete before calling getQueryResult(wait).
  332.  
  333. * hasEffectivePipelineCacheSerialization (Vulkan features) (https://anglebug.com/7369): Disabled
  334. condition: !isSwiftShader && !nvVersionLessThan520
  335. Whether the implementation serializes the Vulkan pipeline cache
  336. effectively. On some implementations, pipeline cache serialization returns
  337. no data, so there is no benefit to serializing it
  338.  
  339. * limitSampleCountTo2 (Vulkan workarounds) (http://anglebug.com/8162): Disabled
  340. Limit sample count to 2 to save memory on low end devices.
  341.  
  342. * logMemoryReportCallbacks (Vulkan features): Disabled
  343. condition: false
  344. Log each callback from VK_EXT_device_memory_report
  345.  
  346. * logMemoryReportStats (Vulkan features): Disabled
  347. condition: false
  348. Log stats from VK_EXT_device_memory_report each swap
  349.  
  350. * mapUnspecifiedColorSpaceToPassThrough (Vulkan features): Disabled
  351. condition: ExtensionFound("VK_EXT_swapchain_colorspace", mEnabledInstanceExtensions)
  352. Use VK_COLOR_SPACE_PASS_THROUGH_EXT for EGL_NONE or unspecifed color
  353. spaces
  354.  
  355. * mergeProgramPipelineCachesToGlobalCache (Vulkan workarounds) (https://anglebug.com/7369): Enabled
  356. condition: !mFeatures.supportsGraphicsPipelineLibrary.enabled || (mFeatures.preferMonolithicPipelinesOverLibraries.enabled && libraryBlobsAreReusedByMonolithicPipelines)
  357. Whether it's beneficial to merge the pipeline cache for the shaders subset
  358. of the pipeline into the monolithic pipeline cache. Only useful on
  359. platforms where monolithic pipelines can reuse blobs from partial
  360. pipelines
  361.  
  362. * mutableMipmapTextureUpload (Vulkan features) (https://anglebug.com/7308): Enabled
  363. condition: canPreferDeviceLocalMemoryHostVisible(mPhysicalDeviceProperties.deviceType)
  364. Enable uploading the previously defined mutable mipmap texture.
  365.  
  366. * overrideSurfaceFormatRGB8ToRGBA8 (Vulkan workarounds) (http://anglebug.com/6651): Enabled
  367. condition: true
  368. Override surface format GL_RGB8 to GL_RGBA8
  369.  
  370. * padBuffersToMaxVertexAttribStride (Vulkan workarounds) (http://anglebug.com/4428): Disabled
  371. condition: isAMD || isSamsung
  372. Vulkan considers vertex attribute accesses to count up to the last
  373. multiple of the stride. This additional access supports AMD's robust
  374. buffer access implementation. AMDVLK in particular will return incorrect
  375. values when the vertex access extends into the range that would be the
  376. stride padding and the buffer is too small. This workaround limits
  377. GL_MAX_VERTEX_ATTRIB_STRIDE to a maximum value and pads up every buffer
  378. allocation size to be a multiple of the maximum stride.
  379.  
  380. * perFrameWindowSizeQuery (Vulkan workarounds) (http://anglebug.com/3623, http://anglebug.com/3624, http://anglebug.com/3625): Disabled
  381. condition: IsAndroid() || isIntel || (IsWindows() && isAMD) || IsFuchsia() || isSamsung || displayVk->isWayland()
  382. Vulkan swapchain is not returning VK_ERROR_OUT_OF_DATE when window
  383. resizing
  384.  
  385. * permanentlySwitchToFramebufferFetchMode (Vulkan features): Disabled
  386. condition: isTileBasedRenderer
  387. Whether the context should permanently switch to framebuffer fetch mode on
  388. first encounter
  389.  
  390. * persistentlyMappedBuffers (Vulkan features) (http://anglebug.com/2162): Enabled
  391. condition: true
  392. Persistently map buffer memory to reduce map/unmap IOCTL overhead.
  393.  
  394. * preferAggregateBarrierCalls (Vulkan workarounds) (http://anglebug.com/4633): Enabled
  395. condition: isImmediateModeRenderer
  396. Single barrier call is preferred over multiple calls with fine grained
  397. pipeline stage dependency information
  398.  
  399. * preferCPUForBufferSubData (Vulkan features) (http://issuetracker.google.com/200067929): Disabled
  400. condition: isMaliJobManagerBasedGPU
  401. Prefer use CPU to do bufferSubData instead of staged update.
  402.  
  403. * preferDeviceLocalMemoryHostVisible (Vulkan features) (http://anglebug.com/7047): Enabled
  404. condition: canPreferDeviceLocalMemoryHostVisible(mPhysicalDeviceProperties.deviceType)
  405. Prefer adding HOST_VISIBLE flag for DEVICE_LOCAL memory when picking
  406. memory types
  407.  
  408. * preferDrawClearOverVkCmdClearAttachments (Vulkan workarounds) (https://issuetracker.google.com/166809097): Disabled
  409. condition: isQualcommProprietary
  410. On some hardware, clear using a draw call instead of vkCmdClearAttachments
  411. in the middle of render pass due to bugs
  412.  
  413. * preferDriverUniformOverSpecConst (Vulkan features) (http://anglebug.com/7406): Enabled
  414. condition: (isQualcommProprietary && mPhysicalDeviceProperties.driverVersion < kPixel4DriverWithWorkingSpecConstSupport) || isARM || isPowerVR || isSwiftShader
  415. Prefer using driver uniforms instead of specialization constants.
  416.  
  417. * preferHostCachedForNonStaticBufferUsage (Vulkan features) (https://issuetracker.google.com/288119108): Disabled
  418. prefer host cached memory for non static buffer usage
  419.  
  420. * preferLinearFilterForYUV (Vulkan features) (https://anglebug.com/7382): Disabled
  421. condition: isVenus
  422. Prefer to use VK_FILTER_LINEAR for VkSamplerYcbcrConversion
  423.  
  424. * preferMonolithicPipelinesOverLibraries (Vulkan workarounds) (https://anglebug.com/7369): Enabled
  425. condition: !mGraphicsPipelineLibraryProperties.graphicsPipelineLibraryFastLinking || isSwiftShader
  426. Whether monolithic pipelines perform significantly better than libraries
  427.  
  428. * preferSkippingInvalidateForEmulatedFormats (Vulkan workarounds) (http://anglebug.com/6860): Enabled
  429. condition: isImmediateModeRenderer
  430. Skipping invalidate is preferred for emulated formats that have extra
  431. channels over re-clearing the image
  432.  
  433. * preferSubmitAtFBOBoundary (Vulkan workarounds) (https://issuetracker.google.com/187425444): Enabled
  434. condition: isARM || isSwiftShader
  435. Submit commands to driver at each FBO boundary for performance
  436. improvements.
  437.  
  438. * preferSubmitOnAnySamplesPassedQueryEnd (Vulkan workarounds) (https://issuetracker.google.com/250706693): Disabled
  439. condition: isTileBasedRenderer
  440. Submit commands to driver when last GL_ANY_SAMPLES_PASSED query is made
  441. for performance improvements.
  442.  
  443. * provokingVertex (Vulkan features): Enabled
  444. condition: mProvokingVertexFeatures.provokingVertexLast == 1U
  445. Enable provoking vertex mode via VK_EXT_provoking_vertex extension
  446.  
  447. * requireCachedBitForStagingBuffer (Vulkan workarounds) (https://issuetracker.google.com/315836169): Enabled
  448. condition: !isARM
  449. use cached bit as required bit instead of preferred bit for staging
  450. buffers
  451.  
  452. * retainSPIRVDebugInfo (Vulkan features) (http://anglebug.com/5901): Disabled
  453. condition: getEnableValidationLayers()
  454. Retain debug info in SPIR-V blob.
  455.  
  456. * roundOutputAfterDithering (Vulkan workarounds) (http://anglebug.com/6953): Disabled
  457. condition: isQualcomm
  458. Round output after dithering to workaround a driver bug that rounds the
  459. output up
  460.  
  461. * slowAsyncCommandQueueForTesting (Vulkan workarounds) (https://anglebug.com/6574): Disabled
  462. Artificially slow down async command queue for threading testing
  463.  
  464. * slowDownMonolithicPipelineCreationForTesting (Vulkan workarounds) (https://anglebug.com/7369): Disabled
  465. Artificially slow down async monolithic pipeline creation for threading
  466. testing
  467.  
  468. * supportsAndroidHardwareBuffer (Vulkan features): Disabled
  469. VkDevice supports the VK_ANDROID_external_memory_android_hardware_buffer
  470. extension
  471.  
  472. * supportsAndroidNativeFenceSync (Vulkan features) (http://anglebug.com/2517): Disabled
  473. condition: (mFeatures.supportsExternalFenceFd.enabled && FencePropertiesCompatibleWithAndroid(externalFenceProperties) && mFeatures.supportsExternalSemaphoreFd.enabled && SemaphorePropertiesCompatibleWithAndroid(externalSemaphoreProperties))
  474. VkDevice supports the EGL_ANDROID_native_fence_sync extension
  475.  
  476. * supportsBindMemory2 (Vulkan features) (https://anglebug.com/4966): Enabled
  477. condition: true
  478. VkDevice supports the VK_KHR_bind_memory2 extension
  479.  
  480. * supportsBlendOperationAdvanced (Vulkan features) (http://anglebug.com/3586): Enabled
  481. condition: ExtensionFound("VK_EXT_blend_operation_advanced", deviceExtensionNames)
  482. VkDevice supports VK_EXT_blend_operation_advanced extension.
  483.  
  484. * supportsColorWriteEnable (Vulkan features) (https://anglebug.com/7161): Disabled
  485. VkDevice supports VK_EXT_color_write_enable extension
  486.  
  487. * supportsComputeTranscodeEtcToBc (Vulkan features): Disabled
  488. condition: !mPhysicalDeviceFeatures.textureCompressionETC2 && kSupportTranscodeEtcToBc && (mSubgroupProperties.supportedOperations & kRequiredSubgroupOp) == kRequiredSubgroupOp && (limitsVk.maxTexelBufferElements >= kMaxTexelBufferSize)
  489. supports compute shader transcode etc format to bc format
  490.  
  491. * supportsCustomBorderColor (Vulkan features) (http://anglebug.com/3577): Enabled
  492. condition: mCustomBorderColorFeatures.customBorderColors == 1U && mCustomBorderColorFeatures.customBorderColorWithoutFormat == 1U
  493. VkDevice supports the VK_EXT_custom_border_color extension
  494.  
  495. * supportsDepthClampZeroOne (Vulkan features) (http://anglebug.com/3970): Disabled
  496. condition: mDepthClampZeroOneFeatures.depthClampZeroOne == 1U
  497. VkDevice supports the VK_EXT_depth_clamp_zero_one extension
  498.  
  499. * supportsDepthClipControl (Vulkan features) (http://anglebug.com/5421): Enabled
  500. condition: mDepthClipControlFeatures.depthClipControl == 1U
  501. VkDevice supports VK_EXT_depth_clip_control extension.
  502.  
  503. * supportsDepthClipEnable (Vulkan features) (http://anglebug.com/3970): Enabled
  504. condition: mDepthClipEnableFeatures.depthClipEnable == 1U
  505. VkDevice supports the VK_EXT_depth_clip_enable extension.
  506.  
  507. * supportsDepthStencilResolve (Vulkan features) (http://anglebug.com/4836): Enabled
  508. condition: mFeatures.supportsRenderpass2.enabled && mDepthStencilResolveProperties.supportedDepthResolveModes != 0
  509. VkDevice supports the VK_KHR_depth_stencil_resolve extension with the
  510. independentResolveNone feature
  511.  
  512. * supportsExtendedDynamicState (Vulkan features) (http://anglebug.com/5906): Enabled
  513. condition: mExtendedDynamicStateFeatures.extendedDynamicState == 1U && dynamicStateWorks
  514. VkDevice supports VK_EXT_extended_dynamic_state extension
  515.  
  516. * supportsExtendedDynamicState2 (Vulkan features) (http://anglebug.com/5906): Disabled
  517. condition: mExtendedDynamicState2Features.extendedDynamicState2 == 1U && dynamicStateWorks
  518. VkDevice supports VK_EXT_extended_dynamic_state2 extension
  519.  
  520. * supportsExternalFenceCapabilities (Vulkan features): Enabled
  521. condition: true
  522. VkInstance supports the VK_KHR_external_fence_capabilities extension
  523.  
  524. * supportsExternalFenceFd (Vulkan features) (http://anglebug.com/2517): Disabled
  525. condition: ExtensionFound("VK_KHR_external_fence_fd", deviceExtensionNames)
  526. VkDevice supports the VK_KHR_external_fence_fd extension
  527.  
  528. * supportsExternalFormatResolve (Vulkan features): Disabled
  529. condition: false
  530. VkDevice supports the VK_ANDROID_external_format_resolve extension
  531.  
  532. * supportsExternalMemoryDmaBufAndModifiers (Vulkan features) (http://anglebug.com/6248): Disabled
  533. condition: ExtensionFound("VK_EXT_external_memory_dma_buf", deviceExtensionNames) && ExtensionFound("VK_EXT_image_drm_format_modifier", deviceExtensionNames)
  534. VkDevice supports the VK_EXT_external_memory_dma_buf and
  535. VK_EXT_image_drm_format_modifier extensions
  536.  
  537. * supportsExternalMemoryFd (Vulkan features): Enabled
  538. condition: ExtensionFound("VK_KHR_external_memory_fd", deviceExtensionNames)
  539. VkDevice supports the VK_KHR_external_memory_fd extension
  540.  
  541. * supportsExternalMemoryFuchsia (Vulkan features): Disabled
  542. condition: ExtensionFound("VK_FUCHSIA_external_memory", deviceExtensionNames)
  543. VkDevice supports the VK_FUCHSIA_external_memory extension
  544.  
  545. * supportsExternalMemoryHost (Vulkan features): Disabled
  546. VkDevice supports the VK_EXT_external_memory_host extension
  547.  
  548. * supportsExternalSemaphoreCapabilities (Vulkan features): Enabled
  549. condition: true
  550. VkInstance supports the VK_KHR_external_semaphore_capabilities extension
  551.  
  552. * supportsExternalSemaphoreFd (Vulkan features): Enabled
  553. condition: ExtensionFound("VK_KHR_external_semaphore_fd", deviceExtensionNames)
  554. VkDevice supports the VK_KHR_external_semaphore_fd extension
  555.  
  556. * supportsExternalSemaphoreFuchsia (Vulkan features): Disabled
  557. condition: ExtensionFound("VK_FUCHSIA_external_semaphore", deviceExtensionNames)
  558. VkDevice supports the VK_FUCHSIA_external_semaphore extension
  559.  
  560. * supportsFormatFeatureFlags2 (Vulkan features): Enabled
  561. condition: ExtensionFound("VK_KHR_format_feature_flags2", deviceExtensionNames)
  562. VkDevice supports the VK_KHR_format_feature_flags2 extension
  563.  
  564. * supportsFragmentShaderPixelInterlock (Vulkan features): Disabled
  565. condition: mFragmentShaderInterlockFeatures.fragmentShaderPixelInterlock == 1U
  566. VkDevice supports the VK_EXT_fragment_shader_interlock extension and has
  567. the fragmentShaderPixelInterlock feature
  568.  
  569. * supportsFragmentShadingRate (Vulkan features) (http://anglebug.com/7172): Disabled
  570. condition: canSupportFragmentShadingRate(deviceExtensionNames)
  571. VkDevice supports VK_KHR_fragment_shading_rate extension
  572.  
  573. * supportsFullScreenExclusive (Vulkan features) (http://anglebug.com/8215): Disabled
  574. VkDevice supports the VK_EXT_full_screen_exclusive extension
  575.  
  576. * supportsGGPFrameToken (Vulkan features): Disabled
  577. VkDevice supports the VK_GGP_frame_token extension
  578.  
  579. * supportsGeometryStreamsCapability (Vulkan features) (http://anglebug.com/3206): Disabled
  580. condition: mFeatures.supportsTransformFeedbackExtension.enabled && mTransformFeedbackFeatures.geometryStreams == 1U
  581. Implementation supports the GeometryStreams SPIR-V capability.
  582.  
  583. * supportsGetMemoryRequirements2 (Vulkan features) (https://anglebug.com/4830): Enabled
  584. condition: true
  585. VkDevice supports the VK_KHR_get_memory_requirements2 extension
  586.  
  587. * supportsGraphicsPipelineLibrary (Vulkan features) (https://anglebug.com/7369): Enabled
  588. condition: mGraphicsPipelineLibraryFeatures.graphicsPipelineLibrary == 1U && (!isNvidia || nvidiaVersion.major >= 531) && !isRADV
  589. VkDevice supports the VK_EXT_graphics_pipeline_library extension
  590.  
  591. * supportsHostImageCopy (Vulkan features): Enabled
  592. condition: mHostImageCopyFeatures.hostImageCopy == 1U && mHostImageCopyProperties.identicalMemoryTypeRequirements && !IsFuchsia()
  593. VkDevice supports the VK_EXT_host_image_copy extension
  594.  
  595. * supportsHostQueryReset (Vulkan features) (http://anglebug.com/6692): Enabled
  596. condition: mHostQueryResetFeatures.hostQueryReset == 1U
  597. VkDevice supports VK_EXT_host_query_reset extension
  598.  
  599. * supportsImage2dViewOf3d (Vulkan features) (https://anglebug.com/7320): Disabled
  600. condition: mImage2dViewOf3dFeatures.image2DViewOf3D == 1U
  601. VkDevice supports VK_EXT_image_2d_view_of_3d
  602.  
  603. * supportsImageCubeArray (Vulkan features) (http://anglebug.com/3584): Enabled
  604. condition: mPhysicalDeviceFeatures.imageCubeArray == 1U
  605. VkDevice supports the imageCubeArray feature properly
  606.  
  607. * supportsImageFormatList (Vulkan features) (http://anglebug.com/5281): Enabled
  608. condition: ExtensionFound("VK_KHR_image_format_list", deviceExtensionNames)
  609. Enable VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT by default for ICDs that support
  610. VK_KHR_image_format_list
  611.  
  612. * supportsImagelessFramebuffer (Vulkan features) (http://anglebug.com/7553): Enabled
  613. condition: mImagelessFramebufferFeatures.imagelessFramebuffer == 1U && (vk::RenderPassCommandBuffer::ExecutesInline() || !isSamsung)
  614. VkDevice supports VK_KHR_imageless_framebuffer extension
  615.  
  616. * supportsIncrementalPresent (Vulkan features): Disabled
  617. condition: ExtensionFound("VK_KHR_incremental_present", deviceExtensionNames)
  618. VkDevice supports the VK_KHR_incremental_present extension
  619.  
  620. * supportsIndexTypeUint8 (Vulkan features) (http://anglebug.com/4405): Disabled
  621. condition: mIndexTypeUint8Features.indexTypeUint8 == 1U
  622. VkDevice supports the VK_EXT_index_type_uint8 extension
  623.  
  624. * supportsLegacyDithering (Vulkan features) (https://issuetracker.google.com/284462263): Disabled
  625. condition: mDitheringFeatures.legacyDithering == 1U
  626. VkDevice supports the VK_EXT_legacy_dithering extension
  627.  
  628. * supportsLockSurfaceExtension (Vulkan features): Disabled
  629. condition: IsAndroid()
  630. Surface supports the EGL_KHR_lock_surface3 extension
  631.  
  632. * supportsLogicOpDynamicState (Vulkan features) (http://anglebug.com/3862): Disabled
  633. condition: mFeatures.supportsExtendedDynamicState2.enabled && mExtendedDynamicState2Features.extendedDynamicState2LogicOp == 1U && !(IsLinux() && isIntel && isMesaLessThan22_2) && !(IsAndroid() && isGalaxyS23)
  634. VkDevice supports the logicOp feature of VK_EXT_extended_dynamic_state2
  635. extension
  636.  
  637. * supportsMemoryBudget (Vulkan features): Disabled
  638. condition: ExtensionFound("VK_EXT_memory_budget", deviceExtensionNames)
  639. VkDevice supports the VK_EXT_memory_budget extension.
  640.  
  641. * supportsMixedReadWriteDepthStencilLayouts (Vulkan features) (https://anglebug.com/7899): Enabled
  642. condition: true
  643. VkDevice supports the mixed read and write depth/stencil layouts
  644. introduced by VK_KHR_maintenance2
  645.  
  646. * supportsMultiDrawIndirect (Vulkan features) (http://anglebug.com/6439): Enabled
  647. condition: mPhysicalDeviceFeatures.multiDrawIndirect == 1U
  648. VkDevice supports the multiDrawIndirect extension
  649.  
  650. * supportsMultisampledRenderToSingleSampled (Vulkan features) (http://anglebug.com/4836): Disabled
  651. condition: mFeatures.supportsRenderpass2.enabled && mFeatures.supportsDepthStencilResolve.enabled && mMultisampledRenderToSingleSampledFeatures.multisampledRenderToSingleSampled == 1U
  652. VkDevice supports the VK_EXT_multisampled_render_to_single_sampled
  653. extension
  654.  
  655. * supportsMultisampledRenderToSingleSampledGOOGLEX (Vulkan features) (http://anglebug.com/4836): Disabled
  656. condition: !mFeatures.supportsMultisampledRenderToSingleSampled.enabled && mFeatures.supportsRenderpass2.enabled && mFeatures.supportsDepthStencilResolve.enabled && mMultisampledRenderToSingleSampledFeaturesGOOGLEX.multisampledRenderToSingleSampled == 1U
  657. VkDevice supports the VK_GOOGLEX_multisampled_render_to_single_sampled
  658. extension
  659.  
  660. * supportsMultiview (Vulkan features) (http://anglebug.com/6048): Enabled
  661. condition: mMultiviewFeatures.multiview == 1U
  662. VkDevice supports the VK_KHR_multiview extension
  663.  
  664. * supportsPipelineCreationCacheControl (Vulkan features) (http://anglebug.com/5881): Disabled
  665. condition: mPipelineCreationCacheControlFeatures.pipelineCreationCacheControl && !isSwiftShader
  666. VkDevice supports VK_EXT_pipeline_creation_cache_control extension
  667.  
  668. * supportsPipelineCreationFeedback (Vulkan features) (http://anglebug.com/5881): Enabled
  669. condition: ExtensionFound("VK_EXT_pipeline_creation_feedback", deviceExtensionNames)
  670. VkDevice supports VK_EXT_pipeline_creation_feedback extension
  671.  
  672. * supportsPipelineProtectedAccess (Vulkan features) (https://anglebug.com/7714): Disabled
  673. condition: mPipelineProtectedAccessFeatures.pipelineProtectedAccess == 1U && mProtectedMemoryFeatures.protectedMemory == 1U
  674. VkDevice supports the VK_EXT_pipeline_protected_access extension
  675.  
  676. * supportsPipelineRobustness (Vulkan features) (https://anglebug.com/5845): Enabled
  677. condition: mPipelineRobustnessFeatures.pipelineRobustness == 1U && mPhysicalDeviceFeatures.robustBufferAccess
  678. VkDevice supports VK_EXT_pipeline_robustness extension
  679.  
  680. * supportsPipelineStatisticsQuery (Vulkan features) (http://anglebug.com/5430): Disabled
  681. condition: mPhysicalDeviceFeatures.pipelineStatisticsQuery == 1U
  682. VkDevice supports the pipelineStatisticsQuery feature
  683.  
  684. * supportsPortabilityEnumeration (Vulkan features) (http://anglebug.com/8229): Enabled
  685. condition: ExtensionFound("VK_KHR_portability_enumeration", instanceExtensionNames)
  686. Vulkan supports VK_KHR_portability_enumeration extension
  687.  
  688. * supportsPresentation (Vulkan features): Enabled
  689. condition: !displayVk->isGBM()
  690. VkDisplay supports presentation through a present family queue
  691.  
  692. * supportsPrimitiveTopologyListRestart (Vulkan features) (http://anglebug.com/3832): Enabled
  693. condition: mPrimitiveTopologyListRestartFeatures.primitiveTopologyListRestart == 1U
  694. VkDevice supports VK_EXT_primitive_topology_list_restart extension.
  695.  
  696. * supportsPrimitivesGeneratedQuery (Vulkan features) (http://anglebug.com/5430): Disabled
  697. condition: mFeatures.supportsTransformFeedbackExtension.enabled && mPrimitivesGeneratedQueryFeatures.primitivesGeneratedQuery == 1U
  698. VkDevice supports VK_EXT_primitives_generated_query extension
  699.  
  700. * supportsProtectedMemory (Vulkan features) (http://anglebug.com/3965): Disabled
  701. condition: mProtectedMemoryFeatures.protectedMemory == 1U && (!isARM || mPipelineProtectedAccessFeatures.pipelineProtectedAccess == 1U)
  702. VkDevice supports protected memory
  703.  
  704. * supportsRasterizationOrderAttachmentAccess (Vulkan features) (https://anglebug.com/7604): Enabled
  705. condition: !isQualcomm && mRasterizationOrderAttachmentAccessFeatures.rasterizationOrderColorAttachmentAccess == 1U
  706. VkDevice supports VK_EXT_rasterization_order_attachment_access extension
  707.  
  708. * supportsRenderPassLoadStoreOpNone (Vulkan features) (http://anglebug.com/5371): Enabled
  709. condition: ExtensionFound("VK_EXT_load_store_op_none", deviceExtensionNames)
  710. VkDevice supports VK_EXT_load_store_op_none extension.
  711.  
  712. * supportsRenderPassStoreOpNone (Vulkan features) (http://anglebug.com/5055): Disabled
  713. condition: !mFeatures.supportsRenderPassLoadStoreOpNone.enabled && ExtensionFound("VK_QCOM_render_pass_store_ops", deviceExtensionNames)
  714. VkDevice supports VK_QCOM_render_pass_store_ops extension.
  715.  
  716. * supportsRenderpass2 (Vulkan features): Enabled
  717. condition: ExtensionFound("VK_KHR_create_renderpass2", deviceExtensionNames)
  718. VkDevice supports the VK_KHR_create_renderpass2 extension
  719.  
  720. * supportsSampler2dViewOf3d (Vulkan features) (https://anglebug.com/7320): Disabled
  721. condition: mFeatures.supportsImage2dViewOf3d.enabled && mImage2dViewOf3dFeatures.sampler2DViewOf3D == 1U
  722. VkDevice supports the sampler2DViewOf3D feature of
  723. VK_EXT_image_2d_view_of_3d
  724.  
  725. * supportsSamplerMirrorClampToEdge (Vulkan features): Enabled
  726. condition: ExtensionFound("VK_KHR_sampler_mirror_clamp_to_edge", deviceExtensionNames)
  727. VkDevice supports the VK_KHR_sampler_mirror_clamp_to_edge extension
  728.  
  729. * supportsShaderFloat16 (Vulkan features) (http://anglebug.com/4551): Disabled
  730. condition: mShaderFloat16Int8Features.shaderFloat16 == 1U
  731. VkDevice supports the VK_KHR_shader_float16_int8 extension and has the
  732. shaderFloat16 feature
  733.  
  734. * supportsShaderFramebufferFetch (Vulkan features): Enabled
  735. condition: (IsAndroid() && isARM) || mFeatures.supportsRasterizationOrderAttachmentAccess.enabled
  736. Whether the Vulkan backend supports coherent framebuffer fetch
  737.  
  738. * supportsShaderFramebufferFetchNonCoherent (Vulkan features): Enabled
  739. condition: (IsAndroid() && !(isARM || isQualcomm)) || isSwiftShader
  740. Whether the Vulkan backend supports non-coherent framebuffer fetch
  741.  
  742. * supportsShaderStencilExport (Vulkan features): Enabled
  743. condition: ExtensionFound("VK_EXT_shader_stencil_export", deviceExtensionNames)
  744. VkDevice supports the VK_EXT_shader_stencil_export extension
  745.  
  746. * supportsSharedPresentableImageExtension (Vulkan features): Disabled
  747. condition: ExtensionFound("VK_KHR_shared_presentable_image", deviceExtensionNames)
  748. VkSurface supports the VK_KHR_shared_presentable_images extension
  749.  
  750. * supportsSurfaceCapabilities2Extension (Vulkan features): Enabled
  751. condition: ExtensionFound("VK_KHR_get_surface_capabilities2", instanceExtensionNames) && displayVk->isUsingSwapchain()
  752. VkInstance supports the VK_KHR_get_surface_capabilities2 extension
  753.  
  754. * supportsSurfaceProtectedCapabilitiesExtension (Vulkan features): Disabled
  755. condition: ExtensionFound("VK_KHR_surface_protected_capabilities", instanceExtensionNames) && displayVk->isUsingSwapchain()
  756. VkInstance supports the VK_KHR_surface_protected_capabilities extension
  757.  
  758. * supportsSurfaceProtectedSwapchains (Vulkan features): Disabled
  759. condition: IsAndroid()
  760. VkSurface supportsProtected for protected swapchains
  761.  
  762. * supportsSurfacelessQueryExtension (Vulkan features): Disabled
  763. condition: ExtensionFound("VK_GOOGLE_surfaceless_query", instanceExtensionNames) && displayVk->isUsingSwapchain() && !isMockICDEnabled()
  764. VkInstance supports the VK_GOOGLE_surfaceless_query extension
  765.  
  766. * supportsSwapchainMaintenance1 (Vulkan features) (https://anglebug.com/7847): Enabled
  767. condition: mSwapchainMaintenance1Features.swapchainMaintenance1 == 1U && displayVk->isUsingSwapchain()
  768. VkDevice supports the VK_EXT_surface_maintenance1 and
  769. VK_EXT_swapchain_maintenance1 extensions
  770.  
  771. * supportsTimelineSemaphore (Vulkan features): Enabled
  772. condition: mTimelineSemaphoreFeatures.timelineSemaphore == 1U
  773. VkDevice supports the VK_KHR_timeline_semaphore extension
  774.  
  775. * supportsTimestampSurfaceAttribute (Vulkan features) (https://anglebug.com/7489): Disabled
  776. condition: IsAndroid() && ExtensionFound("VK_GOOGLE_display_timing", deviceExtensionNames)
  777. Platform supports setting frame timestamp surface attribute
  778.  
  779. * supportsTransformFeedbackExtension (Vulkan features) (http://anglebug.com/3206): Disabled
  780. condition: vk::CanSupportTransformFeedbackExtension(mTransformFeedbackFeatures)
  781. Transform feedback uses the VK_EXT_transform_feedback extension.
  782.  
  783. * supportsVertexInputDynamicState (Vulkan features) (https://anglebug.com/7162): Enabled
  784. condition: mVertexInputDynamicStateFeatures.vertexInputDynamicState == 1U && !(IsWindows() && isIntel)
  785. VkDevice supports VK_EXT_vertex_input_dynamic_state extension
  786.  
  787. * supportsYUVSamplerConversion (Vulkan features): Enabled
  788. condition: mSamplerYcbcrConversionFeatures.samplerYcbcrConversion != 0U
  789. VkDevice supports the VK_KHR_sampler_ycbcr_conversion extension
  790.  
  791. * supportsYuvTarget (Vulkan features): Disabled
  792. VkDevice supports VK_ANDROID_render_to_external_format and
  793. VK_EXT_ycbcr_attachment
  794.  
  795. * swapbuffersOnFlushOrFinishWithSingleBuffer (Vulkan features) (http://anglebug.com/6878): Disabled
  796. condition: IsAndroid()
  797. Bypass deferredFlush with calling swapbuffers on flush or finish when in
  798. Shared Present mode
  799.  
  800. * syncMonolithicPipelinesToBlobCache (Vulkan workarounds) (https://anglebug.com/7369): Disabled
  801. condition: mFeatures.hasEffectivePipelineCacheSerialization.enabled && (hasNoPipelineWarmUp || canSyncLargeMonolithicCache)
  802. Whether it's beneficial to store monolithic pipelines in the blob cache
  803. when VK_EXT_graphics_pipeline_library is in use. Otherwise the libraries
  804. are stored only, and monolithic pipelines are recreated on every run
  805.  
  806. * useCullModeDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Enabled
  807. condition: mFeatures.supportsExtendedDynamicState.enabled && dynamicStateWorks
  808. Use the Cull Mode dynamic state from VK_EXT_extended_dynamic_state
  809.  
  810. * useDepthBiasEnableDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Disabled
  811. condition: mFeatures.supportsExtendedDynamicState2.enabled
  812. Use the Depth Bias Enable dynamic state from
  813. VK_EXT_extended_dynamic_state2
  814.  
  815. * useDepthCompareOpDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Enabled
  816. condition: mFeatures.supportsExtendedDynamicState.enabled
  817. Use the Depth Compare Op dynamic state from VK_EXT_extended_dynamic_state
  818.  
  819. * useDepthTestEnableDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Enabled
  820. condition: mFeatures.supportsExtendedDynamicState.enabled
  821. Use the Depth Test Enable dynamic state from VK_EXT_extended_dynamic_state
  822.  
  823. * useDepthWriteEnableDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Enabled
  824. condition: mFeatures.supportsExtendedDynamicState.enabled && dynamicStateWorks
  825. Use the Depth Write Enable dynamic state from
  826. VK_EXT_extended_dynamic_state
  827.  
  828. * useFrontFaceDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Enabled
  829. condition: mFeatures.supportsExtendedDynamicState.enabled
  830. Use the Front Face dynamic state from VK_EXT_extended_dynamic_state
  831.  
  832. * useMultipleDescriptorsForExternalFormats (Vulkan workarounds) (http://anglebug.com/6141): Enabled
  833. condition: true
  834. Return a default descriptor count for external formats.
  835.  
  836. * useNonZeroStencilWriteMaskStaticState (Vulkan workarounds) (http://anglebug.com/7556): Disabled
  837. condition: isARM && armDriverVersion < ARMDriverVersion(43, 0, 0)
  838. Work around a driver bug where 0 in stencil write mask static state would
  839. make the corresponding dynamic state malfunction in the presence of
  840. discard or alpha to coverage
  841.  
  842. * usePrimitiveRestartEnableDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Disabled
  843. condition: mFeatures.supportsExtendedDynamicState2.enabled && dynamicStateWorks
  844. Use the Primitive Restart Enable dynamic state from
  845. VK_EXT_extended_dynamic_state2
  846.  
  847. * useRasterizerDiscardEnableDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Disabled
  848. condition: mFeatures.supportsExtendedDynamicState2.enabled
  849. Use the Rasterizer Discard Enable dynamic state from
  850. VK_EXT_extended_dynamic_state2
  851.  
  852. * useResetCommandBufferBitForSecondaryPools (Vulkan workarounds): Disabled
  853. condition: isARM
  854. Use VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT for initializing
  855. SecondaryCommandPools when using VulkanSecondaryCommandBuffer.
  856.  
  857. * useStencilOpDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Enabled
  858. condition: mFeatures.supportsExtendedDynamicState.enabled
  859. Use the Stencil Op dynamic state from VK_EXT_extended_dynamic_state
  860.  
  861. * useStencilTestEnableDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Enabled
  862. condition: mFeatures.supportsExtendedDynamicState.enabled
  863. Use the Stencil Test Enable dynamic state from
  864. VK_EXT_extended_dynamic_state
  865.  
  866. * useVertexInputBindingStrideDynamicState (Vulkan workarounds) (http://anglebug.com/5906): Disabled
  867. condition: mFeatures.supportsExtendedDynamicState.enabled && !mFeatures.supportsVertexInputDynamicState.enabled && dynamicStateWorks
  868. Use the Vertex Input Bininding Stride dynamic state from
  869. VK_EXT_extended_dynamic_state
  870.  
  871. * useVmaForImageSuballocation (Vulkan features): Enabled
  872. condition: true
  873. Utilize VMA for image memory suballocation.
  874.  
  875. * varyingsRequireMatchingPrecisionInSpirv (Vulkan workarounds) (http://anglebug.com/7488): Disabled
  876. condition: isPowerVR
  877. Add additional SPIRV instructions to make sure precision between shader
  878. stages match with each other
  879.  
  880. * waitIdleBeforeSwapchainRecreation (Vulkan workarounds) (http://anglebug.com/5061): Disabled
  881. condition: IsAndroid() && isARM
  882. Before passing an oldSwapchain to VkSwapchainCreateInfoKHR, wait for queue
  883. to be idle. Works around a bug on platforms which destroy oldSwapchain in
  884. vkCreateSwapchainKHR.
  885.  
  886. * warmUpPipelineCacheAtLink (Vulkan features) (http://anglebug.com/5881): Enabled
  887. condition: libraryBlobsAreReusedByMonolithicPipelines && !isQualcommProprietary && !(IsLinux() && isIntel) && !(IsChromeOS() && isSwiftShader)
  888. Warm up the Vulkan pipeline cache at link time
  889.  
  890. Dawn Info
  891. =========
  892.  
  893. <Integrated GPU> Vulkan backend - Intel(R) Graphics (ADL GT2)
  894. --------------------------------------------------------------
  895.  
  896. [WebGPU Status]
  897. ---------------
  898. * Available
  899.  
  900. [Adapter Supported Features]
  901. ----------------------------
  902. * depth-clip-control
  903. * depth32float-stencil8
  904. * timestamp-query
  905. * texture-compression-bc
  906. * texture-compression-etc2
  907. * texture-compression-astc
  908. * indirect-first-instance
  909. * shader-f16
  910. * rg11b10ufloat-renderable
  911. * bgra8unorm-storage
  912. * float32filterable
  913. * dawn-internal-usages
  914. * dawn-multi-planar-formats
  915. * dawn-native
  916. * implicit-device-synchronization
  917. * surface-capabilities
  918. * transient-attachments
  919. * norm16texture-formats
  920. * adapter-properties-memory-heaps
  921. * shared-texture-memory-dma-buf
  922. * shared-texture-memory-opaque-fd
  923. * shared-fence-vk-semaphore-opaque-fd
  924. * shared-fence-vk-semaphore-sync-fd
  925.  
  926. [Enabled Toggle Names]
  927. ----------------------
  928. * lazy_clear_resource_on_first_use:
  929. (https://crbug.com/dawn/145):
  930. Clears resource to zero on first usage. This initializes the resource so
  931. that no dirty bits from recycled memory is present in the new resource.
  932.  
  933. * use_temporary_buffer_in_texture_to_texture_copy:
  934. (https://crbug.com/dawn/42):
  935. Split texture-to-texture copy into two copies: copy from source texture
  936. into a temporary buffer, and copy from the temporary buffer into the
  937. destination texture when copying between compressed textures that don't
  938. have block-aligned sizes. This workaround is enabled by default on all
  939. Vulkan drivers to solve an issue in the Vulkan SPEC about the
  940. texture-to-texture copies with compressed formats. See #1005
  941. (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more
  942. details.
  943.  
  944. * vulkan_use_d32s8:
  945. (https://crbug.com/dawn/286):
  946. Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When
  947. available the backend will use D32S8 (toggle to on) but setting the toggle
  948. to off will make it use the D24S8 format when possible.
  949.  
  950. * vulkan_use_s8:
  951. (https://crbug.com/dawn/666):
  952. Vulkan has a pure stencil8 format but it is not universally available.
  953. When this toggle is on, the backend will use S8 for the stencil8 format,
  954. otherwise it will fallback to D32S8 or D24S8.
  955.  
  956. * use_placeholder_fragment_in_vertex_only_pipeline:
  957. (https://crbug.com/dawn/136):
  958. Use a placeholder empty fragment shader in vertex only render pipeline.
  959. This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and
  960. serves as a workaround by default enabled on some Metal devices with Intel
  961. GPU to ensure the depth result is correct.
  962.  
  963. * timestamp_quantization:
  964. (https://crbug.com/dawn/1800):
  965. Enable timestamp queries quantization to reduce the precision of timers
  966. that can be created with timestamp queries.
  967.  
  968. * use_vulkan_zero_initialize_workgroup_memory_extension:
  969. (https://crbug.com/dawn/1302):
  970. Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan
  971. extension VK_KHR_zero_initialize_workgroup_memory is supported.
  972.  
  973. * disable_sub_allocation_for_2d_texture_with_copy_dst_or_render_attachment:
  974. (https://crbug.com/1237175):
  975. Disable resource sub-allocation for the 2D texture with CopyDst or
  976. RenderAttachment usage. Due to driver issues, this toggle is enabled by
  977. default on D3D12 backends using Intel Gen9.5 or Gen11 GPUs, on Vulkan
  978. backends using Intel Gen12 GPUs, and D3D12 backends using AMD GPUs.
  979.  
  980. * vulkan_use_image_robust_access_2:
  981. (https://crbug.com/tint/1890):
  982. Disable Tint robustness transform on textures when VK_EXT_robustness2 is
  983. supported and robustImageAccess2 == VK_TRUE.
  984.  
  985. * vulkan_use_buffer_robust_access_2:
  986. (https://crbug.com/tint/1890):
  987. Disable index clamping on the runtime-sized arrays on buffers in Tint
  988. robustness transform when VK_EXT_robustness2 is supported and
  989. robustBufferAccess2 == VK_TRUE.
  990.  
  991. [WebGPU Required Toggles - enabled]
  992. -----------------------------------
  993. * timestamp_quantization:
  994. (https://crbug.com/dawn/1800):
  995. Enable timestamp queries quantization to reduce the precision of timers
  996. that can be created with timestamp queries.
  997.  
  998. <Discrete GPU> Vulkan backend - NVIDIA GeForce RTX 3080 Ti Laptop GPU
  999. ----------------------------------------------------------------------
  1000.  
  1001. [WebGPU Status]
  1002. ---------------
  1003. * Available
  1004.  
  1005. [Adapter Supported Features]
  1006. ----------------------------
  1007. * depth-clip-control
  1008. * depth32float-stencil8
  1009. * timestamp-query
  1010. * texture-compression-bc
  1011. * indirect-first-instance
  1012. * rg11b10ufloat-renderable
  1013. * bgra8unorm-storage
  1014. * float32filterable
  1015. * dawn-internal-usages
  1016. * dawn-multi-planar-formats
  1017. * dawn-native
  1018. * implicit-device-synchronization
  1019. * surface-capabilities
  1020. * transient-attachments
  1021. * norm16texture-formats
  1022. * adapter-properties-memory-heaps
  1023. * shared-texture-memory-dma-buf
  1024. * shared-texture-memory-opaque-fd
  1025. * shared-fence-vk-semaphore-opaque-fd
  1026. * shared-fence-vk-semaphore-sync-fd
  1027.  
  1028. [Enabled Toggle Names]
  1029. ----------------------
  1030. * lazy_clear_resource_on_first_use:
  1031. (https://crbug.com/dawn/145):
  1032. Clears resource to zero on first usage. This initializes the resource so
  1033. that no dirty bits from recycled memory is present in the new resource.
  1034.  
  1035. * use_temporary_buffer_in_texture_to_texture_copy:
  1036. (https://crbug.com/dawn/42):
  1037. Split texture-to-texture copy into two copies: copy from source texture
  1038. into a temporary buffer, and copy from the temporary buffer into the
  1039. destination texture when copying between compressed textures that don't
  1040. have block-aligned sizes. This workaround is enabled by default on all
  1041. Vulkan drivers to solve an issue in the Vulkan SPEC about the
  1042. texture-to-texture copies with compressed formats. See #1005
  1043. (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more
  1044. details.
  1045.  
  1046. * vulkan_use_d32s8:
  1047. (https://crbug.com/dawn/286):
  1048. Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When
  1049. available the backend will use D32S8 (toggle to on) but setting the toggle
  1050. to off will make it use the D24S8 format when possible.
  1051.  
  1052. * vulkan_use_s8:
  1053. (https://crbug.com/dawn/666):
  1054. Vulkan has a pure stencil8 format but it is not universally available.
  1055. When this toggle is on, the backend will use S8 for the stencil8 format,
  1056. otherwise it will fallback to D32S8 or D24S8.
  1057.  
  1058. * use_placeholder_fragment_in_vertex_only_pipeline:
  1059. (https://crbug.com/dawn/136):
  1060. Use a placeholder empty fragment shader in vertex only render pipeline.
  1061. This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and
  1062. serves as a workaround by default enabled on some Metal devices with Intel
  1063. GPU to ensure the depth result is correct.
  1064.  
  1065. * timestamp_quantization:
  1066. (https://crbug.com/dawn/1800):
  1067. Enable timestamp queries quantization to reduce the precision of timers
  1068. that can be created with timestamp queries.
  1069.  
  1070. * use_vulkan_zero_initialize_workgroup_memory_extension:
  1071. (https://crbug.com/dawn/1302):
  1072. Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan
  1073. extension VK_KHR_zero_initialize_workgroup_memory is supported.
  1074.  
  1075. * vulkan_use_image_robust_access_2:
  1076. (https://crbug.com/tint/1890):
  1077. Disable Tint robustness transform on textures when VK_EXT_robustness2 is
  1078. supported and robustImageAccess2 == VK_TRUE.
  1079.  
  1080. * vulkan_use_buffer_robust_access_2:
  1081. (https://crbug.com/tint/1890):
  1082. Disable index clamping on the runtime-sized arrays on buffers in Tint
  1083. robustness transform when VK_EXT_robustness2 is supported and
  1084. robustBufferAccess2 == VK_TRUE.
  1085.  
  1086. [WebGPU Required Toggles - enabled]
  1087. -----------------------------------
  1088. * timestamp_quantization:
  1089. (https://crbug.com/dawn/1800):
  1090. Enable timestamp queries quantization to reduce the precision of timers
  1091. that can be created with timestamp queries.
  1092.  
  1093. <CPU> Vulkan backend - llvmpipe (LLVM 17.0.6, 256 bits)
  1094. --------------------------------------------------------
  1095.  
  1096. [WebGPU Status]
  1097. ---------------
  1098. * Blocklisted
  1099.  
  1100. [Adapter Supported Features]
  1101. ----------------------------
  1102. * depth-clip-control
  1103. * depth32float-stencil8
  1104. * timestamp-query
  1105. * texture-compression-bc
  1106. * indirect-first-instance
  1107. * shader-f16
  1108. * rg11b10ufloat-renderable
  1109. * bgra8unorm-storage
  1110. * float32filterable
  1111. * dawn-internal-usages
  1112. * dawn-multi-planar-formats
  1113. * dawn-native
  1114. * implicit-device-synchronization
  1115. * surface-capabilities
  1116. * transient-attachments
  1117. * adapter-properties-memory-heaps
  1118. * shared-texture-memory-opaque-fd
  1119.  
  1120. [Enabled Toggle Names]
  1121. ----------------------
  1122. * lazy_clear_resource_on_first_use:
  1123. (https://crbug.com/dawn/145):
  1124. Clears resource to zero on first usage. This initializes the resource so
  1125. that no dirty bits from recycled memory is present in the new resource.
  1126.  
  1127. * use_temporary_buffer_in_texture_to_texture_copy:
  1128. (https://crbug.com/dawn/42):
  1129. Split texture-to-texture copy into two copies: copy from source texture
  1130. into a temporary buffer, and copy from the temporary buffer into the
  1131. destination texture when copying between compressed textures that don't
  1132. have block-aligned sizes. This workaround is enabled by default on all
  1133. Vulkan drivers to solve an issue in the Vulkan SPEC about the
  1134. texture-to-texture copies with compressed formats. See #1005
  1135. (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more
  1136. details.
  1137.  
  1138. * vulkan_use_d32s8:
  1139. (https://crbug.com/dawn/286):
  1140. Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When
  1141. available the backend will use D32S8 (toggle to on) but setting the toggle
  1142. to off will make it use the D24S8 format when possible.
  1143.  
  1144. * vulkan_use_s8:
  1145. (https://crbug.com/dawn/666):
  1146. Vulkan has a pure stencil8 format but it is not universally available.
  1147. When this toggle is on, the backend will use S8 for the stencil8 format,
  1148. otherwise it will fallback to D32S8 or D24S8.
  1149.  
  1150. * use_placeholder_fragment_in_vertex_only_pipeline:
  1151. (https://crbug.com/dawn/136):
  1152. Use a placeholder empty fragment shader in vertex only render pipeline.
  1153. This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and
  1154. serves as a workaround by default enabled on some Metal devices with Intel
  1155. GPU to ensure the depth result is correct.
  1156.  
  1157. * timestamp_quantization:
  1158. (https://crbug.com/dawn/1800):
  1159. Enable timestamp queries quantization to reduce the precision of timers
  1160. that can be created with timestamp queries.
  1161.  
  1162. * use_vulkan_zero_initialize_workgroup_memory_extension:
  1163. (https://crbug.com/dawn/1302):
  1164. Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan
  1165. extension VK_KHR_zero_initialize_workgroup_memory is supported.
  1166.  
  1167. * vulkan_use_image_robust_access_2:
  1168. (https://crbug.com/tint/1890):
  1169. Disable Tint robustness transform on textures when VK_EXT_robustness2 is
  1170. supported and robustImageAccess2 == VK_TRUE.
  1171.  
  1172. * vulkan_use_buffer_robust_access_2:
  1173. (https://crbug.com/tint/1890):
  1174. Disable index clamping on the runtime-sized arrays on buffers in Tint
  1175. robustness transform when VK_EXT_robustness2 is supported and
  1176. robustBufferAccess2 == VK_TRUE.
  1177.  
  1178. [WebGPU Required Toggles - enabled]
  1179. -----------------------------------
  1180. * timestamp_quantization:
  1181. (https://crbug.com/dawn/1800):
  1182. Enable timestamp queries quantization to reduce the precision of timers
  1183. that can be created with timestamp queries.
  1184.  
  1185. <CPU> Vulkan backend - SwiftShader Device (Subzero)
  1186. ----------------------------------------------------
  1187.  
  1188. [WebGPU Status]
  1189. ---------------
  1190. * Blocklisted
  1191.  
  1192. [Adapter Supported Features]
  1193. ----------------------------
  1194. * depth-clip-control
  1195. * depth32float-stencil8
  1196. * timestamp-query
  1197. * texture-compression-bc
  1198. * texture-compression-etc2
  1199. * texture-compression-astc
  1200. * indirect-first-instance
  1201. * rg11b10ufloat-renderable
  1202. * bgra8unorm-storage
  1203. * float32filterable
  1204. * dawn-internal-usages
  1205. * dawn-multi-planar-formats
  1206. * dawn-native
  1207. * implicit-device-synchronization
  1208. * surface-capabilities
  1209. * transient-attachments
  1210. * adapter-properties-memory-heaps
  1211. * shared-texture-memory-opaque-fd
  1212. * shared-fence-vk-semaphore-opaque-fd
  1213.  
  1214. [Enabled Toggle Names]
  1215. ----------------------
  1216. * lazy_clear_resource_on_first_use:
  1217. (https://crbug.com/dawn/145):
  1218. Clears resource to zero on first usage. This initializes the resource so
  1219. that no dirty bits from recycled memory is present in the new resource.
  1220.  
  1221. * use_temporary_buffer_in_texture_to_texture_copy:
  1222. (https://crbug.com/dawn/42):
  1223. Split texture-to-texture copy into two copies: copy from source texture
  1224. into a temporary buffer, and copy from the temporary buffer into the
  1225. destination texture when copying between compressed textures that don't
  1226. have block-aligned sizes. This workaround is enabled by default on all
  1227. Vulkan drivers to solve an issue in the Vulkan SPEC about the
  1228. texture-to-texture copies with compressed formats. See #1005
  1229. (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more
  1230. details.
  1231.  
  1232. * vulkan_use_d32s8:
  1233. (https://crbug.com/dawn/286):
  1234. Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When
  1235. available the backend will use D32S8 (toggle to on) but setting the toggle
  1236. to off will make it use the D24S8 format when possible.
  1237.  
  1238. * vulkan_use_s8:
  1239. (https://crbug.com/dawn/666):
  1240. Vulkan has a pure stencil8 format but it is not universally available.
  1241. When this toggle is on, the backend will use S8 for the stencil8 format,
  1242. otherwise it will fallback to D32S8 or D24S8.
  1243.  
  1244. * use_placeholder_fragment_in_vertex_only_pipeline:
  1245. (https://crbug.com/dawn/136):
  1246. Use a placeholder empty fragment shader in vertex only render pipeline.
  1247. This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and
  1248. serves as a workaround by default enabled on some Metal devices with Intel
  1249. GPU to ensure the depth result is correct.
  1250.  
  1251. * timestamp_quantization:
  1252. (https://crbug.com/dawn/1800):
  1253. Enable timestamp queries quantization to reduce the precision of timers
  1254. that can be created with timestamp queries.
  1255.  
  1256. * use_vulkan_zero_initialize_workgroup_memory_extension:
  1257. (https://crbug.com/dawn/1302):
  1258. Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan
  1259. extension VK_KHR_zero_initialize_workgroup_memory is supported.
  1260.  
  1261. [WebGPU Required Toggles - enabled]
  1262. -----------------------------------
  1263. * timestamp_quantization:
  1264. (https://crbug.com/dawn/1800):
  1265. Enable timestamp queries quantization to reduce the precision of timers
  1266. that can be created with timestamp queries.
  1267.  
  1268. Version Information
  1269. ===================
  1270. Data exported : 2024-04-03T03:46:09.721Z
  1271. Chrome version : Chrome/123.0.6312.105
  1272. Operating system : Linux 6.7.11-200.fc39.x86_64
  1273. Software rendering list URL: https://chromium.googlesource.com/chromium/src/+/399174dbe6eff0f59de9a6096129c0c827002b3a/gpu/config/software_rendering_list.json
  1274. Driver bug list URL : https://chromium.googlesource.com/chromium/src/+/399174dbe6eff0f59de9a6096129c0c827002b3a/gpu/config/gpu_driver_bug_list.json
  1275. ANGLE commit id : bbf1e1ea6bcf
  1276. 2D graphics backend : Skia/123 3d4e45907f9b239a54957001d619d2d4a6ca06b4
  1277. Command Line : /usr/bin/google-chrome-stable --enable-features=Vulkan --enable-unsafe-webgpu --flag-switches-begin --enable-unsafe-webgpu --flag-switches-end
  1278.  
  1279. Driver Information
  1280. ==================
  1281. Initialization time : 228
  1282. In-process GPU : false
  1283. Passthrough Command Decoder : true
  1284. Sandboxed : false
  1285. GPU0 : VENDOR= 0xffff [Google Inc. (Google)], DEVICE=0xffff [ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver-5.0.0)], DRIVER_VENDOR=SwANGLE, DRIVER_VERSION=5.0.0 *ACTIVE*
  1286. Optimus : false
  1287. AMD switchable : false
  1288. GPU CUDA compute capability major version: 0
  1289. Pixel shader version : 1.00
  1290. Vertex shader version : 1.00
  1291. Max. MSAA samples : 4
  1292. Machine model name :
  1293. Machine model version :
  1294. GL implementation parts : (gl=egl-angle,angle=swiftshader)
  1295. Display type : ANGLE_SWIFTSHADER
  1296. GL_VENDOR : Google Inc. (Google)
  1297. GL_RENDERER : ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver-5.0.0)
  1298. GL_VERSION : OpenGL ES 2.0.0 (ANGLE 2.1.22631 git hash: bbf1e1ea6bcf)
  1299. GL_EXTENSIONS : GL_AMD_performance_monitor GL_ANGLE_base_vertex_base_instance GL_ANGLE_base_vertex_base_instance_shader_builtin GL_ANGLE_client_arrays GL_ANGLE_compressed_texture_etc GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_image GL_ANGLE_get_serialized_context_string GL_ANGLE_get_tex_level_parameter GL_ANGLE_instanced_arrays GL_ANGLE_memory_object_flags GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_pack_reverse_row_order GL_ANGLE_polygon_mode GL_ANGLE_program_cache_control GL_ANGLE_read_only_depth_stencil_feedback_loops GL_ANGLE_relaxed_vertex_attribute_type GL_ANGLE_request_extension GL_ANGLE_rgbx_internal_format GL_ANGLE_robust_client_memory GL_ANGLE_robust_fragment_shader_output GL_ANGLE_robust_resource_initialization GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_ANGLE_vulkan_image GL_APPLE_clip_distance GL_ARM_shader_framebuffer_fetch GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_EXT_EGL_image_external_wrap_modes GL_EXT_base_instance GL_EXT_blend_minmax GL_EXT_buffer_storage GL_EXT_clip_control GL_EXT_color_buffer_half_float GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_clamp GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_multi_draw_indirect GL_EXT_occlusion_query_boolean GL_EXT_polygon_offset_clamp GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_semaphore GL_EXT_semaphore_fd GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_non_constant_global_initializers GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_texture_border_clamp GL_EXT_texture_compression_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_mirror_clamp_to_edge GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_type_2_10_10_10_REV GL_EXT_unpack_subimage GL_KHR_blend_equation_advanced GL_KHR_debug GL_KHR_robust_buffer_access_behavior GL_KHR_texture_compression_astc_ldr GL_NV_depth_buffer_float2 GL_NV_fence GL_NV_framebuffer_blit GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_NV_polygon_mode GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_compressed_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_primitive_bounding_box GL_OES_rgb8_rgba8 GL_OES_sample_shading GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_3D GL_OES_texture_border_clamp GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object GL_OES_vertex_half_float
  1300. Disabled Extensions :
  1301. Disabled WebGL Extensions :
  1302. Window system binding vendor : Google Inc. (Google)
  1303. Window system binding version : 1.5 (ANGLE 2.1.22631 git hash: bbf1e1ea6bcf)
  1304. Window system binding extensions: EGL_EXT_create_context_robustness EGL_ANGLE_surface_orientation EGL_KHR_create_context EGL_KHR_image EGL_KHR_image_base EGL_EXT_image_gl_colorspace EGL_KHR_gl_colorspace EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_display_semaphore_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_create_context_backwards_compatible EGL_KHR_no_config_context EGL_IMG_context_priority EGL_KHR_create_context_no_error EGL_KHR_reusable_sync EGL_EXT_buffer_age EGL_ANGLE_create_surface_swap_interval EGL_ANGLE_vulkan_image EGL_KHR_partial_update EGL_ANGLE_global_fence_sync
  1305. XDG_CURRENT_DESKTOP : XFCE
  1306. XDG_SESSION_TYPE : x11
  1307. GDMSESSION : xfce
  1308. Ozone platform : x11
  1309. Direct rendering version : unknown
  1310. Reset notification strategy : 0x8252
  1311. GPU process crash count : 0
  1312. gfx::BufferFormats supported for allocation and texturing: R_8: supported, R_16: supported, RG_88: supported, RG_1616: supported, BGR_565: supported, RGBA_4444: supported, RGBX_8888: supported, RGBA_8888: supported, BGRX_8888: supported, BGRA_1010102: supported, RGBA_1010102: supported, BGRA_8888: supported, RGBA_F16: supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, YUVA_420_TRIPLANAR: supported, P010: not supported
  1313.  
  1314. Compositor Information
  1315. ======================
  1316. Tile Update Mode: One-copy
  1317. Partial Raster : Enabled
  1318.  
  1319. GpuMemoryBuffers Status
  1320. =======================
  1321. R_8 : Software only
  1322. R_16 : Software only
  1323. RG_88 : Software only
  1324. RG_1616 : Software only
  1325. BGR_565 : Software only
  1326. RGBA_4444 : Software only
  1327. RGBX_8888 : Software only
  1328. RGBA_8888 : Software only
  1329. BGRX_8888 : Software only
  1330. BGRA_1010102 : Software only
  1331. RGBA_1010102 : Software only
  1332. BGRA_8888 : Software only
  1333. RGBA_F16 : Software only
  1334. YVU_420 : Software only
  1335. YUV_420_BIPLANAR : Software only
  1336. YUVA_420_TRIPLANAR: Software only
  1337. P010 : Software only
  1338.  
  1339. Display(s) Information
  1340. ======================
  1341. Info : Display[1881264395124803] bounds=[0,0 1707x1067], workarea=[0,0 1707x1030], scale=1.5, rotation=0, panel_rotation=0 internal detected
  1342. Color space (all) : {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
  1343. Buffer format (all) : BGRA_8888
  1344. Color volume : {name:'srgb', r:[0.6400, 0.3300], g:[0.3000, 0.6000], b:[0.1500, 0.3300], w:[0.3127, 0.3290]}
  1345. SDR white level in nits : 203
  1346. HDR relative maximum luminance: 1
  1347. Bits per color component : 8
  1348. Bits per pixel : 24
  1349. Refresh Rate in Hz : 165.0399932861328
  1350.  
  1351. Video Acceleration Information
  1352. ==============================
  1353. Decoding:
  1354. Encoding:
  1355.  
  1356. Vulkan Information
  1357. ==================
  1358.  
  1359. Device Performance Information
  1360. ==============================
  1361.  
  1362. Log Messages
  1363. ============
  1364. [21840:21840:0403/054549.921394:ERROR:angle_platform_impl.cc(44)] : Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  1365. [21840:21840:0403/054549.921555:ERROR:gl_display.cc(515)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  1366. [21840:21840:0403/054549.921584:ERROR:gl_display.cc(786)] : eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
  1367. [21840:21840:0403/054549.922029:ERROR:angle_platform_impl.cc(44)] : Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  1368. [21840:21840:0403/054549.922068:ERROR:gl_display.cc(515)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  1369. [21840:21840:0403/054549.922093:ERROR:gl_display.cc(786)] : eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
  1370. [21840:21840:0403/054549.922118:ERROR:gl_display.cc(820)] : Initialization of all EGL display types failed.
  1371. [21840:21840:0403/054549.922154:ERROR:gl_ozone_egl.cc(26)] : GLDisplayEGL::Initialize failed.
  1372. [21840:21840:0403/054549.981001:ERROR:angle_platform_impl.cc(44)] : Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  1373. [21840:21840:0403/054549.981188:ERROR:gl_display.cc(515)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  1374. [21840:21840:0403/054549.981348:ERROR:gl_display.cc(786)] : eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
  1375. [21840:21840:0403/054549.981729:ERROR:angle_platform_impl.cc(44)] : Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  1376. [21840:21840:0403/054549.981793:ERROR:gl_display.cc(515)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  1377. [21840:21840:0403/054549.981819:ERROR:gl_display.cc(786)] : eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
  1378. [21840:21840:0403/054549.981848:ERROR:gl_display.cc(820)] : Initialization of all EGL display types failed.
  1379. [21840:21840:0403/054549.981878:ERROR:gl_ozone_egl.cc(26)] : GLDisplayEGL::Initialize failed.
  1380. [21840:21840:0403/054549.983441:ERROR:viz_main_impl.cc(196)] : Exiting GPU process due to errors during initialization
  1381. GpuProcessHost: The GPU process exited normally. Everything is okay.
  1382. [22024:22024:0403/054550.176572:ERROR:angle_platform_impl.cc(44)] : Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  1383. [22024:22024:0403/054550.176810:ERROR:gl_display.cc(515)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  1384. [22024:22024:0403/054550.176840:ERROR:gl_display.cc(786)] : eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
  1385. [22024:22024:0403/054550.177338:ERROR:angle_platform_impl.cc(44)] : Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  1386. [22024:22024:0403/054550.177530:ERROR:gl_display.cc(515)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  1387. [22024:22024:0403/054550.177562:ERROR:gl_display.cc(786)] : eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
  1388. [22024:22024:0403/054550.177592:ERROR:gl_display.cc(820)] : Initialization of all EGL display types failed.
  1389. [22024:22024:0403/054550.177621:ERROR:gl_ozone_egl.cc(26)] : GLDisplayEGL::Initialize failed.
  1390. [22024:22024:0403/054550.240933:ERROR:angle_platform_impl.cc(44)] : Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  1391. [22024:22024:0403/054550.241167:ERROR:gl_display.cc(515)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  1392. [22024:22024:0403/054550.241335:ERROR:gl_display.cc(786)] : eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
  1393. [22024:22024:0403/054550.241874:ERROR:angle_platform_impl.cc(44)] : Display.cpp:1070 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  1394. [22024:22024:0403/054550.241934:ERROR:gl_display.cc(515)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  1395. [22024:22024:0403/054550.241970:ERROR:gl_display.cc(786)] : eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
  1396. [22024:22024:0403/054550.242148:ERROR:gl_display.cc(820)] : Initialization of all EGL display types failed.
  1397. [22024:22024:0403/054550.242178:ERROR:gl_ozone_egl.cc(26)] : GLDisplayEGL::Initialize failed.
  1398. [22024:22024:0403/054550.244035:ERROR:viz_main_impl.cc(196)] : Exiting GPU process due to errors during initialization
  1399. GpuProcessHost: The GPU process exited normally. Everything is okay.
  1400. [22035:22035:0403/054550.481695:WARNING:sandbox_linux.cc(418)] : InitializeSandbox() called with multiple threads in process gpu-process.
  1401. [22035:22035:0403/054550.543901:ERROR:gl_utils.cc(424)] : [.WebGL-0x1920004b1c00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
  1402. [22035:22035:0403/054550.614850:ERROR:gl_utils.cc(424)] : [.WebGL-0x1920004b1c00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
  1403. [22035:22035:0403/054550.642221:ERROR:gl_utils.cc(424)] : [.WebGL-0x1920004b1c00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement