diff options
| author | 2021-05-23 03:47:24 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:29 -0400 | |
| commit | a46d91b1efa7136b5a4304ae1f13183b8a579b49 (patch) | |
| tree | d1238c67d3417c00745de67abcd615d04e5434a1 | |
| parent | shader: Remove shader util (diff) | |
| download | yuzu-a46d91b1efa7136b5a4304ae1f13183b8a579b49.tar.gz yuzu-a46d91b1efa7136b5a4304ae1f13183b8a579b49.tar.xz yuzu-a46d91b1efa7136b5a4304ae1f13183b8a579b49.zip | |
shader: Add OpenGL shader profile options
| -rw-r--r-- | src/shader_recompiler/profile.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/shader_recompiler/profile.h b/src/shader_recompiler/profile.h index 08242184f..12699511a 100644 --- a/src/shader_recompiler/profile.h +++ b/src/shader_recompiler/profile.h | |||
| @@ -61,6 +61,9 @@ struct Profile { | |||
| 61 | u32 supported_spirv{0x00010000}; | 61 | u32 supported_spirv{0x00010000}; |
| 62 | 62 | ||
| 63 | bool unified_descriptor_binding{}; | 63 | bool unified_descriptor_binding{}; |
| 64 | bool support_descriptor_aliasing{}; | ||
| 65 | bool support_int8{}; | ||
| 66 | bool support_int16{}; | ||
| 64 | bool support_vertex_instance_id{}; | 67 | bool support_vertex_instance_id{}; |
| 65 | bool support_float_controls{}; | 68 | bool support_float_controls{}; |
| 66 | bool support_separate_denorm_behavior{}; | 69 | bool support_separate_denorm_behavior{}; |
| @@ -77,11 +80,19 @@ struct Profile { | |||
| 77 | bool support_viewport_index_layer_non_geometry{}; | 80 | bool support_viewport_index_layer_non_geometry{}; |
| 78 | bool support_viewport_mask{}; | 81 | bool support_viewport_mask{}; |
| 79 | bool support_typeless_image_loads{}; | 82 | bool support_typeless_image_loads{}; |
| 83 | bool support_demote_to_helper_invocation{}; | ||
| 80 | bool warp_size_potentially_larger_than_guest{}; | 84 | bool warp_size_potentially_larger_than_guest{}; |
| 81 | bool support_int64_atomics{}; | 85 | bool support_int64_atomics{}; |
| 86 | bool lower_left_origin_mode{}; | ||
| 82 | 87 | ||
| 83 | // FClamp is broken and OpFMax + OpFMin should be used instead | 88 | // FClamp is broken and OpFMax + OpFMin should be used instead |
| 84 | bool has_broken_spirv_clamp{}; | 89 | bool has_broken_spirv_clamp{}; |
| 90 | // Offset image operands with an unsigned type do not work | ||
| 91 | bool has_broken_unsigned_image_offsets{}; | ||
| 92 | // Signed instructions with unsigned data types are misinterpreted | ||
| 93 | bool has_broken_signed_operations{}; | ||
| 94 | // Ignores SPIR-V ordered vs unordered using GLSL semantics | ||
| 95 | bool ignore_nan_fp_comparisons{}; | ||
| 85 | 96 | ||
| 86 | std::array<AttributeType, 32> generic_input_types{}; | 97 | std::array<AttributeType, 32> generic_input_types{}; |
| 87 | bool convert_depth_mode{}; | 98 | bool convert_depth_mode{}; |