Skip to content

Commit

Permalink
Revert "layers: Add VkLayerSettingPropertiesEXT with queries"
Browse files Browse the repository at this point in the history
This reverts commit ae88f94.
  • Loading branch information
christophe-lunarg committed Aug 18, 2023
1 parent ae88f94 commit b3689c3
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 138 deletions.
56 changes: 9 additions & 47 deletions layers/decompression/decompression.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -115,22 +115,9 @@ static const ByteCode kIndirectGInflateBytecode[] = {
{(const uint8_t*)kIndirectGInflate64_HAVE_INT16_HAVE_INT64, sizeof(kIndirectGInflate64_HAVE_INT16_HAVE_INT64)},
};

enum SettingsId {
SETTING_FORCE_DEVICE = 0,
SETTING_LOGGING,
SETTING_CUSTOM_STYPE_LIST,

SETTING_FIRST = SETTING_FORCE_DEVICE,
SETTING_LAST = SETTING_CUSTOM_STYPE_LIST,
};

enum { SETTING_COUNT = SETTING_LAST - SETTING_FIRST + 1 };

static const VkLayerSettingPropertiesEXT kSettings[] = {
{VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT, nullptr, "force_device", VK_LAYER_SETTING_TYPE_BOOL32_EXT},
{VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT, nullptr, "logging", VK_LAYER_SETTING_TYPE_BOOL32_EXT},
{VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT, nullptr, "custom_stype_list", VK_LAYER_SETTING_TYPE_UINT32_EXT}};
static_assert(std::size(kSettings) == SETTING_COUNT);
#define kLayerSettingsForceEnable "force_device"
#define kLayerSettingsCustomSTypeInfo "custom_stype_list"
#define kLayerSettingsLogging "logging"

// required by vk_safe_struct
std::vector<std::pair<uint32_t, uint32_t>> custom_stype_info{};
Expand Down Expand Up @@ -264,19 +251,16 @@ void InitLayerSettings(const VkInstanceCreateInfo* pCreateInfo, const VkAllocati
VlLayerSettingSet layerSettingSet = VK_NULL_HANDLE;
vlCreateLayerSettingSet(kGlobalLayer.layerName, vlFindLayerSettingsCreateInfo(pCreateInfo), pAllocator, nullptr, &layerSettingSet);

const char* setting_key_force_enable = kSettings[SETTING_FORCE_DEVICE].key;
if (vlHasLayerSetting(layerSettingSet, setting_key_force_enable)) {
vlGetLayerSettingValue(layerSettingSet, setting_key_force_enable, layer_settings->force_enable);
if (vlHasLayerSetting(layerSettingSet, kLayerSettingsForceEnable)) {
vlGetLayerSettingValue(layerSettingSet, kLayerSettingsForceEnable, layer_settings->force_enable);
}

const char* setting_key_logging = kSettings[SETTING_FORCE_DEVICE].key;
if (vlHasLayerSetting(layerSettingSet, setting_key_logging)) {
vlGetLayerSettingValue(layerSettingSet, setting_key_logging, layer_settings->logging);
if (vlHasLayerSetting(layerSettingSet, kLayerSettingsLogging)) {
vlGetLayerSettingValue(layerSettingSet, kLayerSettingsLogging, layer_settings->logging);
}

const char* setting_key_custom_stype_list = kSettings[SETTING_CUSTOM_STYPE_LIST].key;
if (vlHasLayerSetting(layerSettingSet, setting_key_custom_stype_list)) {
vlGetLayerSettingValues(layerSettingSet, setting_key_custom_stype_list, custom_stype_info);
if (vlHasLayerSetting(layerSettingSet, kLayerSettingsCustomSTypeInfo)) {
vlGetLayerSettingValues(layerSettingSet, kLayerSettingsCustomSTypeInfo, custom_stype_info);
}

vlDestroyLayerSettingSet(layerSettingSet, pAllocator);
Expand Down Expand Up @@ -1019,28 +1003,6 @@ extern "C" VEL_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensio
return VK_ERROR_LAYER_NOT_PRESENT;
}

extern "C" VEL_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerSettingsEXT(const char* pLayerName,
uint32_t* pPropertyCount,
VkLayerSettingPropertiesEXT* pProperties) {
assert(pPropertyCount != nullptr);
if (pLayerName && strncmp(pLayerName, memory_decompression::kGlobalLayer.layerName, VK_MAX_EXTENSION_NAME_SIZE) != 0) {
return VK_SUCCESS;
}

std::size_t count = std::min(*pPropertyCount, static_cast<uint32_t>(std::size(kSettings)));

if (*pPropertyCount > 0 && pProperties != nullptr) {
memcpy(pProperties, kSettings, sizeof(VkLayerSettingPropertiesEXT) * count);
}

if (count < std::size(kSettings)) {
return VK_INCOMPLETE;
} else {
*pPropertyCount = static_cast<uint32_t>(std::size(kSettings));
return VK_SUCCESS;
}
}

// loader-layer interface v0 - Needed for Android loader using explicit layers
extern "C" VEL_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(uint32_t* pPropertyCount,
VkLayerProperties* pProperties) {
Expand Down
55 changes: 8 additions & 47 deletions layers/shader_object.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,23 +38,8 @@
#include "vk_safe_struct.h"
#include "vk_api_hash.h"

enum SettingsId {
SETTING_FORCE_DEVICE = 0,
SETTING_CUSTOM_STYPE_LIST,

SETTING_FIRST = SETTING_FORCE_DEVICE,
SETTING_LAST = SETTING_CUSTOM_STYPE_LIST,
};

enum {
SETTING_COUNT = SETTING_LAST - SETTING_FIRST + 1
};

static const VkLayerSettingPropertiesEXT kSettings[] = {
{VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT, nullptr, "force_device", VK_LAYER_SETTING_TYPE_BOOL32_EXT},
{VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT, nullptr, "custom_stype_list", VK_LAYER_SETTING_TYPE_UINT32_EXT}
};
static_assert(std::size(kSettings) == SETTING_COUNT);
#define kLayerSettingsForceEnable "force_device"
#define kLayerSettingsCustomSTypeInfo "custom_stype_list"

// Required by vk_safe_struct
std::vector<std::pair<uint32_t, uint32_t>> custom_stype_info{};
Expand All @@ -74,12 +59,12 @@ std::vector<std::pair<uint32_t, uint32_t>> custom_stype_info{};
#define DEBUG_LOG(...) \
{ \
char msg[256] = {}; \
sprintf(msg, "[VK_LAYER_KHRONOS_shader_object] " __VA_ARGS__); \
sprintf(msg, "[VkLayer_khronos_shader_object] " __VA_ARGS__); \
OutputDebugString(msg); \
}
#else
#define DEBUG_LOG(...) \
fprintf(stderr, "[VK_LAYER_KHRONOS_shader_object] " __VA_ARGS__); \
fprintf(stderr, "[VkLayer_khronos_shader_object] " __VA_ARGS__); \
fflush(stderr)
#endif
#else
Expand Down Expand Up @@ -2608,14 +2593,12 @@ void InitLayerSettings(const VkInstanceCreateInfo* pCreateInfo, const VkAllocati
VlLayerSettingSet layerSettingSet = VK_NULL_HANDLE;
vlCreateLayerSettingSet(kLayerName, vlFindLayerSettingsCreateInfo(pCreateInfo), pAllocator, nullptr, &layerSettingSet);

const char* setting_key_force_enable = kSettings[SETTING_FORCE_DEVICE].key;
if (vlHasLayerSetting(layerSettingSet, setting_key_force_enable)) {
vlGetLayerSettingValue(layerSettingSet, setting_key_force_enable, layer_settings->force_enable);
if (vlHasLayerSetting(layerSettingSet, kLayerSettingsForceEnable)) {
vlGetLayerSettingValue(layerSettingSet, kLayerSettingsForceEnable, layer_settings->force_enable);
}

const char* setting_key_custom_stype_list = kSettings[SETTING_CUSTOM_STYPE_LIST].key;
if (vlHasLayerSetting(layerSettingSet, setting_key_custom_stype_list)) {
vlGetLayerSettingValues(layerSettingSet, setting_key_custom_stype_list, custom_stype_info);
if (vlHasLayerSetting(layerSettingSet, kLayerSettingsCustomSTypeInfo)) {
vlGetLayerSettingValues(layerSettingSet, kLayerSettingsCustomSTypeInfo, custom_stype_info);
}

vlDestroyLayerSettingSet(layerSettingSet, pAllocator);
Expand Down Expand Up @@ -4280,25 +4263,3 @@ extern "C" VEL_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProc
extern "C" VEL_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice device, const char* pName) {
return shader_object::GetDeviceProcAddr(device, pName);
}

extern "C" VEL_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerSettingsEXT(
const char* pLayerName, uint32_t* pPropertyCount, VkLayerSettingPropertiesEXT* pProperties) {

assert(pPropertyCount != nullptr);
if (pLayerName && strncmp(pLayerName, shader_object::kLayerName, VK_MAX_EXTENSION_NAME_SIZE) != 0) {
return VK_SUCCESS;
}

std::size_t count = std::min(*pPropertyCount, static_cast<uint32_t>(std::size(kSettings)));

if (*pPropertyCount > 0 && pProperties != nullptr) {
memcpy(pProperties, kSettings, sizeof(VkLayerSettingPropertiesEXT) * count);
}

if (count < std::size(kSettings)) {
return VK_INCOMPLETE;
} else {
*pPropertyCount = static_cast<uint32_t>(std::size(kSettings));
return VK_SUCCESS;
}
}
49 changes: 6 additions & 43 deletions layers/synchronization2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,21 +33,8 @@
#include "vk_safe_struct.h"
#include "vk_util.h"

enum SettingsId {
SETTING_FORCE_DEVICE = 0,
SETTING_CUSTOM_STYPE_LIST,

SETTING_FIRST = SETTING_FORCE_DEVICE,
SETTING_LAST = SETTING_CUSTOM_STYPE_LIST,
};

enum { SETTING_COUNT = SETTING_LAST - SETTING_FIRST + 1 };

// required by vk_safe_struct
const VkLayerSettingPropertiesEXT kSettings[] = {
{VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT, nullptr, "force_device", VK_LAYER_SETTING_TYPE_BOOL32_EXT},
{VK_STRUCTURE_TYPE_LAYER_SETTING_PROPERTIES_EXT, nullptr, "custom_stype_list", VK_LAYER_SETTING_TYPE_UINT32_EXT}};
static_assert(std::size(kSettings) == SETTING_COUNT);
#define kLayerSettingsForceEnable "force_device"
#define kLayerSettingsCustomSTypeInfo "custom_stype_list"

// required by vk_safe_struct
std::vector<std::pair<uint32_t, uint32_t>> custom_stype_info{};
Expand Down Expand Up @@ -186,14 +173,12 @@ void InitLayerSettings(const VkInstanceCreateInfo* pCreateInfo, const VkAllocati
VlLayerSettingSet layerSettingSet = VK_NULL_HANDLE;
vlCreateLayerSettingSet(kGlobalLayer.layerName, vlFindLayerSettingsCreateInfo(pCreateInfo), pAllocator, nullptr, &layerSettingSet);

const char* setting_key_force_enable = kSettings[SETTING_FORCE_DEVICE].key;
if (vlHasLayerSetting(layerSettingSet, setting_key_force_enable)) {
vlGetLayerSettingValue(layerSettingSet, setting_key_force_enable, layer_settings->force_enable);
if (vlHasLayerSetting(layerSettingSet, kLayerSettingsForceEnable)) {
vlGetLayerSettingValue(layerSettingSet, kLayerSettingsForceEnable, layer_settings->force_enable);
}

const char* setting_key_custom_stype_list = kSettings[SETTING_CUSTOM_STYPE_LIST].key;
if (vlHasLayerSetting(layerSettingSet, setting_key_custom_stype_list)) {
vlGetLayerSettingValues(layerSettingSet, setting_key_custom_stype_list, custom_stype_info);
if (vlHasLayerSetting(layerSettingSet, kLayerSettingsCustomSTypeInfo)) {
vlGetLayerSettingValues(layerSettingSet, kLayerSettingsCustomSTypeInfo, custom_stype_info);
}

vlDestroyLayerSettingSet(layerSettingSet, pAllocator);
Expand Down Expand Up @@ -1508,28 +1493,6 @@ extern "C" VEL_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensio
return VK_ERROR_LAYER_NOT_PRESENT;
}

extern "C" VEL_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerSettingsEXT(
const char* pLayerName, uint32_t* pPropertyCount, VkLayerSettingPropertiesEXT* pProperties) {

assert(pPropertyCount != nullptr);
if (pLayerName && strncmp(pLayerName, synchronization2::kGlobalLayer.layerName, VK_MAX_EXTENSION_NAME_SIZE) != 0) {
return VK_SUCCESS;
}

std::size_t count = std::min(*pPropertyCount, static_cast<uint32_t>(std::size(kSettings)));

if (*pPropertyCount > 0 && pProperties != nullptr) {
memcpy(pProperties, kSettings, sizeof(VkLayerSettingPropertiesEXT) * count);
}

if (count < std::size(kSettings)) {
return VK_INCOMPLETE;
} else {
*pPropertyCount = static_cast<uint32_t>(std::size(kSettings));
return VK_SUCCESS;
}
}

// loader-layer interface v0 - Needed for Android loader using explicit layers
extern "C" VEL_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(uint32_t* pPropertyCount,
VkLayerProperties* pProperties) {
Expand Down
2 changes: 1 addition & 1 deletion scripts/known_good.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"sub_dir": "Vulkan-Utility-Libraries",
"build_dir": "Vulkan-Utility-Libraries/build",
"install_dir": "Vulkan-Utility-Libraries/build/install",
"commit": "33e1bd1c9795709124b97fbec958a0680a4cb402",
"commit": "6999ef9b82191d4824cd105aba1f5f2433b4ccb6",
"deps": [
{
"var_name": "VULKAN_HEADERS_INSTALL_DIR",
Expand Down

0 comments on commit b3689c3

Please sign in to comment.