src/ngfx/porting/metal/MTLGraphicsCoreDefines.h
Namespaces
Name |
---|
ngfx |
Source code
/*
* Copyright 2020 GoPro Inc.
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
#pragma once
namespace ngfx {
enum MTLPrimitiveType {
MTLPrimitiveTypePoint = 0,
MTLPrimitiveTypeLine = 1,
MTLPrimitiveTypeLineStrip = 2,
MTLPrimitiveTypeTriangle = 3,
MTLPrimitiveTypeTriangleStrip = 4
};
enum MTLTriangleFillMode {
MTLTriangleFillModeFill = 0,
MTLTriangleFillModeLines = 1
};
enum MTLBlendFactor {
MTLBlendFactorZero = 0,
MTLBlendFactorOne = 1,
MTLBlendFactorSourceColor = 2,
MTLBlendFactorOneMinusSourceColor = 3,
MTLBlendFactorSourceAlpha = 4,
MTLBlendFactorOneMinusSourceAlpha = 5,
MTLBlendFactorDestinationColor = 6,
MTLBlendFactorOneMinusDestinationColor = 7,
MTLBlendFactorDestinationAlpha = 8,
MTLBlendFactorOneMinusDestinationAlpha = 9,
MTLBlendFactorSourceAlphaSaturated = 10,
MTLBlendFactorBlendColor = 11,
MTLBlendFactorOneMinusBlendColor = 12,
MTLBlendFactorBlendAlpha = 13,
MTLBlendFactorOneMinusBlendAlpha = 14
};
enum MTLBlendOperation {
MTLBlendOperationAdd = 0,
MTLBlendOperationSubtract = 1,
MTLBlendOperationReverseSubtract = 2,
MTLBlendOperationMin = 3,
MTLBlendOperationMax = 4,
};
enum MTLColorWriteMask {
MTLColorWriteMaskNone = 0,
MTLColorWriteMaskRed = 0x1 << 3,
MTLColorWriteMaskGreen = 0x1 << 2,
MTLColorWriteMaskBlue = 0x1 << 1,
MTLColorWriteMaskAlpha = 0x1 << 0,
MTLColorWriteMaskAll = 0xf
};
enum MTLCullMode {
MTLCullModeNone = 0,
MTLCullModeFront = 1,
MTLCullModeBack = 2
};
enum MTLWinding { MTLWindingClockwise = 0, MTLWindingCounterClockwise = 1 };
enum MTLPixelFormat {
MTLPixelFormatInvalid = 0,
/* Normal 8 bit formats */
MTLPixelFormatA8Unorm = 1,
MTLPixelFormatR8Unorm = 10,
MTLPixelFormatR8Unorm_sRGB = 11,
MTLPixelFormatR8Snorm = 12,
MTLPixelFormatR8Uint = 13,
MTLPixelFormatR8Sint = 14,
/* Normal 16 bit formats */
MTLPixelFormatR16Unorm = 20,
MTLPixelFormatR16Snorm = 22,
MTLPixelFormatR16Uint = 23,
MTLPixelFormatR16Sint = 24,
MTLPixelFormatR16Float = 25,
MTLPixelFormatRG8Unorm = 30,
MTLPixelFormatRG8Unorm_sRGB = 31,
MTLPixelFormatRG8Snorm = 32,
MTLPixelFormatRG8Uint = 33,
MTLPixelFormatRG8Sint = 34,
/* Packed 16 bit formats */
MTLPixelFormatB5G6R5Unorm = 40,
MTLPixelFormatA1BGR5Unorm = 41,
MTLPixelFormatABGR4Unorm = 42,
MTLPixelFormatBGR5A1Unorm = 43,
/* Normal 32 bit formats */
MTLPixelFormatR32Uint = 53,
MTLPixelFormatR32Sint = 54,
MTLPixelFormatR32Float = 55,
MTLPixelFormatRG16Unorm = 60,
MTLPixelFormatRG16Snorm = 62,
MTLPixelFormatRG16Uint = 63,
MTLPixelFormatRG16Sint = 64,
MTLPixelFormatRG16Float = 65,
MTLPixelFormatRGBA8Unorm = 70,
MTLPixelFormatRGBA8Unorm_sRGB = 71,
MTLPixelFormatRGBA8Snorm = 72,
MTLPixelFormatRGBA8Uint = 73,
MTLPixelFormatRGBA8Sint = 74,
MTLPixelFormatBGRA8Unorm = 80,
MTLPixelFormatBGRA8Unorm_sRGB = 81,
/* Packed 32 bit formats */
MTLPixelFormatRGB10A2Unorm = 90,
MTLPixelFormatRGB10A2Uint = 91,
MTLPixelFormatRG11B10Float = 92,
MTLPixelFormatRGB9E5Float = 93,
MTLPixelFormatBGR10A2Unorm = 94,
MTLPixelFormatBGR10_XR = 554,
MTLPixelFormatBGR10_XR_sRGB = 555,
/* Normal 64 bit formats */
MTLPixelFormatRG32Uint = 103,
MTLPixelFormatRG32Sint = 104,
MTLPixelFormatRG32Float = 105,
MTLPixelFormatRGBA16Unorm = 110,
MTLPixelFormatRGBA16Snorm = 112,
MTLPixelFormatRGBA16Uint = 113,
MTLPixelFormatRGBA16Sint = 114,
MTLPixelFormatRGBA16Float = 115,
MTLPixelFormatBGRA10_XR = 552,
MTLPixelFormatBGRA10_XR_sRGB = 553,
/* Normal 128 bit formats */
MTLPixelFormatRGBA32Uint = 123,
MTLPixelFormatRGBA32Sint = 124,
MTLPixelFormatRGBA32Float = 125,
/* Compressed formats. */
/* S3TC/DXT */
MTLPixelFormatBC1_RGBA = 130,
MTLPixelFormatBC1_RGBA_sRGB = 131,
MTLPixelFormatBC2_RGBA = 132,
MTLPixelFormatBC2_RGBA_sRGB = 133,
MTLPixelFormatBC3_RGBA = 134,
MTLPixelFormatBC3_RGBA_sRGB = 135,
/* RGTC */
MTLPixelFormatBC4_RUnorm = 140,
MTLPixelFormatBC4_RSnorm = 141,
MTLPixelFormatBC5_RGUnorm = 142,
MTLPixelFormatBC5_RGSnorm = 143,
/* BPTC */
MTLPixelFormatBC6H_RGBFloat = 150,
MTLPixelFormatBC6H_RGBUfloat = 151,
MTLPixelFormatBC7_RGBAUnorm = 152,
MTLPixelFormatBC7_RGBAUnorm_sRGB = 153,
/* PVRTC */
MTLPixelFormatPVRTC_RGB_2BPP = 160,
MTLPixelFormatPVRTC_RGB_2BPP_sRGB = 161,
MTLPixelFormatPVRTC_RGB_4BPP = 162,
MTLPixelFormatPVRTC_RGB_4BPP_sRGB = 163,
MTLPixelFormatPVRTC_RGBA_2BPP = 164,
MTLPixelFormatPVRTC_RGBA_2BPP_sRGB = 165,
MTLPixelFormatPVRTC_RGBA_4BPP = 166,
MTLPixelFormatPVRTC_RGBA_4BPP_sRGB = 167,
/* ETC2 */
MTLPixelFormatEAC_R11Unorm = 170,
MTLPixelFormatEAC_R11Snorm = 172,
MTLPixelFormatEAC_RG11Unorm = 174,
MTLPixelFormatEAC_RG11Snorm = 176,
MTLPixelFormatEAC_RGBA8 = 178,
MTLPixelFormatEAC_RGBA8_sRGB = 179,
MTLPixelFormatETC2_RGB8 = 180,
MTLPixelFormatETC2_RGB8_sRGB = 181,
MTLPixelFormatETC2_RGB8A1 = 182,
MTLPixelFormatETC2_RGB8A1_sRGB = 183,
/* ASTC */
MTLPixelFormatASTC_4x4_sRGB = 186,
MTLPixelFormatASTC_5x4_sRGB = 187,
MTLPixelFormatASTC_5x5_sRGB = 188,
MTLPixelFormatASTC_6x5_sRGB = 189,
MTLPixelFormatASTC_6x6_sRGB = 190,
MTLPixelFormatASTC_8x5_sRGB = 192,
MTLPixelFormatASTC_8x6_sRGB = 193,
MTLPixelFormatASTC_8x8_sRGB = 194,
MTLPixelFormatASTC_10x5_sRGB = 195,
MTLPixelFormatASTC_10x6_sRGB = 196,
MTLPixelFormatASTC_10x8_sRGB = 197,
MTLPixelFormatASTC_10x10_sRGB = 198,
MTLPixelFormatASTC_12x10_sRGB = 199,
MTLPixelFormatASTC_12x12_sRGB = 200,
MTLPixelFormatASTC_4x4_LDR = 204,
MTLPixelFormatASTC_5x4_LDR = 205,
MTLPixelFormatASTC_5x5_LDR = 206,
MTLPixelFormatASTC_6x5_LDR = 207,
MTLPixelFormatASTC_6x6_LDR = 208,
MTLPixelFormatASTC_8x5_LDR = 210,
MTLPixelFormatASTC_8x6_LDR = 211,
MTLPixelFormatASTC_8x8_LDR = 212,
MTLPixelFormatASTC_10x5_LDR = 213,
MTLPixelFormatASTC_10x6_LDR = 214,
MTLPixelFormatASTC_10x8_LDR = 215,
MTLPixelFormatASTC_10x10_LDR = 216,
MTLPixelFormatASTC_12x10_LDR = 217,
MTLPixelFormatASTC_12x12_LDR = 218,
MTLPixelFormatGBGR422 = 240,
MTLPixelFormatBGRG422 = 241,
/* Depth */
MTLPixelFormatDepth16Unorm = 250,
MTLPixelFormatDepth32Float = 252,
/* Stencil */
MTLPixelFormatStencil8 = 253,
/* Depth Stencil */
MTLPixelFormatDepth24Unorm_Stencil8 = 255,
MTLPixelFormatDepth32Float_Stencil8 = 260,
MTLPixelFormatX32_Stencil8 = 261,
MTLPixelFormatX24_Stencil8 = 262,
};
enum MTLIndexType {
MTLIndexTypeUInt16 = 0,
MTLIndexTypeUInt32 = 1,
};
enum MTLTextureType {
MTLTextureType1D = 0,
MTLTextureType1DArray = 1,
MTLTextureType2D = 2,
MTLTextureType2DArray = 3,
MTLTextureType2DMultisample = 4,
MTLTextureTypeCube = 5,
MTLTextureTypeCubeArray = 6,
MTLTextureType3D = 7,
MTLTextureType2DMultisampleArray = 8,
MTLTextureTypeTextureBuffer = 9
};
enum MTLVertexFormat {
MTLVertexFormatInvalid = 0,
MTLVertexFormatUChar2 = 1,
MTLVertexFormatUChar3 = 2,
MTLVertexFormatUChar4 = 3,
MTLVertexFormatChar2 = 4,
MTLVertexFormatChar3 = 5,
MTLVertexFormatChar4 = 6,
MTLVertexFormatUChar2Normalized = 7,
MTLVertexFormatUChar3Normalized = 8,
MTLVertexFormatUChar4Normalized = 9,
MTLVertexFormatChar2Normalized = 10,
MTLVertexFormatChar3Normalized = 11,
MTLVertexFormatChar4Normalized = 12,
MTLVertexFormatUShort2 = 13,
MTLVertexFormatUShort3 = 14,
MTLVertexFormatUShort4 = 15,
MTLVertexFormatShort2 = 16,
MTLVertexFormatShort3 = 17,
MTLVertexFormatShort4 = 18,
MTLVertexFormatUShort2Normalized = 19,
MTLVertexFormatUShort3Normalized = 20,
MTLVertexFormatUShort4Normalized = 21,
MTLVertexFormatShort2Normalized = 22,
MTLVertexFormatShort3Normalized = 23,
MTLVertexFormatShort4Normalized = 24,
MTLVertexFormatHalf2 = 25,
MTLVertexFormatHalf3 = 26,
MTLVertexFormatHalf4 = 27,
MTLVertexFormatFloat = 28,
MTLVertexFormatFloat2 = 29,
MTLVertexFormatFloat3 = 30,
MTLVertexFormatFloat4 = 31,
MTLVertexFormatInt = 32,
MTLVertexFormatInt2 = 33,
MTLVertexFormatInt3 = 34,
MTLVertexFormatInt4 = 35,
MTLVertexFormatUInt = 36,
MTLVertexFormatUInt2 = 37,
MTLVertexFormatUInt3 = 38,
MTLVertexFormatUInt4 = 39,
MTLVertexFormatInt1010102Normalized = 40,
MTLVertexFormatUInt1010102Normalized = 41
};
} // namespace ngfx
Updated on 3 April 2021 at 20:21:51 PDT