63 Commits

Author SHA1 Message Date
Jonathan Campbell
cca84bd4ca alt vga option, cmd line 2018-12-14 01:32:02 -08:00
Jonathan Campbell
244e1d3871 config option 2018-12-14 01:27:15 -08:00
Jonathan Campbell
bc40732ff8 Render: consolidate scanline compare 2018-12-04 21:06:31 -08:00
Jonathan Campbell
ce02c87d2d Render scaler: The simplified version should not trigger on a change line and render the WHOLE frame. It should blindly render some scan lines, then return to checking for changes before doing another block 2018-12-04 21:02:04 -08:00
Jonathan Campbell
b2a64288c5 Refresh Test debug command, mapper shortcut, to debug screen refresh 2018-12-04 19:43:12 -08:00
Jonathan Campbell
7778bc2b46 Revert "Partial screen update option"
This reverts commit c5f2a7ffd13841116e155cb9082b7fee6c56b3a6.
2018-12-04 00:18:03 -08:00
Jonathan Campbell
c5f2a7ffd1 Partial screen update option 2018-12-03 23:27:43 -08:00
Jonathan Campbell
801347895f Uh, it helps to refresh the menu item after checking. This should fix failure to check forced scaler in Windows 2018-11-25 08:50:01 -08:00
Jonathan Campbell
2f3010e593 SDL2: Make "fit aspect ratio" work for SDL2 builds 2018-11-25 01:49:51 -08:00
Jonathan Campbell
af529f28a3 Fix render scaler code to reinitialize display properly when using CONFIG -set render scaler= to change scaler and force settings 2018-11-23 18:18:22 -08:00
Jonathan Campbell
aaca8420b0 Fix video aspect ratio option to keep menu synchronized with setting even if set by CONFIG -set render aspect= 2018-11-23 18:08:22 -08:00
Alex/AT
acf215044e Merge branch 'master' of https://github.com/joncampbell123/dosbox-x into sdlmain_refactor 2018-07-05 12:06:21 +03:00
Jonathan Campbell
9169f55b25 Fix renderer sizeof int p again 2018-07-01 10:08:48 -07:00
Jonathan Campbell
bc92e16a84 Fix redefinition of SIZEOF_INT_P in renderer 2018-07-01 10:07:19 -07:00
Jonathan Campbell
9135cda139 Fix undefined sse2_available ref in render.cpp 2018-07-01 10:06:25 -07:00
Alex/AT
b8566be6f1 Merge branch 'master' of https://github.com/joncampbell123/dosbox-x into sdlmain_refactor 2018-07-01 12:50:07 +03:00
Alex/AT
ef56baf4da - Now that sdlmain.h can be included in render.cpp, finally aggregate xBRZ structure split between sdl/render earlier, and move it to output_tools_xbrz, where it should logically reside
- Move xBRZ initialization and option reads to output_tools_xbrz.cpp, removing RENDER_xBRZ_Early_Init() hack
2018-07-01 12:35:11 +03:00
Jonathan Campbell
d90084e76b Update display aspect ratio on render mode set 2018-06-30 10:43:47 -07:00
Alex/AT
100bdf0c95 - No functional changes in regards to majority of the code
- Start partial refactor of sdlmain.cpp output code
- Move general definitions into sdlmain.h (incomplete)
- Move little part of OpenGL output related code out
- Move almost all of surface output related code out
- Generalize xBRZ postscaling operations into their own respective function to reuse

- Bugfix: commits 3a8d77f and ebdfc33 break intentional output window fill-in for xBRZ
- Minor: non-ppl runs can be done without granularity based loop, adjusted

- TODO: continue factoring out output code
- TODO: SDL2 build is probably not xBRZ-capable now
- TODO: see what can be used instead of ppl taskgroups for other platforms, xBRZ is too slow without parallel processing
- TODO: adjust other build configurations to include new source files / headers
2018-06-30 13:59:11 +03:00
Jonathan Campbell
987debe1c1 Fix configuration loading to read xbrz settings only if C_XBRZ is enabled 2018-06-29 14:14:27 -07:00
Alex/AT
e866ccf4df - Move part of xBRZ structure needed for render online reconfiguration to render structure from sdl structure
- Create early initialization function for xBRZ because sdlmain needs xBRZ parameters rather early, on GUI_Startup
- Make separate condition for disabling internal render scaling with xBRZ to facilitate easier reconfiguration
- Implement online xBRZ parameters reconfiguration along with other scaler parameters, reset GFX on scaler change from xBRZ and back
- When reconfiguring output online, don't forget about aspect correction offload flag
2018-06-29 23:35:06 +03:00
Alex/AT
4286b5d884 - OUTPUT/SURFACE: add two new aspect correction modes for 'surface' output: 'nearest' and 'bilinear'. The benefit is these don't alter source image but post-scale it to correct aspect, allowing complex scalers like hq2x/hq3x to work properly. The tradeoff is CPU power required. 2018-06-29 21:01:00 +03:00
Alex/AT
b0b406d8e5 - OUTPUT: Fix aspect ratio correction for Direct3D and OpenGL output modes, fix default window sizing for aspect correction, fix 'jumpy' behavior during window resizing with aspect ratio correction
- OUTPUT: Offload aspect ratio correction for Direct3D and OpenGL output modes from render code (these modes do it themselves)
- xBRZ: Also offload it when xBRZ scaler is enabled (xBRZ does not like line duplication and can do correction itself)
- OUTPUT: Store source aspect ratio translation parameters under 'sdl' structure, this may be used eventually for non-square pixel monitors aspect ratio correction
- xBRZ: Make sure xBRZ scaler honors aspect ratio correction flag in 'surface' mode of operation and controls aspect ratio correction offload when enabling/disabling itself
- xBRZ: Factor out scaling factor setup into its own function
- xBRZ: Fix up duplicated code path breaking 'surface' output
- MAIN: Split 'overlay' mode defaulting from primary 'if' set, making it simply choosing D3D/OGL/surface before primary 'if' goes
- DOC: README.xbrz
- DOC: clarify that SDL structure is initialized to zero in code comment, initialize defaults after memset()
2018-06-28 18:58:15 +03:00
Aybe
feeddf0671 Now conditionally compiles 2018-06-27 01:29:00 +02:00
Aybe
1e80498419
Merge branch 'xbrz' into xbrz 2018-06-15 22:12:40 +02:00
Jonathan Campbell
9d22cf0ed8 -Wsign-conversion fixup 2018-06-02 20:54:40 -07:00
Aybe
0489b8c532 Ensure doublescan is disabled. 2018-06-01 23:11:17 +02:00
Alex/AT
64a78e246c [+] xBRZ scaler integration 2018-06-01 20:02:42 +03:00
Jonathan Campbell
8b8a4b2ee7 retab, reindent 2018-05-22 15:47:03 -07:00
Jonathan Campbell
8917be0162 more 2018-05-22 15:34:21 -07:00
Jonathan Campbell
ea9e8eaa7e more 2018-05-22 09:08:47 -07:00
Jonathan Campbell
a63203f5d2 SSE2 mingw x86-64 hack, to enable compilation with 64-bit mingw 2018-05-19 16:31:33 -07:00
Jonathan Campbell
ce8f9e9226 GFX_SetSize throw E_Exit if given width == 0 or height == 0. Fix renderer never to reset state with 0x0 render dimensions 2018-05-14 01:19:17 -07:00
Jonathan Campbell
9ccc531ccd Render: Set clearCache flag on mode change, do not reset flag until one full frame has been rendered with the clearCache handler. This fixes visual glitches when toying with options like the VGA 9-pixel wide option 2018-05-12 16:36:17 -07:00
Jonathan Campbell
a6d415714f Renderer: Use SSE compare OR non-SSE compare, but do not SSE compare then non-SSE compare the same line. Fix renderer SSE compare to use the correct sizeof() of Bitu instead of assuming Bitu is 32-bit wide 2018-05-12 15:57:37 -07:00
Jonathan Campbell
4137ae2d91 Bring in compat menu options 2018-05-11 17:26:22 -07:00
Jonathan Campbell
2a8c885978 Bring scaler menu from the Windows resource 2018-05-10 21:19:33 -07:00
Jonathan Campbell
6e8aca679c Port frameskip submenu from Windows RC menu 2018-05-10 20:37:44 -07:00
Jonathan Campbell
012caca69d Remove default bindings for some shortcuts, move volup/voldown to host key + keypad 2018-04-20 22:10:26 -07:00
Jonathan Campbell
a6b3e7f954 SDL 1.x Windows: Fix Direct3D output to keep aspect ratio properly if asked to, even if the window is not fullscreen but maximized. 2018-01-21 08:32:28 -08:00
Jonathan Campbell
5627bf0e10 When setting up renderer, store the GFX flags obtained for decisions
later on.
2018-01-09 03:08:58 -08:00
Jonathan Campbell
e51bb675ff GFX: Correct bit depth value returned from SDL if SDL says 16-bit
highcolor but the RGB mask/shift values indicate that it's really 15-bit
highcolor. This fixes incorrect colors when the screen uses the 5:5:5
15-bit highcolor format.
2018-01-07 12:28:04 -08:00
Jonathan Campbell
236cdbbb12 more 2017-12-08 00:13:34 -08:00
Jonathan Campbell
d2baaa48ce Update renderer when user changes render.aspect setting. 2017-12-05 21:39:27 -08:00
Jonathan Campbell
0a2823d6ad Windows: Fix "aspect ratio correction" menu item so that it actually changes the setting. 2017-12-05 21:36:17 -08:00
Aybe
2135119cf1 enable logging for pixratio 2017-08-24 03:20:37 +02:00
Jonathan Campbell
0512852b16 VGA: planar mask vs linear mask. fix VGA RAM alloc to only do it if
changing VRAM size (forced on for the moment for testing). fix stale
pointer problem causing segfault with VGA/RENDER code when reallocing
vram.
2017-04-01 11:40:38 -07:00
Jonathan Campbell
482b37c82a bugfix: when DOSBox is rendering 8bpp output, store palette changes in a
8bpp -> 32bpp lookup and encode to FFMPEG as 32bpp. It's easier to deal
with than trying to use FFMPEG's PAL8 format, and it allows the FFMPEG
encode to work with machine=cga.
2016-01-25 06:43:27 -08:00
Jonathan Campbell
2dc8a97a79 VGA_Init move VGA reset code to VM event 2015-10-17 08:40:56 +00:00
Jonathan Campbell
dd12a66593 debug msg 2015-10-14 16:37:43 +00:00