Commit Graph

753 Commits

Author SHA1 Message Date
Marcin Mikołajczyk
d7eacc8a17
Set AccessFlagBits::eNone for PresentSrcKHR image layout (#4465) 2026-05-23 11:38:43 -07:00
Hog
fb6502b8f1
fix: Swapped the ResolvedOverlaps Variables (#4405) 2026-05-13 20:33:39 -07:00
Marcin Mikołajczyk
b3bb383982
Enable VK_EXT_image_2d_view_of_3d and create 2D view compatible images if supported (#4397) 2026-05-11 20:13:08 -07:00
Sam Kenny
b48d917e29
Fixes regressions and issues causing PSP emulated games to not run. (#4389)
* Fixes PSP emulation with the following changes:

1. Reserved Memory cannot be mapped, this seems to be incorrect and the
   PSP emulation relies on reserving then mapping memory at startup.
   From other logs, this may affect PS2 emulation as well.

2. Temp directory output may have garbase and the API is not null
   terminating the output, resulting in failures when the file
   path is not valid.

3. Fix misaligned images when viewport is sized for PSP.
   This fixes garbage in movies on the PSP emulator, making the
   movies viewable, scaled correctly for the screen.

4. Some PSP moves render incorrectly without sceVideodec2GetAvcPictureInfo

5. Fix dirty hash size calculation and RGB4444 mapping to fix textures

 These changes combined allow Jean d'Arc, LocoRoco and Patapon to run
 decently.

* fix formatting

* null terminate the temp path rather than using memset

* fix memory mapping in a more correct way

* revert RGB4444 changes as it breaks other games color mapping
2026-05-10 17:22:41 -07:00
rainmakerv2
c79abb6df4
ImGui:: Add position and icon arguments for notifications (#4383)
* add position arg

* add icon args

* fixup

* fix the fixup
2026-05-09 20:29:31 +03:00
squidbus
ac61f4aee2
shader_recompiler: Strip out manual bounds checking (#4380) 2026-05-09 10:05:18 -07:00
rainmakerv2
82c760135f
ImGui:: Notifications (#4379)
* notifications

* cleanup

* clang
2026-05-09 11:14:11 +03:00
Niram7777
4a554535bb
Vulkan fix sync issue, probably never caused issue but it makes validation happy (#4348)
[Render.Vulkan] <Error> (shadPS4:GpuComm) vk_platform.cpp:57 DebugUtilsCallback: SYNC-HAZARD-READ-AFTER-WRITE: vkCmdBeginRendering():
READ_AFTER_WRITE hazard detected. vkCmdBeginRendering reads pRenderingInfo.pColorAttachments[0] (VkImageView 0x5f1a0000005f1a[ImageView 1920x1080x1 0x244980000:0x2aa9800 1:1 0:0 (Color)], loadOp VK_ATTACHMENT_LOAD_OP_LOAD), which was previously written during an image layout transition initiated by vkCmdPipelineBarrier2[gfx:0x213a04c50:DrawIndexAuto].
The current synchronization allows
VK_ACCESS_2_SHADER_READ_BIT accesses at VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT|VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,
VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT accesses at VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT,
but to prevent this hazard, it must allow VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT accesses at VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT.
2026-05-05 14:24:33 -07:00
squidbus
8175194bba
misc: Fix initializer order warnings (#4358) 2026-05-05 14:21:21 -07:00
Marcin Mikołajczyk
f90b89ce61
Float shenanigans (#4327) 2026-04-30 16:55:39 -07:00
baggins183
09c20d4636
Add support for LsHsEsGs (tess + geometry) pipelines where tess in onchip and geometry is offchip (#4328) 2026-04-28 22:41:09 +03:00
Stephen Miller
e33a185423
Recompiler: Use num_records to check if an inline buffer exists (#4323)
* Change buffer check to use num_records instead

* Fix the address fixup check

Since base_address == 0 is possible, this should specifically check against 1 (which we reserve for null buffers).
Kinda shocked TLOU/Uncharted worked at all without setting this.
2026-04-27 08:39:00 +03:00
Jun-Hong Cheng
a762f70df3
Fix Vulkan device sorting logic violating strict weak ordering (#4322) 2026-04-25 13:57:00 -07:00
squidbus
47f5cc1437
shader_recompiler: Only forward declared number of vertex inputs. (#4293)
* shader_recompiler: Only forward declared number of vertex inputs.

* shader_recompiler: Account for clip distance emulation in number of exports.
2026-04-25 18:33:29 +03:00
squidbus
01e8606f14
renderer_vulkan: Fix additional validation errors (#4296) 2026-04-20 17:00:18 +03:00
squidbus
d1643d1475
renderer_vulkan: Add a few more feature support guards. (#4291) 2026-04-20 02:01:09 -07:00
Kravickas
ae1acfa94d
VUID-vkCmdDraw-None-06887 (#4204)
turtle agreed on that
2026-04-20 11:03:41 +03:00
TheTurtle
526c346f90
renderer_vulkan: Renderer microoptimizations (#4290)
* renderer_vulkan: Microoptimizations from profiling

* buffer_cache: Only use streaming path on cpu modified memory

If the pages arent cpu modified, then a gpu buffer with valid data exists that can be used instead

* clang format

* fix max num_layers
2026-04-20 09:20:07 +03:00
Niram7777
854b291c63
Spdlog migration (#4069)
* spdlog migration

* gitmodule instead of cmake
2026-04-19 00:57:05 +03:00
Marcin Mikołajczyk
f476379b80
Define more GS regs (#4233) 2026-04-15 10:09:15 +03:00
Valdis Bogdāns
311c2dd1cd
Implement screenshot functionality with overlays and game-only options (#4248)
* Implement screenshot functionality with overlays and game-only options

* CLang 🤦

* video: F12 game screenshot, Alt+F12 HUD screenshot

- Capture game-only screenshots from the VideoOut image before FSR/PP scaling (native guest output res)
- Capture overlay screenshots from the swapchain/output image; HDR screenshots are tone-mapped to SDR PNG
- Split screenshot request counters + consumption for game-only vs with-overlays
- Add A2R10G10B10 readback handling and force opaque alpha in PNG output
- Update default hotkeys (keep backward-compat with hotkey_renderdoc_capture)
- Ignore tmp/artifacts/

* Add legacy capture binding support in input configuration

---------

Co-authored-by: w1naenator <valdis.bogdans@hotmail.com>
2026-04-12 17:41:01 +03:00
Niram7777
304a2c7c78
Vulkan presenter reset CommandBuffer on *_scheduler (#4221)
[Render.Vulkan] <error> (shadPS4:Main) vk_platform.cpp:58 DebugUtilsCallback: VUID-vkDestroyImage-image-01000: vkDestroyImage(): can't be called on VkImage 0x850000000085[Frame image #2] that is currently in use by VkCommandBuffer 0x560ea08752c0[CommandPool: Command Buffer 2].
The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://docs.vulkan.org/spec/latest/chapters/resources.html#VUID-vkDestroyImage-image-01000)

Finish needed because of:

[Render.Vulkan] <error> (shadPS4:Main) vk_platform.cpp:58 DebugUtilsCallback: VUID-vkEndCommandBuffer-commandBuffer-00059: vkEndCommandBuffer(): Cannot be called for VkCommandBuffer 0x55c62bfbb580[CommandPool: Command Buffer 3] when it is not in a recording state, vkBeginCommandBuffer() must first be called.
The Vulkan spec states: commandBuffer must be in the recording state (https://docs.vulkan.org/spec/latest/chapters/cmdbuffers.html#VUID-vkEndCommandBuffer-commandBuffer-00059)
2026-04-05 07:44:50 +03:00
Niram7777
162cb18d9d
Vulkan destroy presenter members before device (#4222) 2026-04-05 00:47:26 +03:00
Niram7777
fb067bc43f
Vulkan device destroy images_view on Swapchain::Destroy (#4218) 2026-04-04 22:30:28 +03:00
Ploo
a87abee8e3
WIP: port: Add x64 FreeBSD (#3927)
* port: Add x64 FreeBSD

* clang formaa

* fix epoll stuffs

* date-tz for fbsd, force submodule zydis

* fix filesystem hang + date-tz

* fix

* fix freebsd SIGBUS

* madvise() ifdef

* signal fix + camera fix

* proper %gs tls for once

* better tls? + clang format

---------

Co-authored-by: lizzie <lizzie@eden-emu.dev>
2026-03-30 13:44:29 +03:00
georgemoralis
edd50ab2d0
more files for syncing with 0.15.1 branch (#4161) 2026-03-22 10:26:23 +02:00
georgemoralis
08168dc386
New config mode (part1 of 0.15.1 branch series) (#4145)
* using new emulator_settings

* the default user is now just player one

* transfer install, addon dirs

* fix load custom config issue

---------

Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
2026-03-21 22:26:36 +02:00
Kravickas
2bb20e4650
waw fix (#4154) 2026-03-20 13:43:41 +02:00
Kravickas
980919b07b
Fix FSR crash on content area resize (#4153)
* fsr

* fsr

* fsr
2026-03-20 08:46:22 +02:00
Kravickas
f245cf76a7
waw hotfix (#4146) 2026-03-18 23:52:15 +02:00
Kravickas
78411c4b8a
Write after write sync hazard (#4142)
* WAW barrier

* clang
2026-03-18 23:09:19 +02:00
georgemoralis
6e843d0c4b feeling dangerous , let's re-enable lod where supported 2026-03-17 22:18:26 +02:00
baggins183
1bb152d976
IMAGE_STORE_MIP fallback (#4075)
* fallback for IMAGE_STORE_MIP when not natively supported

* Lod should be treated as absolute, independent of sharp's base_level (judging by other implemented instructions)

* fix descriptor set layouts

* dumb error

* force fallback for testing

* treat Lod as relative to base_level

* optimization when lod index is constant
2026-03-17 21:47:19 +02:00
TheTurtle
df6bb8562e
renderer_vulkan: Force subgroup size to 64 when possible (#4111) 2026-03-09 17:46:51 +02:00
georgemoralis
14450d330f
CopyImage stencil fixes (#4095)
* stencil fixes hope it fixes driveclub

* revert image copy to the one that had driveclub worked

* reverted texture cache change

* some more fixes and reverts

* added logging for overlap again
2026-03-03 08:52:12 +02:00
georgemoralis
e5d7dc4090
the uber fix (#4092) 2026-03-01 21:02:21 +02:00
georgemoralis
636efaf2b5
changed readbacks mode to Relaxed,Precised (#4091) 2026-03-01 20:49:55 +02:00
rainmakerv2
6a8c50c3a2
Low readbacks mode (#4085) 2026-02-28 17:17:11 +02:00
Stephen Miller
aae10ecdf7
Lib.GnmDriver: Implement sceGnmDrawIndirectMulti (#4083) 2026-02-27 21:32:32 -08:00
evill33t
19d2027105
skipped guest/host marker parsing/calls when disabled (#4078)
* skipped guest/host marker parsing/calls when disabled

* clang-format

---------

Co-authored-by: Ronny Stiftel <ronny.stiftel@tomcom.de>
2026-02-26 17:02:14 +02:00
georgemoralis
06b901a47b
Gpu fixes misc (#4050)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
* fixed image copy to ignore stencil aspect

* Added logging for "Encountered unresolvable image overlap with equal memory address."

* fixed overlap issues with different pitch , added more detailed logging for rest of overlap issues

* improved log error

* maybe mipmaps ?

* array layers or different mip map range

* rewrote case  new image has fewer mip levels than cached image

* array with 2 layers?

* last case

* improved

* no it didn't work
2026-02-19 21:11:33 +02:00
georgemoralis
a99c814739
Image copy Enhancement (#4041)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
* copy image handle 2d->3d copies and opossite now

* make gcc happy

* fixed colouring issue
2026-02-17 22:41:18 +02:00
Dasaav
e2f3a0f750
Prevent Rasterizer::IsMapped from returning true for memory ranges that wrap the address space (#3989)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
Signed-off-by: Dasaav-dsv <simplydasaav@gmail.com>
2026-02-02 20:51:50 +02:00
psucien
1e99c4b506
shader_recompiler: VS clip distance emulation for NVIDIA GPUs (#3958)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2026-01-26 22:17:51 +02:00
TheTurtle
fecfbb6b4a
video_core: Small fixes regarding GDS (#3942)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
* shader_recompiler: Add missing descriptor type for GDS buffer

* liverpool: Implement gds to memory store

* macOS fix?

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2026-01-22 17:05:16 +02:00
TheTurtle
0d5c5f81a6
video_core: Small readback optimization (#3941)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* pm4_cmds: Handle nop packet overflow

* liverpool: Detect DispatchDirect patches and promote to DispatchIndirect

* clang..

* log removed

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2026-01-21 22:49:35 +02:00
kalaposfos13
eae5e0ad55
Initialize VK_EXT_shader_atomic_float before VK_EXT_shader_atomic_float2 (#3867)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
2025-12-15 16:50:14 -08:00
Lander Gallastegi
9db4642f66
video_core: Scheduler priority pending operation queue (#3848)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* Priority pending ops

* Use priority operations on image download

* clang-format

* Simplify thread

* I'm tired, it's too late :(
2025-12-02 22:27:01 +01:00
psucien
a9f8eaf778
video_core: Initial implementation of pipeline cache (#3816)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* Initial implementation

* Fix for crash caused by stale stages data; cosmetics applied

* Someone mentioned the assert

* Async blob writer

* Fix for memory leak

* Remain stuff

* Async changed to `packaged_task`
2025-11-29 11:52:08 +02:00
squidbus
1394852791
renderer_vulkan: Remove primitive restart disable support check. (#3827)
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-sdl-gcc (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
2025-11-24 23:51:39 -08:00