Commit Graph

44 Commits

Author SHA1 Message Date
MooglyGuy 5671484fc8
Major D3D and BGFX code refactoring and bug fixes: (#10858) [Ryan Holtz]
* render/bgfx: Improved clearing and blending. Added prescale support. Fixes MT07586, MT07587, MT08084.
* render/bgfx: Fixed blend and tint handling. (Fixes Github #1953).
* render/bgfx/blendreader.cpp: Support non-separated blend mode specification for BGFX effects.
* render/bgfx: Reworked how horizontally-padded screen textures are handled. Likely fixes MT08512 and MT08505.
* render/bgfx: Ensure that a texture's width margin is updated in all cases.
* render/d3d/d3dhlsl.cpp: Fixed tinting in HLSL post-processing mode.
* render/d3d/d3dhlsl.cpp: Avoid most redundant state-setting calls. Reduces D3D API calls by about 90% on fruit machine drivers.
* render/d3d/d3dhlsl.cpp: Assign SourceDims and QuadDims uniforms to only those effects that use them.
* machine/laserdsc.cpp: Always add video quad to screen container, adjust tint based on m_videoenable instead.
2023-01-29 03:59:25 +11:00
MooglyGuy 574a356e41
Revert "-bgfx: Adjusted per-pass blending handling - fixes MT07586 and MT07587. (#10747) [Ryan Holtz]" (#10748)
This reverts commit 2d893a60b4.
2022-12-26 23:13:02 +11:00
MooglyGuy 2d893a60b4
-bgfx: Adjusted per-pass blending handling - fixes MT07586 and MT07587. (#10747) [Ryan Holtz] 2022-12-26 14:40:43 +11:00
cgwg 75466ad87d
bgfx: crt-geom and crt-geom-deluxe improvements: (#8653)
* crt-geom-deluxe: Increased number of taps for halation and increased maximum width.
* crt-geom*: Moved repeated crt-geom/crt-geom-deluxe functions into their own file.
* crt-geom and crt-geom-deluxe: added support for sRGB output gamma ramp and made it the default.
2022-07-07 19:15:55 +10:00
MooglyGuy 1ad39cb5dd
-bgfx: Added default LUT PNG, fixes LUT-effect crash. Fixed external texture loading, restoring HQx filters. [Ryan Holtz] (#9401) 2022-03-12 20:30:02 -05:00
Vas Crabb 0c49c74ada srcclean: Added JSON cleaning support, and some cleanup.
Made pbobble parent of bublbust, as it seems to be more widespread and
more complete.  Also fixed some ROM labels for bublbust.

Made tbyahhoo parent of mtwinbee as the latter has substantial content
removed rather than being localised, making it less complete.

Applied srcclean to JSON files in bgfx subtree.
2021-08-20 05:52:27 +10:00
MooglyGuy 190f50e0a4
BGFX fixes for various backends (#8469) [Ryan Holtz]
* Fixed palette and UYVY conversion in all backends. Fixes MT07760.
* Fixed a typo in targetmanager.cpp, thanks LN for the heads-up.
2021-08-20 03:07:28 +10:00
cgwg 931f85ee27
bgfx: crt-geom and crt-geom-deluxe enhancements (#7872)
* Made spot size parameters adjustable also increased samples from 2 to 3 scanlines for crt-geom-deluxe.
* Made horizontal interpolation adjustable.
* bgfx crt-geom-deluxe: Made phosphor decay smoothly to zero at specified cutoff time.
* bgfx crt-geom-deluxe: Added lowpass filter.
2021-03-20 02:38:07 +11:00
cgwg 92b2921754
bgfx: crt-geom and crt-geom-deluxe enhancements (#7766)
Added a "brightness boost" feature for the shadow mask that works by making the brightness ratio between bright and dark mask pixels closer to 1 for the brighter parts of the image.

Added clamping to zero so that underscanning produces a black border.

Added a "raster bloom" effect to crt-geom-deluxe that makes the image grow slightly when the average brightness of the screen is high, mimicking a common defect in CRTs.
2021-02-21 14:47:28 +11:00
cgwg 42a2b0006b
bgfx: Added lcd-grid shader. (#7691)
Note that this is currently only compiled for GLSL.
2021-01-23 15:04:48 +11:00
MooglyGuy 4cccc0183c -bgfx: Fixed Github issues #5830 and #5956. [Ryan Holtz] 2019-11-24 15:40:28 +01:00
MooglyGuy 61b2a8afaf -bgfx: Do texture format conversion via a full-screen GPU pass. [Ryan Holtz] 2019-10-13 20:59:35 +02:00
Vas Crabb 9cbc957076 (nw) misc cleanup:
* tabify a JSON file (not currently handled by srcclean)
* get rid of stray printf
* µ'nSP in header comments - we do UTF-8 source
* spg2xx.cpp: make room for LOG_GENERAL - it's defined as (1U << 0) if you don't give it a different value
* spg2xx.h: inline on member function declarations generally doesn't do anything useful - it's implicit when the function body is inlined at declaration, and in other cases you usually want to put the inline qualifier on the definition, not the declaration
* rainbow.cpp: revert mouse changes - there's no reason a Mouse Systems driver couldn't be loaded, and the Logitech mouse is Microsoft-compatible
* video21.cpp: use deal/stand for blackjack control buttons now that we're not using deal for vblank
2018-11-04 17:57:08 +11:00
Westley M. Martinez b5a54b761c HLSL Color Transforms and 3D LUT (#4043)
* Remove broken scanline uniform from post_pass

* Add 3D LUT to HLSL

* Allow individual LUTs for screen and UI

* WIP: Port 3D LUT to BGFX

* Finish porting LUT to BGFX

* Add individual phosphor color conversion for HLSL
	new file:   hlsl/chroma.fx
		Shader for converting xyY3 to sRGB
	modified:   hlsl/phosphor.fx
		Minor changes to emphasize idea that phosphors are color
agnostic
	modified:   hlsl/post.fx
		Conversion from signal RGB to xyY3
	modified:   src/osd/modules/render/d3d/d3dhlsl.cpp
	modified:   src/osd/modules/render/d3d/d3dhlsl.h
	modified:   src/osd/windows/winmain.cpp
	modified:   src/osd/windows/winmain.h

* Add phosphor examples and update presets

* Port phosphor color shaders to BGFX

* Fix missing newlines at EOF
2018-10-07 11:42:30 -04:00
W. M. Martinez b4888aabc0 Port scanline modification to BGFX 2018-09-14 19:00:52 -07:00
Martin Lindhe b3c2645085 fix some typos (#2772) 2017-11-03 14:58:54 +01:00
Jezze ecf1e166fc Fixed several small issues in HLSL/BGFX
* fixed target texture dimension when -intoverscan is used (this fixes the appereance of scanline and shadow mask)
* added target_scale and screen_count uniforms
* rounded corners now remain aligned with screen bounds when -intoverscan is used (single screen only)
2016-09-28 15:30:43 +02:00
Jeremy Green 3697bd8cdc Added crt-geom and crt-geom-deluxe shaders for bgfx.
This includes several aperture grille / shadow mask patterns. Note that these are all designed to be used on a display with RGB subpixel order, and may thus suffer if rotated or used with a BGR display.
2016-07-03 22:43:16 +02:00
therealmogminer@gmail.com f263110d93 Fix crash when using pillarbox shaders, nw 2016-05-27 14:45:41 +02:00
therealmogminer@gmail.com 223a955d0b Fix up bgfx NTSC shader, nw 2016-04-29 06:58:20 +02:00
therealmogminer@gmail.com ea6bc4d8ce bgfx: Ported xBR shaders from libretro. [Ryan Holtz, Hyllian] 2016-04-25 02:12:59 +02:00
ImJezze 07d8b25571 Added "selection" parameter to chain input sampler
- if specified all textures (.png) within the same directoy of the given texture will be selectable via slider in the UI
- also added slider for "shadow mask tile mode" to HLSL chain
2016-04-24 20:36:42 +02:00
therealmogminer@gmail.com c8ade5d1fc Fix location of shader effect, nw 2016-04-21 16:01:57 +02:00
therealmogminer@gmail.com f5aa86dfc6 Checkpoint 1, nw 2016-04-21 15:48:29 +02:00
ImJezze b1c06acb61 Implemented handling for u_screen_scale and u_screen_offset (nw) 2016-04-21 07:52:29 +02:00
ImJezze cd4dfca43e Refactored BGFX distortion pass (nw)
- also removed vector hack
2016-04-19 21:18:16 +02:00
therealmogminer@gmail.com f8034ac812 bgfx: Added SuperEagle shader. [Ryan Holtz] 2016-04-19 16:29:30 +02:00
therealmogminer@gmail.com c64b88bc78 -Added HQ2x, HQ3x and HQ4x shaders. [MooglyGuy,Jules Blok,Cameron Zemek,Maxim Stepin] 2016-04-18 19:40:07 +02:00
therealmogminer@gmail.com bff9111a30 Add pillarboxing shaders and layout for bgfx, nw 2016-04-16 15:30:40 +02:00
therealmogminer@gmail.com 99aa7eacd7 bgfx: Add data-driven render target clearing [Ryan Holtz] 2016-04-14 17:22:24 +02:00
therealmogminer@gmail.com d9153eb306 Get bgfx post-processing working with laserdisc games, nw 2016-03-29 11:28:24 +02:00
therealmogminer@gmail.com c0b1182712 Final bgfx fixups for release 2016-03-28 22:58:32 +02:00
therealmogminer@gmail.com 22f0c31238 Cleanup in the bgfx aisle, nw 2016-03-25 18:44:46 +01:00
therealmogminer@gmail.com 93e5a03b89 Huge cleanup of render target handling, nw 2016-03-25 16:20:12 +01:00
Miodrag Milanovic c7fd2b5251 Update text (nw) 2016-03-24 08:20:18 +01:00
therealmogminer@gmail.com 9f48ad4fbb Add screen-specific shader chain support, nw 2016-03-23 15:11:12 +01:00
therealmogminer@gmail.com ea9e591a0c Polishing up BGFX shader system, nw 2016-03-18 03:21:34 +01:00
therealmogminer@gmail.com 493cf7289b More bgfx HLSL fixups, nw 2016-03-16 18:52:07 +01:00
therealmogminer@gmail.com b212e5dc2e Add most of the rest of the D3D HLSL chain, nw 2016-03-15 05:17:38 +01:00
therealmogminer@gmail.com cd8f796df6 Add bgfx command line options, major shakeup of organization, nw 2016-03-13 15:51:19 +01:00
therealmogminer@gmail.com ad1e6ef899 Add dynamic skipping of shader chain passes, nw 2016-03-13 15:51:17 +01:00
therealmogminer@gmail.com a20459a6a3 Fix up numerous bgfx shader bugs, add auto-uniform u_texsize, nw 2016-03-13 15:51:16 +01:00
therealmogminer@gmail.com cdee786a5d Fix up a few things in chain JSON loading, nw 2016-02-27 16:11:01 +01:00
therealmogminer@gmail.com 9a47a870df First take on render API reorg, nw 2016-02-21 03:03:23 +01:00