aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/vulkan_common/vulkan_device.h
diff options
context:
space:
mode:
authorCamilleLaVey <camillelavey99@gmail.com>2026-08-17 00:30:19 +0200
committercrueter <crueter@eden-emu.dev>2026-08-17 00:30:19 +0200
commit2000fdfb7b27e5e2546098b44268fc74887b22a5 (patch)
tree924d533de5e75f9f08e02f67bddc946690ea5665 /src/video_core/vulkan_common/vulkan_device.h
parentdc95cd09eea9749250fe31a3072684d341d19417 (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.h8
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;