mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-13 15:19:11 +00:00
video_core: Initial implementation of pipeline cache (#3816)
* Initial implementation * Fix for crash caused by stale stages data; cosmetics applied * Someone mentioned the assert * Async blob writer * Fix for memory leak * Remain stuff * Async changed to `packaged_task`
This commit is contained in:
@@ -7,9 +7,14 @@
|
||||
#include <boost/container/small_vector.hpp>
|
||||
#include "common/types.h"
|
||||
|
||||
namespace Serialization {
|
||||
struct Archive;
|
||||
}
|
||||
|
||||
namespace Shader {
|
||||
|
||||
using PFN_SrtWalker = void PS4_SYSV_ABI (*)(const u32* /*user_data*/, u32* /*flat_dst*/);
|
||||
PFN_SrtWalker RegisterWalkerCode(const u8* ptr, size_t size);
|
||||
|
||||
struct PersistentSrtInfo {
|
||||
// Special case when fetch shader uses step rates.
|
||||
@@ -20,7 +25,11 @@ struct PersistentSrtInfo {
|
||||
};
|
||||
|
||||
PFN_SrtWalker walker_func{};
|
||||
size_t walker_func_size{};
|
||||
u32 flattened_bufsize_dw = 16; // NumUserDataRegs
|
||||
|
||||
void Serialize(Serialization::Archive& ar) const;
|
||||
bool Deserialize(Serialization::Archive& ar);
|
||||
};
|
||||
|
||||
} // namespace Shader
|
||||
|
||||
Reference in New Issue
Block a user