Commit graph

1340 commits

Author SHA1 Message Date
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
Megamouse f28c7d029c overlays: use timestamp for fade animations
Fixes jojo when using sceNp dialogs
2024-01-31 16:33:29 +01:00
kd-11 c3c73c7e24 rsx: Allow native UI render even when we have pending draw calls if FIFO queue is empty. 2024-01-30 16:36:58 +03:00
kd-11 9a9b5860df rsx: Forcefully disable writes to channels disabled on host
- Some formats may have dummy channels on host. Never write to them!
- This means that XRGB formats correctly only write 24 bits, not 32.
2024-01-21 12:30:37 +03:00
kd-11 96d880839a rsx: Properly propagate surface properties on surface reuse. 2024-01-19 12:34:31 +03:00
RipleyTom 0b984e9a23 Add -Werror=implicit-fallthrough to cmake build 2024-01-07 17:29:43 +01:00
kd-11 bc141831f7 gl: Implement display output format correction 2024-01-04 13:03:32 +03:00
kd-11 6c33c38c08 rsx: Fix RSX tiling when using optimized DMA views 2024-01-01 19:44:47 +03:00
kd-11 51fc193395 rsx: De-spaghettify nv3089::image_in
- This function was a disaster with random code added in without much thought over a decade.
- Restructures the logic into decode and transfer steps for easier management.
2023-12-26 18:30:00 +03:00
Megamouse 3f2c75d920 overlays: move debug overlay to native overlay 2023-12-20 23:33:43 +01:00
kd-11 ebf48800e6 rsx: Always enable ROP output rounding if shader precision is higher than low
- Hardware behavior is inconsistent so let's just emulate this when possible
2023-11-21 13:49:16 +03:00
kd-11 673660d362 gl: Fix static sampler bindings
- VS states come before FS mirrors
2023-11-21 13:49:16 +03:00