Commit Graph

1718 Commits

Author SHA1 Message Date
CamilleLaVey d06eb3f52f [vulkan] Changed info.color_output_type gate 2026-03-07 06:46:15 +00:00
CamilleLaVey 21c77d5dce [vulkan] Added conservative path for RoundingModeRTZ + instrumentalization for shaders use 2026-03-07 06:46:15 +00:00
CamilleLaVey 3557ff28b7 [vulkan] Added no depth vs depth compare support 2026-03-07 06:46:15 +00:00
CamilleLaVey 5b12a7725d fix build 2026-03-07 06:46:15 +00:00
CamilleLaVey 15d575aa31 [test] Change forcerd order for CompareMask + forced refresh/ emit 2026-03-07 06:46:15 +00:00
CamilleLaVey 47fe86be7b [vulkan] Extended 3D image handling for subresource range calculations 2026-03-07 06:46:14 +00:00
CamilleLaVey 3db45f3c46 [vulkan] Implemented active color output tracking in runtime info and update fragment color handling 2026-03-07 06:46:14 +00:00
CamilleLaVey ce15cf7cd3 [vulkan] Adjusted image view usage flags to ensure compatibility with image format in TextureCache 2026-03-07 06:46:14 +00:00
CamilleLaVey 9630da580d [vulkan] Removed counter enable for ZPassPixelCount64 in Clear method and added initial layout transition for images in RefreshContents 2026-03-07 06:46:14 +00:00
CamilleLaVey 12fdd88a58 smol fix for query enable 2026-03-07 06:46:14 +00:00
CamilleLaVey 186c0b0cc7 [vulkan] Replaced old logic for DescriptorType for a numeric handling per type to avoid mismatches during format binding 2026-03-07 06:46:14 +00:00
CamilleLaVey ee1ffbaf2e [vulkan] Adjustments to wrong access of image-memory barrier on depth fragments + blending extended enabling method 2026-03-07 06:46:14 +00:00
CamilleLaVey c931de0570 [vulkan] Adjusted QueryReset's 2026-03-07 06:46:14 +00:00
CamilleLaVey 33f1fb1cf4 fix build 2026-03-07 06:46:14 +00:00
CamilleLaVey aabc470314 First meow in honor of meowly 2026-03-07 06:46:14 +00:00
CamilleLaVey d82a6a273d fix build 2026-03-07 06:46:14 +00:00
CamilleLaVey 43ebdb1ffc [vulkan] Adjusted DYNAMIC_STATES setting 2026-03-07 06:46:14 +00:00
CamilleLaVey e310f0b151 [vulkan] Indirect draw for dstStageMask 2026-03-07 06:46:14 +00:00
CamilleLaVey 9b915c8659 [vulkan] Adjusting re-cast for EDS support when bind happens 2026-03-07 06:46:14 +00:00
CamilleLaVey 35ab33de6a Fix build 2026-03-07 06:46:14 +00:00
CamilleLaVey 5615ea9ced [vulkan] re-cast vkCmdSet for dynamic states during binding 2026-03-07 06:46:14 +00:00
CamilleLaVey d273fc4ad6 [vulkan] Changed UpdateDynamicState order 2026-03-07 06:46:14 +00:00
CamilleLaVey e3e880e879 [vulkan] Added flag to detect last mode from provokingVertex 2026-03-07 06:46:14 +00:00
CamilleLaVey 6b8115f27a fix meow 2026-03-07 06:46:14 +00:00
CamilleLaVey a24e7e8143 [maxwell] Adding storage flags to some surface format 2026-03-07 06:46:14 +00:00
CamilleLaVey 2081d659d2 [vulkan] Dead code removal from VertexInputDynamicState 2026-03-07 06:46:14 +00:00
CamilleLaVey 9eacaf2444 [vulkan] Adjustment for Viewport and Scissor counts within EDS 2026-03-07 06:46:01 +00:00
CamilleLaVey c9eb764d2a [vulkan] Fixing some incongruences with pipeline keys and dynamic state flags 2026-03-07 06:46:01 +00:00
CamilleLaVey 72ced6b947 [vulkan] Set always vertex strides 2026-03-07 06:46:01 +00:00
CamilleLaVey 1ae76d44c1 [vulkan, rasterizer] Filling missing byte count handling when TFB is not available 2026-03-07 06:46:01 +00:00
CamilleLaVey 651a999017 [vulkan] Unique representation logic fix. 2026-03-07 06:46:01 +00:00
CamilleLaVey 5c0e12fb0e [vulkan] Rework line rasterization handle 2026-03-07 06:46:01 +00:00
CamilleLaVey 712c505cd1 [vulkan] Extending conversative rasterization detection and handling 2026-03-07 06:46:01 +00:00
CamilleLaVey 051522b54e [vulkan] Fix conditional rendering enable 2026-03-07 06:46:01 +00:00
CamilleLaVey ecd5c751f8 fix license headers 2026-03-07 06:46:01 +00:00
CamilleLaVey c8e4818b01 [vulkan] Fixing inconsistences within VK_EXT_extended_dynamic_state1 handling 2026-03-07 06:46:01 +00:00
CamilleLaVey 2bac9cec32 [vulkan] Implenting layouts use for indexing descriptors 2026-03-07 06:46:01 +00:00
CamilleLaVey 6190fcaaef [vulkan] Changing ProvokingVertex enabling nature 2026-03-07 06:46:01 +00:00
CamilleLaVey 3272e1fcb5 [vulkan] adjusting BindVertexBuffer2EXT wrong calling in pipeline 2026-03-07 06:46:00 +00:00
CamilleLaVey 8faeffdc7e [vulkan] removal of EDS3 and VIDS 2026-03-07 06:44:48 +00:00
xbzk ddac8c8eb5 [vk] fix crash introduced in 9a07bd0570 (#3685)
Fix for current crash on master.
Just reverted only the necessary stuff so that PresentManager can hold a reference to khr and resist death upon application hold/restore.
@Lizzie shall judge.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3685
Co-authored-by: xbzk <xbzk@eden-emu.dev>
Co-committed-by: xbzk <xbzk@eden-emu.dev>
2026-03-06 19:52:17 +01:00
lizzie 2ed1328c93 [vk] use static_vector instead of small_vector for TFB and other bindings (#3641)
MK8D is a big offender, taking up lots of time memcpy'ing and memmov'ing small_vector<> AND to add salt to the wound it doesn't even do heap allocations (no game does I think) - so basically useless waste of compute time in hot path for NO reason :^)

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3641
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: DraVee <chimera@dravee.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-03-06 15:05:05 +01:00
lizzie 9a07bd0570 [vk] unify VkSurfaceKHR with Android and the rest of platforms; remove technically incorrect nullptr() ctor for handles (#2971)
Removes some odd #ifdef-ing that just can use a shrimple opaque type.

Also removes nullptr() ctor'ing for vulkan handles and such; it's not incorrect per se like how `void *p = 0;` isn't incorrect, just that, y'know, any static analyzer will go "woah". Also there isn't any guarantee that handles `sizeof(Handle) == sizeof(void*)` so may as well :)

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2971
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-03-05 07:32:18 +01:00
wildcard 69e47bd2c0 [vulkan] Fix wrong stage index in prepare_stage render area check (#3672)
The OpenGL correctly uses const auto& info{stage_infos[stage]};

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3672
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: DraVee <chimera@dravee.dev>
Co-authored-by: wildcard <wildcard@eden-emu.dev>
Co-committed-by: wildcard <wildcard@eden-emu.dev>
2026-03-05 00:54:48 +01:00
wildcard cdf9b556b2 [vulkan]fix vuid 02751 (#3573)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3573
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: DraVee <chimera@dravee.dev>
Co-authored-by: wildcard <wildcard@eden-emu.dev>
Co-committed-by: wildcard <wildcard@eden-emu.dev>
2026-03-05 00:54:26 +01:00
wildcard c682306788 [vulkan] Implement push descriptors for compute pipelines (#3666)
Implements push descriptor for compute pipelines along with a bug fix, the increment logic was, offset += sizeof(DescriptorUpdateEntry);
This only advances the byte offset by a single descriptor slot, regardless of the array's size (descriptorCount).Now suppose if a shader utilized an array of descriptors (eg, layout(binding = 0) uniform sampler2D textures[4]) and if this happened to fit within the MaxPushDescriptors limit, the template would consume 4 * sizeof(DescriptorUpdateEntry) bytes, but the offset for the next binding would only advance by 1 slot.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3666
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: wildcard <wildcard@eden-emu.dev>
Co-committed-by: wildcard <wildcard@eden-emu.dev>
2026-03-04 22:46:55 +01:00
tarako d720a7b4b4 [vulkan] Fixed dual-source blending to correctly map shader outputs. (#3637)
Fixes Skyward Sword HD eye gitch and a related MoltenVK crash due to the incorrect output mapping. Verified working on mac and android.

The test in vk_pipeline_cache.cpp is a bit ugly, but it didn't seem worth it to go lambda/macro just to make it look cleaner. Could change if necessary.

Co-authored-by: tarako <none@none.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3637
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: tarako <r76036296@gmail.com>
Co-committed-by: tarako <r76036296@gmail.com>
2026-03-03 01:54:57 +01:00
MaranBr ea209e6dab [vulkan] Fine-tuning of frame pacing logic (#3628)
It makes fine adjustments to the frame pacing, ensuring better stability and precision.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3628
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2026-03-02 02:53:01 +01:00
MaranBr b5f9f8b743 [vulkan] Fix Vulkan rendering, image layout, and synchronization issues (#3511)
This fixes a visual corruption issue that occurred intermittently after loading screens, where some games would start the scene with vertex explosions, artifacts or with all colors blown out, resembling neon.

Among the known games affected by this bug are Mario Kart 8 Deluxe, The Legend of Zelda: Breath of the Wild, The Legend of Zelda: Tears of the Kingdom, Kirby and the Forgotten Land, Luigi's Mansion 3, Xenoblade Chronicles 3 and possibly others as well.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3511
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2026-03-02 02:51:50 +01:00
lizzie 2991bd18ef [vk] Enable VK_IMG_filter_cubic on powervr (#3643)
in powervr, the enum for cubic filtering is an alias for an ext, however in true powervr fashion they want you to use their stupid VK_IMG

and knowing powevr it probably bugs out if you dont

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3643
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-03-01 01:53:15 +01:00