1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-06-30 08:24:05 +00:00
Commit Graph

2284 Commits

Author SHA1 Message Date
Sergey Lipskiy
8a0db39812 Refactor texture load: apply proper mask to tmem read address to prevent out of bounds reads.
Fixes #2641 Regression: Check that texture fit TMEM before load
2022-02-13 11:16:24 +07:00
Sergey Lipskiy
1e0699bf73 Revert "Check that texture fit TMEM before load."
This reverts commit 7417144f64.
2022-02-13 11:16:24 +07:00
Blake Warner
403658b456 used bit 1 to signify segment address lookup 2022-02-10 23:54:51 -05:00
DaMarkov
fb108abab7 Fixed an issue when the user is resizing the window while in 4:3 mode. 2022-02-10 22:14:38 +01:00
DaMarkov
455310da1c Fixed a tiny but important mistake. 2022-02-10 22:07:23 +01:00
DaMarkov
f42ee1e7f8 Added gfx_force_43 to switch the aspect ratio to 4:3 on the fly.
I had to add a new method `forceResizeWindow` for this.
Also added NO_LOAD_PROGRESS_DISPLAY.
2022-02-10 21:27:45 +01:00
DaMarkov
19533b5d18 Cleanup and missed on change in FrameBuffer.cpp. 2022-02-08 16:58:56 +01:00
DaMarkov
187d1a9caa Moved structs into Native.h. 2022-02-08 15:05:07 +01:00
DaMarkov
311608c42d Used NATIVE compiler flag to make changes for OOT optional. 2022-02-08 14:01:30 +01:00
DaMarkov
e5332785fc Changed GLideN64 so it works with framebuffer emulation enabled with OOT. 2022-02-08 03:44:17 +01:00
Blake Warner
35b278896f fixed heap overflow 2022-02-05 15:37:51 -05:00
Blake Warner
a054cb622b stripped unneeded files and changed default config options 2022-01-31 16:41:02 -05:00
Blake Warner
0255e10db6 native port 2022-01-29 17:22:09 -05:00
Sergey Lipskiy
7417144f64 Check that texture fit TMEM before load.
It should prevent out of TMEM bounds read.
2022-01-22 11:21:29 +07:00
s2s
0d765008d0 Do not apply shift scale to background textures.
Fixes issue with Command & Conquer described in #2617
2022-01-21 17:58:58 +07:00
fzurita
df2d4debbb Workaround for PowerVR issues
PowerVR needs depth to be cleared every frame, otherwise most geometry
is rendered behind the background.

It also needs fragment based depth to be disabled, otherwise geometry
has various depth glitches.
2022-01-16 18:35:05 +07:00
Sergey Lipskiy
30e4d3416b Minor code cleanup in gSPCullVertices 2022-01-16 18:07:24 +07:00
Sergey Lipskiy
fd29c4386a Fix renderScreenSpaceTriangles when input vertices represent TRIANGLE_STRIP. 2022-01-16 17:24:49 +07:00
Sergey Lipskiy
e9a6f258af Apply mask on DMEM address to avoid segmentation fault in Indiana Jones,
see #2628
2022-01-08 11:22:42 +07:00
fzurita
6275140109 Fix build with CMake on Windows 2022-01-07 19:05:08 +07:00
Sergey Lipskiy
8343fd05c9 Restore logic for uTexOffset uniform.
fixed #2621 Mario tennis broken shadows in accurate path
2021-12-21 00:54:17 +07:00
Sergey Lipskiy
506f263c13 Correct imageW/imageH calculation in ObjCoordinates again.
fixes #2617 RE2 bottom of the screen is being cut off
2021-12-19 20:53:09 +07:00
Sergey Lipskiy
b2f3caa1a4 Revert "Shift S2DEX background texture coordinates in non-native resolutions."
This reverts commit e0d5b0be7b.

fixes #2625 Majora's Mask misplaced blur
2021-12-19 20:46:16 +07:00
Sergey Lipskiy
2c8533661b Fix crash in Mario Tennis, caused by wrong tile size calculation.
Regressions in S2DEX games are possible, but not found yet.
Also make sure that size of mip-map tile is not greater than possible.
2021-12-18 23:59:19 +07:00
Sergey Lipskiy
223a6b757b "Correct" mipmap shader.
It was correct, but absence of space between '}' and '\n' makes it working incorrect on Radeons.
Looks like a driver error.
2021-12-18 22:56:10 +07:00
Sergey Lipskiy
7b507e74d4 Correct TextureCache::activateTexture 2021-12-08 20:37:36 +07:00
Sergey Lipskiy
f4fce5608f Correct mip-map shader for the case when texture level is 0 and detailed texture enabled 2021-12-08 20:37:36 +07:00
orbea
9d0e92a10d cmake: Generate Revision.h in the build directory 2021-12-06 23:57:51 +07:00
Sergey Lipskiy
727639c8ba Fix gDP.m_texCoordBounds validity. 2021-12-05 15:18:51 +07:00
s2s
337e96d3b0 Use texture coordinate bounds for s2dex one-piece backgrounds 2021-12-05 15:18:51 +07:00
s2s
75fd353741 Modify implementation of texture coordinate bounds for non-native resolutions. 2021-12-05 15:18:51 +07:00
Sergey Lipskiy
21fe9d5f92 GraphicsDrawer::drawTexturedRect fixes:
* remove old hack for clamp/wrap tex coords. It seems that the hack is not necessary anymore.
necessary anymore.
* minor optimization for accurate texture path.
2021-12-05 15:18:00 +07:00
s2s
4e0a4f700c Remove duplicated uniforms in accurate texture coordinate path. 2021-11-30 11:23:26 +07:00
orbea
6b8b53f633 cmake: Set OpenGL_GL_PREFERENCE
Silences a cmake warning for Policy CMP0072 with cmake-3.21.4.
2021-11-30 11:23:03 +07:00
orbea
ea98e44d7f cmake: Better handling of git
This fixes some problems:

* When building out of tree the git command will work in the wrong
  directory.
* The user may not actually have git installed.
* The source tree may not actually have the .git directory, for example
  when downloading a source archive from github.
2021-11-30 11:21:11 +07:00
orbea
c6fdaa899f src/GLideNHQ/CMakeLists.txt: Bump cmake version
This matches the other cmake files.
2021-11-30 11:18:09 +07:00
orbea
72062a142e cmake: Better handling of CMAKE_BUILD_TYPE
There are four main variable for CMAKE_BUILD_TYPE, 'Debug',
'Release', 'RelWithDebInfo' and 'MinSizeRel'. Additionally
there is 'None' which acts as a plain build.
2021-11-28 23:38:58 +07:00
orbea
e25cb4f111 cmake: Add an install target 2021-11-28 21:32:51 +07:00
s2s
e0d5b0be7b Shift S2DEX background texture coordinates in non-native resolutions. 2021-11-26 19:14:37 +07:00
s2s
865e9b443e Fix S2DEX one-piece backgrounds 2021-11-26 19:14:36 +07:00
Rosalie Wanders
62e49b9cdf ci: fix build failure 2021-11-26 19:05:35 +07:00
Sergey Lipskiy
94ce6203b6 Limit max height for main frame buffers by VI.height
Fixed #2519 Extreme G picture is shaking / unstable
2021-11-20 17:22:24 +07:00
Sergey Lipskiy
00529a21ed Add sanity test for current scissor to renderTriangles and renderAndDrawTriangles 2021-11-20 17:20:40 +07:00
Sergey Lipskiy
b0ec6c47b4 Minor code cleanup in Rasterize. 2021-11-20 17:15:26 +07:00
s2s
ad091be1cf Fix scale for mip map tiles (GLES2). 2021-11-13 23:17:45 +07:00
Sergey Lipskiy
cc42888c1b Enable noDepthFrameBuffers hack for Extreme G 2
Fixed #2601 Extreme-G 2 XG 2 (U) - Incorrect Loading Screen
2021-11-13 22:43:06 +07:00
Sergey Lipskiy
abf81a5252 Up shaders format version 2021-11-07 13:11:58 +07:00
s2s
8e961b7b39 Fix scale for mip-map tiles.
Note: it is incomplete solution for problems with mip-mapping.

Fixes Paper Mario Snow #2570
2021-11-06 18:06:59 +07:00
Sergey Lipskiy
46c58576e2 Code refactor. add calcShiftScaleS and calcShiftScaleT
Remove code duplication.
2021-11-06 17:14:24 +07:00
Rosalie
9ebb11f37b osal_files_unix: fix osal_search_dir_read_next crash 2021-11-03 13:02:49 +07:00
Sergey Lipskiy
472eef6c67 Fixes for txHiResUploadLimit 2021-11-01 15:32:49 +07:00
Rosalie Wanders
9479dfa6e9 Introduce txHiResUploadLimit 2021-11-01 15:32:27 +07:00
Sergey Lipskiy
9a6f9f6d69 Implement load of 16bit I textures.
Fixed #2340 Zelda Majora's Mask - Town Shooting Gallery Missing Effects
2021-10-31 00:04:33 +07:00
Sergey Lipskiy
d328ea50c7 Correct include in TxFilterStub.cpp
Follow up commit 71788c
2021-10-30 13:02:13 +07:00
Sergey Lipskiy
cc6fdb4670 Rename txWidestringWrapper.h to txWidestringHelper.h
Correct #include
2021-10-24 18:44:16 +07:00
Sergey Lipskiy
71788c320d Rename Ext_TxFilter.h to TxFilterExport.h
Correct #include
2021-10-24 18:44:10 +07:00
Rosalie Wanders
22f50fafb5 GLideNHQ: cleanup 2021-10-24 18:43:26 +07:00
Sergey Lipskiy
ada73c60ee Code cleanup 2021-10-24 15:04:34 +07:00
fzurita
3d5a39e647 Add a new "fast" shader path that doesn't use texelFetch in glsl 2021-10-17 10:27:44 -04:00
fzurita
466401cd02 Update from C++11 to C++17 2021-10-12 20:30:22 +07:00
s2s
aea67fb370 Do not apply the texture coordinate offset to background textures.
Fixes #2594
2021-10-12 20:27:33 +07:00
s2s
e6d754a5d1 Make the hack for Conker's shadow and Mario Tennis game specific.
Fixes #2585 Mario Golf: background shifted
2021-10-04 22:00:17 +07:00
Sergey Lipskiy
4911bd7eb5 Init hdRatio for depth buffer texture.
Fixes #2577 Mario Golf: Animated effects render in front of course
2021-10-02 20:44:52 +07:00
fzurita
21eb341b8d Fix some shader compilation errors 2021-10-02 17:42:06 +07:00
Sergey Lipskiy
8a3939aa70 Rewrite mipmap shader for GLES 2.0 2021-10-02 17:42:04 +07:00
Sergey Lipskiy
6f9b2f95b3 Use sliced texture atlas for mipmap textures to avoid possible texture size limitations. 2021-10-02 17:42:01 +07:00
Sergey Lipskiy
23ce26dbc4 Do not load mip-map levels if current combiner does not use LOD.
Workaround for grass in Mario Tennis intro.
2021-10-02 17:41:58 +07:00
s2s
c7701d16c3 Force lod=1.0 when the most detailed texture is desired by the user. 2021-10-02 17:41:55 +07:00
s2s
dd64b42081 Remove needReplaceTex1byTex0() 2021-10-02 17:41:53 +07:00
s2s
134aa31e61 LOD: tile selection and lod_frac calculation changes 2021-10-02 17:41:50 +07:00
Sergey Lipskiy
539e3b0ad4 Rewrite mip-maps load:
* load all but the first mip-map tiles as 1D texture atlas, that is array of texels.
  all tiles loaded as rgba32.
  first 8 texels contain information about tile's width, height and offset, 1 texel per tile.
* mipmap shader corrected to fetch texels from the atlas.

All hacks, which were necessary to load N64 mip-maps into OpenGL texture are removed.
2021-10-02 17:41:41 +07:00
fzurita
576c82185b Force software vertex clipping to enabled for GLES 2021-09-26 12:12:07 -04:00
fzurita
f2a69be96f Remove CLIP control hack for GLES
It's not longer needed due to software vertex clipping.
2021-09-26 12:12:07 -04:00
Rosalie Wanders
bfe3c36e73 WindowsWGL: use adaptive vsync when supported 2021-09-26 17:47:11 +07:00
Rosalie Wanders
e2ae3a3e4e GLideNHQ: remove unsupported dds code 2021-09-07 20:42:04 +07:00
Rosalie Wanders
32312e0b05 GLideNUI: allow loading default settings from GLideN64.default.ini 2021-09-07 20:34:58 +07:00
Sergey Lipskiy
153caeec74 Correct Config_LoadConfig() for mupen64plus:
Add hot keys to the list of enabled keys.

Fixed #2560 Hotkeys not working with mupen64plus CUI
2021-08-28 15:57:12 +07:00
GhostlyDark
ee9f47d077 Revert "GLideNUI: introduce Config{Init,Cleanup}"
This reverts commit 0ebc545c93.
2021-08-25 11:41:53 +07:00
Sergey Lipskiy
10b6817613 Correct special shader for fog in Beetle Adventure Racing.
fixes #2556 Beetle Adventure Racing. Fog is broken.
2021-08-24 23:04:06 +07:00
GhostlyDark
911ef68994 Config_mupenplus: Improve comments text
Typo and grammar fixes.
2021-08-24 21:42:55 +07:00
Sergey Lipskiy
329502f3da Fix IA31_RGBA8888 conversion. 2021-08-24 18:28:19 +07:00
Rosalie Wanders
0afcd176d9 TxHiResCache: save cache in reload() 2021-08-18 15:37:09 +07:00
Rosalie Wanders
ecd6863864 TxHiResCache: fix texture pack not loading 2021-08-17 21:13:26 +07:00
Rosalie Wanders
4a9e1260ce GLideNHQ: Introduce TxHiResNoCache 2021-08-16 19:07:28 +07:00
Rosalie Wanders
b78df0b002 GLideNUI: remove screenshot type selection 2021-08-14 19:02:42 +07:00
Rosalie Wanders
70a9213d69 ScreenShot: move to common windows implementation 2021-08-14 19:02:42 +07:00
Rosalie Wanders
532eff450e GLideNUI: implement hotkeys in saveCustomRomSettings 2021-08-14 13:50:22 +07:00
Rosalie Wanders
0577580fc3 GLideNUI: correct default value for enabledKeys 2021-08-14 13:50:22 +07:00
Sergey Lipskiy
4ec006f57d Debug print TextureDetail mode in gSPSetOtherMode_H 2021-08-07 22:21:34 +07:00
Rosalie Wanders
0ebc545c93 GLideNUI: introduce Config{Init,Cleanup} 2021-08-07 21:26:50 +07:00
Rosalie Wanders
60c07f5b60 GLideNUI: move to static Qt5.15 build 2021-08-07 14:22:06 +07:00
Rosalie Wanders
c36ffa97f7 GLideNUI: introduce config.hotkeys.enabledKeys 2021-07-29 15:44:56 +07:00
Rosalie Wanders
50fe71dc4c osal_keys_linux: remove unneeded #ifdef 2021-07-29 15:44:56 +07:00
Rosalie Wanders
cc7eb614d1 osal_keys: remove osal_keycode_name 2021-07-29 15:44:56 +07:00
Rosalie Wanders
16aff7aa9d GLideNUI: introduce HIDKeyToName 2021-07-29 15:44:56 +07:00
Sergey Lipskiy
44e809ed13 Revert "Change LOD calculation formula. Use the maximum value of the change of S and T per change in X and Y."
This reverts commit 73b2d0060b.
2021-07-29 15:29:03 +07:00
s2s
0c30bdf4e2 Increment shader storage version number 2021-07-29 14:06:33 +07:00
s2s
47aaf2fc99 Cleanup uniforms no longer used 2021-07-29 14:06:33 +07:00
s2s
7e8265bf20 Apply texture shift and offset on a per pixel basis. Clean texture engine code. 2021-07-29 14:06:33 +07:00
s2s
73b2d0060b Change LOD calculation formula. Use the maximum value of the change of S and T per change in X and Y. 2021-07-27 18:14:58 +07:00