5ccb07933a
gl_state: Remove framebuffer tracking
2020-02-28 17:52:10 -03:00
17a7fa751b
gl_state: Remove image tracking
2020-02-28 17:36:40 -03:00
9677db03da
gl_state: Remove texture and sampler tracking
2020-02-28 17:35:58 -03:00
1bc0da3dea
gl_state: Remove blend state tracking
2020-02-28 17:34:43 -03:00
7d9a5e9e30
gl_state: Remove stencil test tracking
2020-02-28 17:32:05 -03:00
07a954e67f
gl_state: Remove clip control tracking
2020-02-28 17:31:57 -03:00
1eee891f6e
gl_state: Remove clip distances tracking
2020-02-28 17:26:26 -03:00
e8125af8dd
gl_state: Remove rasterizer disable tracking
2020-02-28 17:25:28 -03:00
d3e433a380
gl_state: Remove viewport and depth range tracking
2020-02-28 17:25:18 -03:00
7c16b3551b
gl_state: Remove scissor test tracking
2020-02-28 17:00:23 -03:00
0914c70b7f
gl_state: Remove color mask tracking
2020-02-28 16:59:17 -03:00
2392b548be
gl_state: Remove clamp framebuffer color tracking
...
This commit doesn't reset it for screen draws because clamping doesn't
change anything there.
2020-02-28 16:58:30 -03:00
f92236976b
gl_state: Remove multisample tracking
2020-02-28 16:57:47 -03:00
04d1134191
gl_state: Remove framebuffer sRGB tracking
2020-02-28 16:55:23 -03:00
d5ab0358b6
gl_state: Remove VAO cache and tracking
2020-02-28 16:54:37 -03:00
2a662fea36
gl_state: Remove depth clamp tracking
2020-02-28 16:53:35 -03:00
e1a16a52fa
gl_state: Remove depth tracking
2020-02-28 16:52:46 -03:00
0f343d32c4
gl_state: Remove primitive restart tracking
2020-02-28 16:51:45 -03:00
42708c762e
gl_state: Remove logic op tracker
2020-02-28 16:51:23 -03:00
915d73f3b8
gl_state: Remove blend color tracking
2020-02-28 16:50:58 -03:00
a0321b984f
gl_state: Remove polygon offset tracking
2020-02-28 16:49:20 -03:00
f646321dd0
gl_state: Remove alpha test tracking
2020-02-28 16:48:57 -03:00
c8f5f54a44
gl_state: Remove cull mode tracking
2020-02-28 16:48:23 -03:00
925521da5f
gl_state: Remove front face tracking
2020-02-28 16:47:59 -03:00
d2d5554296
gl_state: Remove point size tracking
2020-02-28 16:39:44 -03:00
b95f064b51
gl_rasterizer: Add oglEnablei helper
2020-02-28 16:39:44 -03:00
1698143a1d
gl_rasterizer: Add OpenGL enable/disable helper
2020-02-28 16:39:44 -03:00
96ac3d518a
gl_rasterizer: Remove dirty flags
2020-02-28 16:39:27 -03:00
5056d23d0d
renderer_opengl: Fix SRGB presentation frame tracking.
...
- Fixes SRGB in Super Smash Bros. Ultimate.
2020-02-28 01:13:38 -05:00
ebbfe73557
renderer_opengl: Reduce swap chain size to 3.
2020-02-27 19:50:17 -05:00
a17214baea
renderer_opengl: Use more concise lock syntax.
2020-02-26 18:35:35 -05:00
aef159354c
renderer_opengl: Move Frame/FrameMailbox to OpenGL namespace.
2020-02-26 18:28:50 -05:00
795893a9a5
renderer_opengl: Create gl_framebuffer_data if empty.
2020-02-25 21:23:02 -05:00
dc672ca4b3
renderer_opengl: Add texture mailbox support for presenter thread.
2020-02-25 21:22:59 -05:00
add2c38b73
renderer_opengl: Add OGLRenderbuffer to resource/state management.
2020-02-25 21:22:58 -05:00
78ab2e0474
Merge pull request #3417 from ReinUsesLisp/r32i
...
texture: Implement R32I
2020-02-25 14:08:45 -05:00
e22ad52cdb
Merge pull request #3425 from ReinUsesLisp/layered-framebuffer
...
texture_cache: Implement layered framebuffer attachments
2020-02-24 10:14:50 -05:00
754aac331f
Merge pull request #3422 from ReinUsesLisp/buffer-flush
...
surface_base: Implement texture buffer flushes
2020-02-22 23:09:50 -05:00
b2bc7682b4
Merge pull request #3414 from ReinUsesLisp/maxwell-3d-draw
...
maxwell_3d: Unify draw methods
2020-02-19 16:13:50 -05:00
c8261a1a57
Merge pull request #3411 from ReinUsesLisp/specific-funcs
...
gl_rasterizer: Use the least generic OpenGL draw function possible
2020-02-19 15:37:41 -05:00
6a0220b2e1
texture_cache: Implement layered framebuffer attachments
...
Layered framebuffer attachments is a feature that allows applications to
write attach layered textures to a single attachment. What layer the
fragments are written to is decided from the shader using gl_Layer.
2020-02-16 04:19:32 -03:00
fd62bdf377
surface_base: Implement texture buffer flushes
...
Implement downloads to guest memory from texture buffers on the generic
cache and OpenGL.
2020-02-16 04:13:27 -03:00
14c2a4a2ec
texture: Implement R32I
2020-02-15 16:26:50 -03:00
91aa58e410
maxwell_3d: Unify draw methods
...
Pass instanced state of a draw invocation as an argument instead of
having two separate virtual methods.
2020-02-14 18:09:40 -03:00
6d3a046caa
query_cache: Address feedback
2020-02-14 17:38:27 -03:00
bcd348f238
vk_query_cache: Implement generic query cache on Vulkan
2020-02-14 17:38:27 -03:00
c31382ced5
query_cache: Abstract OpenGL implementation
...
Abstract the current OpenGL implementation into the VideoCommon
namespace and reimplement it on top of that. Doing this avoids repeating
code and logic in the Vulkan implementation.
2020-02-14 17:38:27 -03:00
73d2d3342d
gl_query_cache: Optimize query cache
...
Use a custom cache instead of relying on a ranged cache.
2020-02-14 17:38:27 -03:00
aae8c180cb
gl_query_cache: Implement host queries using a deferred cache
...
Instead of waiting immediately for executed commands, defer the query
until the guest CPU reads it. This way we get closer to what the guest
program is doing.
To archive this we have to build a dependency queue, because host APIs
(like OpenGL and Vulkan) use ranged queries instead of counters like
NVN.
Waiting for queries implicitly uses fences and this requires a command
being queued, otherwise the driver will lock waiting until a timeout. To
fix this when there are no commands queued, we explicitly call glFlush.
2020-02-14 17:33:13 -03:00
ef9920e164
gl_rasterizer: Sort method declarations
2020-02-14 17:27:17 -03:00