Henrik Rydgård
e9e95d23ce
VulkanDebug log fix, reduce log spam
2023-05-30 18:32:33 +02:00
Henrik Rydgård
49ecc01556
Fix image leak bug when pausing and we're just displaying a framebuffer in memory
2023-05-30 18:29:50 +02:00
Henrik Rydgård
364c205d95
Quick, suboptimal barrier fix for the new UpdateImageLevels functionality
2023-05-30 18:29:49 +02:00
Henrik Rydgård
25662a7f6c
Implement UpdateTextureLevels for D3D11
2023-05-30 14:54:19 +02:00
Henrik Rydgård
3a9ce528e7
D3D11: Break out CreateStagingTexture
2023-05-30 14:43:54 +02:00
Henrik Rydgård
198f9756b8
D3D11 texture upload: Refactor for easier changes
2023-05-30 14:35:22 +02:00
Henrik Rydgård
7c4b9bac90
Cache textures created by MakePixelsTexture and reuse where appropriate.
2023-05-30 14:07:44 +02:00
Henrik Rydgård
0b1abf1de9
Add untested UpdateTextureLevels functionality to three of the four backends
2023-05-30 13:28:04 +02:00
Henrik Rydgård
f54f905be5
Vulkan: Remove support for other index types than 16-bit.
...
We don't have any use for them anyway.
2023-05-30 10:15:34 +02:00
Henrik Rydgård
0eec89c853
Fix a very tiny memory leak
2023-05-29 23:11:35 +02:00
Henrik Rydgård
5eb94350fa
Show the class name in refcount debug asserts
2023-05-29 12:50:45 +02:00
Henrik Rydgård
d167a11b1c
SDL: Add a way to reset OpenGL graphics by pressing F7.
2023-05-29 11:48:03 +02:00
Henrik Rydgård
ad8827ae70
Cleanup, address feedback
2023-05-26 10:28:10 +02:00
Henrik Rydgård
82934b9212
OpenGL queue-runner: Add command counts (debug builds only). Useful for checking optimizations.
2023-05-25 14:15:54 +02:00
Henrik Rydgård
0a069f39c9
Windows: Make double-click-for-fullscreen less oversensitive.
2023-05-25 09:28:55 +02:00
Henrik Rydgård
12106ceb75
Format string fix
2023-05-24 15:52:39 +02:00
Henrik Rydgård
dfb446f89d
Allow other backends than Vulkan to have GPU memory stats. Implement for GL.
2023-05-24 14:33:01 +02:00
Henrik Rydgård
62b41c6640
OpenGL: Add a simple pass list to gpu profiler
2023-05-24 14:08:19 +02:00
Henrik Rydgård
edd208791e
Add tag field to GLRFramebuffer for debugging
2023-05-24 13:47:51 +02:00
Henrik Rydgård
f4035a0802
GLPushBuffer: Fix bug when growing, forgot to mark space used in the new buffer. Old bug!
2023-05-24 13:45:10 +02:00
Henrik Rydgård
84da0327d6
GLQueueRunner: Make DrawIndexed parameters more consistent.
2023-05-23 17:49:11 +02:00
Henrik Rydgård
f1f0bfae2d
Driveby simplification, reduce logspam
2023-05-23 17:09:40 +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
72df93a2f1
GLMemory: Allow "rewind"
2023-05-23 14:41:27 +02:00
Henrik Rydgård
3f5206fa9a
Also dirty-track the viewport
2023-05-23 10:09:38 +02:00
Henrik Rydgård
2081e2865a
Dirty track a bunch more GL state. It's so expensive to change on old devices!
2023-05-23 10:02:10 +02:00
Henrik Rydgård
3b81b3ca80
Do dirty-tracking for stencil state
2023-05-23 09:14:24 +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
234c1f05b8
Apply the same optimizations to the Vulkan backend. Smaller effect than for OpenGL.
2023-05-23 08:54:41 +02:00
Henrik Rydgård
0b9dfac844
Make sure VKRRenderThreadTask isn't copied.
2023-05-23 08:54:41 +02:00
Henrik Rydgård
37906384ee
Use the faster pushes.
2023-05-23 08:54:41 +02:00
Henrik Rydgård
47931deda7
Switch to FastVec for commands. Slower than std::vector!
2023-05-23 08:54:41 +02:00
Henrik Rydgård
558e29a9bb
Switch to the copy-free method of initializing initsteps
2023-05-23 08:54:41 +02:00
Henrik Rydgård
956d784bde
Add FastVec, start using it for InitSteps
2023-05-23 08:54:40 +02:00
Henrik Rydgård
78eaa8c235
Make sure we never copy GLRRenderThreadTask objects
2023-05-23 08:53:48 +02:00
Henrik Rydgård
c30895b6b4
Remove unnecessary variable
2023-05-23 08:53:48 +02:00
Henrik Rydgård
e4a729d371
Remove unnecessary zero-initialization of GLRRenderCommand structs
2023-05-23 08:53:48 +02:00
Henrik Rydgård
b9157fd4d4
Break out EnableDisableVertexArrays
2023-05-23 08:52:42 +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
d7a5edeb6f
GL: Break out GLPushBuffer from GLRenderManager.cpp/h
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
07a96b8734
Merge pull request #17465 from hrydgard/android-content-uri-cpp
...
AndroidContentURI: Move code from the header to cpp.
2023-05-16 16:39:43 +02:00
Henrik Rydgård
c729519cf5
Merge pull request #17442 from hrydgard/glr-render-command-shrink
...
Shrink the GLRRenderCommand struct from 152 to 88 bytes
2023-05-16 16:38:41 +02:00
Henrik Rydgård
cf9a628a2e
AndroidContentURI: Move code from the header to cpp. Some assorted cleanup, add a unit test for Download paths
2023-05-16 16:08:51 +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
c7caefe6d8
Have Draw and DrawIndexed share command and struct. Will make the next change easier.
2023-05-10 10:40:33 +02:00
Henrik Rydgård
d5e0299b0b
GLR: Share union struct between Draw/DrawIndex
2023-05-10 10:32:13 +02:00
Henrik Rydgård
f593d65833
Avoid double-free in stereo mode
2023-05-10 10:13:54 +02:00
Henrik Rydgård
c882046251
Remove redundant render command
2023-05-10 09:23:10 +02:00
Henrik Rydgård
8f2069ef71
GLQueueRunner: Combine BindVertexBuffer with BindIndexBuffer
2023-05-10 09:23:10 +02:00