mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-28 15:39:00 +02:00
[vk, gl, spv] Opcode Promotion path emulation
This commit is contained in:
parent
f6f0690544
commit
1e9cb290ca
11 changed files with 394 additions and 81 deletions
|
|
@ -443,6 +443,9 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
|||
const bool is_qualcomm = driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY;
|
||||
const bool is_turnip = driver_id == VK_DRIVER_ID_MESA_TURNIP;
|
||||
|
||||
// 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");
|
||||
|
||||
|
|
|
|||
|
|
@ -864,6 +864,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;
|
||||
|
|
@ -1090,6 +1094,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