kd-11
246bf1df64
Use C++17 ctor for string_view
2022-07-21 22:29:40 +03:00
kd-11
9a868e9239
gl: Silence compiler warning
2022-07-21 22:29:40 +03:00
kd-11
ab3cde1939
gl: Do some macro patching for intel driver
2022-07-21 22:29:40 +03:00
kd-11
680f08c2b8
gl: Destroy barrier signals correctly
2022-07-18 18:58:22 +03:00
kd-11
82bac4173e
gl: Reuse scratch images
2022-07-18 18:58:22 +03:00
kd-11
8a8fda3e02
gl: Combine RGBA8/D24S8 readback and byteswap into one operation
2022-07-18 18:58:22 +03:00
kd-11
1c5b685398
gl: Only toggle state settings that are relevant to the current RSX state
2022-07-18 18:58:22 +03:00
kd-11
e95084f138
gl: Use DSA for imageview configuration and avoid needless bind operations
2022-07-18 18:58:22 +03:00
kd-11
e12d268662
gl: Implement support for texture1D decode
2022-07-18 18:58:22 +03:00
kd-11
6a3f17cd36
gl: Fix compute invocation counts for format handling code
2022-07-18 18:58:22 +03:00
kd-11
cdef752a9c
gl: Fix 2D->3D splat in CopyBufferToImage
2022-07-13 02:09:58 +03:00
kd-11
1483941bea
gl: Implement row alignment in CopyBufferToImage routines
2022-07-13 02:09:58 +03:00
kd-11
453e1bfaec
gl: Silence compiler warning
2022-07-13 02:09:58 +03:00
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
599f1dd157
gl: Properly match BGRA RTT 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
4995b4abe3
gl: Do not use raw GL image copy command for RSX data
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
Elad Ashkenazi
fcd297ffb2
Savestates Support For PS3 Emulation ( #10478 )
2022-07-04 16:02:17 +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
b8b0ecabd8
gl: Fix data pointer on the optimized AMD path
2022-06-03 11:54:09 +03:00
kd-11
bb05de2e80
gl: Fix copypasta
2022-06-03 11:54:09 +03:00
kd-11
7890e87234
gl: Fix warning
2022-06-03 11:54:09 +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
kd-11
ff9c939720
gl: Assume decode buffer is to be used as SSBO as this seems to be a hint to the driver about where to put the buffer
...
Part of OpenGL's achilles' heel - the API does not distinguish between VRAM and SYSTEM memory at all and relies on developers wrestling with the driver's heurestic algorithm for this.
2022-06-03 11:54:09 +03:00
kd-11
234db2be3f
gl: Fix texture binding in overlay renderer
2022-06-03 11:54:09 +03:00
kd-11
fc44d53bb0
gl: Reset buffer size on destroying the GPU handle
2022-06-03 11:54:09 +03:00
kd-11
555a4b5f5c
gl: Suggest readback buffer as ssbo if it is not provided
...
- We're likely to jump into a compute or readback pass anyway.
2022-06-03 11:54:09 +03:00
kd-11
a6e6df1445
gl: Implement fast texture readback for D24X8 and RGBA8/BGRA8
2022-06-03 11:54:09 +03:00
kd-11
d167582f6b
gl: Implement on-chip buffer-to-d24x8 conversion
2022-05-31 23:34:14 +03:00
kd-11
dd6cb054a7
gl: Add missing viewport save
2022-05-31 23:34:14 +03:00
kd-11
b97557ce7b
gl: Use DSA for compressed texture upload
2022-05-31 23:34:14 +03:00
kd-11
964fd1095e
gl: Properly preserve texture state
...
- Remove rogue glBindTexture calls and use gl commandstate object instead
2022-05-31 23:34:14 +03:00
kd-11
fcc6c2384b
Fix linux build
2022-05-31 23:34:14 +03:00
kd-11
a5d73f41b5
gl: Remove debug message
2022-05-31 23:34:14 +03:00
kd-11
1b305bf789
gl: Workaround for poor AMD OpenGL performance
...
- Turns out the AMD driver really hates it if you render with a mapped index buffer.
The driver internally seems to make a copy of the consumed indices and uses that. Very slow.
I was able to isolate this after observing that glDrawArrays is not entirely shit, but glDrawElements duration scaled linearly with the number of vertices.
2022-05-31 23:34:14 +03:00