Enums.h 1.9 KB

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