2022-04-23 11:59:50 +03:00
|
|
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2021-06-16 09:03:08 +03:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace Shader {
|
|
|
|
|
|
|
|
// Try to keep entries here to a minimum
|
|
|
|
// They can accidentally change the cached information in a shader
|
|
|
|
|
|
|
|
/// Misc information about the host
|
|
|
|
struct HostTranslateInfo {
|
2023-06-10 05:57:50 +03:00
|
|
|
bool support_float64{}; ///< True when the device supports 64-bit floats
|
2021-08-24 03:00:11 +03:00
|
|
|
bool support_float16{}; ///< True when the device supports 16-bit floats
|
|
|
|
bool support_int64{}; ///< True when the device supports 64-bit integers
|
|
|
|
bool needs_demote_reorder{}; ///< True when the device needs DemoteToHelperInvocation reordered
|
2022-12-01 01:16:00 +03:00
|
|
|
bool support_snorm_render_buffer{}; ///< True when the device supports SNORM render buffers
|
|
|
|
bool support_viewport_index_layer{}; ///< True when the device supports gl_Layer in VS
|
2023-01-06 01:10:21 +03:00
|
|
|
bool support_geometry_shader_passthrough{}; ///< True when the device supports geometry
|
|
|
|
///< passthrough shaders
|
2023-06-10 18:40:58 +03:00
|
|
|
bool support_conditional_barrier{}; ///< True when the device supports barriers in conditional
|
|
|
|
///< control flow
|
2021-06-16 09:03:08 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace Shader
|