From 7a4e31561d157aa00ccd4f716631724d00aaad75 Mon Sep 17 00:00:00 2001 From: Patoke Date: Tue, 3 Mar 2026 01:59:30 -0300 Subject: [PATCH] chore: rename critical section variable to a more accurate one fix: call ``Renderer::CBuffTick`` at ``C4JRender::Tick`` in release mode --- Windows_Libs/Dev/Render/4J_Render.cpp | 2 -- Windows_Libs/Dev/Render/Renderer.h | 2 +- Windows_Libs/Dev/Render/RendererCBuff.cpp | 36 +++++++++++------------ Windows_Libs/Dev/Render/RendererCore.cpp | 2 +- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/Windows_Libs/Dev/Render/4J_Render.cpp b/Windows_Libs/Dev/Render/4J_Render.cpp index 6b8cd91..8eaab0b 100644 --- a/Windows_Libs/Dev/Render/4J_Render.cpp +++ b/Windows_Libs/Dev/Render/4J_Render.cpp @@ -30,9 +30,7 @@ C4JRender RenderManager; void C4JRender::Tick() { -#if _DEBUG InternalRenderManager.CBuffTick(); -#endif } void C4JRender::UpdateGamma(unsigned short usGamma) diff --git a/Windows_Libs/Dev/Render/Renderer.h b/Windows_Libs/Dev/Render/Renderer.h index 216fffd..fc23523 100644 --- a/Windows_Libs/Dev/Render/Renderer.h +++ b/Windows_Libs/Dev/Render/Renderer.h @@ -443,7 +443,7 @@ public: DWORD presentCount; BYTE rendererFlag0; BYTE paddingAfterRendererFlag0[3]; - _RTL_CRITICAL_SECTION rtl_critical_section100; + _RTL_CRITICAL_SECTION m_commandBufferCS; DWORD activeVertexType; DWORD activePixelType; C4JRender::eViewportType m_ViewportType; diff --git a/Windows_Libs/Dev/Render/RendererCBuff.cpp b/Windows_Libs/Dev/Render/RendererCBuff.cpp index b44ecc0..b635a1a 100644 --- a/Windows_Libs/Dev/Render/RendererCBuff.cpp +++ b/Windows_Libs/Dev/Render/RendererCBuff.cpp @@ -491,7 +491,7 @@ void Renderer::CommandBuffer::Render(C4JRender::eVertexType vType, Renderer::Con bool Renderer::CBuffCall(int index, bool full) { - EnterCriticalSection(&rtl_critical_section100); + EnterCriticalSection(&m_commandBufferCS); bool result = false; const int commandIndex = m_commandHandleToIndex[index]; @@ -582,13 +582,13 @@ bool Renderer::CBuffCall(int index, bool full) result = true; } - LeaveCriticalSection(&rtl_critical_section100); + LeaveCriticalSection(&m_commandBufferCS); return result; } void Renderer::CBuffClear(int index) { - EnterCriticalSection(&rtl_critical_section100); + EnterCriticalSection(&m_commandBufferCS); std::int16_t *externalToInternal = static_cast(m_commandHandleToIndex); const int internalIndex = externalToInternal[index]; @@ -598,12 +598,12 @@ void Renderer::CBuffClear(int index) externalToInternal[index] = static_cast(-2); } - LeaveCriticalSection(&rtl_critical_section100); + LeaveCriticalSection(&m_commandBufferCS); } int Renderer::CBuffCreate(int count) { - EnterCriticalSection(&rtl_critical_section100); + EnterCriticalSection(&m_commandBufferCS); int first = reservedRendererDword1; if (first < NUM_COMMAND_HANDLES) @@ -648,7 +648,7 @@ int Renderer::CBuffCreate(int count) first = -1; } - LeaveCriticalSection(&rtl_critical_section100); + LeaveCriticalSection(&m_commandBufferCS); return first; } @@ -658,7 +658,7 @@ void Renderer::CBuffDeferredModeEnd() if (!c.deferredModeEnabled) return; - EnterCriticalSection(&rtl_critical_section100); + EnterCriticalSection(&m_commandBufferCS); c.deferredModeEnabled = false; for (std::vector::const_iterator it = c.deferredBuffers.begin(); it != c.deferredBuffers.end(); ++it) @@ -683,7 +683,7 @@ void Renderer::CBuffDeferredModeEnd() } c.deferredBuffers.clear(); - LeaveCriticalSection(&rtl_critical_section100); + LeaveCriticalSection(&m_commandBufferCS); } void Renderer::CBuffDeferredModeStart() @@ -693,7 +693,7 @@ void Renderer::CBuffDeferredModeStart() void Renderer::CBuffDelete(int first, int count) { - EnterCriticalSection(&rtl_critical_section100); + EnterCriticalSection(&m_commandBufferCS); const int end = first + count; for (int i = first; i < end; ++i) @@ -705,7 +705,7 @@ void Renderer::CBuffDelete(int first, int count) m_commandHandleToIndex[i] = static_cast(-1); } - LeaveCriticalSection(&rtl_critical_section100); + LeaveCriticalSection(&m_commandBufferCS); } void Renderer::CBuffEnd() @@ -715,7 +715,7 @@ void Renderer::CBuffEnd() assert(c.stackType == MATRIX_MODE_MODELVIEW_CBUFF); assert(c.stackPos[MATRIX_MODE_MODELVIEW_CBUFF] == 0); - EnterCriticalSection(&rtl_critical_section100); + EnterCriticalSection(&m_commandBufferCS); if (c.deferredModeEnabled) { @@ -751,7 +751,7 @@ void Renderer::CBuffEnd() c.commandBuffer->EndRecording(m_pDevice); c.commandBuffer = NULL; - LeaveCriticalSection(&rtl_critical_section100); + LeaveCriticalSection(&m_commandBufferCS); } void Renderer::CBuffLockStaticCreations() @@ -765,11 +765,11 @@ int Renderer::CBuffSize(int index) return totalAlloc < 0 ? 0 : totalAlloc; unsigned int size = 0; - EnterCriticalSection(&rtl_critical_section100); + EnterCriticalSection(&m_commandBufferCS); const int commandIndex = m_commandHandleToIndex[index]; if (commandIndex >= 0) size = static_cast(m_commandBuffers[commandIndex]->GetAllocated()); - LeaveCriticalSection(&rtl_critical_section100); + LeaveCriticalSection(&m_commandBufferCS); return size; } @@ -789,7 +789,7 @@ void Renderer::CBuffStart(int index, bool full) void Renderer::CBuffTick() { - EnterCriticalSection(&rtl_critical_section100); + EnterCriticalSection(&m_commandBufferCS); const int firstPending = MAX_COMMAND_BUFFERS - static_cast(reservedRendererDword3); for (int i = firstPending; i < MAX_COMMAND_BUFFERS; ++i) @@ -801,12 +801,12 @@ void Renderer::CBuffTick() } reservedRendererDword3 = 0; - LeaveCriticalSection(&rtl_critical_section100); + LeaveCriticalSection(&m_commandBufferCS); } void Renderer::DeleteInternalBuffer(int index) { - EnterCriticalSection(&rtl_critical_section100); + EnterCriticalSection(&m_commandBufferCS); ++reservedRendererDword3; const int recycledSlot = MAX_COMMAND_BUFFERS - static_cast(reservedRendererDword3); @@ -828,5 +828,5 @@ void Renderer::DeleteInternalBuffer(int index) m_commandIndexToHandle[index] = commandIndex; } - LeaveCriticalSection(&rtl_critical_section100); + LeaveCriticalSection(&m_commandBufferCS); } \ No newline at end of file diff --git a/Windows_Libs/Dev/Render/RendererCore.cpp b/Windows_Libs/Dev/Render/RendererCore.cpp index 6369f2f..be321d5 100644 --- a/Windows_Libs/Dev/Render/RendererCore.cpp +++ b/Windows_Libs/Dev/Render/RendererCore.cpp @@ -488,7 +488,7 @@ void Renderer::Initialise(ID3D11Device *pDevice, IDXGISwapChain *pSwapChain) StateSetVertexTextureUV(0.0f, 0.0f); TextureBindVertex(-1); - InitializeCriticalSection(&rtl_critical_section100); + InitializeCriticalSection(&m_commandBufferCS); reservedRendererDword1 = 0; activeVertexType = -1;