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
ee6234ecb6
I18N: Switch to getting categories by index instead of by string lookup
...
Also gets rid of the shared_ptr usage, and generally makes things nicer.
Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård
d586ec0d5e
Don't create Host objects except in headless/unittest
2023-03-25 10:47:01 +01:00
Henrik Rydgård
9e125eeba7
Remove NotifyUserMessage from Host
2023-03-25 10:32:09 +01:00
Henrik Rydgård
72bed6f2b5
Some DeviceLost/DeviceRestore cleanup
2023-02-26 11:05:52 +01:00
Henrik Rydgård
4c45f8a4b0
Pass in draw directly in GPUCommon::DeviceRestore, instead of awkwardly fetching it
2023-02-25 23:04:27 +01:00
Henrik Rydgård
8fb75e0c12
Unify most of the DebugGetShader* functions
2023-02-25 16:42:09 +01:00
Henrik Rydgård
92ee6e6a75
Remove more redundant functions
2023-02-25 16:33:09 +01:00
Henrik Rydgård
c2c479b217
Remove function InitClear. Was only implemented for DX9, and only barely meaningful in non-buffered.
2023-02-25 16:32:50 +01:00
Henrik Rydgård
8ba665e258
More unification work
2023-02-25 16:12:24 +01:00
Henrik Rydgård
c74f5b2189
Prepare for unifying more stuff
2023-02-25 16:01:32 +01:00
Henrik Rydgård
285ffbaa52
Unify CopyDisplayToOutput
2023-02-25 14:42:15 +01:00
Henrik Rydgård
18999c3687
Create the GPUCommonHW class.
2023-02-25 14:42:10 +01:00
Henrik Rydgård
0d57f3beee
Unify GPUCommon::DoState.
2023-02-25 12:21:03 +01:00
Henrik Rydgård
609a8f6d36
Unify ExecuteOp between the accelerated backends
2023-02-25 12:21:03 +01:00
Henrik Rydgård
ed03348c65
Unify PreExecuteOp, keep the soft GPU as a special case
2023-02-25 12:21:03 +01:00
Henrik Rydgård
da561aa9de
Unify CheckFlushOp
2023-02-25 12:21:03 +01:00
Henrik Rydgård
d426ce5118
Clear depth buffers after changing depth rounding mode.
...
And thus change of depth buffer scale/offset.
Previously, old depth buffers with values that now are out of range
could stick around, causing #16941 . This clears them to the expected 0
value, which helps Outrun. Ideally we should convert depth buffers to
the new format, but if we can get away without that, that's also nice.
This is enough for #16941 .
2023-02-10 10:03:14 +01:00
Henrik Rydgård
b62572a78f
Refactor the framedata/GPU thread management.
2023-01-30 11:49:31 +01:00
Unknown W. Brackets
06045b9459
GLES: Cache equal flag, load from cache.
2023-01-05 18:24:29 -08:00
Unknown W. Brackets
5749b5a825
GPU: Clear shaders on use flag change.
2023-01-05 18:24:29 -08:00
Unknown W. Brackets
0b6635c2dc
GLES: Avoid switch-case on older glsl.
2023-01-02 14:57:06 -08:00
Unknown W. Brackets
86d748fa0c
GLES: Use uint for uint shift amounts.
...
This seems to cause trouble for some Adreno drivers as well.
2023-01-02 14:37:38 -08:00
Unknown W. Brackets
5180486ded
GLES: Force frag test cache on for Intel.
...
Seeing drivers report errors trying to shift the alpha value in the test.
Only seeing these errors in fragment shaders, though.
2023-01-02 13:21:47 -08:00
Unknown W. Brackets
fdf5fefa91
GPU: Normalize CopyDisplayToOutput across backends.
2022-12-30 12:33:02 -08:00