diff options
| author | CamilleLaVey <camillelavey99@gmail.com> | 2026-08-17 00:30:19 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-08-17 00:30:19 +0200 |
| commit | 2000fdfb7b27e5e2546098b44268fc74887b22a5 (patch) | |
| tree | 924d533de5e75f9f08e02f67bddc946690ea5665 /src/video_core/vulkan_common/vulkan_device.h | |
| parent | dc95cd09eea9749250fe31a3072684d341d19417 (diff) | |
[vulkan, android] Initial implementation of LSFG-VK (#4263)
Pretty much self explanatory, own implementation based on LSFG-VK available with some additional reverse engineer work for the actual use of shaders inside Lossless.dll, we don't store/ bundle any tools that bypass security and self ownership: to use this feature is required to own your own copy of Lossless Scaling and I encourage to support developers behind this work.
Special thanks:
1.- THS - Original developer behind Lossless Scaling
2.- PancakeTAS - Developer behind LSFG-VK
3.- The Big Smolio The Sleeper (@gidoly)
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4263
Diffstat (limited to 'src/video_core/vulkan_common/vulkan_device.h')
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h index 2708281297..1ae073c279 100644 --- a/src/video_core/vulkan_common/vulkan_device.h +++ b/src/video_core/vulkan_common/vulkan_device.h @@ -37,7 +37,8 @@ VK_DEFINE_HANDLE(VmaAllocator) FEATURE(EXT, HostQueryReset, HOST_QUERY_RESET, host_query_reset) \ FEATURE(KHR, 8BitStorage, 8BIT_STORAGE, bit8_storage) \ FEATURE(KHR, BufferDeviceAddress, BUFFER_DEVICE_ADDRESS, buffer_device_address) \ - FEATURE(KHR, TimelineSemaphore, TIMELINE_SEMAPHORE, timeline_semaphore) + FEATURE(KHR, TimelineSemaphore, TIMELINE_SEMAPHORE, timeline_semaphore) \ + FEATURE(KHR, VulkanMemoryModel, VULKAN_MEMORY_MODEL, vulkan_memory_model) #define FOR_EACH_VK_FEATURE_1_3(FEATURE) \ FEATURE(EXT, ImageRobustness, IMAGE_ROBUSTNESS, robust_image_access) \ @@ -416,6 +417,11 @@ FN_MAX_LIMIT_LIST return features.shader_float16_int8.shaderFloat16; } + /// Returns true if the device can run shaders built against the Vulkan memory model. + bool IsVulkanMemoryModelSupported() const { + return features.vulkan_memory_model.vulkanMemoryModel; + } + /// Returns true if the device supports int8 natively. bool IsInt8Supported() const { return features.shader_float16_int8.shaderInt8; |
