Commit Graph

5397 Commits

Author SHA1 Message Date
zeromus ae37e1259e winport: fix crash with HD prescale and --num-cores 1. OSD is messed up in this case. Not going to fix that now since --num-cores 1 is a very old quirks hack anyway. Fixes #20 2016-12-28 17:25:12 -06:00
rogerman 1213deb102 OpenGL Renderer: Fix various bugs when running OpenGL 2.1 and earlier.
Fixes regressions from commits 8fab805 and 7b13501.
2016-12-28 14:07:06 -08:00
zeromus 4710cf7e37 fix errors in ogl old 3d driver (recent changes from ogl 3.2 not fully ported) 2016-12-27 21:09:08 -06:00
rogerman 8159da3f0c GFX3D: Save the opaque polygon count in POLYLIST. 2016-12-26 14:19:45 -08:00
rogerman f50f9d38fd OpenGL Renderer: Reduce OGLRENDER_MAX_MULTISAMPLES from 16 to 8.
Now that framebuffer sizes can be greater than 256x192, using MSAAx16
is excessive and consumes too much bandwidth. We’re reducing the
maximum sample size of MSAA to 8 since it will significantly reduce
bandwidth consumption at the larger framebuffer sizes while remaining
mostly visually equivalent to MSAAx16.
2016-12-26 12:37:22 -08:00
rogerman 4e96cc8b6e Cocoa Port: Simplify some code in the OpenGL blitter. 2016-12-24 11:08:17 -08:00
rogerman fa971e3d63 GPU: Make updating the 3D renderer FPS into its own method. 2016-12-23 09:56:55 -08:00
rogerman 922a7ac6f6 GPU: Consolidate applying the master brightness into one place. 2016-12-22 22:16:56 -08:00
rogerman dfd23f6ba3 GPU: Fix bug where the master brightness would be incorrectly applied in some instances when a custom framebuffer size is used.
(Regression from commit 65d7568.)
2016-12-22 21:12:15 -08:00
rogerman 7b1350127d OpenGL Renderer: Fix instances where the transparent fragments of A3I5 and A5I3 textures would fail to render correctly.
Fixes issue #19.
2016-12-22 00:58:13 -08:00
rogerman 528513118a OpenGL Renderer: Greatly improve the accuracy of rendering shadow polygons. 2016-12-21 15:28:21 -08:00
rogerman 8fab80596b OpenGL Renderer: Minor rework on handling shadow polygons.
- Determining the depth write state is now handled purely within the
fragment shader.
- Color and depth write states are now handled more consistently across
fixed-function and fragment shader.
- Force backface culling when drawing shadow polygons.
2016-12-19 09:48:52 -08:00
rogerman 49309fb053 OpenGL Renderer: Allow all opaque non-shadow polygons to write to the depth buffer, making polygon opacity a priority state.
Fixes issue #13. (Regression from r5372.)
2016-12-16 13:00:32 -08:00
zeromus efcdd320f8 winport: attempt to make vsync work on opengl display method (see #14) 2016-12-16 01:00:47 -06:00
rogerman e6b352c73a GPU: When rendering the 3D layer, prioritize color blending over the window color effect flag.
Fixes color blending in the dialogue boxes of Front Mission.
(Regression from r5285.)
2016-12-14 17:04:07 -08:00
rogerman a80fa6d4de MMU: Only report writing to undefined registers when the value being written is non-zero. 2016-12-13 14:31:45 -08:00
rogerman ce4f61eaf6 texcache.cpp: Silence some compiler warnings. 2016-12-13 11:36:06 -08:00
rogerman 0628cb5756 Silence some debug messages related to the MASTER_BRIGHT register.
- Now that Mega Man Zero Collection has proven that it is perfectly
legal to set MASTER_BRIGHT within V-blank, remove the related debug
message.
- Properly silence the texture memory debug message when the
MASTER_BRIGHT intensity is 0.
2016-12-13 11:22:06 -08:00
zeromus f230067524 dont make tex deposterize and text smoothing default enabled on winport (bugged from e0f8e5a). fixes #10 2016-12-13 01:39:28 -06:00
rogerman de4f1c9c69 Colorspace Handler: Fix pixel alignment bug in ColorspaceConvert555To8888_AVX2() and ColorspaceConvert555To6665_AVX2().
Fixes issue #8.
2016-12-12 21:30:14 -08:00
zeromus 1cc8cb6fc6 fix lua print() on some systems, due to mistaken use of printf %Lg instead of just plain %g
(fix ported from fceux)
2016-12-12 16:26:21 -06:00
zeromus 5cfb407f35 winport: tidy some things required to make AVX2 support compile, apparently (see github #8) 2016-12-11 19:05:30 -06:00
rogerman 1787081fca GPU: Fix BG layer 3 when reading VRAM with a BMPAddress that maps exactly to the head of the VRAM blank region.
Fixes a possible graphical glitch during the Arangoa Prelude in Golden
Sun: Dark Dawn.
2016-12-10 21:26:30 -08:00
rogerman cf3758ff3f Command Line: Allow --disable-sound and --disable-limiter options on Windows.
These two options are, in fact, supported on Windows, so make them
universally available.
2016-12-10 13:39:29 -08:00
rogerman 1b3825a100 Command Line: Allow texture post-processing options on non-Windows platforms.
The —3d-texture-deposterize-enable, —3d-texture-upscale and —3d-texture-smoothing-enable options work independently of the frontend, and so it should be safe to make these options universally available.
2016-12-10 12:17:11 -08:00
rogerman 60e71ce823 Command Line: Add command line options for accessing the custom framebuffer sizing and texture postprocessing features.
--3d-texture-deposterize-enable
--3d-texture-upscale N [1|2|4]
--3d-texture-smoothing-enable
--gpu-resolution-multiplier N [1|2|3|4|5]
2016-12-09 16:52:56 -08:00
zeromus be11b35df9 winport: fix occasional garbage subscreen rect in one LCD mode (fix #6) 2016-12-09 05:56:06 -06:00
rogerman 36b192af00 SoftRasterizer: Fix bug where texture sampling coordinates were incorrectly calculated when texture upscaling is used with GFX3D_TXTHack enabled.
Fixes issue #5. (Related to commit a8c8a86.)
2016-12-08 01:18:41 -08:00
rogerman 7a573e75b5 NDSSystem: Fix bug where the X, Y, and Debug inputs were being read incorrectly, causing unintended behavior in many games.
Fixes issue #3 and issue #4. (Regression from commit bcc7421.)
2016-12-07 10:28:36 -08:00
zeromus 6b78dc1f12 since we have evidence (from cheaters) that 32bits should be supported: fix 8 and 32bit reads of timer registers. i probably messed something up since we have no proper systematic solution for doing this kind of stuff. 2016-12-06 01:45:01 -06:00
zeromus bcc7421be4 make EXTKEYIN register emulation more sensible, and possibly fix "0x04000134 activator" AR codes (due to the register formerly being readable only from 0x04000136 as a halfword) 2016-12-05 21:27:33 -06:00
zeromus bdf580036c fix fsnitro.cpp the way it was supposed to be fixed, without platform dependencies 2016-12-05 18:51:32 -06:00
rogerman 3b92f41b45 Windows Port: Fix compiling on Windows.
(Regression from commit 1d8bdd5.)
2016-12-05 16:02:27 -08:00
rogerman d2f054b5fb OpenGL Renderer: Fix bug where certain polygons would occasionally render their textures blank.
(Regression from commit 1368b2d).
2016-12-05 15:13:17 -08:00
zeromus 1d8bdd5b54 Merge pull request #1 from lefta/fix-linux-build
Fix linux build
2016-12-05 14:14:52 -06:00
zeromus 3498665e7b Merge pull request #2 from pal1000/work
gitignore: Visual Studio 2015 database
2016-12-05 14:14:16 -06:00
rogerman 9564097182 SoftRasterizer: Further cleanup following 7711f82. 2016-12-05 11:49:00 -08:00
rogerman 7711f8288b SoftRasterizer: Fix bug where the texture wrap mode would be applied inconsistently under multithreaded rendering.
(Regression from 032622e.)
2016-12-05 11:45:40 -08:00
pal1000 af1a77e294 gitignore: Visual Studio 2015 database
Visual Studio 2015 produces an extra .VC.db file when building any
solution
2016-12-05 19:22:33 +02:00
zeromus e767018e2a cheats: fix error in masked comparison functions 2016-12-05 05:32:59 -06:00
rogerman 65d7568259 GPU: Revert applying the master brightness as a framebuffer operation. It is now a scanline operation once again.
Fixes brightness issues in The Legend of Zelda: Spirit Tracks.
(Regression from #ac69f1e.)

The user may still choose to apply master brightness on a
per-framebuffer basis by passing ‘false’ to
GPUEngineBase::SetWillApplyMasterBrightnessPerScanline(). For better
consistency, this behavior has also been changed to only use the master
brightness settings as they were in line 0.
2016-12-04 00:59:36 -08:00
zeromus 5f1e50db69 cheats: fix Ex, DB, and Fx codes 2016-12-03 23:44:52 -06:00
Cédric Legrand 2f327c4af0 Fix glade frontend build 2016-12-03 22:58:02 +01:00
Cédric Legrand 5d10b8022a Fix linux build 2016-12-03 16:15:52 +01:00
rogerman 444b1f67db Texture Handler: TextureStore::VRAMCompareAndUpdate() now performs a single memcmp() on the packed data instead of performing each memcmp() separately. 2016-12-02 22:45:42 -08:00
rogerman c5678a6ba4 Render 3D: Whenever the texture deposterization or upscaling settings are changed, simply reload the existing textures instead of completely destroying and recreating them from scratch. 2016-12-02 22:08:21 -08:00
rogerman ac69f1e229 GPU: If a GPU engine has master brightness at full intensity , revert to filling the output framebuffer on line 0.
Fix bug where the screen may end up fully black or white if the master
brightness is modified in the middle of the frame. Fixes SourceForge
#1603. (Regression from r5538.)
2016-12-02 13:50:17 -08:00
rogerman a0f8b7a894 GPU: Fix crashing bug where target.lineLayerID can be overrun at custom framebuffer sizes.
Fixes SourceForge issue #1600. (Regression from r5512.)
2016-12-02 10:40:14 -08:00
rogerman 8821e7b162 Render3D: Make _textureList universal for all 3D renderers. 2016-11-29 17:09:25 -08:00
rogerman 1368b2d5c7 Render3D: Make the _isSamplingEnabled flag universal for all 3D renderers.
Also update the OpenGL renderer to use the new flag.
2016-11-29 16:49:52 -08:00