Enums.h 1.8 KB

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