From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- .../include/platform/FeaturesMtl_autogen.h | 242 +++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 gfx/angle/checkout/include/platform/FeaturesMtl_autogen.h (limited to 'gfx/angle/checkout/include/platform/FeaturesMtl_autogen.h') diff --git a/gfx/angle/checkout/include/platform/FeaturesMtl_autogen.h b/gfx/angle/checkout/include/platform/FeaturesMtl_autogen.h new file mode 100644 index 0000000000..116a0ee8d7 --- /dev/null +++ b/gfx/angle/checkout/include/platform/FeaturesMtl_autogen.h @@ -0,0 +1,242 @@ +// GENERATED FILE - DO NOT EDIT. +// Generated by gen_features.py using data from mtl_features.json. +// +// Copyright 2022 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// FeaturesMtl_autogen.h: Optional features for the Metal renderer. + +#ifndef ANGLE_PLATFORM_FEATURESMTL_H_ +#define ANGLE_PLATFORM_FEATURESMTL_H_ + +#include "platform/Feature.h" + +namespace angle +{ + +struct FeaturesMtl : FeatureSetBase +{ + FeaturesMtl(); + ~FeaturesMtl(); + + FeatureInfo hasBaseVertexInstancedDraw = { + "hasBaseVertexInstancedDraw", + FeatureCategory::MetalFeatures, + "The renderer supports base vertex instanced draw", + &members, + }; + + FeatureInfo hasExplicitMemBarrier = { + "hasExplicitMemBarrier", + FeatureCategory::MetalFeatures, + "The renderer supports explicit memory barrier", + &members, + }; + + FeatureInfo hasCheapRenderPass = { + "hasCheapRenderPass", + FeatureCategory::MetalFeatures, + "The renderer can cheaply break a render pass.", + &members, + }; + + FeatureInfo hasNonUniformDispatch = { + "hasNonUniformDispatch", + FeatureCategory::MetalFeatures, + "The renderer supports non uniform compute shader dispatch's group size", + &members, + }; + + FeatureInfo hasShaderStencilOutput = { + "hasShaderStencilOutput", + FeatureCategory::MetalFeatures, + "The renderer supports stencil output from fragment shader", + &members, + }; + + FeatureInfo hasTextureSwizzle = { + "hasTextureSwizzle", + FeatureCategory::MetalFeatures, + "The renderer supports texture swizzle", + &members, + }; + + FeatureInfo hasDepthAutoResolve = { + "hasDepthAutoResolve", + FeatureCategory::MetalFeatures, + "The renderer supports MSAA depth auto resolve at the end of render pass", + &members, + }; + + FeatureInfo hasStencilAutoResolve = { + "hasStencilAutoResolve", + FeatureCategory::MetalFeatures, + "The renderer supports MSAA stencil auto resolve at the end of render pass", + &members, + }; + + FeatureInfo hasEvents = { + "hasEvents", + FeatureCategory::MetalFeatures, + "The renderer supports MTL(Shared)Event", + &members, + }; + + FeatureInfo allowInlineConstVertexData = { + "allowInlineConstVertexData", + FeatureCategory::MetalFeatures, + "The renderer supports using inline constant data for small client vertex data", + &members, + }; + + FeatureInfo allowSeparateDepthStencilBuffers = { + "allowSeparateDepthStencilBuffers", + FeatureCategory::MetalFeatures, + "Some Apple platforms such as iOS allows separate depth and stencil buffers, " + "whereas others such as macOS don't", + &members, + }; + + FeatureInfo allowRuntimeSamplerCompareMode = { + "allowRuntimeSamplerCompareMode", + FeatureCategory::MetalFeatures, + "The renderer supports changing sampler's compare mode outside shaders", + &members, + }; + + FeatureInfo allowSamplerCompareGradient = { + "allowSamplerCompareGradient", + FeatureCategory::MetalFeatures, + "The renderer supports sample_compare with gradients", + &members, + }; + + FeatureInfo allowSamplerCompareLod = { + "allowSamplerCompareLod", + FeatureCategory::MetalFeatures, + "The renderer supports sample_compare with lod", + &members, + }; + + FeatureInfo allowBufferReadWrite = { + "allowBufferReadWrite", + FeatureCategory::MetalFeatures, + "The renderer supports buffer read and write in the same shader", + &members, + }; + + FeatureInfo allowMultisampleStoreAndResolve = { + "allowMultisampleStoreAndResolve", + FeatureCategory::MetalFeatures, + "The renderer supports MSAA store and resolve in the same pass", + &members, + }; + + FeatureInfo allowGenMultipleMipsPerPass = { + "allowGenMultipleMipsPerPass", + FeatureCategory::MetalFeatures, + "The renderer supports generating multiple mipmaps per pass", + &members, + }; + + FeatureInfo forceD24S8AsUnsupported = { + "forceD24S8AsUnsupported", + FeatureCategory::MetalFeatures, + "Force Depth24Stencil8 format as unsupported.", + &members, + }; + + FeatureInfo forceBufferGPUStorage = { + "forceBufferGPUStorage", + FeatureCategory::MetalFeatures, + "On systems that support both buffer' memory allocation on GPU and shared memory (such as " + "macOS), force using GPU memory allocation for buffers everytime or not.", + &members, + }; + + FeatureInfo directMetalGeneration = {"directMetalGeneration", FeatureCategory::MetalFeatures, + "Direct translation to Metal.", &members, + "http://anglebug.com/5505"}; + + FeatureInfo forceNonCSBaseMipmapGeneration = { + "forceNonCSBaseMipmapGeneration", + FeatureCategory::MetalFeatures, + "Turn this feature on to disallow Compute Shader based mipmap generation. Compute Shader " + "based mipmap generation might cause GPU hang on some older iOS devices.", + &members, + }; + + FeatureInfo emulateTransformFeedback = { + "emulateTransformFeedback", + FeatureCategory::MetalFeatures, + "Turn this on to allow transform feedback in Metal using a 2-pass VS for GLES3.", + &members, + }; + + FeatureInfo rewriteRowMajorMatrices = { + "rewriteRowMajorMatrices", + FeatureCategory::MetalFeatures, + "Rewrite row major matrices in shaders as column major.", + &members, + }; + + FeatureInfo intelExplicitBoolCastWorkaround = { + "intelExplicitBoolCastWorkaround", + FeatureCategory::MetalWorkarounds, + "Insert explicit casts for float/double/unsigned/signed int on macOS 10.15 with Intel " + "driver", + &members, + }; + + FeatureInfo intelDisableFastMath = { + "intelDisableFastMath", + FeatureCategory::MetalWorkarounds, + "Disable fast math in atan and invariance cases when running below macOS 12.0", + &members, + }; + + FeatureInfo multisampleColorFormatShaderReadWorkaround = { + "multisampleColorFormatShaderReadWorkaround", FeatureCategory::MetalWorkarounds, + "Add shaderRead usage to some multisampled texture formats", &members, + "http://anglebug.com/7049"}; + + FeatureInfo copyIOSurfaceToNonIOSurfaceForReadOptimization = { + "copyIOSurfaceToNonIOSurfaceForReadOptimization", FeatureCategory::MetalWorkarounds, + "some GPUs are faster to read an IOSurface texture by first copying the texture to a " + "non-IOSurface texture", + &members, "http://anglebug.com/7117 http://anglebug.com/7573"}; + + FeatureInfo copyTextureToBufferForReadOptimization = { + "copyTextureToBufferForReadOptimization", FeatureCategory::MetalWorkarounds, + "some GPUs are faster to read a texture by first copying the texture to a buffer", &members, + "http://anglebug.com/7117"}; + + FeatureInfo limitMaxDrawBuffersForTesting = { + "limitMaxDrawBuffersForTesting", FeatureCategory::MetalFeatures, + "Used to check the backend works when the device's advertized limit is less than the " + "code's limit", + &members, "http://anglebug.com/7280"}; + + FeatureInfo limitMaxColorTargetBitsForTesting = { + "limitMaxColorTargetBitsForTesting", FeatureCategory::MetalFeatures, + "Metal iOS has a limit on the number of color target bits per pixel.", &members, + "http://anglebug.com/7280"}; + + FeatureInfo preemptivelyStartProvokingVertexCommandBuffer = { + "preemptivelyStartProvokingVertexCommandBuffer", FeatureCategory::MetalFeatures, + "AMD Metal Drivers appear to have a bug this works around", &members, + "http://anglebug.com/7635"}; + + FeatureInfo uploadDataToIosurfacesWithStagingBuffers = { + "uploadDataToIosurfacesWithStagingBuffers", FeatureCategory::MetalWorkarounds, + "When uploading data to IOSurface-backed textures, use a staging buffer.", &members, + "http://anglebug.com/7573"}; +}; + +inline FeaturesMtl::FeaturesMtl() = default; +inline FeaturesMtl::~FeaturesMtl() = default; + +} // namespace angle + +#endif // ANGLE_PLATFORM_FEATURESMTL_H_ -- cgit v1.2.3