diff options
| author | 2021-06-16 03:22:56 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:38 -0400 | |
| commit | 0ffea97e2ea2c8f58928e13dc2488d620ea98ea8 (patch) | |
| tree | d297ca549a7c6dfb9fddb514cbd1f38422087f02 /src/shader_recompiler/profile.h | |
| parent | shader: Add support for native 16-bit floats (diff) | |
| download | yuzu-0ffea97e2ea2c8f58928e13dc2488d620ea98ea8.tar.gz yuzu-0ffea97e2ea2c8f58928e13dc2488d620ea98ea8.tar.xz yuzu-0ffea97e2ea2c8f58928e13dc2488d620ea98ea8.zip | |
shader: Split profile and runtime info headers
Diffstat (limited to 'src/shader_recompiler/profile.h')
| -rw-r--r-- | src/shader_recompiler/profile.h | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/src/shader_recompiler/profile.h b/src/shader_recompiler/profile.h index a3c412a0f..d46be1638 100644 --- a/src/shader_recompiler/profile.h +++ b/src/shader_recompiler/profile.h | |||
| @@ -4,59 +4,10 @@ | |||
| 4 | 4 | ||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <array> | ||
| 8 | #include <optional> | ||
| 9 | #include <vector> | ||
| 10 | |||
| 11 | #include "common/common_types.h" | 7 | #include "common/common_types.h" |
| 12 | 8 | ||
| 13 | namespace Shader { | 9 | namespace Shader { |
| 14 | 10 | ||
| 15 | enum class AttributeType : u8 { | ||
| 16 | Float, | ||
| 17 | SignedInt, | ||
| 18 | UnsignedInt, | ||
| 19 | Disabled, | ||
| 20 | }; | ||
| 21 | |||
| 22 | enum class InputTopology { | ||
| 23 | Points, | ||
| 24 | Lines, | ||
| 25 | LinesAdjacency, | ||
| 26 | Triangles, | ||
| 27 | TrianglesAdjacency, | ||
| 28 | }; | ||
| 29 | |||
| 30 | enum class CompareFunction { | ||
| 31 | Never, | ||
| 32 | Less, | ||
| 33 | Equal, | ||
| 34 | LessThanEqual, | ||
| 35 | Greater, | ||
| 36 | NotEqual, | ||
| 37 | GreaterThanEqual, | ||
| 38 | Always, | ||
| 39 | }; | ||
| 40 | |||
| 41 | enum class TessPrimitive { | ||
| 42 | Isolines, | ||
| 43 | Triangles, | ||
| 44 | Quads, | ||
| 45 | }; | ||
| 46 | |||
| 47 | enum class TessSpacing { | ||
| 48 | Equal, | ||
| 49 | FractionalOdd, | ||
| 50 | FractionalEven, | ||
| 51 | }; | ||
| 52 | |||
| 53 | struct TransformFeedbackVarying { | ||
| 54 | u32 buffer{}; | ||
| 55 | u32 stride{}; | ||
| 56 | u32 offset{}; | ||
| 57 | u32 components{}; | ||
| 58 | }; | ||
| 59 | |||
| 60 | struct Profile { | 11 | struct Profile { |
| 61 | u32 supported_spirv{0x00010000}; | 12 | u32 supported_spirv{0x00010000}; |
| 62 | 13 | ||
| @@ -114,27 +65,4 @@ struct Profile { | |||
| 114 | bool ignore_nan_fp_comparisons{}; | 65 | bool ignore_nan_fp_comparisons{}; |
| 115 | }; | 66 | }; |
| 116 | 67 | ||
| 117 | struct RuntimeInfo { | ||
| 118 | std::array<AttributeType, 32> generic_input_types{}; | ||
| 119 | bool convert_depth_mode{}; | ||
| 120 | bool force_early_z{}; | ||
| 121 | |||
| 122 | TessPrimitive tess_primitive{}; | ||
| 123 | TessSpacing tess_spacing{}; | ||
| 124 | bool tess_clockwise{}; | ||
| 125 | |||
| 126 | InputTopology input_topology{}; | ||
| 127 | |||
| 128 | std::optional<float> fixed_state_point_size; | ||
| 129 | std::optional<CompareFunction> alpha_test_func; | ||
| 130 | float alpha_test_reference{}; | ||
| 131 | |||
| 132 | // Static y negate value | ||
| 133 | bool y_negate{}; | ||
| 134 | // Use storage buffers instead of global pointers on GLASM | ||
| 135 | bool glasm_use_storage_buffers{}; | ||
| 136 | |||
| 137 | std::vector<TransformFeedbackVarying> xfb_varyings; | ||
| 138 | }; | ||
| 139 | |||
| 140 | } // namespace Shader | 68 | } // namespace Shader |