blob: 3efcc4506a4b77ca33015eabf90434970dfa5c79 [file] [log] [blame] [edit]
// 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_AUTOGEN_FEATURESMTL_H_
#define ANGLE_PLATFORM_AUTOGEN_FEATURESMTL_H_
#include "platform/Feature.h"
namespace angle
{
struct FeaturesMtl : FeatureSetBase
{
FeaturesMtl();
~FeaturesMtl();
FeatureInfo hasBaseVertexInstancedDraw = {
"hasBaseVertexInstancedDraw",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo hasExplicitMemBarrier = {
"hasExplicitMemBarrier",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo hasCheapRenderPass = {
"hasCheapRenderPass",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo hasNonUniformDispatch = {
"hasNonUniformDispatch",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo hasShaderStencilOutput = {
"hasShaderStencilOutput",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo hasTextureSwizzle = {
"hasTextureSwizzle",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo hasDepthAutoResolve = {
"hasDepthAutoResolve",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo hasStencilAutoResolve = {
"hasStencilAutoResolve",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo hasEvents = {
"hasEvents",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo allowInlineConstVertexData = {
"allowInlineConstVertexData",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo allowSeparateDepthStencilBuffers = {
"allowSeparateDepthStencilBuffers",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo allowRuntimeSamplerCompareMode = {
"allowRuntimeSamplerCompareMode",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo allowSamplerCompareGradient = {
"allowSamplerCompareGradient",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo allowBufferReadWrite = {
"allowBufferReadWrite",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo allowMultisampleStoreAndResolve = {
"allowMultisampleStoreAndResolve",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo allowGenMultipleMipsPerPass = {
"allowGenMultipleMipsPerPass",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo forceD24S8AsUnsupported = {
"forceD24S8AsUnsupported",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo forceBufferGPUStorage = {
"forceBufferGPUStorage",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo forceNonCSBaseMipmapGeneration = {
"forceNonCSBaseMipmapGeneration",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo emulateTransformFeedback = {
"emulateTransformFeedback",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo allowRenderpassWithoutAttachment = {
"allowRenderpassWithoutAttachment",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo avoidStencilTextureSwizzle = {
"avoidStencilTextureSwizzle",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo emulateAlphaToCoverage = {
"emulateAlphaToCoverage",
FeatureCategory::MetalWorkarounds,
&members,
};
FeatureInfo writeHelperSampleMask = {
"writeHelperSampleMask",
FeatureCategory::MetalWorkarounds,
&members,
};
FeatureInfo preTransformTextureCubeGradDerivatives = {
"preTransformTextureCubeGradDerivatives",
FeatureCategory::MetalWorkarounds,
&members,
};
FeatureInfo multisampleColorFormatShaderReadWorkaround = {
"multisampleColorFormatShaderReadWorkaround",
FeatureCategory::MetalWorkarounds,
&members,
};
FeatureInfo copyIOSurfaceToNonIOSurfaceForReadOptimization = {
"copyIOSurfaceToNonIOSurfaceForReadOptimization",
FeatureCategory::MetalWorkarounds,
&members,
};
FeatureInfo copyTextureToBufferForReadOptimization = {
"copyTextureToBufferForReadOptimization",
FeatureCategory::MetalWorkarounds,
&members,
};
FeatureInfo limitMaxDrawBuffersForTesting = {
"limitMaxDrawBuffersForTesting",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo limitMaxColorTargetBitsForTesting = {
"limitMaxColorTargetBitsForTesting",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo preemptivelyStartProvokingVertexCommandBuffer = {
"preemptivelyStartProvokingVertexCommandBuffer",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo uploadDataToIosurfacesWithStagingBuffers = {
"uploadDataToIosurfacesWithStagingBuffers",
FeatureCategory::MetalWorkarounds,
&members,
};
FeatureInfo alwaysUseStagedBufferUpdates = {
"alwaysUseStagedBufferUpdates",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo useShadowBuffersWhenAppropriate = {
"useShadowBuffersWhenAppropriate",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo alwaysUseManagedStorageModeForBuffers = {
"alwaysUseManagedStorageModeForBuffers",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo alwaysUseSharedStorageModeForBuffers = {
"alwaysUseSharedStorageModeForBuffers",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo preferCpuForBuffersubdata = {
"preferCpuForBuffersubdata",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo disableProgrammableBlending = {
"disableProgrammableBlending",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo disableRWTextureTier2Support = {
"disableRWTextureTier2Support",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo disableRasterOrderGroups = {
"disableRasterOrderGroups",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo enableInMemoryMtlLibraryCache = {
"enableInMemoryMtlLibraryCache",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo enableParallelMtlLibraryCompilation = {
"enableParallelMtlLibraryCompilation",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo alwaysPreferStagedTextureUploads = {
"alwaysPreferStagedTextureUploads",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo disableStagedInitializationOfPackedTextureFormats = {
"disableStagedInitializationOfPackedTextureFormats",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo generateShareableShaders = {
"generateShareableShaders",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo disableMetalOnNvidia = {
"disableMetalOnNvidia",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo flushAfterStreamVertexData = {
"flushAfterStreamVertexData",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo requireGpuFamily2 = {
"requireGpuFamily2",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo rescopeGlobalVariables = {
"rescopeGlobalVariables",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo enableMultisampledRenderToTextureOnNonTilers = {
"enableMultisampledRenderToTextureOnNonTilers",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo emulateDontCareLoadWithRandomClear = {
"emulateDontCareLoadWithRandomClear",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo injectAsmStatementIntoLoopBodies = {
"injectAsmStatementIntoLoopBodies",
FeatureCategory::MetalFeatures,
&members,
};
FeatureInfo ensureLoopForwardProgress = {
"ensureLoopForwardProgress",
FeatureCategory::MetalFeatures,
&members,
};
};
inline FeaturesMtl::FeaturesMtl() = default;
inline FeaturesMtl::~FeaturesMtl() = default;
} // namespace angle
#endif // ANGLE_PLATFORM_AUTOGEN_FEATURESMTL_H_