1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00
Commit Graph

2284 Commits

Author SHA1 Message Date
zilmar
f6bc760e28 GLideNUI-wtl: dpi is not a pointer 2020-04-22 21:14:15 +07:00
oddMLan
14edd21541 GLideNUI-wtl: Match Qt GUI 1:1
Based on commit c168f53d12
With some minor improvements/differences over Qt GUI
- Fully DPI aware
- Dithering is in the Video tab instead of Emulation, some wording differences

Observations:
- "Windowed resolution" is an editable combobox now. Need to parse custom resolution as well suggest some default ones
- "Enable noise" has been removed since it's permanently enabled in latest master
- Need to sync with upstream to connect the Dithering stuff with the config system
- Warning under Antialiasing section needs to hide if N64-depth compare is disabled, but might be difficult to do

Further suggestions:
- "Save" button should be an "Apply" button that applies the settings to current game without pausing. Might be out of the scope of this refactor though.
- Need to test GUI in Windows XP, Windows Vista/7/8.1 to make sure nothing looks out of place
2020-04-22 21:14:15 +07:00
oddMLan
66175d82de GLideNUI-wtl: Add DPI-aware icon handling code
Other: Minor layout fixes
2020-04-22 21:14:15 +07:00
zilmar
5cb23ede3a GLideNUI-wtl: Start to add code for handling profiles 2020-04-22 21:14:15 +07:00
zilmar
5f61dd12a5 GLideNUI: make Gliden64 have rc files 2020-04-22 21:14:15 +07:00
zilmar
f2e32892a3 Add GLideNUI-wtl 2020-04-22 21:13:33 +07:00
Logan
686fa7d108 FlappyBird64 requires CopyFromRDRAM
Fixed #2197 FlappyBird HUD elements not displayed
2020-04-17 19:11:52 +07:00
Sergey Lipskiy
50dd3ed2e0 Set clip ratio to 1 when render image from DRARM.
Fixed #2211 Duplicate image in Dr. Mario
2020-04-16 17:28:07 +07:00
Logan McNaughton
7ef3be1cab Mask VI_ORIGIN address 2020-04-15 11:12:42 +07:00
Sergey Lipskiy
9eddde6e0f Fix "division by zero" issue in gSPObjSprite.
Fixed #2192 Unknown memory action on Magical Tetris Challenge
2020-04-11 14:57:50 +07:00
fzurita
fbd1ad1a5a Fix broken Android compilation with updated xxHash 2020-04-09 15:33:56 +07:00
Sergey Lipskiy
d8f031294a Use linear equation for LOD calculation,
as proposed by standard-two-simplex in #2203
2020-04-09 15:06:59 +07:00
Sergey Lipskiy
a73da69e10 Always use clip ratio 1 for rects and screen-space triangles. 2020-04-06 20:01:54 +07:00
Sergey Lipskiy
2ebfabaf8e Revert "Set clip ratio to 1 in TexrectDrawer."
This reverts commit cd9b5e1c93f0a01a9648982f8ecffcc08919e6f2.
2020-04-06 20:01:54 +07:00
Sergey Lipskiy
2169384245 Set default clip ratio to
- 2 for F3DEX2 and .Rej,
- 1 for F3DEX and other fast3d ucodes, except .Rej
2020-04-06 20:01:54 +07:00
Sergey Lipskiy
aeabfd3912 Set clip ratio to 1 in TexrectDrawer. 2020-04-06 20:01:53 +07:00
Sergey Lipskiy
a2d731b4db Update viewport on clip ratio change. 2020-04-06 20:01:53 +07:00
Sergey Lipskiy
0b8f10f9d6 Set gSP.clipRatio default value to 1 for all ucodes but Rej ones, where it is 2. 2020-04-06 20:01:53 +07:00
S2S
2c51fb096f Magnify clipping space by ClipRatio.
Fixed #190 Cruis'n World: wrong logo
2020-04-06 20:01:53 +07:00
Sergey Lipskiy
0cca2fa2fe Change type for BlueNoiseItem fields from char to signed char.
It should fix compilation on ARM.
2020-04-06 19:58:57 +07:00
Logan McNaughton
c168f53d12 Fix bug introduced by 85a8635952 2020-04-05 11:06:58 +07:00
gizmo98
a96853d559 Dithering settings: add tooltip text 2020-04-05 10:54:12 +07:00
Sergey Lipskiy
827b69816f Add support in GUI 2020-04-02 16:10:08 +07:00
Sergey Lipskiy
219019a39b Enable dithering quantization by default. 2020-04-02 14:53:06 +07:00
Sergey Lipskiy
5ff3ef9649 Dithering shader: correct read threshold value from matrices. 2020-03-31 18:31:44 +07:00
Sergey Lipskiy
a0991dc9cf Refactor shader dithering code: replace mix by switch..case 2020-03-31 18:31:44 +07:00
Sergey Lipskiy
beee2bc368 Use enableHiresNoiseDithering setting. 2020-03-31 18:31:43 +07:00
Sergey Lipskiy
d7e3b4c84b Some dithering shaders refactoring. 2020-03-31 18:31:43 +07:00
Sergey Lipskiy
897fc35d51 Remove ditheringMode and bufferDitheringMode settings.
Add new settings:
- enableHiresNoiseDithering
- enableDitheringPattern
- enableDitheringQuantization
- rdramImageDitheringMode

New settings are not implemented in GUI yet.
2020-03-31 18:31:43 +07:00
Sergey Lipskiy
2600a6bc90 Remove "Enable noise" oprion. Emulation of noise is always enabled. 2020-03-31 18:31:42 +07:00
Sergey Lipskiy
41ecf66e80 Add blue-noise dithering, http://momentsingraphics.de/BlueNoise.html 2020-03-31 18:31:42 +07:00
Sergey Lipskiy
f566c1bc59 Support dithering mode in GUI. 2020-03-31 18:31:41 +07:00
Sergey Lipskiy
d621eb4d34 Add enum DitheringMode for better readability.
Few fixes.
2020-03-31 18:31:41 +07:00
gizmo98
350d791596 -Remove enableDithering setting and use ditheringMode for everything
-Dithering Modes:
0 disabled
1 noise dithering
2 noise dithering with 5Bit quantitzation
3 noise and ordered grid dithering
4 noise and ordered grid dithering with 5Bit quantitzation
-Quantize dithered alpha (5Bit). Removes white remnants in SF Lylat
Wars.
2020-03-31 18:31:40 +07:00
gizmo98
1a6f83aa6c Disable RDRAM dithering if nativeResFactor = 1 and dithering is enabled
Don’t dither twice.
2020-03-31 18:31:40 +07:00
gizmo98
0597632f8a Add dithering options and better color noise dithering
-Add enableDithering option: true - dithering enabled; false -
dithering disabled
-Add ditheringMode option: quantize noise or ordered grid dithered
content like original hardware would do it. true - quantize to 16Bit
colors, false 32Bit colors.
-Add snoiseRGB() and snoiseA() functions. Color dithering needs
different noiese values for r, g and b.
-snoiseRGB() and snoiseA() „double“ noise resolution if uScreenscale is
>= 2.0. So noise not so blocky but still grainy at higher resolutions.
-Increase config version to 28U
2020-03-31 18:31:40 +07:00
gizmo98
6bdcaa0bfa Add RDRAM dithering: Dither image if RGBA16 is written to RDRAM
ColorbufferToRDRAM RGBA to RGBA16 conversion produces color banding.
Implement dithering according to n64 documentation to hide color
banding.
2020-03-31 18:31:39 +07:00
Logan McNaughton
85a8635952 Update to XXH3 for CRC_OPT 2020-03-30 21:16:59 +07:00
Logan
3f55f30ea2 Mask RDRAM address in ProcessRDPList
Avoids a crash in Donkey Kong 64 (U) [f2]
2020-03-29 18:12:16 +07:00
Sergey Lipskiy
225f1414dc Set NoN (no near clipping) flag for all .Rej ucodes.
Fixed wrongly clipped polygons in RE2, Ada's locket cutscene, #2152
2020-03-22 14:00:00 +07:00
Sergey Lipskiy
022b375614 RE2 related fixes:
* fixed gSPModifyVertex for case when primitive depth enabled
* fixed GraphicsDrawer::isRejected for case when coordinates of vertex set by gSPModifyVertex
* fixed writeDepth() shader for RE2

Fixed various issues mentioned in #2152
2020-03-18 14:50:45 +07:00
Logan
be78f2d324 Fix IPO build on Linux 2020-03-18 11:53:00 +07:00
Sergey Lipskiy
8a9d52b41b Fix static noise on screens in Space Station Silicon Valley.
Problem: the static on the screens is the result of alpha test with a random threshold.
The screens use 2 cycle combiner. First cycle for alpha uses "combined" input.
A value for this input is not set yet in the first cycle, so the result of alpha test is usually wrong.

Solution: replace "combined" input in the first cycle by special "half" input.

Fixed #1764
2020-03-08 23:28:54 +07:00
Sergey Lipskiy
1fdd028bc6 Fix conditions to activate texturedRectDepthBufferCopy.
Fixed #2101 Multiplayer camera rotation issue in Conkers Bad Fur Day
2020-03-07 18:27:32 +07:00
Sergey Lipskiy
a28292846c Remove on_n64DepthCompareCheckBox_toggled
Fixed #2185 GLideNUI warning.
2020-03-06 18:51:48 +07:00
fzurita
d053f16bb0 Fix CMake warnings presented by Android Studio 2020-02-26 17:04:05 +07:00
fzurita
0a5216f8e1 Make the hybrid texture filter optional through configuration 2020-02-12 11:51:04 +07:00
Sergey Lipskiy
0692abea4a Re-implement slower N64 depth compare synchronization method,
which requires only core OpenGL 4.2 without shader_interlock extensions.

Fixed N64 depth compare with older AMD GPU.
2020-02-09 19:03:53 +07:00
Logan McNaughton
3d93752b61 Update xxHash 2020-02-06 17:48:13 +07:00
Sergey Lipskiy
495d9f959e Simplify aTexScale calculation in UClampWrapMirrorTex::update 2020-01-12 19:52:42 +07:00
Sergey Lipskiy
cfa3ded934 Correct tile size calculation.
Fixed #2156 Tony Hawk's Pro Skater 3- Missing Characters on Copyright Screen
2020-01-02 20:36:35 +07:00
Sergey Lipskiy
b949958874 Disable ThreadedVideo on MacOsX, see #2159 2020-01-02 16:41:18 +07:00
Sergey Lipskiy
c823047f99 Prevent config dialog from being opened twice.
Fixed #2158 Project 64 Crashes if you open GlideN64 Video Settings when they are already open.
2020-01-02 14:44:01 +07:00
Sergey Lipskiy
e676dafb7a Fix languages names in GUI. 2020-01-02 14:35:24 +07:00
fzurita
de7547727b Don't generate a new Revision.h file if revision hasn't changed
This prevent CMake from forcing a build of everything that depends on
that file.
2019-12-16 14:21:44 +07:00
fzurita
3daf1c0e49 Use a different library name when building for Android 2019-12-16 14:21:44 +07:00
fzurita
cda2dcf2a3 Remove Android makefile and use CMakeLists for Android instead 2019-12-02 18:41:41 +07:00
Sergey Lipskiy
028133bb5c Correct gDP.loadTile->loadHeight calculation again.
Fixed #2143 Yoshi's Story level backgrounds regression
which was broken by b261f34b0
2019-11-30 22:48:23 +07:00
Tim Wanders
80f1d9d021 Fix Log.h 2019-11-30 22:40:00 +07:00
fzurita
44ce554d5f Fix issues with EGL image public API on GLES 2.0 2019-11-30 15:54:59 +07:00
Sergey Lipskiy
d52d402d76 Do not use hybrid filer for GLES 2.0 due to poor performance.
Shader and code simplifications.
2019-11-30 15:54:54 +07:00
Sergey Lipskiy
25b270492e Revert "Don't use glGetTexLevelParameteriv to determine texture size"
This reverts commit b31e510932.
2019-11-30 15:31:43 +07:00
fzurita
49bdffb954 Fix shader compilation errors with Adreno devices 2019-11-30 15:30:50 +07:00
fzurita
6ac44db414 Don't use glFlushMappedBufferRange in debug mode, the performance
penalty is too high
2019-11-29 11:55:57 -05:00
fzurita
b31e510932 Don't use glGetTexLevelParameteriv to determine texture size 2019-11-29 15:56:22 +07:00
fzurita
a2fbea9086 Fix GLSL ES 1.0 compilation error 2019-11-29 15:50:34 +07:00
fzurita
0abaad4aee Fix shader compilation errors in GLSL 3.0 2019-11-29 15:02:35 +07:00
Sergey Lipskiy
2b5e8786d1 Add support for TEXTUREMODE_BGIMAGE in UClampWrapMirrorTex::update()
Fixed #2107 Majora's Mask OnePiece backgrounds broken
Fixed #2141 RE2 corrupt video
2019-11-28 19:13:26 +07:00
Sergey Lipskiy
558c465d02 Debugger fixes. 2019-11-28 19:11:31 +07:00
Francisco Zurita
9c4653a148 Throw an exception if a buffer greater than the ring buffer pool max size is allocated instead of dead locking forever. 2019-11-28 17:33:56 +07:00
Sergey Lipskiy
f918a909c7 Remove opacity check from hybridFilter shader. 2019-11-28 12:31:31 +07:00
Sergey Lipskiy
488d52de16 Use hybrid texture filter to draw frame buffer image on screen.
Related to #2088
2019-11-27 19:25:19 +07:00
Sergey Lipskiy
bc05d5f0d8 Make optimization implemented in e0418c3c34 as optional.
S. F. Rush looks much better without the optimization.

Fixed #2068 S. F. Rush and Rush 2 - Regressions
2019-11-27 17:32:21 +07:00
Sergey Lipskiy
a8f23045fd Enable threadedVideo option by default.
Fixed #2126 Problem with Project64 1.6.1 when close emulator
2019-11-23 12:55:22 +07:00
Sergey Lipskiy
89bcb61c02 Correct frame buffer usage check.
Fixed Pokémon Stadium 2 - Cut off pokémon portraits #2110
2019-11-22 16:23:25 +07:00
Sergey Lipskiy
a01718d2cf Correct needMirror condition in clampWrapMirror shader.
Fixed Blast Corps regression #2113
2019-11-21 17:25:57 +07:00
Sergey Lipskiy
27128fe505 Correct error output in DisplayWindowMupen64plus::_getDisplaySize(). 2019-11-20 12:40:53 +07:00
Sergey Lipskiy
517723d308 Up shader storage version. 2019-11-14 11:46:51 +07:00
S2S
49604f0c16 Write wrap function. Cleanup of combiner code. 2019-11-14 11:46:46 +07:00
S2S
a42e34f1b8 Write macros for reading a vector or matrix without hurting performance. Cleanup blender code. 2019-11-14 11:46:32 +07:00
Sergey Lipskiy
9dff907f15 Do not shift texture coordinates for frame buffer textures.
Fixed #2112 Conker black line following your shadow
2019-11-12 10:54:56 +07:00
Sergey Lipskiy
09764fead7 Fix TxFileStorage initialization when cache compression disabled.
Fixed Textures do not load from uncompressed HTS files #2120
2019-11-04 21:49:48 +07:00
Sergey Lipskiy
f3b83d2c8b Fix formatting in TxCache.cpp 2019-11-04 19:49:09 +07:00
Sergey Lipskiy
ad85856ee7 Replace printf by LOG.
Fixed #2123
2019-11-04 18:27:01 +07:00
fzurita
17b8e34799 Add logging of OpenGL profiling data 2019-11-04 15:03:36 +07:00
fzurita
d7996329c1 Added more GL functions to threaded GL implementation 2019-11-04 14:54:05 +07:00
fzurita
e333dea890 Fix GL errors when using EGL image to read pixel from texture 2019-11-04 14:30:37 +07:00
fzurita
9059bb38d3 Add GL function glDebugMessageCallback and glDebugMessageControl 2019-11-03 23:07:05 +07:00
fzurita
686c7799db Fix some incorrectly set android makefile options 2019-11-03 23:07:05 +07:00
Sergey Lipskiy
a87f7c4022 Log CoreVideo functions error code. 2019-11-03 23:00:54 +07:00
Sergey Lipskiy
5484972b37 Correct tile size calculation.
Fixed regression in Paper Mario caused by commit 5c5c218e4.
2019-10-28 20:16:24 +07:00
Sergey Lipskiy
2b0e1e64c2 Temporal workaround for crashes in TextureCache::_loadHiresTexture when mip-mapped textures loaded.
See #1711 for details.
2019-10-26 18:57:28 +07:00
fzurita
ffaaf1f664 Fix incorrect OpenGL function init in iOS 2019-10-25 11:17:14 +07:00
fzurita
3c875ef3a6 Fix incorrect OpenGL function init in MacOS 2019-10-25 11:17:14 +07:00
Sergey Lipskiy
98d906d4e0 Correct tile height calculation.
Fixed Neon Genesis Evangelion glitches #2102
2019-10-16 13:43:50 +07:00
Sergey Lipskiy
0338f27225 Do not shift texture coordinates by 0.5 for point-sampled textures.
Attempt to fix texture mapping issue from #2097.
2019-10-14 14:11:24 +07:00
fzurita
1384584af6 Fix threaded OpenGL lockup when trying to remove invalid buffer 2019-10-14 14:10:08 +07:00
Sergey Lipskiy
b261f34b0d Fix gDP.loadTile->loadHeight calculation.
Fixed Zelda 64 Skybox duplicates #2094.
2019-10-13 13:03:28 +07:00
Sergey Lipskiy
cffeab2f0f Fixed backgrounds load in Bakuretsu Muteki Bangaioh (J). 2019-10-12 23:57:10 +07:00
Sergey Lipskiy
5bab3c155f Fix crashes in Bakuretsu Muteki Bangaioh (J) 2019-10-12 01:03:14 +07:00
fzurita
462dd2a9bc FIx EGL image compatibility with mali devices 2019-10-05 22:41:33 +07:00
fzurita
4c87af5975 Don't initialize EGL, this is causing issues 2019-10-05 22:41:33 +07:00
fzurita
8cdf5a41d8 Don't crash on failed initialization 2019-10-05 22:41:33 +07:00
Sergey Lipskiy
427004a703 Fix Debugger::_addTriangles 2019-10-03 18:51:26 +07:00
fzurita
4a10c0a7fa Fix incorrect OpenGL function init in Linux 2019-09-30 21:48:36 -04:00
fzurita
d6ad676436 Fix EGL initialization in applications that don't implment VidExt 2019-09-30 21:48:36 -04:00
fzurita
7861d14060 Fix issue with lack of highp floating numbers in GLSL for GLES 2.0. 2019-09-30 21:48:26 -04:00
fzurita
8817e2c549 Fix logging error 2019-09-29 09:25:04 -04:00
Sergey Lipskiy
62b4389d16 Use TexrectCopyProgram if TexrectColorAndDepthCopyProgram is not awailable. 2019-09-29 16:13:03 +07:00
fzurita
415e63d6d1 Fix shader compilation error in GLES 2.0 2019-09-29 16:08:44 +07:00
fzurita
a42c66e305 Fix android logging 2019-09-29 16:08:44 +07:00
Sergey Lipskiy
9409abd671 Support "Copy depth to main depth buffer" option in GUI. 2019-09-27 19:33:18 +07:00
Sergey Lipskiy
751ddc36a7 Support "EnableCopyDepthToMainDepthBuffer" option in mupen64plus config. 2019-09-27 19:33:18 +07:00
Sergey Lipskiy
86a227308e Implement copy depth to main depth buffer. It is necessary for correct work of some Reshade shaders. 2019-09-27 19:33:18 +07:00
Sergey Lipskiy
a1faafcc1b Code refactor: rename TxFileCache to TxFileStorage. 2019-09-27 19:33:18 +07:00
Sergey Lipskiy
0272bb626b Fix warning. 2019-09-27 19:33:18 +07:00
Aquatakat
7785e305d4 New aliasing tooltip 2019-09-27 19:33:17 +07:00
Aquatakat
6946f730b4 UI refresh: _init() behaviour fixes
Changing profiles/toggling the use game settings checkbox works a bit better.
2019-09-27 19:33:17 +07:00
Aquatakat
c18037b92d Support for file_tex_storage branch 2019-09-27 19:33:17 +07:00
Aquatakat
43bec023e4 UI refresh: option to save settings to profile while per-game settings enabled
Also letting Qt decide how tall the window should be.
2019-09-27 19:33:17 +07:00
Aquatakat
c77214f0a7 UI refresh: AA radio button behaviour changes 2019-09-27 19:33:17 +07:00
Aquatakat
95cee96d15 UI refresh: emulation tab condensed vertically 2019-09-27 19:33:17 +07:00
Aquatakat
54b825d957 UI refresh fixes
Whoops, it looks like I was working with an old UI and missed some options. I've added them all to the emulation tab.

I think I should find a way to tidy the emulation tab a little in the future.
2019-09-27 19:33:17 +07:00
Aquatakat
03f0fe78c9 UI refresh 2019-09-27 19:33:16 +07:00
Sergey Lipskiy
2fa076c1df Support new settings in Mupen64plus config 2019-09-27 19:33:16 +07:00
Sergey Lipskiy
b697393cab File stream implementation of TxCache. 2019-09-27 19:33:16 +07:00
Sergey Lipskiy
dee7065982 Memory cache implementation of TxCache 2019-09-27 19:33:16 +07:00
Sergey Lipskiy
a1a443ca47 TxCache refactor 2019-09-27 19:33:16 +07:00
Sergey Lipskiy
0068a0066b Fix Debugger::_addTriangles for TRIANGLE_STRIP mode 2019-09-18 15:38:25 +07:00
Sergey Lipskiy
fea37ab6d5 Fix elements cast in Debugger::_addTrianglesByElements 2019-09-18 15:38:22 +07:00
Sergey Lipskiy
34c6cae364 Fix compile errors in opengl_ColorBufferReaderWithEGLImage.cpp
Fixed #2083
2019-09-05 18:53:38 +07:00
Sergey Lipskiy
4808179691 Fixed crash in case of wrong FrameBuffer::m_scale initialization. 2019-09-05 18:47:45 +07:00
Sergey Lipskiy
10ec517fe9 Code refactor in GLInfo::init() 2019-08-31 11:05:44 +07:00
Sergey Lipskiy
5c5c218e41 Correct tile size calculation.
Fixed text in Zelda debug rom. See bug reported by AriaHiro64 in #1885
2019-08-21 12:39:53 +07:00
Sergey Lipskiy
c28ea61b8f Fix for texture issues in Stunt Racer, reported by DonelBueno in #1885
Stunt Racer uses combiner with two textures for track polygons, but actually loads only T0.
T1 replaced by T0 because of LOD flags in othermode.
This situation was not checked in the main code and ClampWrapMirror shader got wrong parameters,
which lead to the glitches.
2019-08-16 19:10:09 +07:00
Sergey Lipskiy
947fedcbb5 Code cleanup: remove unused getMirrorClamp function. 2019-08-16 17:47:20 +07:00
Sergey Lipskiy
fa2ce3f6e7 Debugger: correct mupen64plus window caption to find in debug mode. 2019-08-16 17:46:34 +07:00
Sergey Lipskiy
258e51d44d Code cleanup: remove unused CombinerInfo::getCombinersNumber() 2019-06-23 17:32:28 +07:00
Sergey Lipskiy
83dde99f6b Fix TextureCache::_loadHiresTexture: use correct tile when gSP.texture.tile != 0 2019-06-19 19:02:57 +07:00
Sergey Lipskiy
2d712f2ae0 Rewrite textures loading and mapping:
- use RiceVideo method for texture size calculation.
  RiceVideo uses the same method for texture dumping.
- rewrite texture mapping.
  Texture Clamp-Wrap-Mirror implemented in shaders.

Problem explanation:
https://github.com/gonetz/GLideN64/issues/1885#issuecomment-485136358

Fixed various glitches with HD textures, #1885
2019-06-19 19:02:52 +07:00
Sergey Lipskiy
993960f9ea Do not attempt to copy image to RDRAM when copyToRDRAM option set to "Disabled".
Fixed crash when open sub-screen in Zelda MM with copyToRDRAM disabled.
2019-05-22 20:16:10 +07:00
Sergey Lipskiy
2d15d2d20a Fix CMakeLists.txt for Raspberry Pi
Patched by 5schatten.

Fixed #1978 [RPi3 | cross compile]
2019-04-23 17:17:34 +07:00
Francisco Zurita
c06c593eba Improve logging information 2019-04-23 11:15:41 +07:00
Sergey Lipskiy
8debfdb81c Correct GLES2 version of mip-map shader. 2019-04-22 21:45:11 +07:00
Francisco Zurita
8f26645407 Fix crash with GL_DEBUG enabled with mupen64plus API
Also, fix compiler warning
2019-04-15 09:09:39 +07:00
Francisco Zurita
92bcbe5981 Fix issues with threaded OpenGL when debug is enabled 2019-04-10 12:55:09 +07:00
fzurita
5df3f9dbac Threaded GLideN64 calls 2019-04-08 10:51:18 +07:00
Sergey Lipskiy
3d74542d24 Correct geometry mode update for Turbo3D.
Fixed glitches in Dark Rift, #2033
2019-04-03 21:32:50 +07:00
Sergey Lipskiy
1eea6d4452 Update "About:Contributors" 2019-04-01 17:09:49 +07:00
Sergey Lipskiy
2b95e56db4 Remove info about blur shader from "About:Credits" form since the shader is not used anymore. 2019-04-01 16:53:18 +07:00
Sergey Lipskiy
7f5f6256f3 Apply gamma correction to text drawer textures.
Fixed #2030 : Font rasteriser doesn't perform gamma correction

Thanks Clownacy for the idea.
2019-04-01 16:30:36 +07:00
Sergey Lipskiy
c57909e2e9 Reset gSP.geometryMode at display list load and display list end.
Fixed culling issue in Triple Play 2000.
2019-04-01 15:21:08 +07:00
Sergey Lipskiy
3e552f4214 GUI: set max MSAA level to 16x. 2019-03-26 16:27:32 +07:00
Sergey Lipskiy
e91a767b82 GUI: add tooltips for anti-aliasing controls. 2019-03-26 16:24:25 +07:00
Sergey Lipskiy
af63737012 Avoid division by zero in ObjCoordinates ctor due to wrong data in _pObjSprite.
Fixed crash in Glover 2 intro.
2019-03-23 18:11:07 +07:00
Sergey Lipskiy
fc96b78542 Fix load of 4bit CI textures when TLUT mode is off. Correction for commit 98960950
Fixed color of the glove in Doubutsu no Mori sub-screen.
2019-03-23 12:37:38 +07:00
Sergey Lipskiy
751fe2b3fa Convert fix for StarCraft 64 from commit 729bf94c5 to StarCraft specific hack,
because that case is actual for StarCraft 64 only.
2019-03-23 12:33:04 +07:00
Sergey Lipskiy
03022db791 Check that RDRAM area is writable before writing buffer data into it.
Fixed Problem with Project64's protect memory option #764
2019-03-16 18:37:05 +07:00
Sergey Lipskiy
2ac29acf29 Add '#pragma once' to CRC.h 2019-03-15 16:56:50 +07:00
Sergey Lipskiy
3d11a21a40 Correct GraphicsDrawer::isRejected.
According to manual, ClipRatio must be at least 2.

Fixed #2023, Chou Kuukan Nighter Pro Yakyuu King 2 (J) missing polygons in HLE
2019-03-13 18:29:21 +07:00
Sergey Lipskiy
6041b47271 Fix Insert Matrix moveword command.
Fixed Sim City 64 HLE City Rendering Issue #1200
2019-03-11 22:10:28 +07:00
Sergey Lipskiy
76a56b4273 Fix gSPModifyVertex for Z coordinate.
Fixed gasp: wrong depth in menu #2019
2019-03-07 12:09:26 +07:00
Sergey Lipskiy
989609505c Fix load of 4bit CI textures when TLUT mode is off.
Fixed Goemon - Mononoke Sugoroku: wrong gfx #1892
2019-03-06 18:36:40 +07:00
Sergey Lipskiy
e13a2ffd6b Correct gDPLoadTileInfo bytes calculation for 32bit textures.
Fixed ready 2 rumble 2 : wrong gfx in intro #2021
2019-03-05 16:06:26 +07:00
Sergey Lipskiy
96ccfc63af Correct mip-map shader: lod could be larger than actual number of levels in mip-map texture.
Fixed mip-mapped textures in Automobili Lamborghini with 3point filtering enabled.
2019-03-03 15:17:52 +07:00
Sergey Lipskiy
3704b37c3e Fix some of PVS-Studio warnings. 2019-03-03 11:47:10 +07:00
Sergey Lipskiy
4a925e1490 Add simple check for absolute paths to texture filter folders.
Relative path is not supported and must be substituted by default one.
2019-02-28 13:31:11 +07:00
Sergey Lipskiy
08e15767a6 Fix copy-paste errors in TextureFilterHandler::init()
Fixed build of default paths to texture filter folders
2019-02-28 12:30:46 +07:00
Sergey Lipskiy
f55283e32f Fix CRC calculation for mip-mapped textures.
Fixed green smear on mipmaps in Turok, #1558
2019-02-25 15:44:56 +07:00
Sergey Lipskiy
69d608310f Fix compilation warning. 2019-02-25 15:38:20 +07:00
Sergey Lipskiy
19cf24f701 Apply "Disable enhancement for backgrounds" option only for S2DEX background commands.
Related to Ocarina of time - Temple of time issue #1984
2019-02-24 19:47:28 +07:00
Sergey Lipskiy
b0380e0a04 Increase log level for VI warnings. Users should not see them. 2019-02-24 18:56:30 +07:00
Sergey Lipskiy
ea27c6bd21 Correct code, which forces OnePiece mode for backgrounds.
Code cleanup.

Fixed STARCRAFT 64: does not work with one piece option #2013
2019-02-24 18:42:56 +07:00
Sergey Lipskiy
6022f510f5 Correct getStorageFileName: set user-preferred locale before using string conversion functions. 2019-02-24 12:07:13 +07:00
fzurita
b40e6f44c1 Fix shader storage with Android 4.4 2019-02-24 11:49:15 +07:00
fzurita
164b44e8e5 Fix shader compilation in GLSL 2019-02-23 15:05:06 +07:00
Sergey Lipskiy
a40afaf5bd Enable texturedRectDepthBufferCopy for Turok.
Code refactoring.

Fixed Turok 64 Missing lens flare #2009

Note: Turok lens flare works correct only when depth buffer copied from VRAM.
Software depth render produces incorrect result because it does not discard pixels,
which should be discarded by alpha test.
2019-02-22 15:45:04 +07:00
Sergey Lipskiy
5063ad7292 Fix address for depth buffer copy in texturedRectDepthBufferCopy 2019-02-22 12:17:27 +07:00
Sergey Lipskiy
a5e8bf4f3c Fix DepthBufferToRDRAM::_prepareCopy RDRAM bound condition. 2019-02-22 12:14:09 +07:00
Sergey Lipskiy
edd83fdb76 Code cleanup: rename variables in F5INDI_RebuildAndAdjustColors 2019-02-20 18:00:46 +07:00
fzurita
9033a4d536 Fix build errors when using CMake with RPi 2019-02-19 15:18:39 +07:00
Sergey Lipskiy
49465a094d Implement dump of background textures. 2019-02-19 12:49:40 +07:00
Sergey Lipskiy
15fa834ffa Correct "BackgroundsMode" parameter read from mupen64plus config. 2019-02-19 12:47:59 +07:00
Sergey Lipskiy
916d01ba60 Correct FrameBufferList::renderBuffer() output coordinates calculation.
Fixed screen shake in WDC and Bass Rush - ECOGEAR PowerWorm Championship.
2019-02-17 23:37:54 +07:00
Sergey Lipskiy
cd4535025d An optimization in F5INDI_CalcST 2019-02-17 15:39:39 +07:00
Sergey Lipskiy
9bf36d390a Implement 3-point texture filtering for mipmapped textures.
Fixed #1558 3-point texture filtering doesn't work with mipmapped textures.
2019-02-16 20:45:51 +07:00
Sergey Lipskiy
edc81952ab Fix texture unpack alignment for filtered textures.
Fixed #1412: Enhancements cause buggy texture elements.
2019-02-15 17:44:45 +07:00
Sergey Lipskiy
24bfb8274f Fix ucode selection for Wayne Gretzky's 3D Hockey.
Add custom settings to avoid flickering in this game with Project64.

Fixed Wayne Gretzky's 3D Hockey: missing gfx and flickers (regression) #1966
2019-02-08 22:04:47 +07:00
Sergey Lipskiy
0e04b3f902 Fix z coordinate calculation in TexrectDrawer::addRect()
Fixed #1989, Printf debug statements broken in LLE in Multiple Debug/Prototype games.
2019-02-08 19:43:16 +07:00
gizmo98
f7824a37a0 Use bool value for 3-Point or bilinear filtering selection again
With the new enableHalosRemoval option we  only need to select bilinear
filtering or 3-point filtering with a bool value again.

Reverts
https://github.com/gonetz/GLideN64/commit/164b1056b3b5446824e419a7721a5c
4e455f28c6 partly.
2019-02-08 11:47:28 +07:00
Sergey Lipskiy
32901bf5dd Add option enableHalosRemoval for bilinear filtering. 2019-02-07 17:23:20 +07:00
fzurita
2712e8f509 Cleanup EGL image code 2019-02-05 21:48:26 +07:00
Sergey Lipskiy
837f173e82 Support new bilinear filtering modes in GUI. 2019-02-05 21:28:00 +07:00
gizmo98
164b1056b3 Add bilinear filtering modes which remove halos around transparent textures
This workaround is not implemented for gles2 devices.
2019-02-05 21:09:36 +07:00
fzurita
f209304d0b Add support for Android EGL Image Public API 2019-02-05 17:30:58 +07:00
Sergey Lipskiy
039f818175 Correct initial value for clip ratio.
According to programming manual, initial value is 2.

Fixed logo clipping in SD Hiryuu no Ken Densetsu.
This game does not call gSPClipRatio, thus initial value is used.
2019-02-04 21:09:02 +07:00
Sergey Lipskiy
647f7759c2 Apply fix for GE multiplayer only for GE and PD.
Naboo does not use depth buffer clear with fillrect,
thus it does not allocate frame buffer for depth buffer clear.
GE multiplayer fix breaks depth compare in Naboo.
2019-02-04 20:04:48 +07:00
Sergey Lipskiy
78e98d880b Fix primitive depth for particles in Factor5 ucodes. 2019-02-04 18:30:05 +07:00
Sergey Lipskiy
2b7f78c9f8 Fix depth buffer clear when otherMode.depthCompare enabled.
Fixed 1080 Snowboarding (JU) FB off breaks games ( regression) #1976
2019-02-03 18:01:01 +07:00
Sergey Lipskiy
f79f8d406a Add bgMode config setting. 2019-02-02 19:10:50 +07:00
Sergey Lipskiy
be069adb1f Fix gSPObjSprite for S2DEX ver 1.03
Fixed speedometer in GT 64.
2019-02-02 18:34:13 +07:00
Sergey Lipskiy
b62734d297 Use ValueKeeper for RSP.LLE flag 2019-02-02 18:34:12 +07:00
Sergey Lipskiy
dcd159dc71 Enable texrect drawer in BG commands when enableNativeResTexrects enabled. 2019-02-02 18:34:12 +07:00
Sergey Lipskiy
f31cb4b00d GraphicsDrawer::drawTexturedRect - always use TexrectDrawer if m_bBGMode enabled. 2019-02-02 18:34:12 +07:00
Sergey Lipskiy
4a50912283 Enable texrect drawer for BGCopyNew. 2019-02-02 18:34:12 +07:00
Sergey Lipskiy
0560b49686 TexrectDrawer::draw() : correct texture coordinates. 2019-02-02 18:34:11 +07:00
Sergey Lipskiy
6ca50bd733 Use old code for frame buffer texture backgrounds 2019-02-02 18:34:11 +07:00
Sergey Lipskiy
1f372fa0ce Fix S2DEX_MoveWord 2019-02-02 18:34:11 +07:00
Sergey Lipskiy
be1a1fc413 Fixes for S2DEX 1.5 2019-02-02 18:34:11 +07:00
Sergey Lipskiy
9e64d45ac5 New implementation of BgCopy command. It is based on olivieryuyu decoding of actual ucode and works as close to original command as possible. 2019-02-02 18:34:11 +07:00
Sergey Lipskiy
729bf94c5a StarCraft fix. 2019-02-02 18:34:10 +07:00
Sergey Lipskiy
2decda55f3 CheckForFrameBufferTexture code refactor. 2019-02-02 18:34:10 +07:00
Sergey Lipskiy
c48e0e4d00 Fix loadblock when lrs = 0xFFF 2019-02-02 18:34:10 +07:00
Sergey Lipskiy
5ac2749bbb Fixes in gSPObjLoadTxtr. 2019-02-02 18:34:10 +07:00
Sergey Lipskiy
2aeff6caa5 Fix tile size when it is loaded by BgCopy with LoadBlock.
BgCopy set dimensions for tile0 to zero.
We can't use dimensions of load tile either because of CopyBlock.
The only way to find size of loaded texture is to use coordinates of texrect.
There is one-to-one correspondence between rect pixels and texture texels in copy mode,
so we can safely use it in this case.
2019-02-02 18:34:10 +07:00
Sergey Lipskiy
d4f9c341a9 Do not use fractional part of coordinates in G_CYC_COPY mode. 2019-02-02 18:34:09 +07:00
Sergey Lipskiy
a3613b42ae Draw backgrounds with TexrectDrawer. 2019-02-02 18:34:09 +07:00
Sergey Lipskiy
25bef0d805 New implementation of BG1Cyc command.
It is based on olivieryuyu decoding of actual ucode and works as close to original command as possible.
2019-02-02 18:34:09 +07:00
Sergey Lipskiy
7f68ae71f1 Correct texturedRectBGCopy in order to new Bg1Cyc command work with Yoshi Story 2019-02-02 18:34:09 +07:00
Sergey Lipskiy
aab318b4f7 Fix tile load for BG commands. 2019-02-02 18:34:08 +07:00
Sergey Lipskiy
9ac633d2ea Add originalMaskT, originalMaskS fields for struct gDPTile.
masks and maskt set by gDPSetTile, but _calcTileSizes may change them if actual
tile dimension do not correspond the mask. This creates problem for S2DEX_BG_1Cyc command,
which set tile masks and maskt to maximum, while actual size of loaded tiles may vary.
_calcTileSizes may set new values for masks and maskt, which are valid for the current tile but invalid for next ones.
Thus, original values of tile masks and maskt must be restored when tile size calculated again in _calcTileSizes.
2019-02-02 18:34:08 +07:00
Sergey Lipskiy
fa2b0793e0 Store integer scissor coordinates. 2019-02-02 18:34:08 +07:00
Sergey Lipskiy
11e87a46d8 Add template RAII class to change-restore arbitrary parameters: ValueKeeper Use it in TexrectDrawer::draw() 2019-02-02 18:34:08 +07:00
fzurita
18a735dfe6 Fix some sign issues with RdpUpdate 2019-01-28 18:34:23 +07:00
Sergey Lipskiy
132b06fd2f Correct VI image cut calculations, see VI fixes #1981 2019-01-20 19:32:39 +07:00
Sergey Lipskiy
864e635ca4 Correct RdpUpdate::update()
Fixed Black screen on smash bros #1987
2019-01-20 18:52:16 +07:00
fzurita
20a7b75100 Android makefile updates for 64 bit 2019-01-15 14:14:23 +07:00
Sergey Lipskiy
31e2c7e11a Correct lighting for CBFD.
Code refactoring.
2019-01-13 01:07:20 +07:00
Sergey Lipskiy
b036a8296e Fix OverscanBuffer::draw. 2019-01-13 01:07:06 +07:00
Sergey Lipskiy
1e84099521 Correct mapping of RDP frame buffer to output one.
Code of RdpUpdate::update is based on angrylion's rdp_update().

Main visible difference: VI cuts several pixels on left and right of original image.
Cite from angrylion's commit message:
"rdp: new tests revealed the shocking truth:
the VI aggresssively and regardlessly of any data alignment specificities
cuts off either 7 or 8 pixels closest to h_start and h_end, so that nothing
ever appears on the screen unless (h_end - h_start) is 16 pixels or greater
(this removes marginal garbage graphics on the far right in Mario Tennis,
Turok 2 Seeds of Evil intro and probably other games)"
2019-01-13 01:07:02 +07:00
Sergey Lipskiy
0f1b45cfa6 Add hack for Lode Runner 3-D.
The game uses very unique way to allocate frame buffers.
It uses double buffering, but both buffers share the same address space (sic!)
The game uses interlaced display mode, and lines in RDP buffers are interlaced too.
Plugin's fb and VI emulation code can't handle it properly, so I just added a hack.

Fixed Lode Runner 3-D: No video output if framebuffer is enabled #1937
2019-01-13 00:47:52 +07:00
Sergey Lipskiy
fc70172327 Refactor update of buffer end address.
Add removeIntersections() after end address update.
2019-01-13 00:40:21 +07:00
Sergey Lipskiy
7d7b5fcee3 Correct RDRAMtoColorBuffer::copyFromRDRAM(FrameBuffer * _pBuffer)
Fixed course map in Lego Racers.
2019-01-13 00:40:01 +07:00
Sergey Lipskiy
6135aa9de1 Activate hack for WCW Nitro backgrounds.
Currently it is impossible to draw them without hack.

Fixed WCW Nitro: the mysterious wrong textures #179
2019-01-13 00:38:10 +07:00
Sergey Lipskiy
dcbea90e76 Correct _loadSpriteImage: if bg image address is inside cfb buffer, remove that buffer. 2019-01-13 00:38:06 +07:00
Sergey Lipskiy
f787483dbb Correct condition for uEnableDepth uniform.
Fixed depth compare for particles in Indiana Jones when N64 depth compare enabled, #1977
2019-01-12 14:34:00 +07:00
Sergey Lipskiy
6de128b8fd Correct condition for valid depth buffer attachement.
Rat attack uses color buffer with width 640, but depth buffer width is only 639.
goodDepthBufferTexture check failed because of it, and game run without depth compare.

Fixed Rat attack missing geometry #600
2019-01-09 18:19:01 +07:00
Sergey Lipskiy
da5acef3eb Add hack_ModifyVertexXyInShader for Rat Attack.
Fixed projector light in Rat Attack, #600
2019-01-09 18:16:22 +07:00
Sergey Lipskiy
e676384550 Revert "Enable N64DepthCompare by default."
due to regression in Indiana Jones, #1977

This reverts commit d420737d6d.
2019-01-08 16:51:31 +07:00
Sergey Lipskiy
d420737d6d Enable N64DepthCompare by default. 2018-12-18 16:54:02 +07:00
Sergey Lipskiy
13966d7de0 Remove Overscan::init 2018-12-18 16:53:32 +07:00
Sergey Lipskiy
cb0cf5bed9 Fix depth_compare shader:
always write depth to buffer when otherMode.depthCompare flag is off.

Up shader storage version.

Fixed 2 players mode in Extreme-G XG2 (U) with N64 depth compare enabled, #1963
2018-12-18 16:04:37 +07:00
orbea
a5fc0689ac Fix performance with radeonsi.
This takes Donkey Kong 64 from 12 fps to full speed with framebuffer
emulation enabled.
2018-12-11 11:35:56 +07:00
Sergey Lipskiy
f899bf57a4 Ignore vi_lowerfield if vi_width <= 320.
It seems that when vi_width <= 320 output uses progressive mode
even if interlaced bit is set in VI_STATUS.

Fixed Bass Rush - ECOGEAR PowerWorm Championship - shakes #1957
2018-12-09 17:39:31 +07:00
Sergey Lipskiy
0d3c3c151d Correct reject box implementation: add special flag for it in gDP.changed flags.
Fixed Rejection process issues #1954
2018-12-09 16:49:23 +07:00
Sergey Lipskiy
29575624b9 Call copyRdram() for cfb buffer to have data for validity check.
Fixed NBA Courtside 2: wrong intro - regression #1956
2018-12-09 16:24:35 +07:00
Sergey Lipskiy
8cd1605933 Add debug message for VI_UpdateScreen 2018-12-09 14:23:08 +07:00
Sergey Lipskiy
362c99c256 Fix specialMicrocodes entry for Pachinko nichi 365
Fixed https://github.com/gonetz/GLideN64/issues/1950
2018-12-09 13:07:58 +07:00
Sergey Lipskiy
bb8c13ccce Implement rejection processing, see 25.3.2 of programming manual
Fixed Mario Party: Coin Block Blitz ground flicker / darkening #1912
2018-12-06 17:31:50 +07:00
zilmar
459fb32106 Revert OS_WINDOWS changes 2018-11-25 18:34:16 +07:00
zilmar
d50aabaa10 Stop using OS_WINDOWS 2018-11-25 18:34:16 +07:00
zilmar
5f008e4c92 Clean up libGlideNHQ.vcxproj 2018-11-25 18:34:16 +07:00
Sergey Lipskiy
cbf5821f8e Clamp arguments for acos when calculating G_TEXTURE_GEN_LINEAR
Fixed (Majora's Mask) Glass in Postman House not rendering #1941

Note: ucode actually works a bit differently because it uses approximated acos calculation.
2018-11-20 22:47:59 +07:00
Sergey Lipskiy
087ac76536 Correct commit e4b6224 for culling in Mortal Kombat 4.
Disable cullboth for F3DLX.Rej version 1 since this ucode does not support cullboth.
2018-11-11 16:06:23 +07:00
Sergey Lipskiy
1ec435d6e7 Correct command S2DEX_Obj_Rectangle_R for ucode version 1.03 2018-11-08 11:58:13 +07:00
Sergey Lipskiy
88aa90d075 Implement NO_XFM mode for Turbo3D ucode.
Fixed Dark Rift: gfx of the fist screen doesn't disappear when it should (HLE issue) #626
Fixed Dark Rift: missing transition effect in menu #649
2018-11-05 13:27:07 +07:00
Sergey Lipskiy
7aa360c900 Clear fog parameters in gSPLoadUcodeEx.
Fixed Zelda OOT wrong fog [HLE] #640
2018-11-03 15:40:41 +07:00
Sergey Lipskiy
f72553a524 Fix depth compare for texrects rendered with TexrectDrawer.
Fixed Duke Nukem 64: 2D Render Issue #1915
2018-10-21 20:19:41 +07:00
Sergey Lipskiy
a44d5a8960 Fix condition to apply hardware texture filtering:
FILTER_LINEAR must be used only if the current combiner uses LOD.
2018-10-18 11:14:34 +07:00
Sergey Lipskiy
68a2c939b4 Correct FrameBufferList::fillRDRAM - do not write to RDRAM color buffer if copyFromRDRAM enabled 2018-10-17 15:52:53 +07:00
Sergey Lipskiy
fe6447070e Minor code refactor in gDPFillRectangle 2018-10-17 15:52:53 +07:00
Sergey Lipskiy
57ad2e96c6 Fix DepthBufferList::clearBuffer() for image textures. 2018-10-17 15:52:53 +07:00
Sergey Lipskiy
9a2a77982b Set gDP.colorImage parameters before frameBufferList().saveBuffer call. 2018-10-17 15:52:53 +07:00
Sergey Lipskiy
9d7eb5b882 Fix in RDRAMtoColorBuffer::_copyFromRDRAM - draw rect in copy mode. 2018-10-17 15:52:53 +07:00
Sergey Lipskiy
f2ba87c241 Force clear depth buffer, if there is no corresponding color buffer for it.
Fixed GoldenEye Multiplayer - 3&4 player not rendering #1173
2018-10-17 15:52:52 +07:00
Sergey Lipskiy
d2bca602a1 Use roundup for viewport and scissor coordinates. Fixes some issues when screen resolution is not multiple of original resolution. 2018-10-17 15:52:52 +07:00
Sergey Lipskiy
217ef2557d Add ability to save content of frame buffer to file for debug purposes. 2018-10-17 15:52:52 +07:00
Sergey Lipskiy
0c2c4d3c27 Restore SCISSOR_TEST mode in RDRAMtoColorBuffer::_copyFromRDRAM 2018-10-17 15:52:52 +07:00
Sergey Lipskiy
8b3597614a Always render RDRAM content into newly created frame buffer. Remove ugly hack for Mario Tennis scoreboard. 2018-10-17 15:52:52 +07:00
Sergey Lipskiy
5538c7b4bb Add support for frame buffers, which are inside of some other frame buffer.
Fixed Superbowling: black screen in menu and game #116
2018-10-17 15:52:51 +07:00
Sergey Lipskiy
c8b6d35597 Minor code cleanup in FrameBuffer.cpp 2018-10-17 15:52:51 +07:00
Sergey Lipskiy
3d46293376 Correct condition for depth buffer copy hack for Perfect dark.
Fixed Perfect Dark high-res mode issues #1807
Fixed Perfect Dark No text/notifications in multiplayer #1930
2018-10-16 00:07:19 +07:00
Sergey Lipskiy
e4b6224218 Disable CULL_BOTH for NON microcodes.
Need to find better criteria.

Fixed Black screen in mortal kombat 4 #1929
2018-10-13 19:25:32 +07:00
gizmo98
35099ec8cb Backgrounds: Fix cut off textures and texture fragments and seams
-Fix cut off textures in hamster64. Enable coord correction if
gDP.otherMode.textureFilter == G_TF_BILERP.
-Fix seams in hamster64 and texture fragments in starcraft64. Enable
texture clamp if lrs/lrt <= (imageW/imageH - 1).
2018-10-13 19:09:24 +07:00
Sergey Lipskiy
1df96cebeb Enable clearDepthBuffer for Pokemon Snap.
Fixed Pokemon Snap Oak's check does not work #777 again

Note: this game is a mistery. I don't understand,
why clearing of depth buffer via drawRecs breaks Oak's check.
Actually, the problem causes rendering to color buffer corresponding to that depth buffer.
Need to investigate, why.
2018-10-07 00:15:01 +07:00
Sergey Lipskiy
423fc7ba3e Code cleanup in gDPFillRectangle 2018-10-06 13:43:14 +07:00
Sergey Lipskiy
8b9d955f7a Fix depth buffer clear for Zelda MM.
Fixed Legend of Zelda: Majora's Mask Issue #1921
2018-10-05 23:57:56 +07:00
Sergey Lipskiy
4f302cc777 gDPFillRectangle: call frameBufferList().fillRDRAM for color buffers in FILL mode.
Fixed Vigilante 8 Menu and In-game issues. #1917
2018-10-02 17:06:07 +07:00
Sergey Lipskiy
e91a9ddc31 Remove ucode for Mischief Makers (E) from specialMicrocodes list.
It was added by mistake.

Fixed Duke Nukem 64: HLE unplayable #1915
2018-10-02 09:53:17 +07:00
Sergey Lipskiy
6ba9a81e76 Rewrite Tri commands for SWRS ucode. 2018-10-01 23:15:33 +07:00
Sergey Lipskiy
9f1bbeab9f Rewrite primitive depth calculation.
Up shader storage version.

Fixed Star Wars Episode I - Racer: Overlapping #1911
2018-10-01 22:37:03 +07:00
Sergey Lipskiy
b88c99302f Debugger: correct display of primitive Z and deltaZ. 2018-10-01 19:20:32 +07:00
gizmo98
13f587a360 tile functions: Replace magic numbers with constants
Just refactoring. Replace magic numbers with constants. No functional
changes.
2018-09-30 18:03:46 +07:00
Sergey Lipskiy
b096c1e9fc Rewrite vertex coordinates calculation for ObjSprite command again. 2018-09-30 18:03:46 +07:00
Sergey Lipskiy
91b17a578c Rewrite vertex coordinates calculation for ObjRect commands again. 2018-09-30 18:03:46 +07:00
Sergey Lipskiy
9f936be57e Correct condition for texture filtering: remove (gSP.objRendermode&G_OBJRM_BILERP) != 0 from the condition.
It seems that flag G_OBJRM_BILERP in objRendermode does not mean that texture will be filtered.
2018-09-30 18:03:46 +07:00
Sergey Lipskiy
0da701e7e5 Rewrite texture coordinates calculation for ObjRect commands. 2018-09-30 18:03:46 +07:00
Sergey Lipskiy
8fd5f910ab Add support for S2DEX v1.03 2018-09-30 18:03:45 +07:00
Sergey Lipskiy
5abb19bd7a Disable "yoshi petals fix" because of regression in yoshi's message board. 2018-09-30 18:03:45 +07:00
Sergey Lipskiy
164d012138 Rewrite coordinates calculation for ObjRectangle and ObjRectangleR 2018-09-30 18:03:45 +07:00
Sergey Lipskiy
83995f5dc8 Correct vertex coordinates calculation for gSPObjRectangleR 2018-09-30 18:03:45 +07:00
Sergey Lipskiy
51490b9de0 Correct _YUVtoRGBA 2018-09-30 18:03:45 +07:00
Sergey Lipskiy
ec898f4178 Rewrite vertex coordinates calculation for gSPObjRectangleR using fixed-point math decoded from S2DEX ucode by olivieryuyu
Code refactoring.
2018-09-30 18:03:44 +07:00
Sergey Lipskiy
9bbd449812 Correct lrs and lrt calculation for ObjRect commands. 2018-09-30 18:03:44 +07:00
Sergey Lipskiy
38c7eef32b Code cleanup: use constants for flipS and flipT flags. 2018-09-30 18:03:44 +07:00
Sergey Lipskiy
b012e8b53c Code refactor:
* move implementation of S2DEX commands from gSP.cpp to uCodes/S2DEX.cpp
* code cleanup
2018-09-30 18:03:44 +07:00
Sergey Lipskiy
9192a82905 Rewrite vertex coordinates calculation for gSPObjRectangle using fixed-point math decoded from S2DEX ucode by olivieryuyu
Code refactoring.
2018-09-30 18:03:44 +07:00
Sergey Lipskiy
7d75b99705 Rewrite gSPObjSprite using fixed-point math decoded from S2DEX ucode by olivieryuyu 2018-09-30 18:03:44 +07:00
Sergey Lipskiy
cf05918222 Revert "Shift sprite origin Y by -0.5"
This reverts commit 43e0ad500f.
2018-09-30 18:03:43 +07:00
Sergey Lipskiy
6ac8efe081 Use frame buffer from input parameters when call
_updateScreenCoordsViewport from GraphicsDrawer::drawTexturedRect.

Fixed incorrect picture size when color buffer copied from RDRAM.
Buffer copy uses drawTexturedRect
2018-09-26 13:48:42 +07:00
Sergey Lipskiy
5e1c8a6b58 Do not use clearDepthBuffer in FillRect. Use drawRect only. 2018-09-24 22:02:25 +07:00
Sergey Lipskiy
6a7c64dd6b Do not use clearColorBuffer in FillRect. Use drawRect only.
Fixed Twisted Edge Extreme Snowboarding P1 broken #1873
2018-09-24 20:33:15 +07:00
Sergey Lipskiy
2f83650725 Switch from blitOrCopyTexturedRect() to copyTexturedRect() in OverscanBuffer::draw. 2018-09-24 20:33:12 +07:00
Sergey Lipskiy
3faa383c55 Fix in FrameBufferList::renderBuffer() : draw blank frame if VI state is wrong.
Previously renderBuffer() did nothing in that case and last rendered frame remained on screen.

Fixed Perfect Dark (Missing Transition Animation at end of Title Intro Screen - PD Logo Doesn't Disappear) #1715
2018-09-24 20:33:08 +07:00
Sergey Lipskiy
2e2cbcfcfc Fix culling in Indi and Naboo 2018-09-24 19:32:10 +07:00
Sergey Lipskiy
e65f8bd68d Weaken condition for invalid frame buffer texture.
Fixed text in Mario Tennis scoreboard.
2018-09-16 22:15:28 +07:00
Sergey Lipskiy
67e68ed1f6 Support FXAA in GUI. 2018-09-09 16:41:58 +07:00
Sergey Lipskiy
bb6debf2f7 Support FXAA in mupen64plus config 2018-09-09 16:41:55 +07:00
Sergey Lipskiy
ae67c77c9d Replace direct call of Postprocessor methods by list of available postprocessing functions. 2018-09-09 16:41:37 +07:00
Sergey Lipskiy
9705f5d520 Implement FXAA 2018-09-09 16:36:09 +07:00
Sergey Lipskiy
1e97355882 Code refactor: remove duplication of code in PostProcessor.cpp 2018-09-09 15:34:32 +07:00
Sergey Lipskiy
15188dad16 Fix destX calculation in FrameBufferList::renderBuffer()
Fixed black boarders size in Banjo-Kazooie.
2018-09-08 00:13:43 +07:00
Sergey Lipskiy
be49e9e2e9 Correct check for side-by-side buffers in FrameBufferList::renderBuffer()
Fixed Kirby 64 - screen jumps in full screen. #1750
2018-09-07 23:00:45 +07:00
gizmo98
d4cce52c60 Rewrite ObjCoordinates(const uObjScaleBg * _pObjScaleBg)
gSPBgRect1Cyc() and gSPBgRectCopy() use ObjCoordinates(const
uObjScaleBg * _pObjScaleBg).

This modification fixes bad texture quality in following games:
-Bakuretsu Muteki Bangaioh
-Nintama Randou
-Starcraft
-Command & Conquer
-SD Hiryuu noKen Densetsu

https://github.com/gonetz/GLideN64/pull/1878
2018-09-07 21:25:44 +07:00
Sergey Lipskiy
fef718b8d2 Do not reject tile loading when tile end address is out of RDRAM bound.
Try to load as much as possible instead.

Fixed Bust-A-Move 2 wrong 2D during intro #870
2018-09-07 21:08:37 +07:00
Sergey Lipskiy
22267831e0 Optimize ShaderN64DepthCompare a little bit. 2018-09-06 22:54:07 +07:00
Sergey Lipskiy
9b487453a6 Correct URenderTarget::update()
Depth buffer not cleared if SetDepthImage called after Fillrect.

Fixed Ocarina of Time Link's portrait missing with N64 deph compare #1850
2018-09-06 22:54:00 +07:00
Sergey Lipskiy
83e1ccb72e Remove hack for Banjo-Tooie Groggy Crash #1250 added in 8fbd1d030b
Writes to TMEM protected by masking TMEM write address, so it is not necessary anymore.
Rearrange the code a bit.

Fixed NBA Live 99 messed up textures #1826
2018-09-05 23:20:27 +07:00
Sergey Lipskiy
c53bf689e1 Correct calculation of bytes for 32bit textures in gDPLoadTile
Fixed 1080 Snowboarding title logo regression #1824
2018-09-05 17:23:23 +07:00
Sergey Lipskiy
289edfd148 Fixed missing gfx with native recs option (regression) #1889 2018-09-04 23:46:15 +07:00
Sergey Lipskiy
80ba93413a TexrectDrawer: use RDP.w0, RDP.w1 to get rect coordinates. 2018-09-04 16:54:56 +07:00
Sergey Lipskiy
fac72ddf5a Store texrect command parameters in RDP.w0 and RDP.w1 2018-09-04 16:42:53 +07:00
Sergey Lipskiy
ec54a9a672 Debugger: fixed find polygon with given texture. 2018-09-04 16:16:53 +07:00
Sergey Lipskiy
d8921dfeb6 Debugger: correct rects coordinates 2018-09-04 16:16:08 +07:00
Sergey Lipskiy
40455845ba Dump microcode string to log file. 2018-09-02 16:31:10 +07:00
Sergey Lipskiy
a28b9913f7 Dump microcode info to log file. 2018-08-31 13:40:01 +07:00
Sergey Lipskiy
73189eb958 Implement olivieryuyu proposal to add Early Fast3D games to custom micricodes, #1303
Code refactoring.
2018-08-31 12:53:48 +07:00
Sergey Lipskiy
7036aa0cc6 Enable "no near clipping" mode for F3DFLX2 ucode.
Fixed Near Plane Clipping issue with GLideN64 #1855
2018-08-31 00:08:15 +07:00
Sergey Lipskiy
ae43c0cd39 Enable "no near clipping" mode for "RSP SW Version: 2.0G" ucode.
Fixed AeroFighters Assault GFX issue #289
2018-08-30 14:04:27 +07:00
Sergey Lipskiy
74c0980d44 Enable hack_texrect_shade_alpha for Bottom of the 9th.
Fixed bottom of the 9th: no more intro and main title gfx (regression) #1888
2018-08-28 21:41:16 +07:00
Sergey Lipskiy
b3068d9536 Fix OverscanBuffer::getScaleX() 2018-08-28 20:57:50 +07:00
Sergey Lipskiy
cec0f2fc05 Update end address of the current frame buffer in gDPFullSync().
Fixed Ogre Battle 64 Opening Splash Screens Flicker. #1868

Details

Problem: frame buffer end address set to minimal when buffer is allocated.
It is updated on next call of gDPSetColorImage.
In case of Ogre Battle 64 Opening next call of gDPSetColorImage occurs in next frame.
VI can't find the buffer because REG.VI_ORIGIN points on buffer with some offset,
which in this case is larger than diff between start and end address.
VI allocates new buffer, which eventually replaces the current one and flickering happens.

Solution: update current buffer's end address in gDPFullSync()
to ensure that it will be correct at the moment when VI will search for buffer to draw.
2018-08-28 16:07:31 +07:00
Sergey Lipskiy
62b8103e46 Support FRONT_AND_BACK culling mode.
Fixed Super Smash Brother Gfx issue on Dreamland stage #487
2018-08-24 16:16:06 +07:00
Sergey Lipskiy
3bc17f50f3 Correct texture coordinates calculation in z-sort ucodes.
Fixed Mia Hamm Soccer 64: wrong textures in menu (regression & HLE) #210
2018-08-20 11:54:00 +07:00
Sergey Lipskiy
a14f737c29 GUI: Minor fix in ConfigDialog::on_buttonBox_clicked 2018-08-15 10:58:21 +07:00
Sergey Lipskiy
2f60502c3e GUI: Remove on_customSettingsCheckBox_clicked
This function is useless now because custom settings control is disabled when game is running.
2018-08-15 10:57:52 +07:00
Sergey Lipskiy
7d026f069b Add warning that settings will be applied for the current game only. 2018-08-15 10:54:09 +07:00
Sergey Lipskiy
bd566e67ed Fix custom rom settings save.
Fixed Profiles introduced issues with save/load feature on PJ64. #1879
2018-08-13 22:31:00 +07:00
Sergey Lipskiy
027810ad4a Fix typo: onScreenDispaly => onScreenDisplay 2018-08-13 22:24:32 +07:00
Sergey Lipskiy
43e0ad500f Shift sprite origin Y by -0.5
Fixed Parlor! Pro 64 #133
2018-08-12 16:27:40 +07:00
gizmo98
59ad164258 ObjCoordinates: Implement G_OBJRM_BILERP
-Rewrite lrx, ulx, lry, uly, lrs, uls, lrt, ult calculation
-Implement SHRINKSIZE according to programmers guide
-Implement G_OBJRM_BILERP according to programmers guide
-Worms Armageddon: Menu items, 2D elements and worms are sharp
-Kirby Crystal Shards: Menu is sharp
2018-08-04 20:36:54 +02:00
gizmo98
c76daedfc0 Fix Worms Armageddon
Rewrite
https://github.com/gonetz/GLideN64/commit/feb0e53034d54095464687dbae1785
4c9dc3caa6 to fix Worms Armageddon. If upper left value is zero lower
right value is scaled width minus one scaled texel.

Example:
Width = 10.0f, scale is 1.0f
urx = 0.0f;
lrx = 0.0f + 10.0f/1.0f - 1.0f/1.0f = 9.0f
Resulting range is 0-9 for a 10 texel width texture.
2018-08-03 17:15:24 +07:00
gizmo98
e9becd4b8a rpi: limit m_maxCacheSize to fix texture corruption
Limit m_maxCachSize to fix texture corruption in Yoshi’s Story. I have
tested values between 1500 and 3500. Everything >= 1800
produces texture corruption after a short time.
2018-08-03 17:13:48 +07:00
Sergey Lipskiy
1b17e98941 TexrectDrawer fixes:
* fix issues in _lookAhead
* use integer coordinates to rects side-by-side detection.

Fixed #1856, #1859
2018-07-23 21:56:20 +07:00
Sergey Lipskiy
5186a50597 Init GBI.cmd at G_RDPNOOP.
Fixed UNKNOWN GBI COMMAND log message for SF Rush.
2018-07-22 23:02:27 +07:00
Sergey Lipskiy
d9fad30f04 Change type for "MaxAnisotropy" option from Bool to Int.
Fixed #1867
2018-07-22 20:43:16 +07:00
gizmo98
a6adf6308d gSPInsertMatrix: fix insert fractional part if old value is negativ
s32 integer = static_cast<s32>(-2.5f) = -2
GetFloatMatrixElement(static_cast<s16>(integer), 0x44) = -1,9993286030

Fix:
s32 integer = (-2.5f * 65535.0f) >> 16 = (163837) >> 16 = -3
GetFloatMatrixElement(static_cast<s16>(integer), 0x44) =
-2,999008163576715
2018-07-22 19:58:22 +07:00
Sergey Lipskiy
e0418c3c34 Apply TexrectDrawer if next draw command is also texrect and those texrect is side-by-side with the current one.
It should fix performance issues with particles.
Currently works only in HLE mode.
2018-07-03 21:52:18 +07:00
Sergey Lipskiy
d4b770b2c1 Correct texrect dsdx calculation in COPY mode.
Partially fixes issue with the energy bar in F-Zero multiplayer, #1849
2018-07-02 19:24:18 +07:00
Sergey Lipskiy
9fb63e0460 Validate config after load.
Fixed glitches when 'MSAA' and 'N64 depth compare' both enabled, #1815
2018-06-28 16:18:16 +07:00
Sergey Lipskiy
557851949a Force load hires textures cache file if path to texture pack does not exists.
Fixed load of .htc files distributed without texture packs.
Fixed #1840.
2018-06-23 23:11:54 +07:00
Sergey Lipskiy
2a677a23a8 Implement left offset for source image when VI_ORIGIN address points on non-zero position in scan-line.
Fixed PAL version of International Superstar Soccer 98, #1845
2018-06-23 21:56:10 +07:00
Sergey Lipskiy
a3e34aa426 GUI: import settings from old version of ini file. 2018-06-22 16:38:54 +07:00
Sergey Lipskiy
0a59366936 GUI: clear resolution comboboxes before inserting items. 2018-06-18 16:48:14 +07:00
Sergey Lipskiy
6a1a4b590d Add profiles support to zilmar-spec build.
Details: #1836
2018-06-17 21:21:51 +07:00
Sergey Lipskiy
2322f5f53f Implement Overscan feature.
Remove Crop feature.
Change settings save-load when "per game settings" enabled:
    * When config dialog opens, show custom settings for the running game. If no game run yet, show main settings.
    * When user press OK button, save settings to the custom ini file and to the main ini file.
2018-06-17 20:04:45 +07:00
fzurita
3fe0f5ec67 Fix NEON build 2018-06-16 22:23:30 +07:00
Sergey Lipskiy
3e0c635ad2 Correct mipmap shader for case when max tile is 0.
Up shader storage version.
2018-06-16 18:41:51 +07:00
Sergey Lipskiy
b9bfbf40e8 Indi Particle Optimization hack.
Add F5INDI_PARTICLE_OPT define to enable.
2018-06-16 18:41:50 +07:00
Sergey Lipskiy
b0a575313a Implement Factor5 ucodes for Indiana Jones/Battle of Naboo, task #1259 2018-06-16 18:41:50 +07:00
fzurita
582bfe353f Improve check for buggy fragment shader interlock
Nvidia Drivers greater than or equal to 390.00 don't seem to crash with
it.
2018-06-16 00:13:55 +07:00
Sergey Lipskiy
3ff1478103 Add matix element conversion functions. 2018-06-11 20:12:13 +07:00
gizmo98
b0647a64d1 ZSortBOSS_Audio2(): use absolut value of fraction
fractpart will be cast to u16. Remove sign.
2018-06-09 12:31:35 +02:00
gizmo98
95d5264300 Add better matrix load, insert and store fixed to float logic 2018-06-09 12:29:01 +02:00
gizmo98
35f4ad3b28 gSP.cpp: Replace _FIXED2FLOAT if there is no real fixed to float conversion
Use * recip instead
2018-06-02 21:35:32 +07:00
gizmo98
4750e10076 Use _FIXED2FLOATCOLOR 2018-06-02 21:35:32 +07:00
gizmo98
997820c000 GBI.h: add better color reciproc values 2018-06-02 21:35:32 +07:00
gizmo98
bb00ed3f4f gSPInsertMatrix remove (int) cast and use copysignf
Fraction value gets lost if float is cast to int. Use copysignf to
transfer sign from fraction to newvalue.
2018-06-02 21:35:32 +07:00
gizmo98
a8349418ce Use _FIXED2FLOAT
Replace x/65536 and x*0.00390625f with _FIXED2FLOAT
2018-06-02 21:35:32 +07:00
gizmo98
31ced0362a Use FIXED2FLOATRECIP16
Replace 1.5258789e-05f with FIXED2FLOATRECIP16
2018-06-02 21:35:32 +07:00
gizmo98
16dd8145f8 GBI.h: add better reciproc values 2018-06-02 21:35:32 +07:00
Logan McNaughton
e80577e105 Allow non-0 default framebuffer 2018-05-22 08:25:24 -06:00
Logan McNaughton
44068412f4 Revert "Add the iOS framebuffer binder from @braindx"
This reverts commit ff904fc51e.
2018-05-19 16:08:07 +07:00
fzurita
e3a7acadb2 Fixes build errors with clang 2018-05-09 16:04:33 +07:00
Logan McNaughton
6ddaba8ec5 Remove FB Attachment caching 2018-05-08 16:27:37 +07:00
Sergey Lipskiy
67f797240d Shader noise returns 0.5 when noise emulation disabled.
Fixed Paper Mario - Text from Stars is invisible #1540
2018-05-06 21:28:31 +07:00
Sergey Lipskiy
6725ad474a Fix warnings of 64bit compiler. 2018-05-06 15:54:12 +07:00
Sergey Lipskiy
10710f96ac Fix warnings from compiler and static code analizer. 2018-05-06 15:28:07 +07:00
Logan
bb697c3c28 Add forceDepthBufferClear in custom.ini
For mupen64plus spec
2018-05-02 22:29:27 +07:00
Sergey Lipskiy
8212a1faf6 Fix vertex Y calculation in GraphicsDrawer::_drawThickLine
Fixed smoke direction in Micro Machines 64 Turbo (U) #1725
2018-05-02 20:49:36 +07:00
Sergey Lipskiy
2ef337223e Dump hires textures cache to file right after load from texture pack.
It is more safe than dump when emulator closed.

Fixed Texture cache fails to save to disk #1761
2018-05-02 13:15:42 +07:00
Sergey Lipskiy
035f76e7d3 GLideNHQ code refactor: remove code duplication in TxTexCache and TxHiResCache classes. 2018-05-02 13:12:10 +07:00
Sergey Lipskiy
e317bb5071 Support config.frameBufferEmulation.forceDepthBufferClear setting in UI. 2018-05-01 19:22:39 +07:00
Sergey Lipskiy
2e7c0ecee2 Add forceDepthBufferClear config option.
Enable it for Eikou no Saint Andrews (J) in custom settings.

Fixed Eiko St Andrews: wrong 3d #161
2018-05-01 19:21:30 +07:00
Sergey Lipskiy
725ff742a8 Update viewport when exiting texrect after texturedRectSpecial call.
Fixed Paper Mario zoom-in when Mario approaches screen #1789
2018-05-01 18:01:54 +07:00
Logan McNaughton
9bda0568a8 Copy FBO texture if glTextureBarrier is unsupported 2018-04-20 22:56:17 +07:00
Sergey Lipskiy
75ea06cec7 Code refactoring: fix issues found by static code analizer. 2018-04-19 20:16:21 +07:00
Logan McNaughton
638149fb5c Update xxHash to 0.6.5 2018-04-19 12:16:02 +07:00
Sergey Lipskiy
f26b99a93d Add comment that _glinfo.imageTextures or _glinfo.ext_fetch
must be enabled when config.frameBufferEmulation.N64DepthCompare != 0
2018-04-19 12:13:53 +07:00
Logan McNaughton
1fe9ce3bf9 Fix BAR Fog with N64 Depth Compare 2018-04-19 12:04:39 +07:00
Logan McNaughton
6a10a83d09 Fix RE2 and NFL QB Club 98 on GLES 2018-04-16 21:38:42 +07:00
fzurita
e958eca3ed Disable usage of *_fragment_shader_interlock with tegra
It causes lockups with at least Tegra X1.
2018-04-16 20:51:55 +07:00
Logan McNaughton
7bad64ce70 Only call texture barrier if we are sampling from current FB 2018-04-16 11:35:15 +07:00
Logan McNaughton
c9cf91e8da Add support for ext_shader_framebuffer_fetch 2018-04-16 11:32:35 +07:00
Logan McNaughton
2e227cef53 Rewrite N64 Depth Compare 2018-04-16 11:32:35 +07:00
Sergey Lipskiy
c57eaf5285 Do not upload 2D texture for glyph with null bitmap. 2018-04-14 19:25:10 +07:00
Logan McNaughton
c01c0d5166 use gl_LastFragDepthARM and glTextureBarrier 2018-04-13 21:24:56 +07:00
Logan McNaughton
18e9a73eba Cache SpecialFeatures check 2018-04-07 11:30:33 +07:00
Logan McNaughton
b49ee1dd8b Fix GLESX clipping hack in GraphicsDrawer 2018-04-07 11:30:33 +07:00
Logan McNaughton
9c73fb27b1 Remove Image Texture requirement for some shaders 2018-04-07 11:30:33 +07:00
Logan McNaughton
af6460ff4f Require GL_NV_shader_noperspective_interpolation for GLES depth clamp emulation 2018-04-05 20:21:19 +07:00
fzurita
fd21e0e6bb Improve android logging 2018-04-05 20:17:08 +07:00
Joe Mattiello
9497a9b868 Add iOS system ifdefs and gles includes 2018-03-31 10:54:20 +07:00
Joe Mattiello
ff904fc51e Add the iOS framebuffer binder from @braindx 2018-03-31 10:54:20 +07:00
Joe Mattiello
c0ad5b8f26 Add new iOS files 2018-03-31 10:54:20 +07:00
hissingshark
d84e11e10f Added Vero4k build flags to detect libGLESv2.so path. 2018-03-31 01:18:53 +01:00
Logan McNaughton
ee906a217c Fix GLES2 shader storage support 2018-03-30 10:15:23 +07:00
fzurita
b6b4083982 Add NEON implementation of CRC_OPT.cpp
This comes from
https://github.com/hrydgard/ppsspp/blob/master/GPU/Common/TextureDecoderNEON.cpp
2018-03-29 12:51:58 +07:00
Logan McNaughton
07ec815831 Only write to gl_FragDepth once 2018-03-29 12:50:16 +07:00
gizmo98
a75665c98e rpi: limit m_maxCacheSize to fix texture corruption
Limit m_maxCachSize to fix texture corruption in beetle adventure
racing. I have tested values between 3500 and 8000. Everything >= 4000
produces texture corruption or stuttering after some time.
2018-03-29 12:49:53 +07:00
fzurita
ed5ebe3047 Fix android build after GLideNHQ refactor 2018-03-28 12:34:59 +07:00
Sergey Lipskiy
81d79e3938 GLideNHQ refactor: use graphics::InternalColorFormatParam as type for color format variables. 2018-03-28 12:28:05 +07:00
Logan McNaughton
50998f2f33 Use graphics backend in GLideNHQ 2018-03-27 20:52:56 +07:00
gizmo98
afc41907d5 arm neon: replace neon asm with neon intrinsics
-adds aarch64/arm64 support
-easier to maintain
2018-03-27 13:14:18 +07:00
fzurita
5a45ab6807 Remove unsafe compiler optimizations
They wear causing conflicts with neon
2018-03-27 13:10:57 +07:00
Sergey Lipskiy
e3bd9a0ccf Correct depth render. 2018-03-24 21:27:39 +07:00
Logan McNaughton
bdb0f7ca94 Emulate GL_DEPTH_CLAMP for GLES 2018-03-23 21:52:06 +07:00
Sergey Lipskiy
cbbc83ac96 Fix noise-based effects on texrects in "texrect in native res" mode.
Fixed GLideN64 3.0 Regression (Noise) #1740
2018-03-21 23:07:40 +07:00
Sergey Lipskiy
3289bd378b Update geometrymode after TexrectDrawer::draw()
Fixed Indy Racing 2000 (U) Speedometer broken #1709
2018-03-21 22:20:11 +07:00
Sergey Lipskiy
ed21ec774b Fix TexrectDrawer when frame buffer emulation disabled. 2018-03-21 21:20:57 +07:00
Sergey Lipskiy
5ccc40423f Correct screen coords viewport in TexrectDrawer::draw()
Fixed Mario Golf (U) bug in GLideN64 3.0 regresion #1710
2018-03-21 19:49:36 +07:00
Logan McNaughton
48018bdf4a Use included font.ttf for mupen64plus 2018-03-21 12:23:34 +07:00
Sergey Lipskiy
afb6f7e857 Revert "Adjust font defaults"
This reverts commit 30f56c98bd.

See #1758 for details.
2018-03-19 14:08:29 +07:00
Sergey Lipskiy
09a508ae11 cmake: Rename output folders. 2018-03-18 00:03:56 +07:00
Sergey Lipskiy
7aeb1018ea Fix texture size calculation and texture load.
Fixed Missing Ground Textures in Super Smash Bros. #1716
2018-03-11 14:43:16 +07:00
Logan McNaughton
2fc1b5f462 Use glDrawRangeElements 2018-03-09 20:33:15 +07:00
Logan McNaughton
958758b37a Remove PixelWriteBuffer
And a few other small fixes
2018-03-09 20:32:56 +07:00
Logan McNaughton
a611105e6d Cache glTexParameter calls 2018-03-09 20:32:34 +07:00
Logan McNaughton
91ab96d514 Fix FB attachment caching when texture is deleted 2018-03-09 20:32:34 +07:00
Logan McNaughton
b81dd6a673 Keep track of FB attachments 2018-03-09 20:32:34 +07:00
Sergey Lipskiy
822b098d6a Implement OSD Display: Internal Resolution and Rendering Resolution
Fixed #1733
2018-03-05 22:56:14 +07:00
Sergey Lipskiy
b37200239e Fix display of texrect coordinates in debugger. 2018-03-02 21:22:24 +07:00
Logan McNaughton
fefc4e63a8 Use short, not byte, for element index 2018-02-28 16:55:29 +07:00
Logan McNaughton
d467327349 Reduce some debug GL calls in production
Also only check extension support at init()
2018-02-27 20:30:19 +07:00
Logan McNaughton
cb90bb95ed Cleanup FB Texture caching code 2018-02-26 21:15:51 +07:00
Francisco Zurita
667b3d28ee Make some Android checks only apply to PowerVR 2018-02-26 20:15:15 +07:00
Sergey Lipskiy
08d3bff7ba Process unsupported blend modes only in two cycles mode. 2018-02-23 14:06:09 +07:00
Logan McNaughton
d2d0e9aafc Allow triple buffering in async copy mode 2018-02-23 13:43:30 +07:00
Logan McNaughton
892290b304 Fix flickering in Gauntlet Legends 2018-02-21 10:17:27 +07:00
Sergey Lipskiy
8cb25b1fed Add support for blend modes, which can't be emulated with shader blender.
Add a hack for blend mode 0x0150 in Tony Hawk 2: Spiderman uses the same blend mode,
but has no problems with it.
2018-02-18 20:44:11 +07:00
Sergey Lipskiy
b18ae00bfd Correct next buffer detection in FrameBufferList::renderBuffer().
Fixed flickering in WDC.
2018-02-18 15:33:21 +07:00
Sergey Lipskiy
7080034ddb Fix DebugMsg format string for gDPTextureRectangle. 2018-02-18 12:43:04 +07:00
Bobby Smiles
43a35787f0 Add European version of World Driver Championship. 2018-02-16 00:50:23 +01:00
Logan McNaughton
3e734c7b8b Fix compile for ZSortBOSS 2018-02-13 09:52:16 +07:00
Logan McNaughton
281e900a3f Minor fixes for ZSortBOSS 2018-02-13 09:52:16 +07:00
Tommy Nguyen
30f56c98bd Adjust font defaults 2018-02-12 21:14:58 +07:00
Gillou68310
592c732ef3 Implement BOSS ZSort ucode (WDC, Stunt Racer) 2018-02-12 12:28:58 +01:00
Sergey Lipskiy
1b811e5679 Debugger: fix TriInfo::getScreenX and TriInfo::getScreenY 2018-02-04 21:14:54 +07:00
Sergey Lipskiy
6498795b6d Debugger: implement search for polygons, which use selected texture. 2018-02-04 21:14:18 +07:00
Sergey Lipskiy
ef0b8264a3 Debugger: fix texture cache drawing. 2018-02-04 21:14:18 +07:00