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
71788c320d
Rename Ext_TxFilter.h to TxFilterExport.h
...
Correct #include
2021-10-24 18:44:10 +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
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
dd64b42081
Remove needReplaceTex1byTex0()
2021-10-02 17:41:53 +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
Rosalie Wanders
c36ffa97f7
GLideNUI: introduce config.hotkeys.enabledKeys
2021-07-29 15:44:56 +07:00
Sergey Lipskiy
5072ec8ee8
Fix anisotropic filtering.
...
Fixed #2527 Is anisotropic filtering always ON
2021-07-22 22:17:07 +07:00
fzurita
c5d942b436
Fix crash when trying to delete invalid frame buffer
2021-05-01 17:02:28 +07:00
Sergey Lipskiy
abb9108f14
Implement configurable hotkeys.
2020-12-02 18:14:08 +07:00
fzurita
e89f5fedcc
Fix build error and warning with Android
2020-11-16 10:39:10 +07:00
Sergey Lipskiy
e81022ad71
Correct _calculateCRC:
...
tile tmem address can be set to a value greater than 512, that is above TMEM size.
It should be used with proper mask for tileTmemInBytes calculation.
Fixed #2360 Castlevania 64 Crash
2020-11-10 15:41:35 +07:00
Sergey Lipskiy
35567da2ad
Modifications for mip-mapped textures load.
...
Treat specail case for Southern Swamp grass texture, Zelda MM, #2315
2020-09-16 18:50:55 +07:00
Sergey Lipskiy
76d72f77b7
[Code refactor] Correct TextureCache::_load:
...
add RAII holder for texture data.
2020-08-31 11:53:41 +07:00
S2S
d13a3d7890
Perform hdRatio division with floating point precision. Allows non-integer scaled HD textures, but their use is discouraged.
2020-07-17 20:26:32 +07:00
Sergey Lipskiy
0c5d036395
Correct _calculateCRC:
...
calculated texture size in bytes can be too large to fit TMEM.
It leads to out-of-bounds reads in checksum calculations and thus random checksum.
Example:
Fixed Unplayable performance with any kind of texture enhancement. #2279
2020-06-16 16:57:47 +07:00
Sergey Lipskiy
7228d0d5db
Separate "Dump" and "Reload" options.
2020-06-14 15:52:09 +07:00
Sergey Lipskiy
edf5f9ac30
Fix load of 16bit RGBA textures when TLUT mode is TT_IA16
...
Fixed #2218 Taz express: little bug
2020-05-10 20:14:53 +07:00
S2S
4834359ec1
Delay texture coordinate normalization. Adapt texture filter to texture engine.
2020-05-10 16:24:28 +07:00
Sergey Lipskiy
03b404bd4e
Use noperspective shade color only for triangles with screen-space coordinates.
...
noperspective works incorrect for polygons, which are partially out of view.
Fixed #2240 SM64 strange green textures
2020-05-04 20:20:58 +07:00
Logan McNaughton
c168f53d12
Fix bug introduced by 85a8635952
2020-04-05 11:06:58 +07:00
Logan McNaughton
85a8635952
Update to XXH3 for CRC_OPT
2020-03-30 21:16:59 +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
fzurita
44ce554d5f
Fix issues with EGL image public API on GLES 2.0
2019-11-30 15:54:59 +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
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
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
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
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
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
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
3704b37c3e
Fix some of PVS-Studio warnings.
2019-03-03 11:47:10 +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
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
49465a094d
Implement dump of background textures.
2019-02-19 12:49:40 +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
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
aab318b4f7
Fix tile load for BG commands.
2019-02-02 18:34:08 +07:00