mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-29 00:45:28 +03:00
Fix QuirkManager
's EXT_SET_V
macro bug
`EXT_SET_V` would enable the extension regardless of if it was actually the correct extension or if the version was high enough as long as the hash matched. Co-authored-by: Billy Laws <blaws05@gmail.com>
This commit is contained in:
parent
e9ed771b48
commit
7df2670ece
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "quirk_manager.h"
|
#include "quirk_manager.h"
|
||||||
|
|
||||||
namespace skyline {
|
namespace skyline::gpu {
|
||||||
QuirkManager::QuirkManager(const vk::PhysicalDeviceProperties &properties, const DeviceFeatures2 &deviceFeatures2, DeviceFeatures2 &enabledFeatures2, const std::vector<vk::ExtensionProperties> &deviceExtensions, std::vector<std::array<char, VK_MAX_EXTENSION_NAME_SIZE>> &enabledExtensions) {
|
QuirkManager::QuirkManager(const vk::PhysicalDeviceProperties &properties, const DeviceFeatures2 &deviceFeatures2, DeviceFeatures2 &enabledFeatures2, const std::vector<vk::ExtensionProperties> &deviceExtensions, std::vector<std::array<char, VK_MAX_EXTENSION_NAME_SIZE>> &enabledExtensions) {
|
||||||
for (auto &extension : deviceExtensions) {
|
for (auto &extension : deviceExtensions) {
|
||||||
#define EXT_SET(name, property) \
|
#define EXT_SET(name, property) \
|
||||||
@ -16,9 +16,10 @@ namespace skyline {
|
|||||||
|
|
||||||
#define EXT_SET_V(name, property, version) \
|
#define EXT_SET_V(name, property, version) \
|
||||||
case util::Hash(name): \
|
case util::Hash(name): \
|
||||||
if (name == extensionName && extensionVersion >= version) \
|
if (name == extensionName && extensionVersion >= version) { \
|
||||||
property = true; \
|
property = true; \
|
||||||
enabledExtensions.push_back(std::array<char, VK_MAX_EXTENSION_NAME_SIZE>{name}); \
|
enabledExtensions.push_back(std::array<char, VK_MAX_EXTENSION_NAME_SIZE>{name}); \
|
||||||
|
} \
|
||||||
break
|
break
|
||||||
|
|
||||||
std::string_view extensionName{extension.extensionName};
|
std::string_view extensionName{extension.extensionName};
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#include <vulkan/vulkan.hpp>
|
#include <vulkan/vulkan.hpp>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
|
|
||||||
namespace skyline {
|
namespace skyline::gpu {
|
||||||
/**
|
/**
|
||||||
* @brief Checks and stores all the quirks of the host GPU discovered at runtime
|
* @brief Checks and stores all the quirks of the host GPU discovered at runtime
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user