shader: Split profile and runtime information in separate structs

This commit is contained in:
ReinUsesLisp 2021-05-21 02:12:32 -03:00 committed by ameerj
parent eb15667905
commit 9e7b6622c2
14 changed files with 300 additions and 308 deletions

View file

@ -81,19 +81,22 @@ struct Profile {
bool support_viewport_mask{};
bool support_typeless_image_loads{};
bool support_demote_to_helper_invocation{};
bool warp_size_potentially_larger_than_guest{};
bool support_int64_atomics{};
bool warp_size_potentially_larger_than_guest{};
bool lower_left_origin_mode{};
// FClamp is broken and OpFMax + OpFMin should be used instead
/// OpFClamp is broken and OpFMax + OpFMin should be used instead
bool has_broken_spirv_clamp{};
// Offset image operands with an unsigned type do not work
/// Offset image operands with an unsigned type do not work
bool has_broken_unsigned_image_offsets{};
// Signed instructions with unsigned data types are misinterpreted
/// Signed instructions with unsigned data types are misinterpreted
bool has_broken_signed_operations{};
// Ignores SPIR-V ordered vs unordered using GLSL semantics
/// Ignores SPIR-V ordered vs unordered using GLSL semantics
bool ignore_nan_fp_comparisons{};
};
struct RuntimeInfo {
std::array<AttributeType, 32> generic_input_types{};
bool convert_depth_mode{};
bool force_early_z{};