rogerman
669487ff05
Cocoa Port: Eliminate the old colorspace conversion functions from utilities.c in favor of the new colorspace handler functions.
2017-01-10 23:45:06 -08:00
rogerman
858d14b5fe
Cocoa Port: Transition display views from using an NSOpenGLContext to using a CAOpenGLLayer.
2017-01-10 21:45:09 -08:00
rogerman
ee306a9f07
Cocoa Port: Disable the default clipping feature in display views as a micro optimization.
2017-01-10 10:42:08 -08:00
zeromus
522a4e25d1
merge latest rthreads.c from libretro-common, and improve sthread_isself to null check argument (fixes crash in winport's single-core codepaths when lua window is open)
2017-01-09 16:51:02 -06:00
rogerman
9c573370f3
Cocoa Port: Oops! Revert a little test code that snuck in from the last commit.
2017-01-09 14:00:20 -08:00
rogerman
34656d977c
Cocoa Port: Simplify OpenGL context handling.
2017-01-09 13:57:59 -08:00
rogerman
91f2bb9ee5
Cocoa Port: Even more display view refactoring work.
...
- Move Mac-specific OpenGL code to its own file.
- Eliminate the CocoaDSDisplayDelegate and CocoaDSDisplayVideoDelegate
protocols. Instead, call ClientDisplay3DView class methods directly.
2017-01-09 11:20:25 -08:00
zeromus
a5b4df2038
bring softrasterizer shadow rendering up to modern standards.
2017-01-08 15:25:47 -06:00
rogerman
f1558bf4e6
Cocoa Port: More display view refactoring work.
2017-01-08 00:21:19 -08:00
rogerman
c7c472673f
Cocoa Port: Fix a few more issues caused by commit cffc343
.
...
- Fix bug where restored windows would fail to update properly if the
window size would be the same as the one set in user defaults.
(Regression from commit cffc343.)
- Fix bug where changing the rotation to be exactly 180 degrees
different from the old rotation would cause the view to render the
screens with a vertical offset. (Regression from commit cffc343.)
- OGLDisplayLayer respects its own _needUpdateRotationScale and
_needUpdateVertices flags once again, preventing it from repeatedly
uploading already established data to the GPU. (Regression from commit
cffc343.)
2017-01-07 15:54:23 -08:00
rogerman
6eca2163f7
Cocoa Port: Fix bug where switching the display mode to Main or Touch would fail to work correctly.
...
Also do some misc. code cleanup.
(The bug is a regression from commit cffc343.)
2017-01-06 17:22:02 -08:00
rogerman
34df91f412
Merge remote-tracking branch 'origin/master'
2017-01-06 15:23:43 -08:00
rogerman
cffc343496
Cocoa Port: Continue refactoring of the display view code to reduce port-specific dependence.
2017-01-06 15:23:26 -08:00
zeromus
ce044f3700
remove rewind code completely (it wasnt hooked up to the UI and it was worthless anyway)
2017-01-06 16:53:46 -06:00
rogerman
616962f0b7
Cocoa Port: Standardize display rotations to always assume a left-handed Cartesian coordinate system (clockwise rotation).
2017-01-03 03:31:35 -08:00
rogerman
a6cb37901f
Cocoa Port: Eliminate dsPointFromEvent:inputID: method.
2017-01-03 00:25:24 -08:00
rogerman
eed334f999
Cocoa Port: Change "Display Orientation" to "Display Layout".
...
Also change the name of “Hybrid (3:2)” to “Hybrid (2:1)”. The display
ratio was incorrectly identified as 3:2, when in fact it is 2:1.
2017-01-02 23:01:31 -08:00
rogerman
ce494a2eaa
Cocoa Port: Begin refactoring display view code to reduce the dependence on port-specific code.
2017-01-02 22:39:25 -08:00
rogerman
207a3b2e9e
Cocoa Port: New feature -- add Hybrid display orientations.
...
- The new Hybrid display orientations show three NDS screens — the top
and bottom screens on the left side, and a larger major screen on the
right side. This feature is intended to better use the widescreen
resolution of most users’ host displays, which are usually 16:9 or
16:10. Three different Hybrid orientations are provided (3:2, 16:9, and
16:10) so that users can choose the display size ratio that they prefer.
- Horizontal display orientation no longer uses the display separation
setting.
- Do some additional code cleanup.
2016-12-31 18:10:48 -08:00
rogerman
cf8f021b30
OpenGL Renderer: Don't force backface culling when drawing shadow polygons.
...
Do note that we need to do this for SoftRasterizer as well, but
SoftRasterizer will need some additional rework on shadow polygon
handling to get all the test cases to work.
Fixes issue #21 .
2016-12-30 11:04:35 -08:00
rogerman
c9d5d69c06
GPU: Fix graphical inconsistencies with BG extended layers using custom VRAM.
...
(Regression from commit 36e03fe.)
2016-12-29 17:36:31 -08:00
rogerman
000efb1095
GPU: Fix bug where native-sized lines would be improperly blended with non-native-sized lines during display capture.
...
Fixes a graphical issue in Golden Sun: Dark Dawn whenever a battle
sequence begins when using a custom framebuffer size.
2016-12-29 14:12:23 -08:00
rogerman
36e03fefa5
GPU: Disable the use of custom VRAM for extended BG layers whenever they are scaled or rotated.
...
Fixes the zoom-in effect whenever entering buildings in Pokemon
Black/White. (Regression from r5371.)
2016-12-29 10:26:24 -08:00
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