kd-11
65d20f2d08
gl: Add mesa support for polygon offset
2022-10-11 14:00:34 +03:00
kd-11
a229e30b08
rsx: Implement RSX-compliant polygon offset
2022-10-11 14:00:34 +03:00
kd-11
d246a37b11
rsx: Move fp16 toggle to a global shader precision option
2022-10-11 14:00:34 +03:00
kd-11
df46e5137c
gl: Fix texture reconstruction logic
...
- Use correct target types
- Fix key generation to apply differently for each target type
2022-10-07 11:53:34 +03:00
kd-11
7140e82189
rsx: Fix program invalidation rules
2022-10-07 11:53:34 +03:00
kd-11
87411da95f
gl: Explicitly declare gl_Position as invariant when using MESA
2022-10-06 06:41:24 +03:00
kd-11
533f960854
rsx: Handle some more corner cases
2022-10-03 12:57:16 +03:00
kd-11
765208a181
rsx: Avoid clobbering CELL memory when splitting fbos
2022-10-03 12:57:16 +03:00
kd-11
4417701ea7
rsx: Track orphaned surfaces' parent addresses
2022-10-03 12:57:16 +03:00
kd-11
19dd2a693b
gl: Fix transform job assert
2022-09-27 14:58:47 +03:00
kd-11
dd8a337b14
rsx: Fix some more warnings
2022-09-22 23:46:48 +03:00
kd-11
0572d44996
gl: Fix enum collision
2022-09-22 23:46:48 +03:00
kd-11
38aa116c59
Fix build
2022-09-22 23:46:48 +03:00
kd-11
362a26a404
gl: Fix D24X8 accelerated encode/decode
...
- PS3 D24X8 is swapped as a full word, unlike PC.
- Add missing paths to handle custom swap behavior.
2022-09-22 23:46:48 +03:00
kd-11
81fa3da101
gl: Minor optimization around test..set patterns in the state tracker
2022-09-22 23:46:48 +03:00
kd-11
3dc7b64fa1
rsx: Fix initialization of null cubemap resources
2022-09-19 19:13:46 +03:00
kd-11
79f2c21dfb
gl: Restrict compute image bindings to [0-8]
...
NVIDIA only supports 8 compute image slots even on modern GPUs.
2022-09-19 01:37:10 +03:00
kd-11
df36c44bc2
gl: Avoid UBO/SSBO binding index collisions
...
- Some drivers don't like this. Actually only RADV.
- Almost all GPUs going back 15 years have a large number of UBO slots but limited SSBO slots.
Move UBO slots up as we have tons more headroom there.
2022-09-19 01:37:10 +03:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
Eladash
2e9ee81dcd
CPU preemption control: Improve analysis
2022-09-16 18:57:55 +03:00
kd-11
f43824762a
rsx: Get rid of an allocation in analyse_vertex_data that adds about 5% overhead.
...
This method is called many thousands of times per frame and that single allocation introduces a small perf hit.
Just get rid of it, it doesn't improve anything to have it there.
2022-09-09 23:17:27 +03:00
kd-11
cd53bb7eff
rsx: Avoid on-the-fly ZCULL allocations with unordered_map
2022-09-09 23:17:27 +03:00
kd-11
1f9e04f72d
rsx/vk: Implement flushing surface cache blocks to linear mem
2022-08-23 23:49:46 +03:00
kd-11
f981e05908
rsx: Do not lie about surface details
2022-08-20 01:23:15 +03:00
kd-11
e179adc4a0
rsx: Refactor surface cache storage
2022-08-09 18:32:54 +03:00
kd-11
64b4cfa59f
rsx: Erase surface background when reloading after a pitch mismatch
2022-08-07 22:14:49 +03:00
kd-11
c799ffd223
rsx: Stubs for pitch conversion
2022-08-07 22:14:49 +03:00
kd-11
8181498d86
gl: Alias UBO/SSBO slots to avoid exceeding the available number of binding slots.
...
- The sets are different anyway and should not overwrite each other in a proper driver.
2022-08-03 23:33:31 +03:00
kd-11
57dd611111
gl: Fix incomplete stencil view of depth-stencil texture
...
- Samplers must use point sampling for stencil views
2022-08-03 23:33:31 +03:00
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