mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-19 23:38:55 +02:00
[vk, gl, spv] Opcode Promotion path emulation
This commit is contained in:
parent
4cc99b9ff5
commit
178a0ce571
11 changed files with 391 additions and 75 deletions
|
|
@ -440,6 +440,9 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
|||
const bool is_turnip = driver_id == VK_DRIVER_ID_MESA_TURNIP;
|
||||
const bool is_arm = driver_id == VK_DRIVER_ID_ARM_PROPRIETARY;
|
||||
|
||||
// Qualcomm hardware (both proprietary and Turnip drivers) rejects Sampled1D capability.
|
||||
supports_sampled_1d = !(is_qualcomm || is_turnip);
|
||||
|
||||
if (!is_suitable)
|
||||
LOG_WARNING(Render_Vulkan, "Unsuitable driver - continuing anyways");
|
||||
|
||||
|
|
|
|||
|
|
@ -881,6 +881,10 @@ public:
|
|||
return features2.features.multiViewport;
|
||||
}
|
||||
|
||||
bool SupportsSampled1D() const {
|
||||
return supports_sampled_1d;
|
||||
}
|
||||
|
||||
/// Returns true if the device supports VK_KHR_maintenance1.
|
||||
bool IsKhrMaintenance1Supported() const {
|
||||
return extensions.maintenance1;
|
||||
|
|
@ -1108,6 +1112,7 @@ private:
|
|||
bool dynamic_state3_alpha_to_coverage{};
|
||||
bool dynamic_state3_alpha_to_one{};
|
||||
bool supports_conditional_barriers{}; ///< Allows barriers in conditional control flow.
|
||||
bool supports_sampled_1d{true}; ///< Supports declaring Sampled1D in shaders.
|
||||
size_t sampler_heap_budget{}; ///< Sampler budget for buggy drivers (0 = unlimited).
|
||||
VkDeviceSize uniform_buffer_alignment_minimum{}; ///< Minimum enforced UBO alignment.
|
||||
VkDeviceSize storage_buffer_alignment_minimum{}; ///< Minimum enforced SSBO alignment.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue