Commit graph

38 commits

Author SHA1 Message Date
Ryan Holtz
7e652d13c5 - render.c: Added new PRIMFLAG macros pertaining to vectors, to be used by the
OSD. [MooglyGuy]

- d3dhlsl.c: Began laying the groundwork for vector post-processing, disabled
            by default. [MooglyGuy]
2012-12-31 21:29:02 +00:00
Ryan Holtz
4523bfa2d0 HLSL "Hurricain't Keep A Good Dev Down" Bugfix Extravaganza: [Ryan Holtz, Bat
Country Entertainment]
- Created two flags, -hlsl_ini_write and -hlsl_ini_read. The former enables
  custom HLSL INI writing explicitly, the other enables loading of the same.
- Fixed disappearing aperture effect when using custom INI files.
- Fixed diagonal seam on some games, for serious real this time
- Fixed phosphor simulation, now works as expected
2011-08-28 09:10:53 +00:00
Jonathan Gevaryahu
1246cde58c Fix hlsl phosphor decay [nimitz] 2011-07-29 15:08:32 +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
771b77142f Fix for performance regression and slider regression in HLSL, also re-enabling pixel prescaling in yiq_encode.fx. No whatsnew. 2011-06-03 14:38:59 +00:00
Ryan Holtz
844296b795 Split HLSL code into a separate file, d3dhlsl.c/.h. Also split drawd3d.c into a couple of headers. [Ryan Holtz, Bat Country Entertainment] 2011-06-02 06:22:09 +00:00
Ryan Holtz
61eda625cb NWN: Fixing the NTSC codec. Oops. 2011-05-31 14:43:47 +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
95a156958b nwn, HLSL: Fixing an odd texture banding issue reported by John IV. Odd because both he and I have ATI cards, but it didn't happen for me. 2011-05-28 19:25:14 +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
6760f6a40c HLSL bugfxes, nwn 2011-05-24 00:23:40 +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
ae9fbbe44d NTSC fixes, nw 2011-05-23 01:53:35 +00:00
Ryan Holtz
93ea1ba81c NTSC fix, nwn 2011-05-23 01:31:32 +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
53e20c168f Fixing multiscreen games, nwn 2011-05-22 02:27:31 +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
76962a2081 Dot crawl tweak. nw 2011-05-21 07:51:50 +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
62f733b938 Removing outdated performance-tuned HLSL shaders now that better performance tuning is available, nw 2011-05-20 22:20:49 +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
0235cef534 Fix for -noyiq issues, nw 2011-05-20 07:51:59 +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
cfd6731fa8 HLSL Post-Processing Updates: [Ryan Holtz, Bat Country Entertainment, cgwg]
- The defocus pass is now switched off when defocus_x and defocus_y are zero, allowing finer-grained performance tuning.
- Removed YIQ convolution from the main color-convolution shader and replaced it with a full composite encode/decode pass. This is slower, but looks amazing(ly like a terrible TV) and can be turned off.
- More authentic NTSC dot crawl and bandwidth limiting.
2011-05-19 19:14:20 +00:00
Ryan Holtz
df5254338f Fixed chroma subsampling in color_heavy.fx and color.fx, nw 2011-05-18 02:17:31 +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