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

1445 Commits

Author SHA1 Message Date
AmbientMalice
2b942b8d40 Update GLideN64.custom.ini : set copyDepthToRDRAM option for games, which need it. 2015-10-09 23:01:03 +06:00
gizmo98
ac963fd387 cmake: add missing osal lib
Fix "undefined symbol: osal_is_directory" error.
2015-10-09 22:39:52 +06:00
gizmo98
aca3a53ac0 Use ARM macro "__arm__" instead of "ARM_ASM" 2015-10-09 22:39:52 +06:00
gizmo98
ae3da6cc0a rpi: add platform specific fullscreen option
-create _getDisplaySize() and add rpi’s platform specific code
-use screen resolution if fullscreen=1
2015-10-09 22:39:51 +06:00
gizmo98
c92f5fc9d9 rpi: disable framebuffer emulation
There is a black screen if frame buffer emulation is used: #605
2015-10-09 22:39:50 +06:00
gizmo98
6d2ce678d5 rpi: fix cmake files
-Add test for raspberry pi’s broadcom bcmhost dir.
-Add test for raspbian packages freetype, zlib and png.
-Remove keyword PRIVATE because there is a „cannot find lPRIVATE“ error.
2015-10-09 22:39:50 +06:00
gizmo98
cf9907f51b cmake: add gcc version check
C++11 features like std::map::emplace need gcc version >= 4.8.
2015-10-09 22:39:49 +06:00
Sergey Lipskiy
257348092b Merge pull request #751 from lioncash/oob
GlideNUI: Fix an out of bounds access in Settings.cpp
2015-10-09 22:31:10 +06:00
Sergey Lipskiy
e0007cca14 Merge pull request #752 from matthewharvey/shader_storage_extra_check
Adding check that there is at least one binary format for shader cach…
2015-10-09 22:29:36 +06:00
matto
e126a51f6f Adding check that there is at least one binary format for shader cache support
There is one implementation that supports the get_program_binary
extension, but doesn't provide any actual formats. (it's Mesa)
In any case this is probably a good check to have.
2015-10-08 23:04:05 -04:00
Lioncash
1c972fee9f GlideNUI: Fix an out of bounds access in Settings.cpp 2015-10-08 13:52:15 -04:00
Sergey Lipskiy
a12c9e7464 Change shaders storage format: add information about config options used on
the moment of storage creation.
If user changes option(s), which changes the way of shaders creation then
shaders storage have to be reset.
2015-10-08 22:54:43 +06:00
Sergey Lipskiy
f267ca36fc Rename [save/load]CombinersCache() methods to [save/load]ShadersStorage() ones. 2015-10-08 22:54:40 +06:00
Sergey Lipskiy
4cc253db62 Add "Enable shaders storage" checkbox to GUI. 2015-10-08 22:54:38 +06:00
Sergey Lipskiy
f59840250c Enable shaders storage by default. 2015-10-08 22:54:36 +06:00
Sergey Lipskiy
209f5dcdb0 Rename shaderStorage config option to enableShadersStorage. 2015-10-08 22:54:34 +06:00
Sergey Lipskiy
64e379488f Catch exceptions during shader cache file read. 2015-10-08 22:54:26 +06:00
Sergey Lipskiy
f5fbee0623 Remove common shader storage option as potentially dangerous. 2015-10-08 22:54:23 +06:00
Sergey Lipskiy
c0512a568b Save Shader Cache file to "shaders" subfolder. 2015-10-08 22:54:21 +06:00
Sergey Lipskiy
f212710ea7 Make osal as separate library.
I need filesystem functions in the plugin, thus I decided to
move osal code from GLideNHQ to osal lib.
2015-10-08 22:54:19 +06:00
Sergey Lipskiy
757ac8135a Correct check for get_program_binary extension for GL ES. 2015-10-08 22:54:16 +06:00
Sergey Lipskiy
0482212f10 Add shaderStorage config option.
Support it for mupen64plus.
2015-10-08 22:54:10 +06:00
Sergey Lipskiy
38baef70de Implement persistent cache for compiled shaders. 2015-10-08 22:54:01 +06:00
Sergey Lipskiy
4505f6031d Add declarations for GL GL_ARB_get_program_binary related functions. 2015-10-08 22:26:22 +06:00
Sergey Lipskiy
d57e28bf53 Return back isExtensionSupported() function. 2015-10-08 22:26:09 +06:00
matto
0dfbd34b09 Fixing Andriod build (possibly, cannot test)
http://www.cplusplus.com/reference/list/list/erase/
cplusplus.com says that std::list::erase takes arguments
of const_iterator, but from build errors the Andriod
runtime says it takes non const iterators. gcc doesn't mind
removing the constness and it's not so important that they're
const, so I'm removing them.
2015-10-08 21:17:03 +06:00
matto
4e415802fa Changing the texture cache to be a proper LRU cache
I change the currently used 'map' of textures to a queue (implemented as a
list), and then remove from the end of the queue when textures need removing
from the cache, and adding to the beginning of the queue.
The other operation that is needed is moving the texture to the
front of the list whenever it is used, so that frequently used
textures are not deleted.
In order to make that last operation effecient, I created
a map of the locations of these textures, and keep that
properly updated. This makes the accessing of a texture still O(1).
Then, in order to have the iterators remain valid through insertions
and deletions, I needed to implement the queue as a list.

The map and queue implementation is a standard way to implement
an LRU cache, just FYI. Not something I thought of all on my own.

Fixes issue #744
2015-10-08 21:15:09 +06:00
purplemarshmallow
dee0cddf66 Disable copyDepthToRDRAM in the ini file. 2015-10-08 21:01:17 +06:00
Sergey Lipskiy
8b56d792ca Merge pull request #747 from lioncash/virt
UniformCollection: Add missing virtual destructor
2015-10-08 20:58:02 +06:00
Lioncash
1ce4195c7a UniformCollection: Add missing virtual destructor 2015-10-05 04:11:50 -04:00
Francisco Zurita
19668e2c20 Fixes shading issues and flickering textures on Adreno devices:
Adreno drivers for GLES3 GPU have issues with glBufferSubData.
glBufferData works without issues, so we have to use only glBufferData
for Adreno by the cost of reallocating the data store.
2015-10-02 22:43:14 +06:00
AmbientMalice
eac8efc351 Fix 'Shadres' typo in UI and translation files. 2015-10-02 21:37:33 +06:00
Sergey Lipskiy
5ca35ad5a7 Merge pull request #735 from purplemarshmallow/12
disable depth buffer emulation by default
2015-09-30 14:44:05 +06:00
purplemarshmallow
3caa176063 disable depth buffer emulation by default 2015-09-29 21:41:41 +02:00
Sergey Lipskiy
6023b34676 Fix OGLRender::drawLine, issue #733 2015-09-29 23:33:37 +06:00
Sergey Lipskiy
5ac814bb7b Simplify OGLRender::_canDraw(). 2015-09-29 23:32:31 +06:00
Sergey Lipskiy
b67789acc5 Fix bug in TxFilter::dmptx - osal_mkdirp returns 0 if OK. 2015-09-29 18:19:53 +06:00
Sergey Lipskiy
586af36bfa Don't wrap fb texture coordinates when clamp is on.
Fixed Pokemon Stadium (J) wrong monitors, #724
2015-09-29 13:26:24 +06:00
Sergey Lipskiy
05e62b7ffd Correct readTexMS shader.
Fixed #731
2015-09-29 09:37:59 +06:00
Sergey Lipskiy
16136b04e9 Do not set buffer's height to VI.height if it is zero.
WARNING: potentially dangerous!
2015-09-27 10:54:19 +06:00
Sergey Lipskiy
3bd24d34a1 Disable FBO draw when current buffer set to NULL. 2015-09-27 10:54:11 +06:00
Sergey Lipskiy
864eb9f97e Don't draw anything if frame buffer emulation is on, but current buffer is NULL. 2015-09-27 10:53:59 +06:00
Sergey Lipskiy
a365afdf7f Correct buffer height detection in gDPSetColorImage:
don't use viewport height in LLE mode, since LLE does not use viewport.
2015-09-27 10:49:21 +06:00
Sergey Lipskiy
1beadcb625 Add VI parameters correction to RSP_ProcessDList().
Pokemon Stadium can change REG.VI_ORIGIN without call to VI_UpdateScreen(),
at least with Project64. Thus, frame buffer allocation may work with
obsolete VI info, which causes various glitches, e.g #415
2015-09-27 10:49:20 +06:00
Sergey Lipskiy
24885907d8 Add hack_ZeldaCamera to fix camera in Zelda MM, #577
The game copies current frame buffer to the area, which initially allocated for depth buffer.
Game read camera data from that area, not from normal frame buffer.
That's why 'copy color buffer to RDRAM' option does not help there.
Special code needed to process that. Looks ugly, but works.
2015-09-27 10:10:05 +06:00
Sergey Lipskiy
1eaa967553 Add hack_skipVIChangeCheck hack for Zelda MM.
Fix problem with Majora's Mask subscreen after Bomber's Notebook read, #698

The game switches to interlaced mode when it opens Notebook screen and background buffer is removed.
This hack prevents buffers clear on VI change.
2015-09-26 22:36:31 +06:00
Sergey Lipskiy
a3f9b43b4a Disable _copyDepthBuffer() for GLES2 only. 2015-09-26 22:36:25 +06:00
Sergey Lipskiy
27c4cccd81 Code refactor in _copyDepthBuffer(). 2015-09-26 22:13:49 +06:00
Sergey Lipskiy
bff19580eb Code refactor: CheckForFrameBufferTexture - use fbList variable instead of calls to frameBufferList() 2015-09-26 22:11:31 +06:00
Sergey Lipskiy
874ebce5ca Use fixed alpha flag only for 8bit frame buffers.
Otherwise it cause regression in Pokemon Stadium 2, see #721
2015-09-25 22:04:59 +06:00