Commit Graph

3885 Commits

Author SHA1 Message Date
Henrik Rydgård
b1d6f96b03 Release reserved push vertex memory at end of frame 2023-05-25 10:16:27 +02:00
Henrik Rydgård
d37c46d2fc Break out vertex allocation. Add an "Old" mode. 2023-05-25 10:16:27 +02:00
Henrik Rydgård
be068f8033 SIMD-ify 2023-05-25 10:16:26 +02:00
Henrik Rydgård
b879345c79 Eliminate vbuffer rebinds for software transformed draws too. 2023-05-25 10:16:26 +02:00
Henrik Rydgård
d0b3674702 Rough logic fixes. Need to improve on the index overflow check. 2023-05-25 10:16:26 +02:00
Henrik Rydgård
d135ce2d62 It's kinda almost working! 2023-05-25 10:16:26 +02:00
Henrik Rydgård
0472cc2b79 Remove unnecessary program argument to SetupDecFmtForDraw 2023-05-25 10:16:26 +02:00
Henrik Rydgård
f16f879b41 Some renaming to follow the standard of appending _ to member vars 2023-05-23 18:00:50 +02:00
Henrik Rydgård
84da0327d6 GLQueueRunner: Make DrawIndexed parameters more consistent. 2023-05-23 17:49:11 +02:00
Henrik Rydgård
f56ef63ef5 Remove redundant function 2023-05-23 16:50:25 +02:00
Henrik Rydgård
d51d1413a3 DrawEngineCommon: Rename decoded to decoded_ 2023-05-23 16:46:43 +02:00
Henrik Rydgård
d7ea2ebf8a GL: Add tags to push buffers for debug purposes. Double the default vertex buffer size. 2023-05-23 15:53:41 +02:00
Henrik Rydgård
cb38c43d7e GL render manager: Merge the two stencil commands, for more compact command lists 2023-05-23 09:14:23 +02:00
Henrik Rydgård
470ebbfe73 GL: When setting a stencil value for clear, override both func and op for consistency. 2023-05-23 09:14:23 +02:00
Henrik Rydgård
a4baed4c0c Minor GLPushBuffer cleanup (now same API as the VK one) 2023-05-23 08:41:09 +02:00
Henrik Rydgård
05b6bbdc56 Add a trivial profiling tool to the OpenGL backend - meaasure the time it takes to run a frame of commands.
Accessed from the in-game dev menu just like the Vulkan frame profiler.

With this we can easily see that actually submitting the GL commands is often the bottleneck on old
devices like a Galaxy S3.
2023-05-17 14:38:11 +02:00
Henrik Rydgård
9512bc6174 Don't cache render target copies for shader blending, only cache copies for overlap
Fixes #17451, while also keeping the Dante performance fix from #17032.

Of course, it's possible that something else could slow down now... But
hopefully not. This could also fix other problems.
2023-05-11 12:04:29 +02:00
Henrik Rydgård
b27c427547 We always bind and draw together, so let's combine them to one command. 2023-05-10 10:56:25 +02:00
Henrik Rydgård
8f2069ef71 GLQueueRunner: Combine BindVertexBuffer with BindIndexBuffer 2023-05-10 09:23:10 +02:00
Henrik Rydgård
b42670cf59 Manually revert the rest of the lmode optimization 2023-05-09 18:44:24 +02:00
Henrik Rydgård
f42c682d34 Revert "Merge pull request #16628 from hrydgard/remove-fog-fshader-flag"
This reverts commit 10dee90c83, reversing
changes made to 34c11c8acf.
2023-05-08 22:01:38 +02:00
Henrik Rydgård
14887d6b04 Bump shader cache version (should have done it in the release) 2023-05-06 16:15:32 +02:00
Henrik Rydgård
d56e27aa2c Let's have DispatchFlush check for drawcalls before calling DoFlush, too. 2023-05-03 23:49:41 +02:00
Henrik Rydgård
c80671d9ea Debug-assert that there's a renderpass in Flush instead of asserting, and skip if not.
buildfix
2023-05-03 23:49:38 +02:00
Henrik Rydgård
7c420381d5 OpenGL: Some paranoia checks around failed shader generation 2023-05-01 12:11:34 +02:00