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
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
84da0327d6
GLQueueRunner: Make DrawIndexed parameters more consistent.
2023-05-23 17:49:11 +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
47931deda7
Switch to FastVec for commands. Slower than std::vector!
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
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
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
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
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
Henrik Rydgård
cc16eb8321
Shrink the GLRRenderCommand struct from 152 to 88 bytes
...
Turns out the VR work bloated it a bit, which can't be good.
Think it's fine to allocate these view matrices on the heap to get them
out of the way, there won't be that crazy many per frame usually.
2023-05-10 00:24:17 +02:00
haoruiwang
7cbb7a09e5
[what][style][gpu] some coding style refine
2023-04-18 19:18:38 +08:00
haoruiwang
41d561895b
[what][style][gpu] some coding style refine
...
[how]
1. use comment instead of unnecessary logic comparison
2. remove some useless code
3. move some implemention code from header to source
4. some more assert
2023-03-16 15:07:24 +08:00
Henrik Rydgård
b4aa120298
OpenGL readback: Move any format convert to when the data is read.
...
Eliminates a copy, and will fit better with delayed readbacks.
2023-02-07 12:12:00 +01:00
Henrik Rydgård
d502198aa3
Move GLFrameData out of GLRenderManager.
...
Small refactor to prepare for adding delayed readback support to the
OpenGL backend.
2023-02-07 12:12:00 +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
b62572a78f
Refactor the framedata/GPU thread management.
2023-01-30 11:49:31 +01:00
Henrik Rydgård
f7df69f50c
Change a Crash() to an _assert_msg_
2023-01-01 17:23:24 +01:00
Henrik Rydgård
aa51bfd1ef
Use GPU "use" flags to replace IsVRBuild in the renderer. It remains elsewhere.
2022-10-17 19:57:11 +02:00
Lubos
fb875b94de
OpenXR - Multipass rendering fixed
2022-09-04 14:01:17 +02:00
Luboš Vonásek
11a6318509
Merge branch 'hrydgard:master' into feature_openxr_stereo
2022-08-24 19:50:45 +02:00
Henrik Rydgård
eb2f12e64a
Drive-by texture slot management cleanup
2022-08-24 10:22:58 +02:00
Lubos
ab6c91c203
OpenXR - Integrate multiview into system
2022-08-14 18:51:45 +02:00
Henrik Rydgård
6f1f482432
Make GLQueueRunner/RenderManager aware of device caps, use it to check for NPOT and some other stuff
2022-08-07 11:15:23 +02:00
Henrik Rydgård
fecf9127a0
Implement 3D texturing in the OpenGL backend too. Assorted fixes.
2022-07-31 10:43:48 +02:00
Henrik Rydgård
d0d53091a8
Change from maxLevel to levelsToLoad, for better readability. Cleanup.
2022-07-30 10:45:02 +02:00
Henrik Rydgård
df6abe83a3
Support depth clamping in OpenGL where available.
...
Should make support for depth texturing quite easy.
Unfortunately, this extension does not exist on OpenGL ES. There we'll
have to use ugly tricks with gl_FragDepth if we want this.
2021-07-09 21:09:44 +02:00
Henrik Rydgård
6310af25fa
Get shader color write masking going on all backends.
2020-11-08 23:45:47 +01:00
Henrik Rydgård
207b76da6e
Show an error on screen if a shader fails to compile.
...
Part of #1 investigation of #13541
2020-11-05 08:27:13 +01:00
Henrik Rydgård
f526f5977b
OpenGL: Disable auto invalidation of framebuffers, it has somehow broken
...
(Breaks DBZ: Tag Team)
2020-10-17 12:51:45 +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