Commit graph

19 commits

Author SHA1 Message Date
kd-11
82439327fa gl: Support loading data from SSBO using compute shaders
- Gives better performance than using raw draw calls.
- Does not work with all formats. The draw call version is still used when needed.
2022-07-13 02:09:58 +03:00
kd-11
f60002e87d gl: Optimize memory barriers a bit
- Move waits to server side
- Increase the scratch buffer size to avoid waiting on barriers
2022-07-13 02:09:58 +03:00
kd-11
9fc6382909 gl: Finalize BGRA storage format internals
- Performance is terrible but it works properly now
2022-07-13 02:09:58 +03:00
kd-11
ebad08aa97 gl: Fix image creation for virtual formats 2022-07-13 02:09:58 +03:00
kd-11
bb5ce67d57 gl: Handle corner cases for CopyBufferToImage
- Handle 3D textures and cubemaps
- Handle writing to mip > 0
2022-07-13 02:09:58 +03:00
kd-11
f948ce399e gl: Implement CopyBufferToImage in software
- Overrides the drivers CopyBufferToImage handling where possible
2022-07-13 02:09:58 +03:00
kd-11
954c60947d gl: Avoid calling gl functions without a context even if the object is GL_NONE
- While calling glDestroyXXXX with GL_NONE is a no-op, calling it without a context will crash some drivers.
2022-07-13 02:09:58 +03:00
kd-11
98b6783c05 gl: Fix image views broken after refactor 2022-07-13 02:09:58 +03:00
kd-11
0894d2886a Fix build 2022-07-13 02:09:58 +03:00
kd-11
35ef19cfc8 gl: Refactor the rest of GLHelpers 2022-07-13 02:09:58 +03:00
kd-11
09824a718f gl: Separate BGRA8 storage from RGBA8 2022-07-13 02:09:58 +03:00
kd-11
6c315e8aee gl: Disallow overlapping binding points 2022-06-05 10:13:41 +03:00
kd-11
f0a02e0d9d gl: Fix leaking texture views 2022-06-04 14:02:33 +03:00
kd-11
8185bfe893 gl: Track image destruction and remove handles from state tracker
- Handles are reused for different resources which can cause problems
2022-06-04 14:02:33 +03:00
kd-11
d577cebd89 gl: Refactor image and command-context handling
- Move texture object code out of the monolithic header
- All texture binds go through the shared state
- Transient texture binds use a dedicated temp image slot shared with native UI
2022-06-04 14:02:33 +03:00
kd-11
25c05867d6 gl: Fix ring buffer remove() function
- Fixes crash on running a second game in the same session
2022-06-03 11:54:09 +03:00
kd-11
a421270c19 gl: Use new scratch buffer system 2022-06-03 11:54:09 +03:00
kd-11
764fb57fdc gl: Implement scratch ring buffer with memory barriers 2022-06-03 11:54:09 +03:00
kd-11
3fd846687e gl: Refactor buffer object code 2022-06-03 11:54:09 +03:00