Henrik Rydgård
126d88ecfc
Back out clearly inconsequential/useless .reserve() calls
2023-12-29 08:27:56 +01:00
Herman Semenov
b8748ae9e5
[Common/File/GPU/Render/Input] Using reserve if possible
2023-12-15 14:00:51 +03:00
Henrik Rydgård
d891aaf9cd
Remove code that pretended that we supported multiple vertex streams
...
Don't really see that we'll have much use for this feature, so simplify
it away. Only single vertex stream data is now supported by the thin3d
API.
2023-11-13 01:15:28 +01:00
Henrik Rydgård
db245e1b34
Fix old texture leak in GLES hardware tessellation
2023-09-26 00:38:11 +02:00
Henrik Rydgård
13cfd9c3d6
Add Mesa as a known GPU driver "vendor".
2023-08-17 22:06:03 +02:00
Henrik Rydgård
691c8b8d8d
Write to the frame time history from the other backends too. Needed for the upcoming timing code.
2023-08-16 12:22:49 +02:00
Henrik Rydgård
ff6e118fff
Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically.
2023-08-14 11:02:29 +02:00
Henrik Rydgård
bec9c5611e
Rename PresentationMode to PresentMode
2023-08-14 11:02:29 +02:00
Henrik Rydgård
e651d6e59f
Finish the separation of EndFrame and Present.
2023-08-13 18:40:35 +02:00
Henrik Rydgård
0ccd29f2ba
Revert "OpenGL: Separate submit/present for this backend as well"
...
This reverts commit 0143d67f9b
.
2023-08-12 13:35:21 +02:00
Henrik Rydgård
ed9b033f7d
D3D9/11: Move away from using context->SwapBuffers(), instead move present to draw_->Present().
2023-08-11 01:57:02 +02:00
Henrik Rydgård
0143d67f9b
OpenGL: Separate submit/present for this backend as well
2023-08-10 17:46:10 +02:00
Henrik Rydgård
0deefb82a9
thin3d: Merge BeginFrame and SetDebugFlags (set them every frame anyway)
2023-08-10 17:15:54 +02:00
Henrik Rydgård
1b6d4df3a4
Move the EndFrame/Present split one level out, to NativeApp.cpp
2023-08-10 09:59:29 +02:00
Henrik Rydgård
39d25ce91f
D3D11: Allow setting the max frame latency
2023-08-04 11:53:51 +02:00
Henrik Rydgård
be63ce3a4a
Minor refactor allowing getting the GPU profile string outside games
2023-08-03 16:31:20 +02:00
Henrik Rydgård
adc24b5001
OpenGL: Fix a wrong assert
2023-07-03 01:10:42 +02:00
Henrik Rydgård
2bee5b64e4
Add new icon cache, for caching small images.
...
It doesn't try to insert or fetch missing things itself, re-fetching is up to the caller.
This will be required for handling the many achievement icons.
Saving/loading the cache to a single file on disk is implemented but not
hooked up yet. It works without it, though of course will have to
re-fetch things on the next startup.
2023-06-18 14:11:12 +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
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
edd208791e
Add tag field to GLRFramebuffer for debugging
2023-05-24 13:47:51 +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
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
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
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
42ce619705
Vulkan fastforward: Check the current presentation mode instead of the Vsync setting.
...
After 1.15, I'm gonna clean up the presentation mode/vsync management
across the code base. This works around #17308 for now.
2023-04-26 12:02:42 +02:00
Unknown W. Brackets
58abc7a154
GLES: Avoid shader error for uint with GLSL 1.2.
2023-04-23 09:49:24 -07:00
haoruiwang
7cbb7a09e5
[what][style][gpu] some coding style refine
2023-04-18 19:18:38 +08:00
Henrik Rydgård
25fbfd7a89
Finish up OpenGL compressed texture format checks. Show in dev screen
2023-03-12 12:20:10 +01:00
Henrik Rydgård
49e5460c9c
Remove count parameter from SetViewports. No use foreseen.
2023-02-25 07:12:53 +01:00
Henrik Rydgård
5ad111cfc4
Return value fix
2023-02-08 08:59:47 +01:00
Henrik Rydgård
937975000b
Add a ReadbackMode parameter to more functions in the FramebufferManager
2023-02-05 13:57:45 +01:00
Henrik Rydgård
4427cb4fc3
Add parameter to thin3d::CopyFramebufferToMemory to specify blocking mode. Not yet implemented.
2023-02-04 23:40:36 +01:00
Henrik Rydgård
d43452f0ce
Fix to shutdown sequence
2023-01-30 11:49:31 +01:00
Henrik Rydgård
d83f84fdfd
DrawContext destructor: Need to call DestroyPresets earlier.
2022-12-29 17:32:49 +01:00
Henrik Rydgård
e209227be1
Delete dead code path (initialize EGL from C++ on Android)
2022-12-20 23:17:51 +01:00
Henrik Rydgård
6922ee7e52
Add some asserts in the hope of gathering some more info (and consolidating some crashes).
2022-12-18 21:58:20 +01:00
Henrik Rydgård
675c282286
Hides the D3D9 option on Intel Xe graphics.
...
For whatever reason, it really doesn't work for me, while all three other
backends work perfectly. So let's just hide it.
You can still enable it through the ini file for debugging purposes.
2022-12-11 20:55:09 +01:00
Unknown W. Brackets
a7b7bf7826
Global: Set many read-only params as const.
...
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
f44852bb18
Global: Cleanup virtual/override specifiers.
...
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
b7a3cf56cc
OpenGL: Fix lifetime issue with uniform/sampler "locs" for thin3d pipelines
2022-12-09 20:52:19 +01:00
Henrik Rydgård
0ad6218dc4
Fix "usePrevFrame" shaders for OpenGL
2022-12-09 17:28:58 +01:00
Henrik Rydgård
4dfce4f6bc
Basically working MSAA on desktop GPUs! Some glitches remain.
2022-12-01 22:49:00 +01:00
Henrik Rydgård
6daecb4e2b
Add check for tiling GPUs. We'll use this to inform on what MSAA modes to support.
2022-12-01 22:48:59 +01:00
Henrik Rydgård
331d024a8c
Add a flags parameter to InvalidateCachedState and rename it Invalidate.
...
Also rename the old InvalidationFlags enum to InvalidateCallbackFlags.
2022-12-01 19:15:38 +01:00