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

1862 Commits

Author SHA1 Message Date
gizmo98
04a1faa689 Remove old arm assembler.
GCC replaces (value << 8) | (value >> 8) with __builtin_bswap16 if -Os,
-O1 or higher is used. __builtin_bswap16 is as fast as the assembler
declaration.
2016-09-13 09:34:01 +07:00
Logan McNaughton
6c3b3feb58 Fix Image Textures on OpenGL < 4.3 2016-09-12 09:32:26 -06:00
Sergey Lipskiy
175ab35971 VI_UpdateSize() : correct width/height calculation in interlaced mode.
Still hackish.

Fixed Star Wars Episode One Racer Flicker and Black Screen with Frame Buffer Emulation #1119
Fixed Top Gear Overdrive black screen #1122
2016-09-12 21:27:38 +07:00
Sergey Lipskiy
5a296525ea FrameBufferList::renderBuffer : correct condition for Xoffset. 2016-09-12 21:26:37 +07:00
Sergey Lipskiy
9d2d8f481e Code cleanup 2016-09-11 18:08:09 +07:00
Sergey Lipskiy
32172d30af Fix depth buffer clear for aux buffers. 2016-09-11 18:08:03 +07:00
Sergey Lipskiy
21ef068f2a Fix typo in FrameBuffer::getTexture 2016-09-11 15:27:59 +07:00
Sergey Lipskiy
49dd8ff796 Correct render to depth buffer when N64 depth compare enabled. 2016-09-09 21:49:52 +07:00
Sergey Lipskiy
b033cb2ecf Fix depth buffer render when fb emulation disabled. 2016-09-09 12:39:41 +07:00
Sergey Lipskiy
06188bddd4 Force disable fragment depth write option for GLES2. 2016-09-09 10:26:20 +07:00
Logan McNaughton
926e6c9225 Changes to support mingw 2016-09-09 10:07:47 +07:00
Sergey Lipskiy
9faeb2bfb9 Force clear depth buffer for aux buffers.
Fixed uncleaned depth buffer problem when depth buffer cleared partially via fillrect.
2016-09-08 22:29:12 +07:00
gizmo98
a471b130e7 CRC.cpp: add ARMv8 crc intrinsics
Speedup:
CRC_Calculate() up to 11x
CRC_CalculatePalette() up to 4x

Will be only used if the right compiler flags are set.
rpi3: -march=armv8-a+crc -mtune=cortex-a53

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0801f/pge
1427897662265.html

If CRC32 can be replaced with CRC32C SSE4.2 CRC32C intrinsics could be
added as well.
https://github.com/gonetz/GLideN64/pull/1056#issuecomment-244530166
2016-09-07 21:34:19 +07:00
Sergey Lipskiy
4049bfc53b Do not add blending mux variables to shader when legacy blending enabled. 2016-09-07 21:13:00 +07:00
Sergey Lipskiy
d289d4c65a Correct conditions when render to depth buffer can be enabled. 2016-09-07 21:11:31 +07:00
Sergey Lipskiy
7dca7f8f4d Implement depth buffer copy for Mario Golf.
Fix Mario Golf: Animated effects render in front of course #312
2016-09-06 19:37:11 +07:00
Sergey Lipskiy
bbcd0be949 Remove unused code. 2016-09-05 16:21:29 +07:00
Sergey Lipskiy
27cdae1e33 Correct condition for depth buffer clear again.
Fixed Body Harvest graphics missing (Regression) #1107
2016-09-05 12:14:51 +07:00
Sergey Lipskiy
669337f5ab Correct condition for depth buffer rendering:
games may draw in depth buffer in fill mode too.

Correct condition for depth buffer clear.

Fixed Mario Tennis 64's Versus Screen Issue #771
2016-09-04 20:26:41 +07:00
Sergey Lipskiy
3794a2bf66 Fix native res texrects when uniform set is used.
Fixed Everything looks yellow with Native Res Texrects #1102
2016-09-04 20:21:22 +07:00
Sergey Lipskiy
50720e1dfc Correct msvc project files. 2016-09-04 19:51:10 +07:00
Sergey Lipskiy
1a5e971eea Minor code cleanup in gSPModifyVertex. 2016-09-02 11:05:38 +07:00
Sergey Lipskiy
4c226bcc95 Do not show rightmost pixels in frame buffer when AA and divots elimination enabled in VI.
Problem: Some games have strange glitch, which looks like vertical line of
pixels outside of right bound of the image. Examples: JFG title screen,
both Zelda games when new game started. Software plugin has the same issue,
but when image passes VI stage, the problem disappears. Most likely
VI filters somehow eat the rightmost pixels. I suspect that it is result of
divots elimination. Thus, the fix works like this:
when divot flag is set the rightmost column of pixels is not shown.
2016-08-29 18:32:16 +07:00
Sergey Lipskiy
d80bd636e2 Emulate crazy way of shifting image horizontally, which bottom of the 9th uses.
Fixed bottom of the 9th: screen not centered #862
2016-08-28 18:22:44 +07:00
Sergey Lipskiy
1bdce5c579 Fix ColorBufferToRDRAM::_prepareCopy: blit current buffer if its scale is not 1.0
Fixed 640x480 framebuffer bug Perfect Dark (U) #844
2016-08-28 16:53:07 +07:00
Sergey Lipskiy
3bfebd0910 Remove allocated frame buffer if its color depth is less then necessary.
Fixed Majora's Mask screen turns red #790

Problem description:
the game allocates 8bit aux frame buffer when enter to subscreen.
When screen shrink effect started, the game allocates 16bit buffer on the same address.
Since plugin already had buffer allocated, it reused that buffer. Since the buffer's
texture had only red component, whole screen turned red.

Fix: create new buffer if color depth of existing buffer is less than necessary.
2016-08-28 16:00:50 +07:00
Sergey Lipskiy
69870ad397 Do not use software depth render when fb emulation is off. 2016-08-28 15:22:07 +07:00
Sergey Lipskiy
a5d3ff9393 Do not correct VI width and height in CFB mode.
Fixed MAME64 incorrect menu #861
2016-08-28 14:56:10 +07:00
orbea
e16e485bcf LICENCE is spelled LICENSE 2016-08-27 10:58:30 -07:00
Sergey Lipskiy
232d35d182 Do not update noise texture when it is not initialized. 2016-08-27 18:45:49 +07:00
Sergey Lipskiy
10c8878a34 Correct GUI options names and tooltips.
Update translation files.
2016-08-27 13:05:00 +07:00
Sergey Lipskiy
1fca5c5187 Correct MSVS project files. 2016-08-27 12:00:42 +07:00
Logan McNaughton
05d2f150da GLSL Improvements 2016-08-24 15:16:53 +07:00
Logan McNaughton
c9e1f95890 Fix potential segfault in isExtensionSupported
glGetStringi can return 0 if there is an error getting the value. If "name" is 0 (happens in RetroArch using GLES3 for whatever reason), then the strcmp segfaults.
2016-08-24 15:14:02 +07:00
Sergey Lipskiy
871c42e8c6 Use old version of OGLVideo::isExtensionSupported if GL_NUM_EXTENSIONS is not defined.
Fixed GL_NUM_EXTENSIONS is not available on GLES2 #1092
2016-08-23 17:27:21 +07:00
Sergey Lipskiy
1557d519af Rewrite OGLVideo::isExtensionSupported
Code taken from wareya/GLideN64.
2016-08-19 16:05:47 +07:00
Sergey Lipskiy
21f46db869 Update translation files. 2016-08-17 20:23:53 +07:00
Sergey Lipskiy
ba434bab04 Fix OGLVideo::_setBufferSize():
make widescreen hack working when fb emulation disabled.
2016-08-17 16:34:23 +07:00
gizmo98
03c87712cd rpi/pandora: add -DARM_ASM definition 2016-08-16 22:11:42 +07:00
Francisco Zurita
b81fb23363 Fix CBFD lighting in Android 2016-08-16 22:07:51 +07:00
Francisco Zurita
74b21d712c Optional fragment based writing of depth 2016-08-16 21:32:27 +07:00
Francisco Zurita
bd04064b6b Fix issues with shader storage and HW lighting in Android
The cause was that we were loading the shader cache before we loaded any
microcodes through GBI. With this change, shader storage will now store
wether it's possible to do HW lighting based on GBI status.
2016-08-16 16:33:30 +07:00
Francisco Zurita
69720ba7f8 Set the default location for all GLUniform types to -1
This prevents accidently setting a uniform that we never retrieved a
location for. This fixes GL errors in at least UniformSet.cpp
2016-08-15 17:57:59 +07:00
Francisco Zurita
adf0f5cf45 Fix double shutdown of the plugin.
video.stop() is also being called in RomClose
2016-08-15 17:57:59 +07:00
Francisco Zurita
320c524a2a Fix GL error due to incorrect monochrome internal format.
This was cauding a GL error in DepthBufferToRDRAM::init()
2016-08-15 17:57:59 +07:00
Francisco Zurita
8f615b9aaf Fix GL error due to setting a uniform that was not located. 2016-08-15 17:57:59 +07:00
Francisco Zurita
c17b1f2e11 Don't allow different OpenGL versions to share shader cache. 2016-08-15 17:54:51 +07:00
Logan McNaughton
4bcf330759 Remove dead code (glActiveTexture) 2016-08-04 21:25:10 -06:00
Sergey Lipskiy
c7c90cb7eb Add widescreen hack support to gSPProcessVertex4
Fixed Widescreen hack broken #1078
2016-08-04 12:25:07 +07:00
baptiste0602
6f0b6ba9c6 Update GLideN64.custom.ini
update INI version and remove "detectcfb" entries
2016-08-03 15:55:29 +07:00