summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/drawsdl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Removed some unnecessary backslash line continuations. (#12047) amameuser2024-02-211-8/+8
| | | | | | * Removed unnecessary preprocessor line continuations from C++ code. * Use parentheses to avoid need for line continuations in expressions in Python code. * Removed line continuations at the end of lists in makefiles. * cpu/m68000: Regenerated C++ source files.
* render/drawsdl.cpp: Don't request OpenGL context. (#11435) hiromasa2023-07-301-1/+1
|
* osd: Turned video modules into actual modules, fixed various issues. Vas Crabb2023-02-011-102/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Various input and OSD refactoring: Vas Crabb2023-01-291-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd: Supply OSD object to modules on initialisation. Encapsulated some event handling in the OSD objects rather than leaving it in free functions. Put various stuff in namespaces. osd/modules/input: Enabled dinput, xinput and winhybrid modules for Windows SDL builds, and enabled background input for dinput and xinput (and by extension winhybrid) modules. Also fixed some COM and X11 resource leaks. osd/modules/input/input_sdl.cpp: Flipped SDL mouse button order to match Windows, and exposed vertical and horizontal scroll as Z and rZ axes. Moved SDL UI event handling out of input devices into OSD object. osd/modules/input_rawinput.cpp: Changed lightgun Z axis token so it's correctly identified as a relative axis (it maps to the scroll wheel equivalent). osd: Added an option to choose the network provider module. Mostly useful if you build with both TUN/TAP and pcap support included, or if you want to disable emulated networking completely. emu/input.cpp: Use a better strategy for assembling input code names that uses fewer temporary strings and doesn't require use of the non-Unicode-aware space trimming function (fixes MT08552). osd/modules/input_dinput.cpp: Improved polling logic. osd: Made various parts of the input code less dependent on concrete emu objects, and reduced inappropriately passing around the machine object. Made input modules less dependent on OSD implementation. Encapsulated some stuff and got rid of some vestigial newui and SDL1 support code. Cleaned up some interfaces. Moved OSD options classes to their own files. Prepare to remove main.h from emu.h - it's mostly used to get the application name, which the vast majority of emulated devices don't need to do.
* Clean up #includes in src/osd (#10029) ajrhacker2022-07-041-1/+1
| | | | | * Clean up #includes in src/osd * render/bgfx/view.cpp: Add license header
* Got rid of global_alloc/global_free. Vas Crabb2020-10-031-24/+9
| | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+2
|
* SDL: support RRGGBB00 format used by ARM Mali GPUs [R. Belmont] arbee2019-10-061-0/+4
|
* Change window handle storage to template instead of void* (nw) (#1725) Brad Hughes2016-11-171-4/+4
| | | | * Change window handle storage to template instead of void* (nw)
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-49/+49
| | | | | 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
* Convert OSD monitor info to modules plus add DXGI implementation Brad Hughes2016-09-141-1/+2
|
* RIP sdlinc.h couriersud2016-05-061-1/+1
|
* INC -> HXX makes editors and code analyzers see it as C++ (nw) Miodrag Milanovic2016-05-011-1/+1
|
* Cleanups and version bumpmame0173 Miodrag Milanovic2016-04-271-1/+1
|
* Revert "Temp revert of Brad changes (nw)" Miodrag Milanovic2016-04-251-22/+31
| | | | This reverts commit 5e831f6506ee06f8c30cb113551ee0fec53804db.
* Temp revert of Brad changes (nw) Miodrag Milanovic2016-04-251-31/+22
|
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-3/+3
|
* Split UI and frontend part from core [Miodrag Milanovic] Miodrag Milanovic2016-04-231-1/+1
|
* Refactor OSD window. Brad Hughes2016-04-211-22/+31
| | | | | | | | | | 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.
* These init calls all returned false. No need for a return value in this couriersud2016-04-181-2/+1
| | | case. [Couriersud]
* soft is hard and hard is soft. Two is one and one is two. No wonder couriersud2016-04-181-11/+11
| | | | "-video accel" has substandard performance if opengl is disabled. [Couriersud]
* Standardize platform window pointer storage in osd_window. Brad Hughes2016-04-181-4/+4
| | | | Also encapsulate show/hide capture/release cursor functionality.
* Iterate over core classes C++11 style AJR2016-03-311-5/+5
| | | | | | | | 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).
* Implement integer scaling in core renderer [Calamity] Antonio Giner2016-03-151-2/+2
|
* Final fixups, get sliders working again, nw therealmogminer@gmail.com2016-02-211-6/+3
|
* First take on render API reorg, nw therealmogminer@gmail.com2016-02-211-176/+66
|
* Remove SDL 1.2 support (nw) Miodrag Milanovic2016-02-161-234/+1
|
* Make SDL2 use software if hardware acceleration is not available Miodrag Milanovic2015-12-271-0/+8
|
* missed two (nw) Cowering2015-12-061-5/+5
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+1021