Sergey Lipskiy
1cfdb4787d
Use hybrid filter for upscale buffer copy and plain bilinear filter for downscale one.
...
Related to PR #2242
2020-05-10 15:56:09 +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
b31e510932
Don't use glGetTexLevelParameteriv to determine texture size
2019-11-29 15:56:22 +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
6725ad474a
Fix warnings of 64bit compiler.
2018-05-06 15:54:12 +07:00
Logan McNaughton
18e9a73eba
Cache SpecialFeatures check
2018-04-07 11:30:33 +07:00
Sergey Lipskiy
365838eddc
Fixed problem with combiners shaders generation:
...
Parts of shaders code created on start. Some parts depend on config options.
When config changed with GUI shaders updated but code parts not updated.
Thus new shaders do not correspond to current state of config.
2017-10-29 16:49:05 +07:00
Sergey Lipskiy
c5c0fbeb6f
Use combiners keys when ShaderProgramBinary is not supported and shaders storage con not be created.
2017-10-28 21:48:01 +07:00
Sergey Lipskiy
aba3fefe63
Implement alternative methods of combiners shaders load.
...
Combiners muxes saved in separate text file.
When shader cache becames invalid, list of shaders muxes used to re-create combiners.
2017-10-26 00:27:52 +07:00
Sergey Lipskiy
1266ced083
Code cleaup: remove unused MonochromeCombiner.
2017-09-24 18:51:02 +07:00
Sergey Lipskiy
ee60040a78
Rewrite debug logging
2017-06-25 15:02:36 +07:00
Francisco Zurita
1a3a41aacb
Fix build error in clang due to mis matched types
2017-03-16 12:57:18 -04:00
Sergey Lipskiy
b556686b90
Check for 'combined' mux in 1 cycle mode.
...
Fixed combiner for pointing arrow in Zeldas.
2017-03-12 18:15:12 +07:00
Sergey Lipskiy
998b813491
Revert "Correct CombinerInfo::_compile for 1 cycle mode."
...
This reverts commit efcb7b3227
.
1 cycle mode uses combiner equations from 2nd cycle; equations from 1st
cycle must be ignored. Example: F-1 Pole Position language selection menu.
2017-03-10 14:49:05 +07:00
Sergey Lipskiy
efcb7b3227
Correct CombinerInfo::_compile for 1 cycle mode.
2017-01-26 19:55:02 +07:00
Sergey Lipskiy
602e1dd859
Correct cmake project file. Fix compilation on Linux.
2017-01-25 21:01:21 +07:00
Sergey Lipskiy
80ed169e24
Remove use of OpenGL.h
2017-01-22 20:43:05 +07:00
Sergey Lipskiy
c5e2575722
Fixes
2017-01-16 20:56:13 +07:00
Sergey Lipskiy
e83c3489a3
Replace OGLVideo by DisplayWindow
...
Replace OGLRender by GraphicsDrawer
2017-01-16 20:56:11 +07:00
Sergey Lipskiy
4b2aef86da
Make ShaderProgram descendant of CombinerProgram.
2017-01-14 13:28:54 +07:00
Sergey Lipskiy
dd57479838
Add Drawer class to replace OGLRender WIP
2017-01-10 22:22:32 +07:00
Sergey Lipskiy
c39b639d7c
Remove unused shaders related files.
2017-01-08 20:31:38 +07:00
Sergey Lipskiy
7af25b2452
Rewrite shader cache
2017-01-08 17:49:53 +07:00
Sergey Lipskiy
c68b6b9085
Special shaders
2017-01-08 17:49:50 +07:00
Sergey Lipskiy
41d0a9ade5
Replace ShaderCombiner 2
2017-01-08 17:49:39 +07:00
Sergey Lipskiy
9725c527b9
Replace ShaderCombiner by graphics::CombinerProgram WIP
2017-01-08 17:49:37 +07:00
Sergey Lipskiy
19f5f8b302
Move CombinerKey class to separate files.
2017-01-03 13:37:50 +07:00
Sergey Lipskiy
599f7b1e93
Make separate vertex shaders for triangles and rects.
2016-12-31 19:29:50 +07:00
Sergey Lipskiy
ccde41b7de
Incapsulate combiner key logic in class CombinerKey.
2016-12-25 17:34:12 +07:00
Sergey Lipskiy
6af6e2c17f
Rewrite lighting.
...
Fixed chopper attack wrong textures #99
Thanks Gillou68310 for detection of the problem's origin.
2016-11-26 19:31:50 +07:00
Sergey Lipskiy
5d7c02f7d1
Up shader storage version.
2016-11-14 20:53:55 +07:00
Sergey Lipskiy
18248337b4
Up shader storage version.
2016-11-13 19:30:14 +07:00
Francisco Zurita
f614c26e95
Fixes GLES 3.1 in Adreno devices
...
See https://github.com/gonetz/GLideN64/issues/895
2016-10-13 14:24:18 +07:00
Logan McNaughton
926e6c9225
Changes to support mingw
2016-09-09 10:07:47 +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
c17b1f2e11
Don't allow different OpenGL versions to share shader cache.
2016-08-15 17:54:51 +07:00
Sergey Lipskiy
cd1b134ddc
Add legacy blending option:
...
Use old, fixed functionality based method for emulation of N64 blending modes.
2016-07-17 11:15:02 +06:00
Sergey Lipskiy
86fbea9edc
Code refactor: replace NULL by nullptr.
2016-06-10 12:40:18 +06:00
Sergey Lipskiy
b0a01b26b7
Correct 2cycle combiners when 1st and 2nd stages are the same.
...
Fixed cars windows in Top Gear Rally, #981
2016-05-10 21:39:51 +06:00
Sergey Lipskiy
e7018d3f39
Correct Combiner_Init()
2016-05-05 16:40:09 +06:00
Sergey Lipskiy
0ad53ad0e8
Rewrite blending emulation:
...
- remove hardcoded mapping of N64 blend modes to GL blending
- add blending stage(s) to pixel shaders.
2016-05-05 16:38:59 +06:00
Sergey Lipskiy
f2ebb7d1d4
Add cycle type to combiner's key. If the same combiner is used with different cycle types, it must be compiled separately for each cycle type.
2016-05-05 16:38:54 +06:00
Sergey Lipskiy
8488ebccd2
Fix texture coordinates calculation in vertex shader when TexturePersp disabled.
...
Fixed Rogue Squadron Sky is broken [regression] #924
2016-03-23 10:22:25 +06:00
Sergey Lipskiy
5fc82399bc
Save correct ConfigOptionsBitSet to shader storage header.
...
Fix Enabling HW Lightning with Shader Storage enabled breaks lightning #922
2016-03-22 20:51:08 +06:00
Sergey Lipskiy
80c954e5cc
Move modify_vtx transformations to vertex shader.
...
Fixed Jeremy McGrath Supercross 2000: missing jauge line in menu #274
This game sets coordinates of lines vertices via modify_vtx.
modify_vtx set screen coordinates for the vertex.
Screen coordinates must be converted back to normalized device coordinates (NDC)
to apply viewport transformation. Unfortunately, the screen coordinates set are out of current viewport
and just clipped after transformation to NDC coordinates and viewport transformation.
Solution: use fullscreen viewport for modified vertex coordinates and
transform coordinates according to this viewport.
2016-03-19 14:02:57 +06:00
Sergey Lipskiy
0ec6d9d0bd
Correct alpha compare.
2016-03-13 19:07:30 +06:00
Sergey Lipskiy
98f5c05ccc
Revert "Add check that glGetProgramBinary is available."
...
Revert wrong and useless change.
This reverts commit 42243d2620
.
2015-10-12 20:11:59 +06:00
Sergey Lipskiy
42243d2620
Add check that glGetProgramBinary is available.
2015-10-11 21:58:06 +06:00
Sergey Lipskiy
df0093de43
Up ShaderStorageFormatVersion because of changes in vertex shader.
2015-10-11 21:32:17 +06:00
Sergey Lipskiy
b626e97b40
Rename CombinersCacheFormatVersion constant to ShaderStorageFormatVersion.
2015-10-11 21:28:42 +06:00