Commit graph

31 commits

Author SHA1 Message Date
Scott Stone
aa896515a0 This revert (r26927), as requested by author, fixes the regression of missing graphics for vector games using HLSL. Also reverted patch in code (r27063) to deal with "roundf" for pre-vs2013 compilers - which is no longer needed. (nw) 2014-01-24 00:30:29 +00:00
Ryan Holtz
3312b67f93 - Fix for pixel gaps between multi-screen games in HLSL mode. [MooglyGuy] 2014-01-04 03:17:31 +00:00
Ryan Holtz
8f613c115b more HLSL cleanup, part e of pi (nw) 2013-08-30 01:05:13 +00:00
Ryan Holtz
ac119a8e15 uniform consolidation, nw 2013-08-29 00:56:33 +00:00
Ryan Holtz
a86d35158c minor shader cleanup, nw 2013-08-28 00:36:02 +00:00
Ryan Holtz
37ce180567 -Restructured NTSC encode/decode shaders for better readability. [MooglyGuy] 2013-08-25 20:49:37 +00:00
Ryan Holtz
35ef098e64 MAME Testers bugs fixed: 5201, 5202
- HLSL changes: [MooglyGuy]
 * Upped vertex buffer size to 64k verts, fixes assert in
   starwars and alphaone, please include the printed error
   message in any subsequent encounterings of the assert.
 * Improved vector rendering (beam width 1.5 suggested)
 * Ducked raster bloom default to 0.225 to reduce washout
2013-05-22 01:58:38 +00:00
Ryan Holtz
e028e20476 - "And he did give them CRT bloom, and it scorched their eyes so; and they wept
openly, for there was nothing left to see with" [MooglyGuy]
  * Enabled vector bloom and associated .ini controls
  * Added raster bloom and associated .ini controls, each bloom "level" is the
    linear weight of successively half-sized render targets
  * Removed D3D8 mode
  * Mass renaming in D3D renderer to use namespaces, initial planning step to
    HAL-based renderer implementation on Windows (i.e., GL on Windows)
  * Converted d3d_info, d3d_poly_info, and d3d_texture_info into classes
  * Added batching of vectors for possible speed increase
  * Minor cleanup of shader state setting
2013-05-19 16:21:26 +00:00
Ryan Holtz
d157249cb7 d3dhlsl.c: Add preliminary vector post-processing. [MooglyGuy] 2013-01-21 02:40:48 +00:00
Ryan Holtz
80d66bb1d6 HLSL Cleanup, no whatsnew:
- Fixed set_vector functionality and simplified shaders as a result
- Fixed HLSL presets, 0 to 3, in increasing level of terribleness
- Reduced options footprint from RGB triplets

Next plan: Separate INI writing.
2011-06-11 23:46:24 +00:00
Ryan Holtz
1ec454197a HLSL Updates: [Ryan Holtz, Bat Country Entertainment, austere]
- Reworked default shadow mask settings, eliminating rainbow banding and matching reference shots more closely
- Moved color power to occur after shadow mask, as it is intended to simulate nonlinear phosphor response
- Added a variable-width notch filter to the Y channel in NTSC post-processing, eliminating luma banding on e.g. CoCo 2 and Apple II
2011-06-06 21:25:38 +00:00
Ryan Holtz
f42b5ccda0 No whatsnew
Attempting to fix the HLSL 'blurriness' reported by a few people. Now HLSL will auto-prescale to the nearest texture size that is greater than the target screen size on both axes and is also an even multiple of the raw bitmap's size.
2011-05-31 13:53:25 +00:00
Ryan Holtz
ed6689e2d4 Fixed scanlines, nwn. This took much longer to fix than it should have. :[ 2011-05-31 05:02:17 +00:00
Ryan Holtz
37e8c1d7e4 Fixing some scanline-alignment issues. 2011-05-31 02:04:28 +00:00
Ryan Holtz
773e35d79b Moved "color floor" functionality to occur after scanlines but before shadow mask. Scanlines look much better and no longer cut black lines through the shadow mask. No whatsnew. 2011-05-30 21:40:25 +00:00
Ryan Holtz
796e691522 HLSL Updates: [Ryan Holtz, Bat Country Entertainment, austere, SoltanGris42]
- Added the ability to render screenshots at arbitrary resolutions.
- Added the ability to record AVI videos (albeit with no audio) at arbitrary resolutions.
- Added a 43-tap-wide FIR-based NTSC filter with tunable Y, I and Q frequency response.
- Updated scanlines to have a user-tunable pixel-height ratio in addition to the current screen-height ratio.
- Fixed a VRAM leak that was causing many dynamic-resolution drivers to run out of memory mid-run.
2011-05-30 21:10:23 +00:00
Ryan Holtz
244eb4cf24 No whatnsew: Really, really, really fixed the remaining pixel alignment and UV clamping issues. Tested Gradius, Pac-Man, Mr. Do, and Stompin' with no observed issues. Gradius, in particular, is a good test case as the bottom row of its "Credits" readout lies on the bottom row of pixels, and the scrolling starfield allows visual verification of the X extents as they scroll on and off. 2011-05-28 14:14:05 +00:00
Ryan Holtz
a8919fa63b Fixing clamping on the bottom/right edge, nwn 2011-05-28 00:51:24 +00:00
Ryan Holtz
59d38593e8 MAMETesters bugs fixed:
- 04361: all: When using HLSL screen size not correct 

nwn: Frickin' finally...
2011-05-28 00:49:22 +00:00
Ryan Holtz
3e437e09f0 HLSL updates, nwn:
- Favor bilinear sampling on X and point sampling on Y. Best of both worlds.
2011-05-27 23:24:53 +00:00
Ryan Holtz
3f4046b146 Restored abs() around scanline sin() to increase scanline furrow sharpness and decrease scanline furrow width, no whatsnew 2011-05-27 10:14:26 +00:00
Ryan Holtz
c8ef077d5b HLSL Updates: [Ryan Holtz, Bat Country Entertainment]
- Switched to point-sampling through most of the shader chain to avoid non-intentional pixel smearing
- Corrected alignment and scaling on the shadow mask and scanlines; dramatically reduces rainbow banding at non-oversampled resolutions.
2011-05-27 10:07:11 +00:00
Ryan Holtz
e97aa6b56d Internal HLSL cleanup - removed aux texcoords, restored software vertex processing due to low-end cards not doing hardware vertex processing, removed unnecessary tristrip->trilist splitting. Restores D3D functionality on integrated chipsets and marginal cards. [Ryan Holtz, Ashura-X] 2011-05-24 18:28:54 +00:00
Ryan Holtz
f8a449539a Hopefully fixing the HLSL UV issue once and for all, nw 2011-05-23 15:49:50 +00:00
Ryan Holtz
41d1d2acdc TortoiseSVN indicates these didn't get updated, this should finally nail down the texture border pixel stretching issue, nwn 2011-05-22 03:48:13 +00:00
Ryan Holtz
99dffc122e HLSL: Added adjustable color carrier in YIQ processing mode. [Ryan Holtz, Bat Country Entertainment]
HLSL: Fixed resolution-change crash and likely D3D performance regression with -nohlsl on low-spec cards [Ryan Holtz, Bat Country Entertainment]
2011-05-22 01:30:55 +00:00
Ryan Holtz
a47bd09534 HLSL Improvements: [Ryan Holtz, Bat Country Entertainment]
- Added magnet deconvergence via a shader uniform
- Improved phosphorescence
- Improved YIQ codec
2011-05-21 06:47:56 +00:00
Ryan Holtz
a0e44c0b00 Fixing a duplicated-texel issue in the HLSL shaders, nw 2011-05-20 22:18:39 +00:00
Ryan Holtz
fd7a110eba HLSL Updates [Ryan Holtz, Bat Country Entertainment]
- Re-worked render target handling to align pixels better, reducing unintentional blurring
- Made major fixes to CVBS simulation, significantly increasing color saturation
2011-05-20 07:37:34 +00:00
Ryan Holtz
2820e31451 HLSL Updates [Ryan Holtz, Bat Country Entertainment]
- Potential fix for some crashing reported by John IV
- Split color convolution and deconvergence into separate shaders for potential GPU savings down the line
- Added light and heavy variants of the color convolution shader, the former with YIQ colorspace removed
- Re-worked defocus to occur prior to shadow mask application, as it would be on a real monitor.
- Removed Edge Detection, as it was just for fun and can easily be added in by users if desired.
- Split "pincushion" into "Pincushion" and "Screen Curvature", the former affecting the only the displayed image and the latter only affecting the shadow mask.
2011-05-18 00:35:16 +00:00
Ryan Holtz
f3d341a544 Initial shader import (nw)
Focus: 8-sample blur that averages 7 samples around a center sample.
Phosphor: Not currently used, treated as a pass-through by drawd3d.c, but could be used to implement additional convolutions in a second pass.
Pincushion: Used (when commented in in drawd3d.c) to pincushion an entire full-screen texture but not otherwise apply any convolutions.
Post: The meat and potatoes. It does scanlines, it does aperture masking, it does dot crawl, it does chroma subsampling, it does YIQ colorspace convolution, it does RGB colorspace convolution, it does pincushioning, it walks, it talks, it does the dishes, it'll screw your wife for you, and if you don't have a wife it will find one for you, get you married to her, and screw her for you, IT IS THAT GOOD, LADIES AND GENTLEMEN.
Primary: Simple passthrough for UI and artwork.
2011-05-16 16:55:34 +00:00