summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/d3d
Commit message (Collapse)AuthorAgeFilesLines
* Revert "New phosphor persistence shaders for HLSL" R. Belmont2017-01-053-126/+28
|
* Change cached texture format to floating point. Westley M. Martinez2017-01-042-20/+22
| | | | | | | | | | | | hlsl/phosphor.fx: Remove hacks ini/presets/raster.ini, ini/presets/vector-mono.ini, ini/presets/vector.ini: Tweak presets src/osd/modules/render/d3d/d3dcomm.h, src/osd/modules/render/d3d/d3dhlsl.cpp, src/osd/modules/render/drawd3d.cpp: Change cache texture format to floating point for precise for phosphor and ghosting shaders.
* Correct LCD ghosting INI and slider defaults. Westley M. Martinez2017-01-031-2/+2
|
* Add LCD ghosting shader for Direct3D Westley M. Martinez2017-01-022-23/+78
| | | | | | | | | | | | | | | | | hlsl/ghosting.fx: Add LCD ghosting shader hlsl/phosphor.fx: Remove LCD logic ini/presets/gameboy.ini, ini/presets/gba.ini, ini/presets/lcd-matrix.ini, ini/presets/lcd.ini, ini/presets/raster.ini, ini/presets/vector.ini: Update presets src/osd/modules/render/d3d/d3dhlsl.cpp, src/osd/modules/render/d3d/d3dhlsl.h: Add LCD shader and sliders. Allow sliders to be adjusted for R, G, and B components. src/osd/windows/winmain.cpp, src/osd/windows/winmain.h: Add LCD ghosting options.# Please enter the commit message for your changes. Lines starting
* Scale and phosphor persistence sliders. Westley M. Martinez2016-12-302-21/+11
| | | | | | | | | | hlsl/phosphor.fx: Scale parameter into tau or gamma. src/osd/modules/render/d3d/d3dhlsl.cpp: src/osd/modules/render/d3d/d3dhlsl.h: src/osd/windows/winmain.cpp: src/osd/windows/winmain.h: Combine tau and beta sliders into one slider labeled 'Time Constant'.
* Implement LCD persistence shader. Westley M. Martinez2016-12-292-2/+20
| | | | | | | | | | | | | | | | hlsl/phosphor.fx: Do LCD persistence effect using boolean LCD. LCD persistence is monochrome and thus does not have separate components like phosphor persistence. src/osd/modules/render/d3d/d3dhlsl.cpp: Add slider for LCD games. src/osd/modules/render/d3d/d3dhlsl.h: (BP) Add options for LCD games. src/osd/windows/winmain.cpp: (BP) Add options for LCD games. src/osd/windows/winmain.h: (BP) Add options for LCD games.
* Implement new phosphor shader. Westley M. Martinez2016-12-292-12/+45
| | | | | | | | | | | | | | | | | hlsl/phosphor.fx: Make changes to the pixel shader. New uniforms: Mode, Tau, Beta, Gamma. Remove Phosphor. Mode selects the mode for phosphor simulation: off (no decay), exponential, inverse power. Tau is the time constant for exp. decay. Beta and Gamma are constants for inv-pow. src/osd/modules/render/d3d/d3dhlsl.cpp: Provide uniforms and add sliders for new options. src/osd/modules/render/d3d/d3dhlsl.h: (BP) Provide new options. src/osd/windows/winmain.cpp: (BP) Provide new options. src/osd/windows/winmain.h: (BP) Provide new options.
* Simplify implementation of delta_time. Westley M. Martinez2016-12-132-27/+16
| | | | | | | src/osd/modules/render/d3d/d3dhlsl.cpp: Move time members calculation to shaders::begin_draw. src/osd/modules/render/d3d/d3dhlsl.h: Remove update_t.
* Correct comments regarding delta_time. Westley M. Martinez2016-12-121-2/+3
|
* Add signal so that any future shaders relying on delta_time do not Westley M. Martinez2016-12-122-10/+14
| | | | | | | | | interfere with each other. src/osd/modules/render/d3d/d3dhlsl.cpp: update_t flag is reset for each emulated screen 0. src/ods/modules/render/d3d/d3dhlsl.h: Add update_t.
* Fix phosphor shader to work properly for multi-screen games and Westley M. Martinez2016-12-122-17/+25
| | | | | | | | | | | | | | multi-window use. hlsl/phosphor.fx: Update semantics. src/osd/modules/render/d3d/d3dhlsl.cpp: Implement shaders::delta_time member function. src/osd/modules/render/d3d/d3dhlsl.h: Add acc_t and delta_t members for use by shaders::delta_time. Member function returns the amount of time since itself has been called, for use by time-dependent shaders.
* Remove iostream (used for debugging) Westley M. Martinez2016-12-111-1/+0
|
* Fix phosphor persistence shader behavior based on time. Westley M. Martinez2016-12-111-0/+10
| | | | | | | | | hlsl/phosphor.fx: Add calculation time passed to be used by shader. src/osd/modules/render/d3d/d3dhlsl.cpp: Make pixel shader calculate the current pixel by factoring in the amount of time which has passed since the last rendering.
* srcclean (nw) Vas Crabb2016-11-271-1/+1
|
* Small cleanup (nw) Miodrag Milanovic2016-11-111-2/+2
|
* hlsl: fixed games with off-screen backdrop artworks ImJezze2016-11-021-0/+4
| | | | - e.g. atarifb, bowler
* Hopefully fix the D3D9 issues people are having (nw) therealmogminer@gmail.com2016-10-311-0/+1
|
* fix unused variable error (nw) smf-2016-10-241-1/+0
|
* Reduced defocus effect to one pass (HLSL/BGFX) Jezze2016-10-221-5/+3
| | | | | - removed second defocus pass - limited defocus stength to a maximum of 2.0
* Disabled clearing of render targets in several passes (HLSL) Jezze2016-10-221-30/+17
| | | | - which was quite a performance overhead and not necessary because the shaders fill every texel of a target without blending
* Refactored d3d_render_target (nw) Jezze2016-10-223-212/+90
| | | | | | | * removed cashe_target class * moved cashe texture and surface to d3d_render_target class * render targets are now created per screen not per screen texture * removed useless creation of render targets for ui textures
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-223-45/+45
| | | | | 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
* Bulk renaming of Windows string conversion functions Nathan Woods2016-10-031-1/+1
| | | | | utf8_from_[a|w|t]string ==> osd::text::from_[a|w|t]string [a|w|t]string_from_utf8 ==> osd::text::to_[a|w|t]string
* use floorf rather than floor for float->float Vas Crabb2016-09-281-2/+2
|
* Fixed several small issues in HLSL/BGFX Jezze2016-09-282-27/+47
| | | | | | * 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)
* for bool type use true and false (nw) Miodrag Milanovic2016-07-311-14/+14
|
* algorithm-> utility where appropriate, fix imgtool (nw) Miodrag Milanovic2016-07-311-1/+1
|
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-4/+6
| | | | to inline functions (nw)
* Cleanups and version bump Miodrag Milanovic2016-07-271-3/+3
|
* Changed strconv.[cpp|h] functions to return their results as std::string and ↵ Nathan Woods2016-07-241-4/+2
| | | | std::wstring
* Fixed MT #6291 ImJezze2016-07-162-8/+27
| | | | | | | | * 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
* Fixed dimension of high-res snapshots (Alt + 12) and AVI records (Alt + ↵ ImJezze2016-07-161-6/+33
| | | | Shift + F12) when screen dimension is swapped
* Patch up d3dhlsl as well (nw) Vas Crabb2016-07-071-3/+3
|
* Remove bgfx_avi_name and hlsl_write options Giuseppe Gorgoglione2016-07-041-11/+5
| | | | | | Now the filenames for movies recorded by HLSL and BGFX renderers are automatically generated just like the ones for movies and snapshots recorded by the video core. They are generated according to the "snapname" template (eg. by default <snap_folder>/<device_name>/<numeric_index.avi>, so you can revert to the old behavior (why?) just setting "snapname bgfx.avi" or "snapname hlsl.avi". The main advantage is that now you can record as many movies as you want during a single gaming session without much hassle (previously you had to move or rename the old movie file by hand before recording a new one).
* Direct3D HLSL: use aviwrite to record avi movies Giuseppe Gorgoglione2016-07-042-337/+161
| | | | | | | | Use common infrastructure in aviwrite.c instead of equivalent local code. In addition: - the target textures used by the HLSL movie recorder are now allocated only when recording is ongoing - removed shaders->begin_frame() and shaders->end_frame() hooks from the main Direct3D rendering loop - set default HLSL movie name to hlsl.avi to match bgfx.avi setting
* Direct3D: convert linked lists into vectors of unique pointers Giuseppe Gorgoglione2016-07-013-197/+77
|
* Misc code cleanups for Direct3D code Giuseppe Gorgoglione2016-07-013-383/+183
| | | | Removed unused methods, unused function parameters, redundant casts, doubly linked lists made into singly linked lists, etc.
* Cleanup and version bumpmame0175 Miodrag Milanovic2016-06-291-1/+1
|
* clang on windows fixes (nw) Miodrag Milanovic2016-06-252-2/+1
|
* Fixed crash of D3D when sliders menu is openend and resizing the window or ↵ ImJezze2016-06-202-123/+106
| | | | switching between window and full screen mode
* Change two dynamic bind messages to verbose. Brad Hughes2016-06-171-1/+1
|
* Add WINAPI to other needed functions for stdcall calling convention on 32-bit Brad Hughes2016-06-151-1/+1
|
* Remove Direct3D abstraction layer Giuseppe Gorgoglione2016-06-112-819/+0
| | | | It was introduced to support Direct3D 8 and 9 with the same code base. They had a very similar programming model and the abstraction layer was taking advantage of that. Now, Direct3D 8 support in MAME was removed long time ago, an Direct3D 11 and 12 have very different programming models, so the layer is not useful anymore and can be safely removed to simplify the code.
* Introduce dynamic_module Giuseppe Gorgoglione2016-06-114-206/+152
| | | | | This is a central cross-platform facility to dynamically bind functions from shared libraries. Updated all OSD modules to use it.
* Procedural texture for vectors in HLSL ImJezze2016-06-052-1/+7
| | | | | | * added simple procedural texture for vectors with rounded line ends and beam smoothness * added optional -vector_beam_smooth option * removed -antialias option, antialiasing is now always applied, except for plain D3D
* Removed dead D3D code (nw) ImJezze2016-05-291-5/+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
* More slider cleanup, nw therealmogminer@gmail.com2016-05-282-5/+11
|
* ui refactoring [Vas Crabb] Vas Crabb2016-05-272-10/+10
| | | | | | | * move menu classes into ::ui namesapce * reduce scope of many symbols (first step in making UI code less rage-inducing so I can fix text input)
* Normalized vector attenuation settings ImJezze2016-05-221-11/+10
| | | | | | - vector_length_ratio is now independent from screen size - changed vector_length_ratio range from [0.0, 1000.0] to [0.0, 1.0] - updated display name and description of vector_length_scale vector_length_ratio
* Fixed bloom target size for vector screens in full-screen mode ImJezze2016-05-221-17/+26
| | | | - this also improves the performance slightly