valgrind: fix undefined variables/warnings and a few more memory leaks on quit

This commit is contained in:
Stephen Saunders 2023-12-07 12:54:59 -05:00 committed by Robert Beckebans
parent a7ef79ecb1
commit 8867e865e0
12 changed files with 65 additions and 52 deletions

View file

@ -168,7 +168,7 @@ TestGameAPI
*/
void TestGameAPI()
{
gameImport_t testImport;
gameImport_t testImport = {};
gameExport_t testExport;
testImport.sys = ::sys;

View file

@ -953,7 +953,7 @@ float PathLength( idVec2 optimizedPath[MAX_OBSTACLE_PATH], int numPathPoints, co
}
// add penalty if this path does not go in the current direction
if( curDir * ( optimizedPath[1] - optimizedPath[0] ) < 0.0f )
if( numPathPoints > 1 && curDir * ( optimizedPath[1] - optimizedPath[0] ) < 0.0f )
{
pathLength += 100.0f;
}

View file

@ -2144,7 +2144,7 @@ bool idProgram::CompileText( const char* source, const char* text, bool console
try
#endif
{
compiler.CompileFile( text, filename, console );
compiler.CompileFile( text, source, console );
// check to make sure all functions prototyped have code
for( i = 0; i < varDefs.Num(); i++ )

View file

@ -287,7 +287,7 @@ void idRenderProgManager::KillAllShaders()
idRenderProgManager::SetUniformValue
================================================================================================
*/
void idRenderProgManager::SetUniformValue( const renderParm_t rp, const float* value )
void idRenderProgManager::SetUniformValue( const renderParm_t rp, const float value[4] )
{
for( int i = 0; i < 4; i++ )
{
@ -324,4 +324,4 @@ bool idRenderProgManager::CommitConstantBuffer( nvrhi::ICommandList* commandList
}
return false;
}
}

View file

@ -64,7 +64,7 @@ bool drawView3D;
SetVertexParm
================
*/
static ID_INLINE void SetVertexParm( renderParm_t rp, const float* value )
static ID_INLINE void SetVertexParm( renderParm_t rp, const float value[4] )
{
renderProgManager.SetUniformValue( rp, value );
}
@ -74,11 +74,11 @@ static ID_INLINE void SetVertexParm( renderParm_t rp, const float* value )
SetVertexParms
================
*/
static ID_INLINE void SetVertexParms( renderParm_t rp, const float* value, int num )
static ID_INLINE void SetVertexParms( renderParm_t rp, const float values[], int num )
{
for( int i = 0; i < num; i++ )
{
renderProgManager.SetUniformValue( ( renderParm_t )( rp + i ), value + ( i * 4 ) );
renderProgManager.SetUniformValue( ( renderParm_t )( rp + i ), values + ( i * 4 ) );
}
}
@ -87,7 +87,7 @@ static ID_INLINE void SetVertexParms( renderParm_t rp, const float* value, int n
SetFragmentParm
================
*/
static ID_INLINE void SetFragmentParm( renderParm_t rp, const float* value )
static ID_INLINE void SetFragmentParm( renderParm_t rp, const float value[4] )
{
renderProgManager.SetUniformValue( rp, value );
}
@ -1657,6 +1657,8 @@ void idRenderBackend::RenderInteractions( const drawSurf_t* surfList, const view
{
shadowOffsets[ i ].x = vLight->imageAtlasOffset[ i ].x * ( 1.0f / r_shadowMapAtlasSize.GetInteger() );
shadowOffsets[ i ].y = vLight->imageAtlasOffset[ i ].y * ( 1.0f / r_shadowMapAtlasSize.GetInteger() );
shadowOffsets[ i ].z = 0.0f;
shadowOffsets[ i ].w = 0.0f;
}
SetVertexParms( RENDERPARM_SHADOW_ATLAS_OFFSET_0, &shadowOffsets[0][0], 6 );

View file

@ -165,7 +165,7 @@ int RenderEnvprobeLocal::GetIndex()
void idRenderEntityLocal::ReadFromDemoFile( class idDemoFile* f )
{
int i;
renderEntity_t ent;
renderEntity_t ent = {};
/* Initialize Pointers */
decals = NULL;
overlays = NULL;

View file

@ -831,11 +831,11 @@ bool idRenderProgManager::IsShaderBound() const
idRenderProgManager::SetRenderParms
================================================================================================
*/
void idRenderProgManager::SetRenderParms( renderParm_t rp, const float* value, int num )
void idRenderProgManager::SetRenderParms( renderParm_t rp, const float values[], int num )
{
for( int i = 0; i < num; i++ )
{
SetRenderParm( ( renderParm_t )( rp + i ), value + ( i * 4 ) );
SetRenderParm( ( renderParm_t )( rp + i ), values + ( i * 4 ) );
}
}
@ -844,7 +844,7 @@ void idRenderProgManager::SetRenderParms( renderParm_t rp, const float* value, i
idRenderProgManager::SetRenderParm
================================================================================================
*/
void idRenderProgManager::SetRenderParm( renderParm_t rp, const float* value )
void idRenderProgManager::SetRenderParm( renderParm_t rp, const float value[4] )
{
SetUniformValue( rp, value );
}

View file

@ -430,8 +430,8 @@ public:
void StartFrame();
void SetRenderParm( renderParm_t rp, const float* value );
void SetRenderParms( renderParm_t rp, const float* values, int numValues );
void SetRenderParm( renderParm_t rp, const float value[4] );
void SetRenderParms( renderParm_t rp, const float values[], int numValues );
int FindShader( const char* name, rpStage_t stage );
int FindShader( const char* name, rpStage_t stage, const char* nameOutSuffix, uint32 features, bool builtin, vertexLayoutType_t vertexLayout = LAYOUT_DRAW_VERT );
@ -954,7 +954,7 @@ public:
static const int MAX_GLSL_USER_PARMS = 8;
const char* GetGLSLParmName( int rp ) const;
void SetUniformValue( const renderParm_t rp, const float* value );
void SetUniformValue( const renderParm_t rp, const float value[4] );
void CommitUniforms( uint64 stateBits );
int FindProgram( const char* name, int vIndex, int fIndex, bindingLayoutType_t bindingType = BINDING_LAYOUT_DEFAULT );
void ZeroUniforms();

View file

@ -690,6 +690,7 @@ void idRenderWorldLocal::UpdateEnvprobeDef( qhandle_t envprobeHandle, const rend
probe->world = this;
probe->index = envprobeHandle;
probe->viewCount = 0;
}
probe->parms = *ep;

View file

@ -721,7 +721,7 @@ ReadRenderLight
*/
void idRenderWorldLocal::ReadRenderLight()
{
renderLight_t light;
renderLight_t light = {};
int index, i;
common->ReadDemo()->ReadInt( index );

View file

@ -550,6 +550,8 @@ void VKimp_Shutdown()
if( deviceManager )
{
deviceManager->Shutdown();
delete deviceManager;
deviceManager = NULL;
}
if( window )

View file

@ -69,6 +69,7 @@ idLobby::idLobby()
localReadSS = NULL;
objMemory = NULL;
lzwData = NULL;
haveSubmittedSnaps = false;
state = STATE_IDLE;
@ -284,51 +285,58 @@ void idLobby::Shutdown( bool retainMigrationInfo, bool skipGoodbye )
{
assert( peers[p].GetConnectionState() == CONNECTION_FREE );
}
state = STATE_IDLE;
return;
}
else
{
NET_VERBOSE_PRINT( "NET: ShutdownLobby (%s)\n", GetLobbyName() );
NET_VERBOSE_PRINT( "NET: ShutdownLobby (%s)\n", GetLobbyName() );
for( int p = 0; p < peers.Num(); p++ )
{
if( peers[p].GetConnectionState() != CONNECTION_FREE )
for( int p = 0; p < peers.Num(); p++ )
{
SetPeerConnectionState( p, CONNECTION_FREE, skipGoodbye ); // This will send goodbye's
if( peers[p].GetConnectionState() != CONNECTION_FREE )
{
SetPeerConnectionState( p, CONNECTION_FREE, skipGoodbye ); // This will send goodbye's
}
}
}
// Remove any users that weren't handled in ResetPeers
// (this will happen as a client, because we won't get the reliable msg from the server since we are severing the connection)
for( int i = 0; i < GetNumLobbyUsers(); i++ )
{
lobbyUser_t* user = GetLobbyUser( i );
UnregisterUser( user );
}
// Remove any users that weren't handled in ResetPeers
// (this will happen as a client, because we won't get the reliable msg from the server since we are severing the connection)
for( int i = 0; i < GetNumLobbyUsers(); i++ )
{
lobbyUser_t* user = GetLobbyUser( i );
UnregisterUser( user );
}
FreeAllUsers();
FreeAllUsers();
host = -1;
peerIndexOnHost = -1;
isHost = false;
needToDisplayMigrateMsg = false;
migrationDlg = GDM_INVALID;
host = -1;
peerIndexOnHost = -1;
isHost = false;
needToDisplayMigrateMsg = false;
migrationDlg = GDM_INVALID;
partyToken = 0; // Reset our party token so we recompute
loaded = false;
respondToArbitrate = false;
waitForPartyOk = false;
startLoadingFromHost = false;
partyToken = 0; // Reset our party token so we recompute
loaded = false;
respondToArbitrate = false;
waitForPartyOk = false;
startLoadingFromHost = false;
snapDeltaAckQueue.Clear();
snapDeltaAckQueue.Clear();
// Shutdown the lobbyBackend
if( !retainMigrationInfo )
{
sessionCB->DestroyLobbyBackend( lobbyBackend );
lobbyBackend = NULL;
// Shutdown the lobbyBackend
if( !retainMigrationInfo )
{
sessionCB->DestroyLobbyBackend( lobbyBackend );
lobbyBackend = NULL;
}
}
// SRS - cleanup any allocations made for multiplayer networking support
if( objMemory )
{
Mem_Free( objMemory );
objMemory = NULL;
Mem_Free( lzwData );
lzwData = NULL;
}
state = STATE_IDLE;