Commit graph

1351 commits

Author SHA1 Message Date
Elad 2222807624 RSX/GCM: Fix memory unmapping for HLE GCM 2024-11-01 10:43:46 +02:00
Elad 488814bb2d rsx/vm: Exclude events from VM mutex
Fixes a deadlock from a recent pull request, perhaps also some deadlocks with locking both IDM and VM mutex.
2024-11-01 07:37:57 +02:00
kd-11 5ed7d043c4 Fix build and cleanup 2024-10-23 16:33:44 +03:00
kd-11 c28ec457fd gl: Silence compiler warnings 2024-10-23 16:33:44 +03:00
kd-11 a79ef1efb2 gl: Fix check_state compilation error 2024-10-23 16:33:44 +03:00
kd-11 681debd8f6 gl: Finalize host labels implementation 2024-10-23 16:33:44 +03:00
kd-11 6ce1816e3f rsx: Move the host job management into common code to share with GL 2024-10-23 16:33:44 +03:00
kd-11 7fdfbe3c52 gl: Implement basic DMA layer using AMD_pinned_memory 2024-10-23 16:33:44 +03:00
kd-11 e9a45a6d06 rsx: Clarify OGL and VK difference when handling border texels 2024-10-03 15:02:09 +03:00
kd-11 497b9ba55b rsx: Make use of remapped border colors 2024-10-03 15:02:09 +03:00
kd-11 826f805902 rsx: Use a proper struct to wrap around channel remap operations 2024-10-03 15:02:09 +03:00
kd-11 81f91e2095 Fix GL stencil tracking 2024-08-29 13:08:23 +03:00
Megamouse 3b36df48e9 Vk/Gl/Overlays: Do not blend the alpha channel when rendering overlays
When blending a source pixel with alpha less than 1 onto a texture, we will end up having even less alpha than before.
This can lead to ugly "holes" in the overlays, especially on the edges of glyphs with smooth fonts for example.
We can fix this by only blending the RGB values while keeping the destination's alpha value.
I haven't really seen this happen in RPCS3, but it's better to be safe than sorry.
2024-08-28 01:19:15 +03:00
kd-11 c7b2a21fcb Fix OpenGL behavior under wayland-egl 2024-08-12 04:55:26 +03:00
kd-11 3ef8046f5c rsx: Fix fragment constants decoding for non-x86 platforms 2024-08-09 15:09:26 +03:00
kd-11 f64c912d02 gl: Fixes for asahi linux 2024-08-01 14:14:56 +03:00
Megamouse 461862be46 rsx: make some functions const 2024-06-11 20:35:49 +02:00
kd-11 e966289ddb rsx: Drop hard requirement for GL_EXT_shader_integer_mix 2024-06-10 20:41:45 +03:00
kd-11 14e1214645 rsx: Properly implement 8-bit signed renormalization for textures 2024-06-10 20:41:45 +03:00
Elad Ashkenazi 0b22423ab8 Minor fs::file usage fixes
Do not crash on file creation failure. Make some config writes atomic.
2024-06-10 13:45:23 +03:00
kd-11 75d6765adc gl: Handle GCM_FORMAT_G8B8 readback compatibility check 2024-05-15 04:18:12 +03:00
kd-11 0d0fc23f9e rsx: Use range intersection to speed up xform constants patching 2024-05-12 21:26:25 +03:00
kd-11 b0375d9c9a rsx: Add a base class for vertex programs and implement range intersection for constant IDs 2024-05-12 21:26:25 +03:00
kd-11 cc313bfba1 gl: Implement transform constants patching 2024-05-12 21:26:25 +03:00
kd-11 4cf7b7022e gl: Memoize the bound range for a buffer 2024-05-12 21:26:25 +03:00
oltolm 862727e9bf simplify template code like std::invoke_result<T>::type 2024-04-21 18:15:17 +03:00
kd-11 c1aaa1bcf6 Get reworked RSX to compile 2024-04-13 03:29:57 +03:00
Florin9doi b6bfde6d64 Handle R16G16B16X16_FLOAT
Fix Super Hero Squad
2024-04-12 01:01:14 +03:00
kd-11 175aa510c8 rsx: Make overlay manager default lock-state exclusive 2024-03-28 08:08:21 +01:00
Megamouse afcfd81496 GL: fix segfault in GLGSRender::flip 2024-03-27 16:44:52 +01:00
RipleyTom fd583dbbc3 Cleanup and set -Werror=delete-non-virtual-dtor 2024-03-11 02:30:18 +02:00
Megamouse 2cbd983b4c GL: remove unused params 2024-02-28 14:25:20 +01:00
kd-11 83256cdacb Make clang happy 2024-02-26 18:15:06 +03:00
kd-11 f748fe688c gl: Allow selecting FSR1 upscaling from the settings 2024-02-26 18:15:06 +03:00
kd-11 188f5c7c3c gl: FSR1 cleanup, making it functional 2024-02-26 18:15:06 +03:00
kd-11 838346e4f7 gl: Always log the current renderer visibly. 2024-02-26 18:15:06 +03:00
kd-11 e17c2f2397 gl: Fix compilation 2024-02-26 18:15:06 +03:00
kd-11 071baf63b0 rsx: Implement FSR1 integration for OpenGL 2024-02-26 18:15:06 +03:00
kd-11 1795d5bcc9 gl: Rework the upscalers a bit and define the FSR interface 2024-02-26 18:15:06 +03:00
kd-11 27125c6f72 gl: Remove upscaling 'dst' binding and clean up some awful code in GLPresent 2024-02-26 18:15:06 +03:00
kd-11 12694dcf69 gl: Introduce the concept of scaling passes to the backend 2024-02-26 18:15:06 +03:00
kd-11 c2631c914d rsx: Lower some performance warnings to trace to reduce log spam 2024-02-11 14:24:33 +01:00
kd-11 e5c831a800 rsx/vk: Fix GPU tile encoding
- Decoding also needs some love, but currently WIP
2024-02-10 15:15:02 +03:00
kd-11 1808a4373b rsx: Improvements to the video out passes
- Use shared VS for vulkan as well as GL
- Simplify binding model and give control back to the cpp side
2024-02-02 10:07:23 +01:00
kd-11 bb22afb7f1 gl: Vectorize GL_TEMP_IMAGE_SLOT expression 2024-02-02 10:07:23 +01:00
Megamouse 4e8130bd99 glsl: use textureSize instead of height 2024-02-02 10:07:23 +01:00
Megamouse 32f2b14429 vk/gl: add interlaced 3D mode 2024-02-02 10:07:23 +01:00
Megamouse 651f8512eb vk/gl: add more anaglyph 3D modes 2024-02-02 10:07:23 +01:00
Megamouse 3dac7d16e7 vk/gl: unite video_out_calibration_pass fragment shader to new glsl 2024-02-02 10:07:23 +01:00
Megamouse 240f80b467 gl: add missing else in calibration pass fragment shader 2024-02-02 10:07:23 +01:00