From e89eb3e77c78015420b9fbfc7d89279b77014190 Mon Sep 17 00:00:00 2001 From: MooglyGuy Date: Sat, 20 May 2023 14:05:42 +0200 Subject: BGFX and D3D9 renderer fixes for issues #11104, #11106, and #11107 (#11249) * -hlsl.json: Removed duplicate scanline_variation setting. (#11107) [Ryan Holtz] * -d3dhlsl.cpp: Fixed lack of post-pass application when bloom is disabled. (#11104) [Ryan Holtz] * -drawd3d.cpp: Always set a default texture at scene start. (#11106) [Ryan Holtz] --- bgfx/chains/hlsl.json | 1 - src/osd/modules/render/d3d/d3dhlsl.cpp | 14 +++++++++----- src/osd/modules/render/drawd3d.cpp | 3 +++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/bgfx/chains/hlsl.json b/bgfx/chains/hlsl.json index 59b56153f44..26f6f2382f4 100644 --- a/bgfx/chains/hlsl.json +++ b/bgfx/chains/hlsl.json @@ -93,7 +93,6 @@ { "type": "float", "name": "scanline_bright_scale", "text": "Scanline Brightness Scale", "default": 2.00, "max": 4.00, "min": 0.0, "step": 0.01, "format": "%1.2f", "screen": "crt" }, { "type": "float", "name": "scanline_bright_offset", "text": "Scanline Brightness Offset", "default": 1.50, "max": 4.00, "min": 0.0, "step": 0.01, "format": "%1.2f", "screen": "crt" }, { "type": "float", "name": "scanline_jitter_amount", "text": "Scanline Jitter Amount", "default": 0.00, "max": 4.00, "min": 0.0, "step": 0.01, "format": "%1.2f", "screen": "crt" }, - { "type": "float", "name": "scanline_variation", "text": "Scanline Variation", "default": 1.00, "max": 4.00, "min": 0.0, "step": 0.01, "format": "%1.2f", "screen": "crt" }, { "type": "intenum", "name": "shadow_tile_mode", "text": "Shadow Mask Tile Mode", "default": 0, "max": 1, "min": 0, "step": 1, "format": "%s", "screen": "any", "strings": [ "Screen", "Source" ] }, { "type": "float", "name": "shadow_alpha", "text": "Shadow Mask Amount", "default": 0.50, "max": 1.00, "min": 0.00, "step": 0.01, "format": "%1.2f", "screen": "crt" }, diff --git a/src/osd/modules/render/d3d/d3dhlsl.cpp b/src/osd/modules/render/d3d/d3dhlsl.cpp index 7c30339853f..52bec85f06f 100644 --- a/src/osd/modules/render/d3d/d3dhlsl.cpp +++ b/src/osd/modules/render/d3d/d3dhlsl.cpp @@ -1570,12 +1570,16 @@ void shaders::render_quad(poly_info *poly, int vertnum) //next_index = phosphor_pass(rt, next_index, poly, vertnum); // create bloom textures - int old_index = next_index; - next_index = post_pass(rt, next_index, poly, vertnum, true); - next_index = downsample_pass(rt, next_index, poly, vertnum); + bool bloom_enabled = (options->bloom_scale > 0.0f); + if (bloom_enabled) + { + int old_index = next_index; + next_index = post_pass(rt, next_index, poly, vertnum, true); + next_index = downsample_pass(rt, next_index, poly, vertnum); + next_index = old_index; + } - // apply bloom textures - next_index = old_index; + // apply bloom textures (if enabled) and other post effects next_index = post_pass(rt, next_index, poly, vertnum, false); next_index = bloom_pass(rt, next_index, poly, vertnum); next_index = phosphor_pass(rt, next_index, poly, vertnum); diff --git a/src/osd/modules/render/drawd3d.cpp b/src/osd/modules/render/drawd3d.cpp index 39fbc2408a2..542e2f8955d 100644 --- a/src/osd/modules/render/drawd3d.cpp +++ b/src/osd/modules/render/drawd3d.cpp @@ -755,6 +755,9 @@ void renderer_d3d9::begin_frame() if (m_shaders->enabled()) m_shaders->begin_frame(window().m_primlist); + + // set an initial default texture + set_texture(nullptr); } void renderer_d3d9::process_primitives() -- cgit v1.2.3