summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/profile.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-06-16 03:22:56 -0300
committerGravatar ameerj2021-07-22 21:51:38 -0400
commit0ffea97e2ea2c8f58928e13dc2488d620ea98ea8 (patch)
treed297ca549a7c6dfb9fddb514cbd1f38422087f02 /src/shader_recompiler/profile.h
parentshader: Add support for native 16-bit floats (diff)
downloadyuzu-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.h72
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
13namespace Shader { 9namespace Shader {
14 10
15enum class AttributeType : u8 {
16 Float,
17 SignedInt,
18 UnsignedInt,
19 Disabled,
20};
21
22enum class InputTopology {
23 Points,
24 Lines,
25 LinesAdjacency,
26 Triangles,
27 TrianglesAdjacency,
28};
29
30enum class CompareFunction {
31 Never,
32 Less,
33 Equal,
34 LessThanEqual,
35 Greater,
36 NotEqual,
37 GreaterThanEqual,
38 Always,
39};
40
41enum class TessPrimitive {
42 Isolines,
43 Triangles,
44 Quads,
45};
46
47enum class TessSpacing {
48 Equal,
49 FractionalOdd,
50 FractionalEven,
51};
52
53struct TransformFeedbackVarying {
54 u32 buffer{};
55 u32 stride{};
56 u32 offset{};
57 u32 components{};
58};
59
60struct Profile { 11struct 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
117struct 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