summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/bgfx/chainmanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* bgfx/chainmanager: correct a printf parse issue (compiler didn't care) hap2025-06-201-1/+1
|
* Retired the over-stretched "system type" flags. Vas Crabb2023-03-231-1/+1
| | | | | | | | | | | | | | | | Functionally, the only difference between the system definitions is that GAMEL lets you specify an additional internal layout and SYST lets you specify a compatible system. COMP and CONS are just aliases for SYST - the aliases can be phased out. Removed arcade.flt and mess.flt altogether - opinion seems to be split between misinterpreting them as fully supported and considering them unnecessary. They were marginally useful as a performance test for makedep.py, but that isn't important. We still have nl.flt as an example .flt file (although it doesn't use "-" exclude directives). Moved the UI active flag from the machine to the UI manager. Nothing else uses it anyway (it's still accessible to scripts).
* Miscellaneous cleanup: Vas Crabb2023-03-211-2/+4
| | | | | | | | | render/bgfx/chainmanager.cpp: Only treat source file or more sepecific INI as higher priority than CFG file for setting screen chains. sega/model2.cpp, taito/taitocchip.cpp: Got rid of bankdev. Adjusted some doucmentation files.
* bgfx: Refined configuration handling: Vas Crabb2023-02-021-35/+70
| | | | | | | | | | | | | * Sort screen chains by none, default, then collation order (rather than whatever order the filesystem yields). * Correctly persist settings across fullscreen toggle when explicit screen chains are configured. * If chains are specified for a single window only, apply them to all windows. * Treat empty string for screen chain as "default" rather than crashing. * Changed default setting for bgfx_screen_chains to an empty string so chain selection will be saved/restored per system with mame.ini file created by -cc with no other settings.
* render/bgfx: Fixed texture object lifecycle issues. Vas Crabb2023-02-021-51/+53
|
* osd: Turned video modules into actual modules, fixed various issues. Vas Crabb2023-02-011-18/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't ignore the return status of OSD module initialisation. Attempt to fall back to an alternate module if the selected module fails to initialise. Log more useful diagnostic information at verbose level. Fixed BGFX crash on exit after toggling fullscreen. Also persist more settings than just the selected chains across toggling fullscreen. Turned video modules into OSD modules in the same sense as all the other OSD modules. They now use the same selection/fallback mechanism as all the other modules without special extra code in the OSD implementations. Untangled some object ownership mess. Windows own renderers, OSD objects own windows. Fixed a refrence loop that caused the first window object to always leak. Don't create renderer object until after underlying window has been created. Fixed issues with order of creation/destruction when toggling fullscreen or changing prescale in fullscreen with -switchres in SDL builds. Use more smart pointers in BGFX and Direct3D render modules. Most of the code now reutrns a smart pointer when handing over ownership or a naked pointer when retaining ownership. Fixed a few leaks and simplified cleanup code. Encapsulated various OSD modules better.
* Major D3D and BGFX code refactoring and bug fixes: (#10858) [Ryan Holtz] MooglyGuy2023-01-291-28/+85
| | | | | | | | | | | * 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.
* bgfx: Back out some formatting changes to minimise conflicts. Vas Crabb2023-01-081-2/+6
|
* bgfx: Save values of most sliders per-system. Vas Crabb2023-01-081-15/+149
|
* Update BGFX, BX and BIMG (#10789) Miodrag Milanović2023-01-051-1/+2
| | | | * Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433 Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
* Revert "Update BGFX, BX and BIMG (#10750)" (#10787) R. Belmont2023-01-041-2/+1
| | | This reverts commit 5581eaa50a42256242f32569f59ce10d70ddd8c2 due to link failure on macOS.
* Update BGFX, BX and BIMG (#10750) Miodrag Milanović2023-01-041-1/+2
| | | | * Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433 Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
* Revert "-bgfx: Adjusted per-pass blending handling - fixes MT07586 and ↵ MooglyGuy2022-12-261-33/+5
| | | | | MT07587. (#10747) [Ryan Holtz]" (#10748) This reverts commit 2d893a60b4675359285737be173dfa632269cab3.
* -bgfx: Adjusted per-pass blending handling - fixes MT07586 and MT07587. ↵ MooglyGuy2022-12-261-5/+33
| | | | (#10747) [Ryan Holtz]
* osd/modules/file: Don't magically substitute environment variables when ↵ npwoods2022-12-171-2/+2
| | | | | | | | opening files. (#9859) * util/options.cpp: Added option types for single and multiple paths. * util/options.cpp: Substitute environment variables in values from defaults and INI files. * ui/dirmenu.cpp: Removed hard-coded list of multi-path options. * plugins: Don't substitute environment variables in path options.
* Clean up #includes in src/osd (#10029) ajrhacker2022-07-041-3/+22
| | | | | * Clean up #includes in src/osd * render/bgfx/view.cpp: Add license header
* osdcore.h: Changed osd_subst_env to accept a std::string_view and return a ↵ npwoods2022-06-151-4/+2
| | | | std::string. (#9928)
* bgfx: Honour texture wrap flag. (#9812) Vas Crabb2022-05-231-1/+4
|
* Updated BGFX fixes; verified as working on Linux and Windows. (#9420) MooglyGuy2022-03-151-4/+4
| | | | | | | * -bgfx: Improved stability when encountering missing files, and improved multi-window stability. [Ryan Holtz] * -osd: Added video-init fallback functionality to other OSDs. [Ryan Holtz] * -bgfx: Fixed issues from the previous batch of changes. [Ryan Holtz] * -osdwindow: Remove no-longer-needed addition of post_create(). [Ryan Holtz]
* Revert "More BGFX stability improvements (missing files + multi-window) (#9410)" Vas Crabb2022-03-161-4/+4
| | | | This reverts commit f5b75b74393646d1dc082ec807279451dc481854.
* More BGFX stability improvements (missing files + multi-window) (#9410) MooglyGuy2022-03-141-4/+4
| | | | | * -bgfx: Improved stability when encountering missing files, and improved multi-window stability. [Ryan Holtz] * -osd: Added video-init fallback functionality to other OSDs. [Ryan Holtz]
* -osd/windows: Fixed stupid potential deadlock on exit. Vas Crabb2021-11-131-25/+13
| | | | | -frontend: Some changes to menu item class that will make it possbile to reduce the number of menu rebuilds.
* -bgfx: Switched fs_blit_palette16 to expand bitmap_ind16 contents to R8. ↵ MooglyGuy2021-09-041-3/+4
| | | | Fixes vertical off-by-one shift in games with an odd pixel count along X. [Ryan Holtz] (#8528)
* BGFX fixes for various backends (#8469) [Ryan Holtz] MooglyGuy2021-08-201-3/+5
| | | | * Fixed palette and UYVY conversion in all backends. Fixes MT07760. * Fixed a typo in targetmanager.cpp, thanks LN for the heads-up.
* ui: Clean up slider callbacks AJR2021-01-271-10/+8
|
* bgfx/chainmanager.cpp: Remove another entirely useless string_format call AJR2020-12-211-1/+1
|
* Eliminate many unnecessary c_str calls AJR2020-12-211-5/+5
|
* -Got rid of most of the remaining problematic uses of make_unique_clear. Vas Crabb2020-09-301-1/+1
| | | | -sound/discrete.cpp: Use C++ std::vector and range-based for.
* -bgfx: Corrected a data overrun in the d3d12 backend from allocating only ↵ Ryan Holtz2020-06-201-3/+3
| | | | enough texture data for width*height, not rowpixels*height. [Ryan Holtz]
* -bgfx: Fixed Github issues #5830 and #5956. [Ryan Holtz] MooglyGuy2019-11-241-21/+44
|
* bgfx: fix tgmj crash on resolution change (GitHub #5857) [Ryan Holtz Vas Crabb2019-11-061-0/+8
|
* (nw) keep a persistent temporary palette buffer in bgfx chain manager, back ↵ Vas Crabb2019-10-251-6/+6
| | | | out some unintentional screen changes
* -bgfx: Fixed incorrect pitch of palette uploads, fixes 16-bit palettized ↵ MooglyGuy2019-10-231-4/+8
| | | | textures in Vulkan backend on BGFX. nw
* -bgfx: Fix crash when scrolling current effect to 'none', nw MooglyGuy2019-10-221-1/+1
|
* -bgfx: Rework chain updating to minimize primlist locking, nw MooglyGuy2019-10-221-86/+103
|
* -bgfx: Do texture format conversion via a full-screen GPU pass. [Ryan Holtz] MooglyGuy2019-10-131-11/+78
|
* 3rdparty: Updated bgfx, bimg, and bx to latest upstream. [Ryan Holtz] mooglyguy2018-12-051-1/+1
|
* Damn this design is ridiculous, let's just make it a little less crash-prone ↵ Olivier Galibert2018-07-181-0/+3
| | | | (nw)
* Updated GENie, BGFX, BX, added BIMG since it is separated now, updated all ↵ Miodrag Milanovic2017-12-011-2/+2
| | | | shader binaries and MAME part of code to support new interfaces [Miodrag Milanovic]
* Use std::unique_ptr to manage instances of slider_state (nw) AJR2017-09-151-5/+4
|
* do variable substitution in bgfx_path #2201 Vas Crabb2017-04-231-3/+7
|
* Fix compile with latest BGFX (nw) Miodrag Milanovic2017-01-021-2/+3
|
* Move special windows.h include directives to build defines (nw) Brad Hughes2016-12-281-2/+0
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-2/+2
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* use floorf rather than floor for float->float Vas Crabb2016-09-281-2/+2
|
* Fixed several small issues in HLSL/BGFX Jezze2016-09-281-2/+2
| | | | | | * 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)
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-1/+2
| | | | to inline functions (nw)
* Cleanup and version bumpmame0175 Miodrag Milanovic2016-06-291-23/+23
|
* POSIX implementation for new directory read features, cleanup of Windows ↵ Vas Crabb2016-06-251-3/+1
| | | | implementation, return directory handle as smart pointer, fix full build [Vas Crabb]
* C++-ified osd_directory (now osd::directory), and added last_modified to ↵ Nathan Woods2016-06-241-5/+5
| | | | osd::directory::entry