From 397f33143da0866c819d0221e2e7d9b600a5108f Mon Sep 17 00:00:00 2001 From: Anthony Date: Thu, 5 Oct 2023 20:31:47 +1300 Subject: [PATCH] Rename VertexShaderSource to VertexShaderCache because it was a weird name --- CMakeLists.txt | 4 ++-- src/core/hle/D3D8/Direct3D9/Direct3D9.cpp | 4 ++-- ...rtexShaderSource.cpp => VertexShaderCache.cpp} | 15 ++++++++------- .../{VertexShaderSource.h => VertexShaderCache.h} | 4 ++-- src/core/hle/D3D8/XbVertexShader.cpp | 8 ++++---- 5 files changed, 18 insertions(+), 17 deletions(-) rename src/core/hle/D3D8/Direct3D9/{VertexShaderSource.cpp => VertexShaderCache.cpp} (90%) rename src/core/hle/D3D8/Direct3D9/{VertexShaderSource.h => VertexShaderCache.h} (92%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 53d635031..2d18af974 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -151,7 +151,7 @@ file (GLOB CXBXR_HEADER_EMU "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/PixelShader.h" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/Shader.h" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/VertexShader.h" - "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/VertexShaderSource.h" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/VertexShaderCache.h" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/WalkIndexBuffer.h" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/FixedFunctionState.h" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/ResourceTracker.h" @@ -324,7 +324,7 @@ file (GLOB CXBXR_SOURCE_EMU "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/Shader.cpp" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/TextureStates.cpp" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/VertexShader.cpp" - "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/VertexShaderSource.cpp" + "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/VertexShaderCache.cpp" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/Direct3D9/WalkIndexBuffer.cpp" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/FixedFunctionState.cpp" "${CXBXR_ROOT_DIR}/src/core/hle/D3D8/ResourceTracker.cpp" diff --git a/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp b/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp index 9237c8197..0ea04ff4e 100644 --- a/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp +++ b/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp @@ -62,7 +62,7 @@ #include "common\input\DInputKeyboardMouse.h" #include "common\input\InputManager.h" #include "common/util/strConverter.hpp" // for utf8_to_utf16 -#include "VertexShaderSource.h" +#include "VertexShaderCache.h" #include "Timer.h" #include @@ -2273,7 +2273,7 @@ static void CreateDefaultD3D9Device DrawInitialBlackScreen(); // Set up cache - g_VertexShaderSource.ResetD3DDevice(g_pD3DDevice); + g_VertexShaderCache.ResetD3DDevice(g_pD3DDevice); // Set up ImGui's render backend ImGui_ImplDX9_Init(g_pD3DDevice); diff --git a/src/core/hle/D3D8/Direct3D9/VertexShaderSource.cpp b/src/core/hle/D3D8/Direct3D9/VertexShaderCache.cpp similarity index 90% rename from src/core/hle/D3D8/Direct3D9/VertexShaderSource.cpp rename to src/core/hle/D3D8/Direct3D9/VertexShaderCache.cpp index 1748651ea..0ef1887ac 100644 --- a/src/core/hle/D3D8/Direct3D9/VertexShaderSource.cpp +++ b/src/core/hle/D3D8/Direct3D9/VertexShaderCache.cpp @@ -1,15 +1,16 @@ #define LOG_PREFIX CXBXR_MODULE::VSHCACHE -#include "VertexShaderSource.h" +#include "VertexShaderCache.h" #include "core/kernel/init/CxbxKrnl.h" #include "util/hasher.h" #include "core/kernel/support/Emu.h" -VertexShaderSource g_VertexShaderSource = VertexShaderSource(); +VertexShaderCache g_VertexShaderCache = VertexShaderCache(); // FIXME : This should really be released and created in step with the D3D device lifecycle rather than being a thing on its own // (And the ResetD3DDevice method should be removed) + ID3DBlob* AsyncCreateVertexShader(IntermediateVertexShader intermediateShader, ShaderKey key) { ID3DBlob* pCompiledShader; @@ -25,7 +26,7 @@ ID3DBlob* AsyncCreateVertexShader(IntermediateVertexShader intermediateShader, S // Find a shader // Return true if the shader was found - bool VertexShaderSource::_FindShader(ShaderKey key, LazyVertexShader** ppLazyShader) { + bool VertexShaderCache::_FindShader(ShaderKey key, LazyVertexShader** ppLazyShader) { auto it = cache.find(key); if (it == cache.end()) { // We didn't find anything! Was CreateShader called? @@ -39,7 +40,7 @@ ID3DBlob* AsyncCreateVertexShader(IntermediateVertexShader intermediateShader, S // Create a new shader // If the shader was already created, just increase its reference count -ShaderKey VertexShaderSource::CreateShader(const xbox::dword_xt* pXboxFunction, DWORD *pXboxFunctionSize) { +ShaderKey VertexShaderCache::CreateShader(const xbox::dword_xt* pXboxFunction, DWORD *pXboxFunctionSize) { IntermediateVertexShader intermediateShader; *pXboxFunctionSize = GetVshFunctionSize(pXboxFunction); @@ -86,7 +87,7 @@ ShaderKey VertexShaderSource::CreateShader(const xbox::dword_xt* pXboxFunction, } // Get a shader using the given key -IDirect3DVertexShader* VertexShaderSource::GetShader(ShaderKey key) +IDirect3DVertexShader* VertexShaderCache::GetShader(ShaderKey key) { LazyVertexShader* pLazyShader = nullptr; @@ -145,7 +146,7 @@ IDirect3DVertexShader* VertexShaderSource::GetShader(ShaderKey key) } // Release a shader. Doesn't actually release any resources for now -void VertexShaderSource::ReleaseShader(ShaderKey key) +void VertexShaderCache::ReleaseShader(ShaderKey key) { // For now, don't bother releasing any shaders LazyVertexShader* pLazyShader; @@ -165,7 +166,7 @@ void VertexShaderSource::ReleaseShader(ShaderKey key) } } -void VertexShaderSource::ResetD3DDevice(IDirect3DDevice9* newDevice) +void VertexShaderCache::ResetD3DDevice(IDirect3DDevice9* newDevice) { EmuLog(LOG_LEVEL::DEBUG, "Resetting D3D device"); this->pD3DDevice = newDevice; diff --git a/src/core/hle/D3D8/Direct3D9/VertexShaderSource.h b/src/core/hle/D3D8/Direct3D9/VertexShaderCache.h similarity index 92% rename from src/core/hle/D3D8/Direct3D9/VertexShaderSource.h rename to src/core/hle/D3D8/Direct3D9/VertexShaderCache.h index da215c85e..82a332b66 100644 --- a/src/core/hle/D3D8/Direct3D9/VertexShaderSource.h +++ b/src/core/hle/D3D8/Direct3D9/VertexShaderCache.h @@ -8,7 +8,7 @@ typedef uint64_t ShaderKey; // Manages creation and caching of vertex shaders -class VertexShaderSource { +class VertexShaderCache { public: ShaderKey CreateShader(const xbox::dword_xt* pXboxFunction, DWORD* pXboxFunctionSize); @@ -42,6 +42,6 @@ private: bool _FindShader(ShaderKey key, LazyVertexShader** ppLazyShader); }; -extern VertexShaderSource g_VertexShaderSource; +extern VertexShaderCache g_VertexShaderCache; #endif diff --git a/src/core/hle/D3D8/XbVertexShader.cpp b/src/core/hle/D3D8/XbVertexShader.cpp index b30ca8956..0347ac8fe 100644 --- a/src/core/hle/D3D8/XbVertexShader.cpp +++ b/src/core/hle/D3D8/XbVertexShader.cpp @@ -34,7 +34,7 @@ #include "core\kernel\support\Emu.h" #include "core\hle\D3D8\Direct3D9\Direct3D9.h" // For g_Xbox_VertexShader_Handle #include "core\hle\D3D8\Direct3D9\RenderStates.h" // For XboxRenderStateConverter -#include "core\hle\D3D8\Direct3D9\VertexShaderSource.h" // For g_VertexShaderSource +#include "core\hle\D3D8\Direct3D9\VertexShaderCache.h" // For g_VertexShaderCache #include "core\hle\D3D8\XbVertexBuffer.h" // For CxbxImpl_SetVertexData4f #include "core\hle\D3D8\XbVertexShader.h" #include "core\hle\D3D8\XbD3D8Logging.h" // For DEBUG_D3DRESULT @@ -1170,8 +1170,8 @@ void CxbxUpdateHostVertexShader() assert(pTokens); // Create a vertex shader from the tokens DWORD shaderSize; - auto VertexShaderKey = g_VertexShaderSource.CreateShader(pTokens, &shaderSize); - IDirect3DVertexShader* pHostVertexShader = g_VertexShaderSource.GetShader(VertexShaderKey); + auto VertexShaderKey = g_VertexShaderCache.CreateShader(pTokens, &shaderSize); + IDirect3DVertexShader* pHostVertexShader = g_VertexShaderCache.GetShader(VertexShaderKey); HRESULT hRet = g_pD3DDevice->SetVertexShader(pHostVertexShader); DEBUG_D3DRESULT(hRet, "g_pD3DDevice->SetVertexShader"); } @@ -1559,7 +1559,7 @@ void CxbxImpl_DeleteVertexShader(DWORD Handle) RegisterCxbxVertexDeclaration(pCxbxVertexDeclaration->Key, nullptr); // Remove from cache (which will free present pCxbxVertexDeclaration) // Release the host vertex shader - g_VertexShaderSource.ReleaseShader(pCxbxVertexShader->Key); + g_VertexShaderCache.ReleaseShader(pCxbxVertexShader->Key); #endif }