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