From bd9459a0c40f27c8aa04b25814a9ad763a72dc22 Mon Sep 17 00:00:00 2001 From: doodlum <15017472+doodlum@users.noreply.github.com> Date: Mon, 8 Sep 2025 17:37:48 +0100 Subject: [PATCH] chore: remove hdr shader hacks --- src/Deferred.cpp | 77 ------------------------------------------------ src/Deferred.h | 9 ------ src/State.cpp | 2 -- 3 files changed, 88 deletions(-) diff --git a/src/Deferred.cpp b/src/Deferred.cpp index 8d43891a35..4695832a57 100644 --- a/src/Deferred.cpp +++ b/src/Deferred.cpp @@ -107,21 +107,6 @@ void Deferred::SetupResources() SetupRenderTarget(NORMALROUGHNESS, texDesc, srvDesc, rtvDesc, uavDesc, DXGI_FORMAT_R10G10B10A2_UNORM, D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE); // Masks SetupRenderTarget(MASKS, texDesc, srvDesc, rtvDesc, uavDesc, DXGI_FORMAT_R8G8B8A8_UNORM, D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE); - - texDesc.Format = DXGI_FORMAT_R16G16B16A16_FLOAT; - texDesc.Width = 2; - texDesc.Height = 2; - - adaptationTextures[0] = new Texture2D(texDesc); - adaptationTextures[1] = new Texture2D(texDesc); - - srvDesc.Format = texDesc.Format; - adaptationTextures[0]->CreateSRV(srvDesc); - adaptationTextures[1]->CreateSRV(srvDesc); - - rtvDesc.Format = texDesc.Format; - adaptationTextures[0]->CreateRTV(rtvDesc); - adaptationTextures[1]->CreateRTV(rtvDesc); } { @@ -197,13 +182,6 @@ void Deferred::SetupResources() prevDiffuseAmbientTexture->CreateSRV(srvDesc); prevDiffuseAmbientTexture->CreateUAV(uavDesc); } - - // Testing code for imagespace shaders - { - auto device = globals::d3d::device; - auto context = globals::d3d::context; - DirectX::CreateDDSTextureFromFile(device, context, L"Data\\Shaders\\LUT.dds", nullptr, lutTexture.put()); - } } void Deferred::CopyShadowData() @@ -773,61 +751,6 @@ ID3D11ComputeShader* Deferred::GetComputeMainCompositeInterior() return mainCompositeInteriorCS; } -void Deferred::HDRShaderHacks() -{ - if (globals::state->currentShader && globals::state->currentShader->shaderType.get() == RE::BSShader::Type::ImageSpace) { - const auto& isShader = static_cast(*globals::state->currentShader); - - enum class ShaderAction - { - Adaptation, - HDR - }; - - static const ankerl::unordered_dense::map shaderMap{ - { "BSImagespaceShaderHDRDownSample4LightAdapt", ShaderAction::Adaptation }, - { "BSImagespaceShaderHDRDownSample16LightAdapt", ShaderAction::Adaptation }, - { "BSImagespaceShaderHDRTonemapBlendCinematic", ShaderAction::HDR }, - { "BSImagespaceShaderHDRTonemapBlendCinematicFade", ShaderAction::HDR } - }; - - auto it = shaderMap.find(isShader.name); - if (it != shaderMap.cend()) { - switch (it->second) { - case ShaderAction::Adaptation: - BindAdaptationShader(); - break; - case ShaderAction::HDR: - BindHDRShader(); - break; - } - } - } -} - -void Deferred::BindAdaptationShader() -{ - uint frameSwap = (globals::state->frameCount % 2); - - auto srv = adaptationTextures[frameSwap]->srv.get(); - globals::d3d::context->PSSetShaderResources(1, 1, &srv); - - auto rtv = adaptationTextures[!frameSwap]->rtv.get(); - globals::d3d::context->OMSetRenderTargets(1, &rtv, nullptr); -} - -void Deferred::BindHDRShader() -{ - uint frameSwap = (globals::state->frameCount % 2); - - auto srv = adaptationTextures[!frameSwap]->srv.get(); - globals::d3d::context->PSSetShaderResources(2, 1, &srv); - - auto view = lutTexture.get(); - if (view) - globals::d3d::context->PSSetShaderResources(100, 1, &view); -} - void Deferred::Hooks::Main_RenderShadowMaps::thunk() { func(); diff --git a/src/Deferred.h b/src/Deferred.h index 8ddd87dbeb..e75f754b31 100644 --- a/src/Deferred.h +++ b/src/Deferred.h @@ -35,12 +35,6 @@ class Deferred ID3D11ComputeShader* GetComputeMainCompositeInterior(); - void HDRShaderHacks(); - - void BindAdaptationShader(); - - void BindHDRShader(); - ID3D11BlendState* deferredBlendStates[7][2][13][2]; ID3D11BlendState* forwardBlendStates[7][2][13][2]; @@ -80,9 +74,6 @@ class Deferred Buffer* perShadow = nullptr; ID3D11ShaderResourceView* shadowView = nullptr; - Texture2D* adaptationTextures[2]; - winrt::com_ptr lutTexture = nullptr; - struct Hooks { struct Main_RenderShadowMaps diff --git a/src/State.cpp b/src/State.cpp index eb54bb8b09..027b137aed 100644 --- a/src/State.cpp +++ b/src/State.cpp @@ -38,8 +38,6 @@ void State::Draw() truePBR->SetShaderResouces(context); - globals::deferred->HDRShaderHacks(); - if (permutationData != permutationDataPrevious) { permutationCB->Update(permutationData); permutationDataPrevious = permutationData;