Henrik Rydgård
6d8069dfd1
Vulkan: Remove the remains of the input attachment experiment
...
Haven't been using these for a while.
I've come to the conclusion here that I think it's better to try to
deal with the issues using safe workarounds like copies, instead of
relying on features with somewhat iffy driver support that are not
universal across APIs anyway.
2023-06-13 20:46:27 +02:00
Henrik Rydgård
22632b82bd
Merge pull request #17565 from hrydgard/breakout-vcache-vulkan
...
Vulkan: Breakout the vertex cache logic from DoFlush()
2023-06-13 09:56:52 +02:00
Henrik Rydgård
880379c15d
Extract some minor changes from #17497
2023-06-12 20:20:06 +02:00
Henrik Rydgård
d90671e877
Add some comments.
2023-06-12 13:16:13 +02:00
Henrik Rydgård
75dd31894c
Followup to #17471 : Fix Lubos' VR sky clearing hack
2023-06-04 10:18:52 +02:00
Henrik Rydgård
27b8d27efc
Add a different assert to SetGLCoreContext.
2023-06-03 11:57:08 +02:00
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