Edward Li
eab13e85bc
minor fixes
2025-08-12 15:40:14 +02:00
Flyinghead
6ea61b9084
android: support 4KB and 16KB page sizes on 64-bit platforms
2025-07-06 22:16:06 +02:00
scribam
109e084e18
deps: update glslang ( #1920 )
2025-06-24 16:54:29 +02:00
Flyinghead
9bdb90e605
vk: add missing pp_Texture vertex param (naomi 2)
2025-06-19 17:48:20 +02:00
xander-will
71341a27e4
Integer Scaling + Screen-Level Linear Interpolation Options ( #1976 )
2025-06-13 11:59:15 +02:00
Flyinghead
11de0eda13
dx9: half-pixel shift left, not right
...
Fixes shifting of doom64 screen melt effect
Issue #1939
2025-05-30 18:45:18 +02:00
Flyinghead
27f19a5b54
rend: fix dithering kernel
...
Use the actual PVR2 dithering kernel (standard 4x4 Bayer matrix) used on
real hardware.
Fixes the screen melt effect of Doom64 (per-pixel only).
Issue #1939
2025-05-26 19:27:02 +02:00
scribam
c3275d3c6f
ci: update bsd workflows
2025-05-21 23:22:47 +02:00
Flyinghead
c57b2e1aa7
oit: incorrect color used when src=OTHER_COLOR if dest is 2nd accum
...
Using src=OTHER_COLOR with destination secondary accumulator should use
the secondary accumulator color, not the final one.
Fixes dark gun in Doom 64 with Ultra graphics (bump mapping).
Issue #1771
2025-05-03 11:05:59 +02:00
Flyinghead
9cc3d1030d
vk: (mali) add subpass dependency from subpass 2 to external
...
Add subpass dependency from the last subpass to external/top of pipe.
Fix glitches in upper left corner when using OIT on Mali GPUs.
Issue #1014
Issue #1234
Issue #1356
Issue #1497
Issue #1852
2025-05-03 11:05:49 +02:00
Flyinghead
48e964235c
vk: (mali) add memory barrier in GetLastFrame
...
Add memory barrier between drawing and transfer.
Fix savestate thumbnail image corruption.
Issue #1922
2025-05-03 11:05:40 +02:00
Flyinghead
03f2ef6df0
libretro: fix crash when terminating vulkan context early
...
Issue #1906
2025-05-03 10:57:34 +02:00
Xphalnos
240be07bbb
Misc: Remove Duplicated Semicolons
2025-04-10 11:30:33 +02:00
Flyinghead
786ccf4139
vulkan: fix crash when fast-forwarding with libretro core
...
Issue #1901
2025-04-10 11:29:52 +02:00
Flyinghead
3114394019
Merge remote-tracking branch 'origin/dev'
2025-04-05 22:30:31 +02:00
Flyinghead
130675aae3
gles3: use GL_R8 internal format for fog texture
...
regression due to 3469b7f
Issue #1886
2025-03-28 11:12:30 +01:00
Xphalnos
75d5cc4d63
Use DXGI 1.6 and D3D11_4
2025-03-27 17:42:48 +01:00
Isaac Marovitz
5a110fd666
Replace sprintf with snprintf ( #1884 )
...
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
2025-03-25 18:47:07 +01:00
Xphalnos
ea6d5f8732
Update xxHash to 0.8.3 + Use faster algorithm
2025-03-22 15:58:22 +01:00
Flyinghead
1d9f8ab438
custom textures: fix static deinit order issue
2025-02-27 11:20:31 +01:00
Flyinghead
0bf9c64b1b
Merge remote-tracking branch 'origin/dev'
2025-02-18 09:27:07 +01:00
Flyinghead
6a15e7a3aa
rend: LoD0 of VQ YUV textures is invalid. Use LoD1 instead.
...
Fixes background magenta textures in WSB2K2. Issue #1038
2025-02-02 17:11:22 +01:00
Wunkolo
da9f030a0e
vk: Refactor swapchain format selection
...
Use a series of stable-partitions to sort the list of available formats
to find the best candidate surface-format/color-space that is a non-sRGB
format being presented in an sRGB color-space. Vulkan mandates that all
surface formats that have SRGB forms must also support a UNORM form.
This is basically just RGBA8/BGRA8 on all platforms still, but in a way
that is still capable of falling back to secondary formats in a stable
way in the case that the primary choice is not available. Mobile
devices especially have a LOT of secondary HDR surface formats and other
weird formats that can be used to present such as RGBA16 or RGBA565.
With stable partitions, if we can't get our best option then there is
always a "next best thing" to fall back on rather than relying on the
driver-order.
2025-01-22 18:28:55 +01:00
Wunkolo
a0e1eb0005
vulkan: Allow native `RGB8` screenshot framebuffers when available
...
Some notable devices support native RGB8 color-attachments:
https://vulkan.gpuinfo.org/listdevicescoverage.php?optimaltilingformat=R8G8B8_UNORM&featureflagbit=COLOR_ATTACHMENT
This removes the need to do a manual RGBA->RGB format conversion on the CPU in favor of a direct memcpy from the downloaded texture, when available.
2025-01-22 18:27:20 +01:00
Flyinghead
5b513cac5b
gl: use textureProj for palette texture sampling when possible/available
...
Fixes UV precision issue when doing the Z-divide manually.
Issue #1804
2025-01-21 18:18:05 +01:00
Flyinghead
5efdf58e85
custom texture: skip updating a texture if its hash hasn't changed
...
Some textures are frequently updated because of their location in vram,
close to a hotspot. This causes the custom texture to never be loaded.
This change will skip the unneeded texture update, allowing the custom
tex to replace it when available.
Issue #1812
2025-01-21 18:12:10 +01:00
Edward Li
3114344414
[macOS] Fix booting game stuck at "Starting..." when Video Routing is enabled with OpenGL
2025-01-09 13:59:54 +01:00
oltolm
20ba79668f
fix compiler warnings
2025-01-09 13:59:21 +01:00
Flyinghead
1bd894f941
rend: reset scissoring before drawing final modvol quad
...
See d618abc320
Issue #1797
2025-01-05 22:06:37 +01:00
Flyinghead
c7d030c2e6
uwp: enable vmem. fix dynarec crash. windows: dll loading utility
...
uwp: Fix crash in x64 dynarec when rewriting due to wrong unprotect
range.
uwp: load MapViewOfFileEx dynamically to map regions at a given address.
dll load and function lookup utility.
2025-01-02 11:13:25 +01:00
Flyinghead
7478476f9c
multithreading utilities (periodic, worker thread)
2025-01-02 10:50:46 +01:00
Flyinghead
e18ada7225
rend: reset scissoring before drawing final modvol quad
...
See d618abc320
Issue #1797
2024-12-31 18:22:07 +01:00
Flyinghead
3f8d645c42
rend: last frame was sometimes presented after the game is stopped
...
When the clearLastFrame flag is set, renderers should return false from
Present() and RenderLastFrame() until a new frame is rendered.
2024-12-15 15:55:28 +01:00
Flyinghead
e5b1d56a7c
rend: split texture conversion routines into their own file
2024-12-14 19:07:18 +01:00
Flyinghead
d789b57412
rend: get rid of globals for fog/palette updates & tex cache flush
...
Add state vars to Renderer
Use events to detect loading a state and terminating the game.
Don't present last rendered frame after game terminated.
2024-12-14 17:00:51 +01:00
Flyinghead
421245aeba
lightgun xhair: centralize logic in crosshairNeeded()
2024-12-13 17:21:32 +01:00
Flyinghead
a7f2008763
rend: support planar VQ textures
...
Fixes gens4all emu in teenage mutant ninja turtle collection.
Issue #868
2024-12-12 10:14:30 +01:00
Flyinghead
354d649ebd
Merge remote-tracking branch 'origin/master' into dev
2024-12-07 20:38:55 +01:00
Flyinghead
78fa3ee09e
vulkan: delay updating imgui texture when driver has just been reset
...
Fixes crash when selecting a custom gamepad layout .png (android)
2024-12-03 20:42:54 +01:00
Flyinghead
a9fa33c17a
gl: test glBlitFramebuffer compliance and disable its use if failing
2024-11-26 10:03:33 +01:00
Flyinghead
d0584b8652
vk: defer deleting framebuffers in ScreenDrawer and lr context
...
Defer deleting framebuffers and attachments in ScreenDrawer and lr
context when resizing.
Fixes crash when starting 240pSuite on the lr core.
2024-11-23 13:47:19 +01:00
Flyinghead
b4dcc64ef6
android: draw onscreen gamepad with imgui
...
Get rid of Renderer::DrawOSD.
gl: make a GlQuadDrawer class.
Draw on-screen gamepad using imgui.
Clean up vgamepad interface.
2024-11-22 14:42:51 +01:00
Flyinghead
d618abc320
rend: modifier volumes must be clipped
...
Modifier volumes should also be clipped when needed.
Implement outside clipping for non-OIT renderers.
OIT renderers are less affected since the shadowed polys themselves are
usually also clipped after shadow is applied.
Fixes overflowing shadows in baserunner cams in WSB 2K1.
2024-11-17 12:09:40 +01:00
Flyinghead
3efb87ba6d
vk: fix crash when enabling/disabling EmulateFramebuffer
...
Make sure to end the current render pass with the previous setting.
Fix initial layout of color attachments in OIT.
Fix missing initial transition after Term/Init in !OIT.
Issue #1734
2024-11-11 22:15:57 +01:00
Alexandre Bouvier
32d11dd89c
fix missing include
2024-10-26 19:28:20 +02:00
Flyinghead
b698cc3d10
dx11: reset device context state to fix libretro shaders
...
Reset device context before each render. Rebind palette and fog textures
every frame.
Fixes corruption with libretro shaders.
Issue #1612
2024-10-15 17:28:54 +02:00
Flyinghead
75af269bb8
rend: ignore inside clipping if rect is default value
...
Fixes invisible race start countdown in f355 (arcade).
Issue #1698
2024-10-15 15:55:34 +02:00
Flyinghead
fd475bdd8e
vk: some pipelines don't need the provoking vertex extension
...
ModVol and OIT Final and Clear pipelines don't need it.
2024-10-14 17:19:41 +02:00
Flyinghead
5aec6d05b0
vk: (lr) use one vk::DeviceQueueCreateInfo when possible
...
Using 2 with the same queue index causes a validation error and crash.
2024-10-14 16:39:33 +02:00
Flyinghead
a50164a91b
vk: missing some changes to use VK_FORMAT_R8G8B8A8_UNORM
...
Fixes Naomi 2 games and android on-screen gamepad.
2024-10-13 14:22:50 +02:00