diff --git a/gfx/drivers/d3d12.c b/gfx/drivers/d3d12.c index b23fa88785..66dcd301c1 100644 --- a/gfx/drivers/d3d12.c +++ b/gfx/drivers/d3d12.c @@ -886,7 +886,7 @@ static bool d3d12_gfx_init_pipelines(d3d12_video_t* d3d12) } #endif - desc.BlendState.RenderTarget[0] = d3d12_blend_disable_desc; + desc.BlendState.RenderTarget[0] = d3d12_blend_enable_desc; desc.RTVFormats[0] = DXGI_FORMAT_R8G8B8A8_UNORM; { @@ -916,6 +916,12 @@ static bool d3d12_gfx_init_pipelines(d3d12_video_t* d3d12) d3d12->device, vs_code, ps_code, NULL, &desc, &d3d12->pipes[VIDEO_SHADER_STOCK_BLEND]); + desc.BlendState.RenderTarget[0].BlendEnable = false; + d3d12_init_pipeline( + d3d12->device, vs_code, ps_code, NULL, &desc, + &d3d12->pipes[VIDEO_SHADER_STOCK_NOBLEND]); + + Release(vs_code); Release(ps_code); vs_code = NULL; @@ -2663,7 +2669,7 @@ static bool d3d12_gfx_frame( if (texture) { D3D12SetPipelineState(d3d12->queue.cmd, - d3d12->pipes[VIDEO_SHADER_STOCK_BLEND]); + d3d12->pipes[VIDEO_SHADER_STOCK_NOBLEND]); D3D12SetGraphicsRootSignature(d3d12->queue.cmd, d3d12->desc.rootSignature); D3D12SetGraphicsRootDescriptorTable(d3d12->queue.cmd, diff --git a/gfx/video_driver.h b/gfx/video_driver.h index 8022bd662e..9b7fb4245f 100644 --- a/gfx/video_driver.h +++ b/gfx/video_driver.h @@ -52,14 +52,15 @@ #define MEASURE_FRAME_TIME_SAMPLES_COUNT (2 * 1024) -#define VIDEO_SHADER_STOCK_BLEND (GFX_MAX_SHADERS - 1) -#define VIDEO_SHADER_MENU (GFX_MAX_SHADERS - 2) -#define VIDEO_SHADER_MENU_2 (GFX_MAX_SHADERS - 3) -#define VIDEO_SHADER_MENU_3 (GFX_MAX_SHADERS - 4) -#define VIDEO_SHADER_MENU_4 (GFX_MAX_SHADERS - 5) -#define VIDEO_SHADER_MENU_5 (GFX_MAX_SHADERS - 6) -#define VIDEO_SHADER_MENU_6 (GFX_MAX_SHADERS - 7) -#define VIDEO_SHADER_STOCK_HDR (GFX_MAX_SHADERS - 8) +#define VIDEO_SHADER_STOCK_BLEND (GFX_MAX_SHADERS - 1) +#define VIDEO_SHADER_MENU (GFX_MAX_SHADERS - 2) +#define VIDEO_SHADER_MENU_2 (GFX_MAX_SHADERS - 3) +#define VIDEO_SHADER_MENU_3 (GFX_MAX_SHADERS - 4) +#define VIDEO_SHADER_MENU_4 (GFX_MAX_SHADERS - 5) +#define VIDEO_SHADER_MENU_5 (GFX_MAX_SHADERS - 6) +#define VIDEO_SHADER_MENU_6 (GFX_MAX_SHADERS - 7) +#define VIDEO_SHADER_STOCK_HDR (GFX_MAX_SHADERS - 8) +#define VIDEO_SHADER_STOCK_NOBLEND (GFX_MAX_SHADERS - 9) #define VIDEO_HDR_MAX_CONTRAST 10.0f