Commit Graph

84 Commits

Author SHA1 Message Date
Miodrag Milanovic
cfee536f22 Cleanups and version bump 2016-04-27 08:13:59 +02:00
Miodrag Milanovic
c5cd671e89 fix windows compile (nw) 2016-04-26 08:09:32 +02:00
Miodrag Milanovic
9c2ef88573 Revert "Temp revert of Brad changes (nw)"
This reverts commit 5e831f6506.
2016-04-25 17:22:25 +02:00
Miodrag Milanovic
5e831f6506 Temp revert of Brad changes (nw) 2016-04-25 17:09:47 +02:00
Miodrag Milanovic
89c5e1f681 Various cleanups suggested by static analyzer (nw) 2016-04-24 12:58:31 +02:00
Miodrag Milanovic
1c726824f2 Split UI and frontend part from core [Miodrag Milanovic] 2016-04-23 11:26:47 +02:00
Brad Hughes
1a844a49c5 Refactor OSD window.
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.
2016-04-21 11:10:03 -04:00
ImJezze
b1c06acb61 Implemented handling for u_screen_scale and u_screen_offset (nw) 2016-04-21 07:52:29 +02:00
Miodrag Milanović
2ee3949169 Merge pull request #823 from ajrhacker/deviter
Iterate over devices C++11 style [AJR]
2016-04-20 09:19:08 +02:00
ImJezze
8ed3a7d94a Refactored distortion pass
- separated curvature parameter into distortion, cubic_distortion and distort_corner
- distortion and cubic_distortion can be negative, to compensate each other
- distort_corner is intependent from the image distortion
2016-04-19 21:13:20 +02:00
AJR
084d3654ca Iterate over devices C++11 style
Replace the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass.

Add a few more typical getters to device_t::subdevice_list.
2016-04-18 18:53:28 -04:00
ImJezze
a45d713ad6 HLSL settings are reset now, when a new machine is selected 2016-04-17 14:20:27 +02:00
ImJezze
ac6903e05e Merge branch 'master' of https://github.com/GiuseppeGorgoglione/mame
# Conflicts solved:
#	src/osd/modules/render/d3d/d3dhlsl.cpp
2016-04-16 18:38:59 +02:00
dankan1890
a0715c7c40 Reduction code for entries of "enum class ui_menu_item_type" and the use of item_append with separators. 2016-04-15 17:39:45 +02:00
ImJezze
32f0e6efac Removed hacks for vector screens from shaders (nw)
- added handling of texture coordinates for vector screens to core render
- added handling of orientation/rotation for vector screens to D3D renderer
2016-04-13 19:21:57 +02:00
therealmogminer@gmail.com
dd9c9a0fb3 Make OSDs return ui_menu_item lists, not slider_state lists 2016-04-10 19:22:31 +02:00
therealmogminer@gmail.com
8719535cbc Make sliders use an std::vector instead of a linked list, nw 2016-04-10 02:38:08 +02:00
therealmogminer@gmail.com
19d51345a1 Add runtime screen chain selection, nw 2016-04-09 19:15:47 +02:00
Giuseppe Gorgoglione
990476526c Save Windows post-fx scheenshots as a single .png
Currently in Windows post-fx screenshots (L-ALT + F12) are split in 4 chunks and saved as 4 separate .png files. This was probably done to facilitate fx code debugging, since post-fx screenshots are usually very big and old monitors were low in resolution. With current monitors this shouldn't be a problem any more.
2016-04-05 13:35:12 +02:00
Giuseppe Gorgoglione
74999d3749 Fix Windows rendering after post-fx snapshot or video recording
In Windows OSD, when post-processing effects are enabled, after taking a post-fx screenshot (L-ALT + F12) or enabling post-fx video recording (L-SHIFT + L-ALT + F12) the window is not updated anymore while the emulation goes on normally. This patch fixes that.
2016-04-05 13:20:04 +02:00
ImJezze
370aa2e8f5 Fixed render target dimension swap for BGFX (nw) 2016-04-03 12:09:38 +02:00
Miodrag Milanovic
913ab1e140 Cleanups and version bump 2016-03-30 08:35:21 +02:00
ImJezze
fe9dfdbf99 Refactored Bloom
- reduced raster bloom level to 8
- extended vector bloom level to 15
- changed vector bloom to be less blocky
- removed bloom_lvl9_weight and bloom_lvl10_weight options
2016-03-28 20:19:01 +02:00
ImJezze
41595c05c4 Change vector and gameboy preset (nw) 2016-03-26 11:18:08 +01:00
ImJezze
c731b59cbe Added oversampling option
- and some cleanup
2016-03-25 16:40:32 +01:00
therealmogminer@gmail.com
ba0a1d8d52 Merge bgfx_shader into master, nw 2016-03-23 17:55:55 +01:00
therealmogminer@gmail.com
295aafc5e5 Per-screen sliders and some bugfixing, nw 2016-03-23 17:12:07 +01:00
Miodrag Milanovic
2a4a703c79 clang compile fixes (nw) 2016-03-21 11:31:53 +01:00
therealmogminer@gmail.com
a99df78801 Merge with master 2016-03-21 08:27:06 +01:00
Scott Stone
ba499f3860 Merge pull request #724 from ImJezze/master
HLSL refactoring
2016-03-17 20:27:10 -04:00
therealmogminer@gmail.com
d7dc173df9 Fix scrolling in slider list, nw 2016-03-17 15:48:32 +01:00
ImJezze
b507dbb5fc Scanline Variation
- added option for scanline variation
2016-03-15 22:15:25 +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
Vas Crabb
42fbb9c396 Make osd_file a polymorphic class that's held with smart pointers
Make avi_file a class that's held with smart pointers, encapsulate various AVI I/O structures
Make zip_file and _7z_file classes rather than having free functions everywhere
Hide zip/7z class implementation behind an interface, no longer need to call close() to send back to the cache
Don't dump as much crap in global namespace
Add solaris PTY implementation
Improve variable expansion for SDL OSD - supports ~/$FOO/${BAR} syntax
Rearrange stuff so the same things are in file module for all OSDs
Move file stuff into its own module

7z/zip open and destruct are still not thread-safe due to lack of interlocks around cache access
Directory functions still need to be moved to file module
SDL OSD may not initialise WinSock on Windows
2016-03-14 18:55:00 +11:00
ImJezze
c2d4e3c018 Cleanup (nw)
- options are reset to loaded preset when game is closed
- changed default values of options to result in no effects activated
- init_slider_list() does not returns but sets g_slider_list directly
- removed unnecessary oriented_vector_texcoords
2016-03-13 17:11:08 +01:00
therealmogminer@gmail.com
3172371fcd More work on bgfx data-driven shaders, nw 2016-03-13 15:51:15 +01:00
ImJezze
7add547602 Refactoring of render targes and vector texture coordinates
- 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
2016-03-12 16:03:28 +01:00
ImJezze
9fe9f6d93e Merge remote-tracking branch 'refs/remotes/mamedev/master'
# Resolved Conflicts:
#	src/osd/modules/render/d3d/d3dhlsl.cpp
#	src/osd/windows/winmain.cpp
2016-03-02 21:49:49 +01:00
ImJezze
0e76ce80de Cleanup primary.fx
- split into primary.fx into 3 techniques for vector buffer, screen and
UI pass
- moved register_texture() for shaders outside of texture_info creation
- added render_primitive parameter to register_texture(); currently
unused
- removed other unused register_texture() definition
2016-02-28 18:59:10 +01:00
Vas Crabb
aec01e7407 Replace strformat, strprintf and strcatprintf with type-safe steam_format and string_format
Update MAME to use new function
Instantiate ODR-used static constant members
Make some of the UI code more localisable
Remove use of retired functions in tools
2016-02-28 13:36:19 +11:00
therealmogminer@gmail.com
64135e73f9 Cleaned up sliders a bit in d3dhlsl, nw 2016-02-27 16:11:01 +01:00
ImJezze
11395616dd Bloom refactoring
- calculation of bloom dimensions is now done only once, when render
target is created
- reduced blur width for non-vector screens
- implemented shadow u/v option for source tile mode
2016-02-25 20:58:49 +01:00
ImJezze
bf4640c309 Merge remote-tracking branch 'refs/remotes/mamedev/master'
Resolved Conflicts:
- src/osd/modules/render/d3d/d3dhlsl.cpp
- src/osd/modules/render/d3d/d3dhlsl.h
- src/osd/modules/render/drawd3d.cpp
- src/osd/modules/render/drawd3d.h
- src/osd/windows/winmain.cpp
2016-02-21 14:50:24 +01:00
ImJezze
cc24a339d8 Merge remote-tracking branch 'refs/remotes/mamedev/master'
Second attempt
2016-02-21 11:48:45 +01:00
therealmogminer@gmail.com
bf033cfe00 Final fixups, get sliders working again, nw 2016-02-21 03:03:29 +01:00
therealmogminer@gmail.com
09f03905fd More reshuffling, nw 2016-02-21 03:03:24 +01:00
therealmogminer@gmail.com
9a47a870df First take on render API reorg, nw 2016-02-21 03:03:23 +01:00
ImJezze
e57c90084c Quality and Performance improvements
- HLSL now uses NPOT sized target surfaces (breaks compatibility with
graphics cards based on R300/R400/NV30 and older)
- HLSL target surfaces now have the size of the screen canvas
- removed HLSL pre-scale factor
- HLSL now uses a sharp bilinear interpolation to pre-scale textures to
screen canvas size, based on [Themaister's] implementation
- improved overall performance (based on the previously required
pre-scale factor, you might notice a 5-50% speed-up depending on your
graphics card, more if you used a higher pre-scale factor)
- improved shadow mask quality (pixel-perfect) in screen-mode
- fixed half source texel offset of bloom level alignment
- removed ./hlsl/artwork_support folder
- all shaders after pre-scale are now based on screen coordinate
(workaground, till both raster and vector pass can work on texture
coordinates)
- disabled distortion shader for more than one screen and for artworks
in full mode, does not affect artworks in copped mode (workaground, till
both raster and vector pass can work on texture coordinates)
- moved compute_texture_size() from texture_info to texture_manager (nw)
2016-02-20 21:58:56 +01:00
therealmogminer@gmail.com
b0a7bcd346 Significant speed improvements to the BGFX renderer. [MooglyGuy] 2016-02-15 17:57:28 +01:00
ImJezze
d15d53c728 Fixed Bloom Level Alignment
- fixed target dimensions of bloom levels, which results in a much
better alignment especially for game with very low resolution (therefore
current bloom settings might look a little less intense than before)
- small cleanups (nw)
2016-02-07 13:40:24 +01:00