Sergey Lipskiy
d7e3b4c84b
Some dithering shaders refactoring.
2020-03-31 18:31:43 +07:00
Sergey Lipskiy
897fc35d51
Remove ditheringMode and bufferDitheringMode settings.
...
Add new settings:
- enableHiresNoiseDithering
- enableDitheringPattern
- enableDitheringQuantization
- rdramImageDitheringMode
New settings are not implemented in GUI yet.
2020-03-31 18:31:43 +07:00
Sergey Lipskiy
2600a6bc90
Remove "Enable noise" oprion. Emulation of noise is always enabled.
2020-03-31 18:31:42 +07:00
Sergey Lipskiy
d621eb4d34
Add enum DitheringMode for better readability.
...
Few fixes.
2020-03-31 18:31:41 +07:00
gizmo98
350d791596
-Remove enableDithering setting and use ditheringMode for everything
...
-Dithering Modes:
0 disabled
1 noise dithering
2 noise dithering with 5Bit quantitzation
3 noise and ordered grid dithering
4 noise and ordered grid dithering with 5Bit quantitzation
-Quantize dithered alpha (5Bit). Removes white remnants in SF Lylat
Wars.
2020-03-31 18:31:40 +07:00
gizmo98
0597632f8a
Add dithering options and better color noise dithering
...
-Add enableDithering option: true - dithering enabled; false -
dithering disabled
-Add ditheringMode option: quantize noise or ordered grid dithered
content like original hardware would do it. true - quantize to 16Bit
colors, false 32Bit colors.
-Add snoiseRGB() and snoiseA() functions. Color dithering needs
different noiese values for r, g and b.
-snoiseRGB() and snoiseA() „double“ noise resolution if uScreenscale is
>= 2.0. So noise not so blocky but still grainy at higher resolutions.
-Increase config version to 28U
2020-03-31 18:31:40 +07:00
Logan McNaughton
85a8635952
Update to XXH3 for CRC_OPT
2020-03-30 21:16:59 +07:00
Sergey Lipskiy
022b375614
RE2 related fixes:
...
* fixed gSPModifyVertex for case when primitive depth enabled
* fixed GraphicsDrawer::isRejected for case when coordinates of vertex set by gSPModifyVertex
* fixed writeDepth() shader for RE2
Fixed various issues mentioned in #2152
2020-03-18 14:50:45 +07:00
Sergey Lipskiy
8a9d52b41b
Fix static noise on screens in Space Station Silicon Valley.
...
Problem: the static on the screens is the result of alpha test with a random threshold.
The screens use 2 cycle combiner. First cycle for alpha uses "combined" input.
A value for this input is not set yet in the first cycle, so the result of alpha test is usually wrong.
Solution: replace "combined" input in the first cycle by special "half" input.
Fixed #1764
2020-03-08 23:28:54 +07:00
fzurita
0a5216f8e1
Make the hybrid texture filter optional through configuration
2020-02-12 11:51:04 +07:00
Sergey Lipskiy
0692abea4a
Re-implement slower N64 depth compare synchronization method,
...
which requires only core OpenGL 4.2 without shader_interlock extensions.
Fixed N64 depth compare with older AMD GPU.
2020-02-09 19:03:53 +07:00
Sergey Lipskiy
495d9f959e
Simplify aTexScale calculation in UClampWrapMirrorTex::update
2020-01-12 19:52:42 +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
d52d402d76
Do not use hybrid filer for GLES 2.0 due to poor performance.
...
Shader and code simplifications.
2019-11-30 15:54:54 +07:00
Sergey Lipskiy
25b270492e
Revert "Don't use glGetTexLevelParameteriv to determine texture size"
...
This reverts commit b31e510932
.
2019-11-30 15:31:43 +07:00
fzurita
49bdffb954
Fix shader compilation errors with Adreno devices
2019-11-30 15:30:50 +07:00
fzurita
6ac44db414
Don't use glFlushMappedBufferRange in debug mode, the performance
...
penalty is too high
2019-11-29 11:55:57 -05:00
fzurita
b31e510932
Don't use glGetTexLevelParameteriv to determine texture size
2019-11-29 15:56:22 +07:00
fzurita
a2fbea9086
Fix GLSL ES 1.0 compilation error
2019-11-29 15:50:34 +07:00
fzurita
0abaad4aee
Fix shader compilation errors in GLSL 3.0
2019-11-29 15:02:35 +07:00
Sergey Lipskiy
2b5e8786d1
Add support for TEXTUREMODE_BGIMAGE in UClampWrapMirrorTex::update()
...
Fixed #2107 Majora's Mask OnePiece backgrounds broken
Fixed #2141 RE2 corrupt video
2019-11-28 19:13:26 +07:00
Francisco Zurita
9c4653a148
Throw an exception if a buffer greater than the ring buffer pool max size is allocated instead of dead locking forever.
2019-11-28 17:33:56 +07:00
Sergey Lipskiy
f918a909c7
Remove opacity check from hybridFilter shader.
2019-11-28 12:31:31 +07:00
Sergey Lipskiy
488d52de16
Use hybrid texture filter to draw frame buffer image on screen.
...
Related to #2088
2019-11-27 19:25:19 +07:00
Sergey Lipskiy
a01718d2cf
Correct needMirror condition in clampWrapMirror shader.
...
Fixed Blast Corps regression #2113
2019-11-21 17:25:57 +07:00
Sergey Lipskiy
27128fe505
Correct error output in DisplayWindowMupen64plus::_getDisplaySize().
2019-11-20 12:40:53 +07:00
Sergey Lipskiy
517723d308
Up shader storage version.
2019-11-14 11:46:51 +07:00
S2S
49604f0c16
Write wrap function. Cleanup of combiner code.
2019-11-14 11:46:46 +07:00
S2S
a42e34f1b8
Write macros for reading a vector or matrix without hurting performance. Cleanup blender code.
2019-11-14 11:46:32 +07:00
Sergey Lipskiy
9dff907f15
Do not shift texture coordinates for frame buffer textures.
...
Fixed #2112 Conker black line following your shadow
2019-11-12 10:54:56 +07:00
Sergey Lipskiy
ad85856ee7
Replace printf by LOG.
...
Fixed #2123
2019-11-04 18:27:01 +07:00
fzurita
17b8e34799
Add logging of OpenGL profiling data
2019-11-04 15:03:36 +07:00
fzurita
d7996329c1
Added more GL functions to threaded GL implementation
2019-11-04 14:54:05 +07:00
fzurita
e333dea890
Fix GL errors when using EGL image to read pixel from texture
2019-11-04 14:30:37 +07:00
fzurita
9059bb38d3
Add GL function glDebugMessageCallback and glDebugMessageControl
2019-11-03 23:07:05 +07:00
Sergey Lipskiy
a87f7c4022
Log CoreVideo functions error code.
2019-11-03 23:00:54 +07:00
fzurita
ffaaf1f664
Fix incorrect OpenGL function init in iOS
2019-10-25 11:17:14 +07:00
fzurita
3c875ef3a6
Fix incorrect OpenGL function init in MacOS
2019-10-25 11:17:14 +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
fzurita
1384584af6
Fix threaded OpenGL lockup when trying to remove invalid buffer
2019-10-14 14:10:08 +07:00
fzurita
462dd2a9bc
FIx EGL image compatibility with mali devices
2019-10-05 22:41:33 +07:00
fzurita
4c87af5975
Don't initialize EGL, this is causing issues
2019-10-05 22:41:33 +07:00
fzurita
8cdf5a41d8
Don't crash on failed initialization
2019-10-05 22:41:33 +07:00
fzurita
4a10c0a7fa
Fix incorrect OpenGL function init in Linux
2019-09-30 21:48:36 -04:00
fzurita
d6ad676436
Fix EGL initialization in applications that don't implment VidExt
2019-09-30 21:48:36 -04:00
fzurita
7861d14060
Fix issue with lack of highp floating numbers in GLSL for GLES 2.0.
2019-09-30 21:48:26 -04:00
fzurita
8817e2c549
Fix logging error
2019-09-29 09:25:04 -04:00
fzurita
415e63d6d1
Fix shader compilation error in GLES 2.0
2019-09-29 16:08:44 +07:00
Sergey Lipskiy
86a227308e
Implement copy depth to main depth buffer. It is necessary for correct work of some Reshade shaders.
2019-09-27 19:33:18 +07:00
Sergey Lipskiy
34c6cae364
Fix compile errors in opengl_ColorBufferReaderWithEGLImage.cpp
...
Fixed #2083
2019-09-05 18:53:38 +07:00