James Rowe
7092ba8480
Only add shaders to precompiled cache if they are new
2020-01-15 19:58:34 -07:00
James Rowe
061a33477f
Properly bind the shader sampler and uniform bindings
2020-01-15 19:58:34 -07:00
James Rowe
a20c81d593
Change VFS vector to regular vector
2020-01-15 19:58:34 -07:00
James Rowe
4e9ec4efd0
Add shader disk caching
2020-01-15 19:58:33 -07:00
James Rowe
f369196c9f
Remove wait for free buffer
...
Previously we would first attempt to use any buffer that was free,
meaning whichever buffer has already been displayed. This has poor
interactions when the operating system throttles the update rate of the
window, so if there isn't any free buffers available, just reuse the
oldest frame instead.
2019-12-16 20:02:01 -07:00
James Rowe
439d550850
Merge pull request #4940 from jroweboy/presentation-thread
...
Split Presentation thread from Render thread
2019-12-15 20:25:34 -07:00
James Rowe
30dfe1fcb8
Use the correct register length for index_array
...
The index_array can't possible be 31 bits long as that would index
out of bounds memory. According to 3dbrew, this should be 28
2019-12-13 18:08:07 -07:00
James Rowe
65613cce81
Add microprofile scopes for presentation
2019-12-02 18:59:12 -07:00
BreadFish64
e38b4f6707
video_core: get rid of MSVC hack comment
2019-11-17 17:42:19 -06:00
James Rowe
586b8e8b46
Change from QOpenGLWidget to QWindow
...
While QOpenGLWidget sounds like a good idea, it has issues which are
harder to debug due to how Qt manages the context behind the scenes. We
could probably work around any of these issues over time, but its
probably easier to do it ourselves with a QWindow directly.
Plus using QWindow + createWindowContainer is the easiest to use
configuration for Qt + Vulkan so this is probably much better in the
long run.
2019-11-09 13:12:30 -07:00
James Rowe
26d828fb4c
Prevent softlock on shutdown and various cleanup
2019-11-09 13:12:29 -07:00
James Rowe
9c32c0b98b
Change from render to texture to render to renderbuffer
2019-11-09 13:12:29 -07:00
James Rowe
52d7676831
recreate mailbox to use a queue instead
2019-11-09 13:12:29 -07:00
James Rowe
ac90cd0378
Change Present to finish only after swap
2019-11-09 13:12:29 -07:00
James Rowe
27d0fc64d0
Add texture mailbox support to opengl renderer.
2019-11-09 13:10:17 -07:00
Khangaroo
df99d98240
specify size of buffer and use openglstate in getteximageoes
2019-11-09 12:58:17 -07:00
khang06
a458155f99
texture dump hotkey (ctrl+d)
...
address more comments
2019-11-09 12:56:30 -07:00
Khangaroo
5450d4980d
crash hotfix (no clang-format because on phone)
...
hotfix 2: check if the texture is custom before dumping
hotfix 4: fix custom texture conflict detection
2019-11-09 12:56:28 -07:00
Khangaroo
ae4aaf2fc1
nested folder support + refuse to load incompatibly sized textures + general cleanups
2019-11-09 12:56:27 -07:00
Khangaroo
8a98310a16
address more comments, fix dumping textures that already got dumped
2019-11-09 12:56:27 -07:00
Khangaroo
c2a32e942b
address more comments
2019-11-09 12:56:27 -07:00
Khangaroo
650fe6447d
generate mipmaps (for now)
2019-11-09 12:56:27 -07:00
Khangaroo
f09489475a
fix texture dumping on opengl es, create load folder if none exists if custom textures is enabled
2019-11-09 12:56:27 -07:00
Khangaroo
254f8a4643
fix inverted texture dump error message path
2019-11-09 12:56:27 -07:00
Khangaroo
8b881ac1fc
fix preload textures being enabled when it shouldn't
...
address more comments
2019-11-09 12:56:25 -07:00
Khangaroo
391e552927
qimageinterface fixes, remove old lodepng, address more comments
2019-11-09 12:56:24 -07:00
Khangaroo
b81c15941e
add image interface, remove lodepng from video_core/core, address more comments, fix comments
...
remove unnecessary conversion
2019-11-09 12:56:21 -07:00
Khangaroo
5940361b81
new-line that clang-format didn't fix
...
address some comments
2019-11-09 12:56:17 -07:00
Khangaroo
59b475a4b9
implement custom texture preload
2019-11-09 12:56:17 -07:00
Khangaroo
657a129b60
handle upscaling and offsets (fixes oot3d)
2019-11-09 12:54:43 -07:00
Khangaroo
6d90c42a79
fix crashes, add custom texture cache, load textures from load directory
2019-11-09 12:54:40 -07:00
Khangaroo
f866b2a917
texture replacement (also messy)
2019-11-09 12:53:16 -07:00
khang06
deff865ac9
initial sloppy texture dumping implementation (opengl only)
2019-11-09 12:53:16 -07:00
khang06
2b92065d2a
add lodepng as an external, have video_core depend on it
2019-11-09 12:48:23 -07:00
James Rowe
c1d3b5e61c
Merge pull request #4934 from vitor-k/boost_remnant
...
Remove boost headers not currently used
2019-09-18 10:57:37 -06:00
BreadFish64
d0decf2166
remove ugly msvc hack
...
the bug appears to be fixed so there's no reason to keep this around
2019-09-15 22:35:21 -05:00
vitor-k
147a7f0dec
Remove boost headers not currently used
2019-09-15 15:18:38 -03:00
Pengfei Zhu
4bc22aa350
Merge pull request #4918 from vitor-k/warnings
...
Silence warnings from unused code and mismatched declaration
2019-09-06 22:08:06 +08:00
vitor-k
61f9710d95
remove unused call to nodiscard function
2019-09-05 17:11:38 -03:00
Weiyi Wang
dd3ba7bd21
opengl: remove hw geometry shader related stuff
2019-08-18 20:07:50 -04:00
Weiyi Wang
b4d45b57c7
Merge pull request #4879 from tywald/accurate-gs-on
...
Remove 'Accurate Geometry Shader' setting
2019-08-18 15:52:45 -04:00
James Rowe
62e6c147ae
Add perf stat logging through ini setting
...
For better tracking of performance regressions on incoming changes, this
change adds a way to dump frametime to file by changing an ini config
option. This is intentionally hidden as its only useful to a small
number of individuals, and not really applicable to the general
userbase.
2019-08-14 21:17:27 -06:00
zhupengfei
0224ae13c4
video_core: Implement frame dumping
...
Two PBOs are used to speed up pixel copying process. To avoid getting the wrong speed/FPS, a new parameter is added to DrawScreens about whether to increase the frame count.
2019-08-13 19:28:04 +08:00
zhupengfei
778cc68114
renderer_base: Add prepare/cleanup function interface
...
This should be called by the video dumper backend to tell the video core to create necessary buffers/storage, etc.
2019-08-13 19:28:04 +08:00
tywald
aad8261534
Remove 'Accurate Geometry Shader' setting, default behavior is as it was turned on.
2019-08-12 02:55:14 +02:00
Hamish Milne
e3cefe5a5d
Use a clear texture instead of texture 0 (solid black) in the GL rasterizer ( #4844 )
...
* Add OpenGLState.default_texture and set it to Clear in OpenGLRasterizer
* Localize the fix to the GL rasterizer
* Revert unwanted change
2019-08-10 11:05:00 +02:00
Weiyi Wang
0269cb6e67
gl_rasterizer: decrease vertex buffer size ( #4703 )
...
Nvidia seems to have flickering issue with pokemon for some specific vertex buffer size. The root cause is still unknown. This is just a workaround
2019-08-10 10:51:24 +02:00
xperia64
8131bd32e3
renderer_opengl: Add support for custom shaders ( #4578 )
...
* Add Anaglyph 3D
Change 3D slider in-game
Change shaders while game is running
Move shader loading into function
Disable 3D slider setting when stereoscopy is off
The rest of the shaders
Address review issues
Documentation and minor fixups
Forgot clang-format
Fix shader release on SDL2-software rendering
Remove unnecessary state changes
Respect 3D factor setting regardless of stereoscopic rendering
Improve shader resolution passing
Minor setting-related improvements
Add option to toggle texture filtering
Rebase fixes
* One final clang-format
* Fix OpenGL problems
2019-08-09 20:00:47 +02:00
weihuoya
899e3eb003
minor fix for opengles
2019-07-28 21:18:38 +08:00
Weiyi Wang
909d04ddea
Remove unused stuff
...
Some unused variables are still kept in services, as they are parameters passed from the command buffer and might be used in the future
2019-07-16 20:27:03 -04:00