Henrik Rydgård
10f93875c6
Fix the semantics of DenseHashMap to be consistent even when inserting nulls
2023-09-11 12:07:18 +02:00
Henrik Rydgård
880379c15d
Extract some minor changes from #17497
2023-06-12 20:20:06 +02:00
Henrik Rydgård
53aa2cc596
Apply stencil writemask when clearing properly again, see #17478
...
Also renames vpAndScissor to vpAndScissor_ for consistency.
2023-06-12 11:49:44 +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
f56ef63ef5
Remove redundant function
2023-05-23 16:50:25 +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
d56e27aa2c
Let's have DispatchFlush check for drawcalls before calling DoFlush, too.
2023-05-03 23:49:41 +02:00
Henrik Rydgård
72bed6f2b5
Some DeviceLost/DeviceRestore cleanup
2023-02-26 11:05:52 +01: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
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
Henrik Rydgård
70d1d8fa07
Replace the "GetCurrentStepId"-based state invalidation with callbacks
2022-11-24 10:52:42 +01:00
Henrik Rydgård
c846c2dfa8
Remove confusing resetFramebufferRead flag from secondary framebuffer binding
2022-09-03 14:48:07 +02:00
Henrik Rydgård
08e2d951b4
State handling reordering in D3D11 and D3D9 backends.
2022-08-05 23:07:01 +02:00
Henrik Rydgård
41e327a66b
Cleanup and testfixes
2022-08-03 13:34:59 +02:00
Henrik Rydgård
b88d676f78
Remove the vertex cache from the OpenGL backend.
...
It was disabled for a very long time, and now that we've re-enabled it, it
mostly causes problems.
Not feeling like debugging it on weird hardware, I think it's better
to focus energy on other optimizations.
2021-11-06 00:45:43 +01:00
Henrik Rydgård
391b8155c5
More work on detangling the concepts and making things make more sense.
2020-11-08 13:14:23 +01:00
Henrik Rydgård
0b1b36921e
Move the now-renamed fragment shader generator to GPU/Common.
2020-10-31 19:03:14 +01:00
Henrik Rydgård
886a8b1ac6
Remove Timer.cpp/h. Move various collections into Common/Data/Collections.
2020-10-05 21:05:23 +02:00
Henrik Rydgård
0e3a84b4a8
Move most GPU things to Common.
...
It works after the move, on Windows and Android at least.
Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Unknown W. Brackets
15c25be42b
GPU: Switch vertex/lookup hashes to XXH3.
...
This is faster pretty much everywhere.
2020-08-27 20:37:49 -07:00
Unknown W. Brackets
56f4335915
GLES: Delay buffer use in vertex cache.
...
This creates the buffer on frame 2, starts using it on frame 3.
2020-05-24 14:47:41 -07:00
Henrik Rydgård
370678c498
Do a similar thing for D3D (let the backend handle the dirtying).
2020-05-24 20:57:59 +02:00
Henrik Rydgård
bebf649705
OpenGL/Vulkan: Rework the contract around dynamic state. Removes some ugly dirtying from the GL render manager.
2020-05-24 20:27:58 +02:00
Unknown W. Brackets
ac60e2ecd4
GPU: Track HW tess at start of frame too.
...
This also makes it so we don't force the setting off when you change
backends, and just ignore it if unsupported.
2020-04-04 11:52:32 -07:00
xebra
ef53195ae8
[spline/bezier]Surround with namespace Spline.
2018-10-07 23:54:28 +09:00
xebra
41823f8780
[spline/bezier]Fix GLES texture resolution of HW tess to real 2D to avoid huge width in FF4CC mist dragon morphing.
2018-10-07 23:54:23 +09:00
xebra
03b9492f08
[spline/bezier]Sharing textures to avoid heavily textures creation/deletion in one frame. At least, it occurs about 1000 and very slow down in Pursuit Force.
2018-10-07 23:54:12 +09:00
xebra
a48a5b32f0
[spline/bezier]Unify hardware tessellation of bezier and spline.
2018-10-07 23:54:06 +09:00
xebra
3c0fb44f2e
[spline/bezier]Improve hwtess to use cached weights.
2018-10-07 23:54:05 +09:00
xebra
1b076f8324
[spline/bezier]Improve HW tess on Opengl to combine 3 textures into a single texture and use it.
2018-10-07 23:54:03 +09:00
xebra
966ff32ee7
[spline/bezier]Improve the logic of copying control-points.
2018-10-07 23:53:36 +09:00
Henrik Rydgård
0d6be3a476
GLES: Refresh the draw context in DrawEngineGLES on DeviceRestore. How did we miss this?
2018-05-27 22:25:15 +02:00
Henrik Rydgård
117dad8a48
Just add some constants for the GL texture slots.
2018-04-13 09:11:08 +02:00
Henrik Rydgård
feb4694acc
Unify DispatchSubmitPrim as much as possible
2018-02-26 11:33:17 +01:00
Henrik Rydgård
23980065ba
Unify all the DrawEngine::SubmitPrim
2018-02-26 11:07:30 +01:00
Henrik Rydgård
c21b02a22d
gl-render-manager: Use properly scaled scissor rectangle, oops. Fixes higher resolutions.
2018-01-31 19:36:32 +01:00
Henrik Rydgård
ccdb4d186d
gl-render-manager: Fix HW tesselation. Remove 1D texture support, likely no benefit.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
51f467a7b3
Kill off the GL state cache
2018-01-27 15:10:17 +01:00
Henrik Rydgård
f3282dcfda
Delete the gl name cache (might resurrect it on the GLQueueRunner side if needed later). Other cleanup and fixes.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
bd6818198a
More GLRenderManager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
376d92fcc9
Start messing with the draw engine...
2018-01-27 15:10:17 +01:00
Henrik Rydgård
9340260802
Finish the shader manager (almost)
2018-01-27 15:10:17 +01:00
Henrik Rydgård
b10b24feea
GLES device lost/store fixes
2017-12-10 02:05:25 +01:00
Henrik Rydgård
7d0fc9ce65
Rework GL lost-device to work more like Vulkan. Gets rid of gl_lost manager etc.
2017-12-07 15:05:59 +01:00
Henrik Rydgård
713afdfe49
Refactor: Unify DecodeVerts and move ComputeNumVertsToDecode to Common
2017-11-19 12:39:09 +01:00
Henrik Rydgård
10cebb4195
32-bit buildfix
2017-08-20 15:33:53 +02:00
Henrik Rydgård
e0e13e191f
Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap.
2017-08-20 11:30:19 +02:00
Henrik Rydgård
5e788ffadf
Implement vertex caching for Vulkan.
2017-08-17 11:22:45 +02:00
Henrik Rydgård
e55b6ac4af
Unify SetupVertexDecoder
2017-06-03 18:05:46 +02:00
Henrik Rydgård
14a80968cf
Unify transformed arrays
2017-06-03 18:05:21 +02:00