mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-06-12 05:33:15 +00:00
video_core: Add fallback path for pipelines with more than 32 bindings (#837)
* video_core: Small fixes * renderer_vulkan: Add fallback path for pipelines with more than 32 bindings * vk_resource_pool: Rewrite desc heap * work
This commit is contained in:
parent
3a65052b8e
commit
b0bbb16aae
27 changed files with 223 additions and 148 deletions
|
@ -187,6 +187,11 @@ struct PM4CmdSetData {
|
|||
BitField<28, 4, u32> index; ///< Index for UCONFIG/CONTEXT on CI+
|
||||
///< Program to zero for other opcodes and on SI
|
||||
};
|
||||
u32 data[0];
|
||||
|
||||
[[nodiscard]] u32 Size() const {
|
||||
return header.count << 2u;
|
||||
}
|
||||
|
||||
template <PM4ShaderType type = PM4ShaderType::ShaderGraphics, typename... Args>
|
||||
static constexpr u32* SetContextReg(u32* cmdbuf, Args... data) {
|
||||
|
@ -350,6 +355,16 @@ struct PM4CmdEventWriteEop {
|
|||
}
|
||||
};
|
||||
|
||||
struct PM4CmdAcquireMem {
|
||||
PM4Type3Header header;
|
||||
u32 cp_coher_cntl;
|
||||
u32 cp_coher_size_lo;
|
||||
u32 cp_coher_size_hi;
|
||||
u32 cp_coher_base_lo;
|
||||
u32 cp_coher_base_hi;
|
||||
u32 poll_interval;
|
||||
};
|
||||
|
||||
enum class DmaDataDst : u32 {
|
||||
Memory = 0,
|
||||
Gds = 1,
|
||||
|
@ -467,6 +482,10 @@ struct PM4CmdWriteData {
|
|||
};
|
||||
u32 data[0];
|
||||
|
||||
u32 Size() const {
|
||||
return (header.count.Value() - 2) * 4;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void Address(T addr) {
|
||||
addr64 = static_cast<u64>(addr);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue