Serenity Operating System
at master 140 lines 1.8 kB view raw
1/* 2 * Copyright (c) 2021, Stephan Unverwerth <s.unverwerth@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <AK/Types.h> 10 11namespace GPU { 12 13enum class AlphaTestFunction { 14 Never, 15 Always, 16 Less, 17 LessOrEqual, 18 Equal, 19 NotEqual, 20 GreaterOrEqual, 21 Greater, 22}; 23 24enum class BlendFactor { 25 Zero, 26 One, 27 SrcAlpha, 28 OneMinusSrcAlpha, 29 SrcColor, 30 OneMinusSrcColor, 31 DstAlpha, 32 OneMinusDstAlpha, 33 DstColor, 34 OneMinusDstColor, 35 SrcAlphaSaturate, 36}; 37 38enum class ColorControl { 39 SingleColor, 40 SeparateSpecularColor, 41}; 42 43enum class ColorMaterialFace { 44 Front, 45 Back, 46 FrontAndBack, 47}; 48 49enum class ColorMaterialMode { 50 Ambient, 51 AmbientAndDiffuse, 52 Diffuse, 53 Emissive, 54 Specular, 55}; 56 57enum class DepthTestFunction { 58 Never, 59 Always, 60 Less, 61 LessOrEqual, 62 Equal, 63 NotEqual, 64 GreaterOrEqual, 65 Greater, 66}; 67 68enum Face { 69 Front = 0, 70 Back = 1, 71}; 72 73enum FogMode { 74 Linear, 75 Exp, 76 Exp2 77}; 78 79enum class PolygonMode { 80 Point, 81 Line, 82 Fill, 83}; 84 85enum class WindingOrder { 86 Clockwise, 87 CounterClockwise, 88}; 89 90enum class PrimitiveType { 91 Lines, 92 LineLoop, 93 LineStrip, 94 Points, 95 TriangleFan, 96 Triangles, 97 TriangleStrip, 98 Quads, 99}; 100 101enum StencilOperation { 102 Decrement, 103 DecrementWrap, 104 Increment, 105 IncrementWrap, 106 Invert, 107 Keep, 108 Replace, 109 Zero, 110}; 111 112enum StencilTestFunction { 113 Always, 114 Equal, 115 Greater, 116 GreaterOrEqual, 117 Less, 118 LessOrEqual, 119 Never, 120 NotEqual, 121}; 122 123enum TexCoordGenerationCoordinate : u8 { 124 None = 0x0, 125 S = 0x1, 126 T = 0x2, 127 R = 0x4, 128 Q = 0x8, 129 All = 0xF, 130}; 131 132enum class TexCoordGenerationMode { 133 ObjectLinear, 134 EyeLinear, 135 SphereMap, 136 ReflectionMap, 137 NormalMap, 138}; 139 140}