mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-29 21:30:53 +00:00
Fetch packets outside of replay proxy, so we can serve other commands
This commit is contained in:
@@ -308,8 +308,19 @@ void RenderDoc::BecomeRemoteServer(const char *listenhost, uint16_t port, volati
|
||||
|
||||
while(client)
|
||||
{
|
||||
if(!proxy->Tick() || killReplay)
|
||||
int packet;
|
||||
Serialiser *data = NULL;
|
||||
|
||||
if(!RecvPacket(client, packet, &data))
|
||||
{
|
||||
SAFE_DELETE(data);
|
||||
SAFE_DELETE(client);
|
||||
break;
|
||||
}
|
||||
|
||||
if(!proxy->Tick(packet, data) || killReplay)
|
||||
{
|
||||
SAFE_DELETE(data);
|
||||
SAFE_DELETE(client);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1745,7 +1745,7 @@ void ProxySerialiser::EnsureBufCached(ResourceId bufid)
|
||||
}
|
||||
}
|
||||
|
||||
bool ProxySerialiser::Tick()
|
||||
bool ProxySerialiser::Tick(int type, Serialiser *incomingPacket)
|
||||
{
|
||||
if(!m_RemoteServer)
|
||||
return true;
|
||||
@@ -1753,10 +1753,7 @@ bool ProxySerialiser::Tick()
|
||||
if(!m_Socket)
|
||||
return false;
|
||||
|
||||
ReplayProxyPacket type;
|
||||
|
||||
if(!RecvPacket(m_Socket, type, &m_ToReplaySerialiser))
|
||||
return false;
|
||||
m_ToReplaySerialiser = incomingPacket;
|
||||
|
||||
m_FromReplaySerialiser->Rewind();
|
||||
|
||||
@@ -1842,11 +1839,9 @@ bool ProxySerialiser::Tick()
|
||||
DebugThread(0, dummy1, dummy2);
|
||||
break;
|
||||
}
|
||||
default: RDCERR("Unexpected command"); break;
|
||||
default: RDCERR("Unexpected command"); return false;
|
||||
}
|
||||
|
||||
SAFE_DELETE(m_ToReplaySerialiser);
|
||||
|
||||
if(!SendPacket(m_Socket, type, *m_FromReplaySerialiser))
|
||||
return false;
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ public:
|
||||
return ResourceId();
|
||||
}
|
||||
|
||||
bool Tick();
|
||||
bool Tick(int type, Serialiser *incomingPacket);
|
||||
|
||||
vector<ResourceId> GetBuffers();
|
||||
FetchBuffer GetBuffer(ResourceId id);
|
||||
|
||||
Reference in New Issue
Block a user