summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/drawd3d.h
Commit message (Collapse)AuthorAgeFilesLines
* osd: Turned video modules into actual modules, fixed various issues. Vas Crabb2023-02-011-29/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Got rid of global_alloc/global_free. Vas Crabb2020-10-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* use C++ library includes (nw) firewave2020-01-221-1/+1
|
* make useless comment less confusing (nw) hap2019-06-171-1/+1
|
* Move special windows.h include directives to build defines (nw) Brad Hughes2016-12-281-1/+0
|
* srcclean (nw) Vas Crabb2016-11-271-1/+1
|
* Make d3d9 a little more discerning in what level of bad hardware it will ↵ therealmogminer@gmail.com2016-10-231-1/+1
| | | | allow, nw
* final cleanup of TRUE/FALSE, left only in windows section where it represent ↵ Miodrag Milanovic2016-10-221-1/+1
| | | | BOOL (nw)
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-4/+4
| | | | | 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 MT #6291 ImJezze2016-07-161-0/+1
| | | | | | | | * 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
* Misc code cleanups for Direct3D code Giuseppe Gorgoglione2016-07-011-4/+0
| | | | Removed unused methods, unused function parameters, redundant casts, doubly linked lists made into singly linked lists, etc.
* Fixed crash of D3D when sliders menu is openend and resizing the window or ↵ ImJezze2016-06-201-10/+9
| | | | switching between window and full screen mode
* Introduce dynamic_module Giuseppe Gorgoglione2016-06-111-13/+25
| | | | | This is a central cross-platform facility to dynamically bind functions from shared libraries. Updated all OSD modules to use it.
* Cleanup vector batch in D3D (nw) ImJezze2016-05-291-3/+1
|
* Removed dead D3D code (nw) ImJezze2016-05-291-2/+1
| | | | | | | - 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
* Revert "Temp revert of Brad changes (nw)" Miodrag Milanovic2016-04-251-1/+1
| | | | This reverts commit 5e831f6506ee06f8c30cb113551ee0fec53804db.
* Temp revert of Brad changes (nw) Miodrag Milanovic2016-04-251-1/+1
|
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-18/+18
|
* Refactor OSD window. Brad Hughes2016-04-211-1/+1
| | | | | | | | | | 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.
* Make sliders use an std::vector instead of a linked list, nw therealmogminer@gmail.com2016-04-101-1/+0
|
* Fixed render target dimension swap for BGFX (nw) ImJezze2016-04-031-11/+0
|
* Iterate over core classes C++11 style AJR2016-03-311-3/+3
| | | | | | | | 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).
* Refactoring of render targes and vector texture coordinates ImJezze2016-03-121-2/+11
| | | | | | | | - 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
* Cleanups and version bump Miodrag Milanovic2016-02-241-11/+11
|
* Fix D3D and BGFX fullscreen toggle issues, nw therealmogminer@gmail.com2016-02-221-1/+5
|
* Final fixups, get sliders working again, nw therealmogminer@gmail.com2016-02-211-1/+1
|
* More work on targets, nw therealmogminer@gmail.com2016-02-211-4/+4
|
* More reshuffling, nw therealmogminer@gmail.com2016-02-211-0/+1
|
* First take on render API reorg, nw therealmogminer@gmail.com2016-02-211-90/+33
|
* Refactoring ImJezze2015-12-311-3/+0
| | | | | | | | | | | | - 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
* fixing some more override (nw) Miodrag Milanovic2015-12-061-7/+7
|
* Fixed reset of HLSL settings ImJezze2015-11-081-0/+2
| | | | | | | - fixed bug that resets the HLSL settings when the screen size has changed - removed hardcoded HLSL presets - updates HLSL readme
* Merge pull request #5 from mamedev/master ImJezze2015-07-201-1/+1
|\ | | | | Sync to base master
| * some extremely low hanging pedantic fruit Cowering2015-07-081-1/+1
| |
* | Refactoring ImJezze2015-07-051-0/+1
| | | | | | | | | | - made most render pass functions independent from each other - resused phosphor and bloom pass function for vector rendering
* | Refactoring ImJezze2015-07-041-6/+4
|/ | | | | - reduced number of used render textures/targets from 7 to 4 - some code cleanup
* Moved all renderers to osd/modules/render. (nw) couriersud2015-02-281-0/+232