mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-22 18:15:14 +00:00
* shader_recompiler: Replace buffer pulling with attribute divisor for instance step rates * flatten_extended_userdata: Remove special step rate buffer handling * Review comments * spirv_emit_context: Name all instance rate attribs properly * spirv: Merge ReadConstBuffer again template function only has 1 user now * attribute: Add missing attributes * translate: Reimplement step rate instance id * Resolve validation warnings * shader_recompiler: Separate vertex inputs from LS stage, cleanup tess
27 lines
653 B
C++
27 lines
653 B
C++
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <boost/container/set.hpp>
|
|
#include <boost/container/small_vector.hpp>
|
|
#include "common/types.h"
|
|
|
|
namespace Shader {
|
|
|
|
using PFN_SrtWalker = void PS4_SYSV_ABI (*)(const u32* /*user_data*/, u32* /*flat_dst*/);
|
|
|
|
struct PersistentSrtInfo {
|
|
// Special case when fetch shader uses step rates.
|
|
struct SrtSharpReservation {
|
|
u32 sgpr_base;
|
|
u32 dword_offset;
|
|
u32 num_dwords;
|
|
};
|
|
|
|
PFN_SrtWalker walker_func{};
|
|
u32 flattened_bufsize_dw = 16; // NumUserDataRegs
|
|
};
|
|
|
|
} // namespace Shader
|