From 4895219d59087dcf8f9a8e419312074ec45dfd17 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 17 Jan 2020 16:55:05 +0000 Subject: [PATCH] Disable blending when rendering custom shader output --- renderdoc/driver/d3d12/d3d12_rendertexture.cpp | 8 +------- renderdoc/driver/gl/gl_rendertexture.cpp | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_rendertexture.cpp b/renderdoc/driver/d3d12/d3d12_rendertexture.cpp index 7dc97b677..0a23caeac 100644 --- a/renderdoc/driver/d3d12/d3d12_rendertexture.cpp +++ b/renderdoc/driver/d3d12/d3d12_rendertexture.cpp @@ -514,13 +514,7 @@ bool D3D12Replay::RenderTextureInternal(D3D12_CPU_DESCRIPTOR_HANDLE rtv, Texture pipeDesc.NumRenderTargets = 1; pipeDesc.RTVFormats[0] = DXGI_FORMAT_R16G16B16A16_FLOAT; pipeDesc.DSVFormat = DXGI_FORMAT_UNKNOWN; - pipeDesc.BlendState.RenderTarget[0].BlendEnable = TRUE; - pipeDesc.BlendState.RenderTarget[0].SrcBlend = D3D12_BLEND_SRC_ALPHA; - pipeDesc.BlendState.RenderTarget[0].DestBlend = D3D12_BLEND_INV_SRC_ALPHA; - pipeDesc.BlendState.RenderTarget[0].BlendOp = D3D12_BLEND_OP_ADD; - pipeDesc.BlendState.RenderTarget[0].SrcBlendAlpha = D3D12_BLEND_SRC_ALPHA; - pipeDesc.BlendState.RenderTarget[0].DestBlendAlpha = D3D12_BLEND_INV_SRC_ALPHA; - pipeDesc.BlendState.RenderTarget[0].BlendOpAlpha = D3D12_BLEND_OP_ADD; + pipeDesc.BlendState.RenderTarget[0].BlendEnable = FALSE; pipeDesc.BlendState.RenderTarget[0].RenderTargetWriteMask = D3D12_COLOR_WRITE_ENABLE_ALL; HRESULT hr = m_pDevice->CreateGraphicsPipelineState(&pipeDesc, __uuidof(ID3D12PipelineState), diff --git a/renderdoc/driver/gl/gl_rendertexture.cpp b/renderdoc/driver/gl/gl_rendertexture.cpp index 2a4a9bf86..c0eb03135 100644 --- a/renderdoc/driver/gl/gl_rendertexture.cpp +++ b/renderdoc/driver/gl/gl_rendertexture.cpp @@ -643,7 +643,7 @@ bool GLReplay::RenderTextureInternal(TextureDisplay cfg, TexDisplayFlags flags) drv.glUnmapBuffer(eGL_UNIFORM_BUFFER); } - if(cfg.rawOutput || !blendAlpha) + if(cfg.rawOutput || !blendAlpha || cfg.customShaderId != ResourceId()) { drv.glDisable(eGL_BLEND); }