| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The global_alloc/global_free functions have outlived their usefulness.
They don't allow consistently overriding the default memory allocation
behaviour because they aren't used consistently, and we don't have
standard library allocator wrappers for them that we'd need to use them
consistently with all the standard library containers we're using. If
you need to change the default allocator behaviour, you can override the
new/delete operators, and there are ways to get more fine-grained
control that way. We're already doing that to pre-fill memory in debug
builds.
Code was already starting to depend on global_alloc/global_free wrapping
new/delete. For example some parts of the code (including the UI and
Windows debugger) was putting the result of global_alloc in a
std::unique_ptr wrappers without custom deleters, and the SPU sound
device was assuming it could use global_free to release memory allocated
with operator new. There was also code misunderstanding the behaviour
of global_alloc, for example the GROM port cartridge code was checking
for nullptr when a failure will actually throw std::bad_alloc.
As well as substituting new/delete, I've made several things use smart
pointers to reduce the chance of leaks, and fixed a couple of leaks,
too.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
allow, nw
|
| |
|
|
| |
BOOL (nw)
|
| |
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
* fixed copy of texture data to bitmap in BGFX
* changed AVI dimension to a lowest integral multiple of 4
(2 was still to low for most video players, e.g. VLC)
* added audio to AVI record in HLSL
* HLSL AVI record now uses window dimension instead of snap dimension
|
| |
|
|
| |
Removed unused methods, unused function parameters, redundant casts, doubly linked lists made into singly linked lists, etc.
|
| |
|
|
| |
switching between window and full screen mode
|
| |
|
|
|
| |
This is a central cross-platform facility to dynamically bind functions from shared libraries.
Updated all OSD modules to use it.
|
| | |
|
| |
|
|
|
|
|
| |
- removed not functional vector texture code
- removed unused D3DTOP_MODULATE2X/4X code
- removed unused antialiasing code for UI lines
- removed usage of vector_time_period which does not exist anymore
|
| |
|
|
| |
This reverts commit 5e831f6506ee06f8c30cb113551ee0fec53804db.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Unified renderer in osd_window as std::unique_ptr
Made windows all std::shared_ptr<window_type>
Made window lists std::list<std::shared_ptr<window_type>>
Updated OSD SDL worker_param to not use malloc (not compatible with smart
pointers)
Made renderer pointer to window a weak reference. May not be available
during destruction of the window.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
C++11 range-based for loops can now iterate over simple_list, tagged_list, core_options, device_t::subdevice_list, device_t::interface_list, render_primitive_list and all subclasses of the above, and much code has been refactored to use them. Most core classes that have these lists as members now have methods that return the lists themselves, replacing most of the methods that returned the object at an owned list's head. (A few have been retained due to their use in drivers or OSD.)
device_t now manages subdevice and interface lists through subclasses, but has given up the work of adding and removing subdevices to machine_config.
memory_manager has its tagged lists exposed, though the old rooted tag lookup methods have been removed (they were privatized already).
|
| |
|
|
|
|
|
|
| |
- implemented proper texture coordinates for vector quad primitive
- vector screen is now processed in texture coordinates
- revered workaround for raster screen, which is again processed in
texture coordinates
- known issue: cocktail mode for vector screen looks wrong
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- replaced shader parameters OrientationSwapXY xor RotationSwapXY by
SwapXY
- made shader parameters SourceDims, SourceRect, TargetDims, ScreenDims,
QuadDims and SwapXY available for all shaders
- color convolution, defocus and phosphor pass will now be skipped if
all influencing parameters are 0
- removed unused bloom_texture and bloom_target arrays from cache_target
class
- fixed half texel offset in prescale.fx
|
| | |
|
| |
|
|
|
|
|
| |
- fixed bug that resets the HLSL settings when the screen size has
changed
- removed hardcoded HLSL presets
- updates HLSL readme
|
| |\
| |
| | |
Sync to base master
|
| | | |
|
| | |
| |
| |
| |
| | |
- made most render pass functions independent from each other
- resused phosphor and bloom pass function for vector rendering
|
| |/
|
|
|
| |
- reduced number of used render textures/targets from 7 to 4
- some code cleanup
|
| |
|