|
| 1 | +// SPDX-FileCopyrightText: 2019-2025 Connor McLaughlin <stenzek@gmail.com> |
| 2 | +// SPDX-License-Identifier: CC-BY-NC-ND-4.0 |
| 3 | + |
| 4 | +#pragma once |
| 5 | + |
| 6 | +#include "common/types.h" |
| 7 | + |
| 8 | +enum class RenderAPI : u8 |
| 9 | +{ |
| 10 | + None, |
| 11 | + D3D11, |
| 12 | + D3D12, |
| 13 | + Vulkan, |
| 14 | + OpenGL, |
| 15 | + OpenGLES, |
| 16 | + Metal |
| 17 | +}; |
| 18 | + |
| 19 | +enum class GPUVSyncMode : u8 |
| 20 | +{ |
| 21 | + Disabled, |
| 22 | + FIFO, |
| 23 | + Mailbox, |
| 24 | + Count |
| 25 | +}; |
| 26 | + |
| 27 | +enum class GPUTextureFormat : u8 |
| 28 | +{ |
| 29 | + Unknown, |
| 30 | + RGBA8, |
| 31 | + BGRA8, |
| 32 | + RGB565, |
| 33 | + RGB5A1, |
| 34 | + A1BGR5, |
| 35 | + R8, |
| 36 | + D16, |
| 37 | + D24S8, |
| 38 | + D32F, |
| 39 | + D32FS8, |
| 40 | + R16, |
| 41 | + R16I, |
| 42 | + R16U, |
| 43 | + R16F, |
| 44 | + R32I, |
| 45 | + R32U, |
| 46 | + R32F, |
| 47 | + RG8, |
| 48 | + RG16, |
| 49 | + RG16F, |
| 50 | + RG32F, |
| 51 | + RGBA16, |
| 52 | + RGBA16F, |
| 53 | + RGBA32F, |
| 54 | + RGB10A2, |
| 55 | + SRGBA8, |
| 56 | + BC1, ///< BC1, aka DXT1 compressed texture |
| 57 | + BC2, ///< BC2, aka DXT2/3 compressed texture |
| 58 | + BC3, ///< BC3, aka DXT4/5 compressed texture |
| 59 | + BC7, ///< BC7, aka BPTC compressed texture |
| 60 | + MaxCount, |
| 61 | +}; |
| 62 | + |
| 63 | +enum class GPUShaderStage : u8 |
| 64 | +{ |
| 65 | + Vertex, |
| 66 | + Fragment, |
| 67 | + Geometry, |
| 68 | + Compute, |
| 69 | + |
| 70 | + MaxCount |
| 71 | +}; |
| 72 | + |
| 73 | +enum class GPUShaderLanguage : u8 |
| 74 | +{ |
| 75 | + None, |
| 76 | + HLSL, |
| 77 | + GLSL, |
| 78 | + GLSLES, |
| 79 | + GLSLVK, |
| 80 | + MSL, |
| 81 | + SPV, |
| 82 | + Count |
| 83 | +}; |
| 84 | + |
| 85 | +enum class GPUDriverType : u16 |
| 86 | +{ |
| 87 | + MobileFlag = 0x100, |
| 88 | + SoftwareFlag = 0x200, |
| 89 | + |
| 90 | + Unknown = 0, |
| 91 | + AMDProprietary = 1, |
| 92 | + AMDMesa = 2, |
| 93 | + IntelProprietary = 3, |
| 94 | + IntelMesa = 4, |
| 95 | + NVIDIAProprietary = 5, |
| 96 | + NVIDIAMesa = 6, |
| 97 | + AppleProprietary = 7, |
| 98 | + AppleMesa = 8, |
| 99 | + DozenMesa = 9, |
| 100 | + |
| 101 | + ImaginationProprietary = MobileFlag | 1, |
| 102 | + ImaginationMesa = MobileFlag | 2, |
| 103 | + ARMProprietary = MobileFlag | 3, |
| 104 | + ARMMesa = MobileFlag | 4, |
| 105 | + QualcommProprietary = MobileFlag | 5, |
| 106 | + QualcommMesa = MobileFlag | 6, |
| 107 | + BroadcomProprietary = MobileFlag | 7, |
| 108 | + BroadcomMesa = MobileFlag | 8, |
| 109 | + |
| 110 | + LLVMPipe = SoftwareFlag | 1, |
| 111 | + SwiftShader = SoftwareFlag | 2, |
| 112 | + WARP = SoftwareFlag | 3, |
| 113 | +}; |
0 commit comments