mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-05 17:02:40 +00:00
* ir_passes: Add barrier at end of block too * vk_platform: Always assign names to resources * texture_cache: Better overlap handling * liverpool: Avoid resuming ce_task when its finished * spirv_quad_rect: Skip default attributes Fixes some crashes * memory: Improve buffer size clamping * liverpool: Relax binary header validity check * liverpool: Stub SetPredication with a warning * Better than outright crash * emit_spirv: Implement round to zero mode * liverpool: queue::pop takes the front element * image_info: Remove obsolete assert The old code assumed the mip only had 1 layer thus a right overlap could not return mip 0. But with the new path we handle images that are both mip-mapped and multi-layer, thus this can happen * tile_manager: Fix size calculation * spirv_quad_rect: Skip default attributes --------- Co-authored-by: poly <47796739+polybiusproxy@users.noreply.github.com> Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>
42 lines
1.2 KiB
C++
42 lines
1.2 KiB
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_fp32_round_to_zero{};
|
|
bool support_explicit_workgroup_layout{};
|
|
bool support_legacy_vertex_attributes{};
|
|
bool supports_image_load_store_lod{};
|
|
bool supports_native_cube_calc{};
|
|
bool supports_robust_buffer_access{};
|
|
bool has_broken_spirv_clamp{};
|
|
bool lower_left_origin_mode{};
|
|
bool needs_manual_interpolation{};
|
|
bool needs_lds_barriers{};
|
|
u64 min_ssbo_alignment{};
|
|
u64 max_ubo_size{};
|
|
u32 max_viewport_width{};
|
|
u32 max_viewport_height{};
|
|
u32 max_shared_memory_size{};
|
|
};
|
|
|
|
} // namespace Shader
|