Merge pull request #843 from SRSaunders/memory-leak-fixes2

Fix clang compile failure and memory issues in debug tools
This commit is contained in:
Robert Beckebans 2023-12-30 20:03:51 +01:00 committed by GitHub
commit ab663a769f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 13 additions and 21 deletions

View file

@ -71,8 +71,6 @@ class idSGFcompressThread : public idSysThread
public:
virtual int Run()
{
OPTICK_THREAD( "idSGFcompressThread" );
sgf->CompressBlock();
return 0;
}
@ -83,8 +81,6 @@ class idSGFdecompressThread : public idSysThread
public:
virtual int Run()
{
OPTICK_THREAD( "idSGFdecompressThread" );
sgf->DecompressBlock();
return 0;
}
@ -95,8 +91,6 @@ class idSGFwriteThread : public idSysThread
public:
virtual int Run()
{
OPTICK_THREAD( "idSGFwriteThread" );
sgf->WriteBlock();
return 0;
}
@ -107,8 +101,6 @@ class idSGFreadThread : public idSysThread
public:
virtual int Run()
{
OPTICK_THREAD( "idSGFreadThread" );
sgf->ReadBlock();
return 0;
}

View file

@ -90,12 +90,6 @@ be called directly in the foreground thread for comparison.
*/
int idGameThread::Run()
{
if( com_smp.GetBool() )
{
// SRS - label thread in smp mode only, otherwise CPU frame number is missing
OPTICK_THREAD( "idGameThread" );
}
commonLocal.frameTiming.startGameTime = Sys_Microseconds();
// debugging tool to test frame dropping behavior

View file

@ -1145,8 +1145,6 @@ idJobThread::Run
*/
int idJobThread::Run()
{
OPTICK_THREAD( GetName() );
threadJobListState_t threadJobListState[MAX_JOBLISTS];
int numJobLists = 0;
int lastStalledJobList = -1;

View file

@ -237,12 +237,18 @@ int idSysThread::ThreadProc( idSysThread* thread )
break;
}
// SRS - generalize thread instrumentation with correct Run() scope
OPTICK_THREAD( thread->GetName() );
retVal = thread->Run();
}
thread->signalWorkerDone.Raise();
}
else
{
// SRS - generalize thread instrumentation with correct Run() scope
OPTICK_THREAD( thread->GetName() );
retVal = thread->Run();
}
}

View file

@ -342,6 +342,9 @@ struct ThreadEntry
{
*threadTLS = nullptr;
}
// SRS - make sure thread storage is empty before thread entry terminates
storage.Clear(false);
}
void Activate(Mode::Type mode);
void Sort();

View file

@ -150,6 +150,7 @@ namespace Optick
queryPoolCreateInfo.flags = 0;
queryPoolCreateInfo.queryType = VK_QUERY_TYPE_TIMESTAMP;
queryPoolCreateInfo.queryCount = MAX_QUERIES_COUNT + 1;
queryPoolCreateInfo.pipelineStatistics = 0;
VkCommandPoolCreateInfo commandPoolCreateInfo;
commandPoolCreateInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;

View file

@ -395,9 +395,9 @@ void idGuiModel::EmitImGui( ImDrawData* drawData )
idScreenRect clipRect =
{
static_cast<short>( pcmd->ClipRect.x ),
io.DisplaySize.y - static_cast<short>( pcmd->ClipRect.w ),
static_cast<short>( io.DisplaySize.y - pcmd->ClipRect.w ),
static_cast<short>( pcmd->ClipRect.z ),
io.DisplaySize.y - static_cast<short>( pcmd->ClipRect.y ),
static_cast<short>( io.DisplaySize.y - pcmd->ClipRect.y ),
0.0f,
1.0f
};

View file

@ -86,7 +86,7 @@ private:
static idIndexBuffer indexBuffer;
bool geometryOnly;
float currentTexCoord[2];
float currentTexCoord[2] = {};
GFXenum currentMode;
byte currentColor[4];
idImage* currentTexture;

View file

@ -747,8 +747,6 @@ idSaveGameThread::Run
*/
int idSaveGameThread::Run()
{
OPTICK_THREAD( "idSaveGameThread" );
int ret = ERROR_SUCCESS;
try