Add new replay API void ReloadShaderDebugInformation()

This commit is contained in:
Jake Turner committed 2026-02-06 11:36:38 +13:00
1 parent c097a8b024
commit cbecdfacb0
17 files changed
+77

No files matched your search

+1
View File
@@ -368,6 +368,7 @@ public:
}
void ReplaceResource(ResourceId from, ResourceId to) {}
void ClearReplayCache() {}
void ReloadShaderDebugInformation() {}
void RemoveReplacement(ResourceId id) {}
// these are proxy functions, and will never be used
ResourceId CreateProxyTexture(const TextureDescription &templateTex)
+27
View File
@@ -1369,6 +1369,32 @@ void ReplayProxy::ClearReplayCache()
PROXY_FUNCTION(ClearReplayCache);
}
template <typename ParamSerialiser, typename ReturnSerialiser>
void ReplayProxy::Proxied_ReloadShaderDebugInformation(ParamSerialiser &paramser,
ReturnSerialiser &retser)
{
const ReplayProxyPacket expectedPacket = eReplayProxy_ReloadShaderDebugInformation;
ReplayProxyPacket packet = eReplayProxy_ReloadShaderDebugInformation;
{
BEGIN_PARAMS();
END_PARAMS();
}
{
REMOTE_EXECUTION();
if(paramser.IsReading() && !paramser.IsErrored() && !m_IsErrored)
m_Remote->ReloadShaderDebugInformation();
}
SERIALISE_RETURN_VOID();
}
void ReplayProxy::ReloadShaderDebugInformation()
{
PROXY_FUNCTION(ReloadShaderDebugInformation);
}
template <typename ParamSerialiser, typename ReturnSerialiser>
rdcarray<ShaderEncoding> ReplayProxy::Proxied_GetTargetShaderEncodings(ParamSerialiser &paramser,
ReturnSerialiser &retser)
@@ -3135,6 +3161,7 @@ bool ReplayProxy::Tick(int type)
case eReplayProxy_ReplaceResource: ReplaceResource(ResourceId(), ResourceId()); break;
case eReplayProxy_RemoveReplacement: RemoveReplacement(ResourceId()); break;
case eReplayProxy_ClearReplayCache: ClearReplayCache(); break;
case eReplayProxy_ReloadShaderDebugInformation: ReloadShaderDebugInformation(); break;
case eReplayProxy_DebugVertex: DebugVertex(0, 0, 0, 0, 0); break;
case eReplayProxy_DebugPixel: DebugPixel(0, 0, 0, DebugPixelInputs()); break;
case eReplayProxy_DebugThread:
+2
View File
@@ -113,6 +113,7 @@ enum ReplayProxyPacket
eReplayProxy_GetDescriptorStores,
eReplayProxy_ClearReplayCache,
eReplayProxy_ReloadShaderDebugInformation,
};
DECLARE_REFLECTION_ENUM(ReplayProxyPacket);
@@ -561,6 +562,7 @@ public:
IMPLEMENT_FUNCTION_PROXIED(void, ReplaceResource, ResourceId from, ResourceId to);
IMPLEMENT_FUNCTION_PROXIED(void, RemoveReplacement, ResourceId id);
IMPLEMENT_FUNCTION_PROXIED(void, ClearReplayCache);
IMPLEMENT_FUNCTION_PROXIED(void, ReloadShaderDebugInformation);
// these functions are not part of the replay driver interface - they are similar to GetBufferData
// and GetTextureData, but they do extra work to try and optimise transfer by delta-encoding the