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

121 Commits

Author SHA1 Message Date
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
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
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
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
Logan McNaughton
6ddaba8ec5 Remove FB Attachment caching 2018-05-08 16:27:37 +07:00
Sergey Lipskiy
10710f96ac Fix warnings from compiler and static code analizer. 2018-05-06 15:28:07 +07:00
Sergey Lipskiy
75ea06cec7 Code refactoring: fix issues found by static code analizer. 2018-04-19 20:16:21 +07:00
Logan McNaughton
6a10a83d09 Fix RE2 and NFL QB Club 98 on GLES 2018-04-16 21:38:42 +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
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
91ab96d514 Fix FB attachment caching when texture is deleted 2018-03-09 20:32:34 +07:00
Logan McNaughton
cb90bb95ed Cleanup FB Texture caching code 2018-02-26 21:15:51 +07:00
Sergey Lipskiy
210315ec46 Fix texture filtering when mip-mapiing is off, #1699 2018-01-03 17:09:23 +07:00
Sergey Lipskiy
2e53bf19a0 Fix CRC calculation for 32bit textures. 2017-12-16 15:14:46 +07:00
Sergey Lipskiy
26623cec1f Code cleanup: fix issues in GLideN64 found by static code analyser. 2017-11-18 22:07:27 +07:00
Sergey Lipskiy
e1c7a44593 Force texture wrap/mirror for hires textures when texture size is half of real (load) texture size.
Fixed Majora's Mask - custom textures broken on moon #1662
2017-11-18 15:31:02 +07:00
Sergey Lipskiy
dd4fac7230 Set tmu when init hires texture.
Fixed: Zelda: OoT Texture Pack flickers before day/night transition #1470
2017-11-05 22:27:13 +07:00
Sergey Lipskiy
4e36fa07a2 Remove 'Video RAM usage limit' config option. 2017-11-04 18:43:29 +07:00
Sergey Lipskiy
a2ac255710 Fix divide by zero crash when hd texture is less than original one. 2017-11-02 23:39:21 +07:00
Sergey Lipskiy
d1bf2e3979 Fix load hires textures.
Fixed 2 zelda oot problems #1521
2017-11-02 22:59:18 +07:00
Sergey Lipskiy
adc2b547e8 Implement YUV-to-RGB color space conversion. See 12.5 of programming manual
Up shader storage version.

Fixed Killer Instinct Gold: Improper Projectile Effects. #1513
2017-10-31 13:27:34 +07:00
Sergey Lipskiy
7e4271d991 Display save/load progress for combiners shaders
Display "init noise texture" message. Progress is hard to display because noise textures generated in threads.
2017-10-26 00:37:26 +07:00
Sergey Lipskiy
deaf61299f Decrease level of mip-map texture if texture with given size and level can't be created by OpenGL.
Fixed shadows of empire: black triangles (regression!) #1612
2017-10-02 16:58:55 +07:00
Sergey Lipskiy
70c540b073 Rewrite fix for #1539 : keep in tile descriptor start address of frame buffer, not pointer on it.
Should be more safe.
2017-09-29 22:25:56 +07:00
Francisco Zurita
cd8783b24b Don't use hires textures with zero dimensions 2017-05-29 23:18:16 -04:00
Logan McNaughton
6c32d5cd8f Texture Cache performance improvements 2017-04-04 08:58:49 -07:00
Sergey Lipskiy
5e51b386f1 Make Resident Evil 2 playable. 2017-04-02 12:02:38 +07:00
Sergey Lipskiy
226cd6e4a3 Simplify TextureCache::_loadDepthTexture : do not convert unsigned shorts to floats 2017-04-02 10:41:30 +07:00
Sergey Lipskiy
5bfac0a664 Fix HD textures load for MK64, #1341 2017-03-23 22:51:34 +07:00
Sergey Lipskiy
8f1031da85 Call _calcTileSizes before TextureParams structure initialization because
_calcTileSizes can change clamp flags.

Fixed #1317 Smash 64 Graphical Inaccuracies
2017-03-22 20:28:00 +07:00
Sergey Lipskiy
a9bb3a46eb Revert "Correct _calcTileSizes."
This reverts commit 6f35e5a237.
2017-03-22 20:19:55 +07:00
Sergey Lipskiy
6f35e5a237 Correct _calcTileSizes.
Fixed #1317 Smash 64 Graphical Inaccuracies
2017-03-20 21:32:41 +07:00
Sergey Lipskiy
f428234787 Remove cached texture if new texture with the same CRC has different dimensions.
Fixed Aidyn Chronicles menu icons enlarged or text cut #1420

Problem description:
I thought that the same texture must always have the same dimensions.
I was wrong. When Aidyn Chronicles menu opens,
menu textures clamp width or clamp height may change during menu opening animation.
CRC remains the same because texture data not changed.

Solution:
Remove cached texture when expected dimensions differ from actual ones and load texture again.
I hope it is a rare case.
2017-03-19 19:18:07 +07:00
Sergey Lipskiy
bfe5b6078e Fix compilation with clang. 2017-02-22 12:19:06 +07:00
Sergey Lipskiy
5b3b2920bc Do not set sampler states for multisampled textures:
"GL_INVALID_ENUM is generated if the effective target is either GL_TEXTURE_2D_MULTISAMPLE or GL_TEXTURE_2D_MULTISAMPLE_ARRAY, and pname is any of the sampler states."
Fixed HWFBE when MSAA enabled.

Correct code formatting.
2017-02-18 21:40:41 +07:00
Francisco Zurita
5fd16a73b7 Fix GLES 2.0 texture initialization errors 2017-02-14 00:00:08 -05:00
Sergey Lipskiy
b9453474b6 Fix initialization of multisample textures. 2017-02-12 16:05:02 +07:00
Sergey Lipskiy
e011ee56b5 Fix internal texture formats for GLES 2.0 2017-02-10 16:58:17 +07:00
Sergey Lipskiy
403c60cfea Convert texture format returned by GLideNHQ for GLES2. 2017-02-05 20:26:40 +07:00
Sergey Lipskiy
e232ae9e09 Rename InternalColorFormatParam RGBA to InternalColorFormatParam RGBA8. 2017-02-05 20:07:13 +07:00
Francisco Zurita
669e925029 Fix typo in ImageFormat() ctor in Textures.cpp 2017-01-29 22:09:56 +07:00
Sergey Lipskiy
df4a81bfea Add special Parameter classes to make parametrs usage more safe. 2017-01-28 16:52:09 +07:00
Sergey Lipskiy
5ddfd78f50 Rewrite TextureLoadParameters.
This static structure uses static values from Parameters.cpp.
It can be initialized before initialization of parameters it uses.
I had to put it inside aux struct with delayed initialization.

MSVS 2013 can't do initialization of non-static objects with initialization list,
so I had to add ugly workaround for it.
2017-01-28 10:11:45 +07:00
Sergey Lipskiy
ea4d174e5c Correct texture initialization. 2017-01-26 21:36:54 +07:00
Sergey Lipskiy
80ed169e24 Remove use of OpenGL.h 2017-01-22 20:43:05 +07:00
Sergey Lipskiy
4a97083d77 Raplace GL types in TextureLoadParameters 2017-01-22 18:44:42 +07:00
Sergey Lipskiy
663f696d8f Remove direct calls of glBindTexture and GL_UNPACK_ALIGNMENT related functions. 2017-01-22 18:10:52 +07:00
Sergey Lipskiy
4e459c7645 Change type of CachedTexture name to graphics::ObjectHandle 2017-01-21 19:48:02 +07:00