mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-05-23 20:05:01 +00:00
* ir: Add heuristic based LDS barrier pass * Attempts to insert barriers after zero-depth divergant conditional blocks in shaders that use shared memory * lds_barriers: Limit to nvidia * Intel has historically had problems with cs barriers, will debug other time
34 lines
979 B
C++
34 lines
979 B
C++
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include "common/types.h"
|
|
|
|
namespace Shader {
|
|
|
|
struct Profile {
|
|
u32 supported_spirv{0x00010000};
|
|
u32 subgroup_size{};
|
|
bool unified_descriptor_binding{};
|
|
bool support_descriptor_aliasing{};
|
|
bool support_int8{};
|
|
bool support_int16{};
|
|
bool support_int64{};
|
|
bool support_vertex_instance_id{};
|
|
bool support_float_controls{};
|
|
bool support_separate_denorm_behavior{};
|
|
bool support_separate_rounding_mode{};
|
|
bool support_fp32_denorm_preserve{};
|
|
bool support_fp32_denorm_flush{};
|
|
bool support_explicit_workgroup_layout{};
|
|
bool support_legacy_vertex_attributes{};
|
|
bool supports_image_load_store_lod{};
|
|
bool has_broken_spirv_clamp{};
|
|
bool lower_left_origin_mode{};
|
|
bool needs_manual_interpolation{};
|
|
bool needs_lds_barriers{};
|
|
u64 min_ssbo_alignment{};
|
|
};
|
|
|
|
} // namespace Shader
|