Skip to content

Commit

Permalink
Use VK_LAYER_KHRONOS_validation only on Fuchsia (flutter#17683)
Browse files Browse the repository at this point in the history
  • Loading branch information
George Wright authored Apr 13, 2020
1 parent 4a1085a commit fd1db54
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 51 deletions.
47 changes: 3 additions & 44 deletions tools/fuchsia/fuchsia_libs.gni
Original file line number Diff line number Diff line change
Expand Up @@ -72,63 +72,22 @@ common_libs = [

vulkan_dist = "$fuchsia_sdk_base/dist"

# Note that the other validation libraries in the Fuchsia SDK seem to have a bug right
# now causing crashes, so it is only recommended that we use
# VkLayer_khronos_validation.so until we have a confirmation that they are fixed.
vulkan_validation_libs = [
{
name = "VkLayer_core_validation.so"
path = rebase_path("$vulkan_dist")
},
{
name = "VkLayer_khronos_validation.so"
path = rebase_path("$vulkan_dist")
},
{
name = "VkLayer_object_lifetimes.so"
path = rebase_path("$vulkan_dist")
},
{
name = "VkLayer_stateless_validation.so"
path = rebase_path("$vulkan_dist")
},
{
name = "VkLayer_thread_safety.so"
path = rebase_path("$vulkan_dist")
},
{
name = "VkLayer_unique_objects.so"
path = rebase_path("$vulkan_dist")
},
]

vulkan_data_dir =
"//fuchsia/sdk/linux/pkg/vulkan_layers/data/vulkan/explicit_layer.d"

vulkan_icds = [
{
path = rebase_path("$vulkan_data_dir/VkLayer_core_validation.json")
dest = "vulkan/explicit_layer.d/VkLayer_core_validation.json"
},
{
path = rebase_path("$vulkan_data_dir/VkLayer_object_lifetimes.json")
dest = "vulkan/explicit_layer.d/VkLayer_object_lifetimes.json"
},
{
path = rebase_path("$vulkan_data_dir/VkLayer_thread_safety.json")
dest = "vulkan/explicit_layer.d/VkLayer_thread_safety.json"
},
{
path = rebase_path("$vulkan_data_dir/VkLayer_stateless_validation.json")
dest = "vulkan/explicit_layer.d/VkLayer_stateless_validation.json"
},
{
path = rebase_path("$vulkan_data_dir/VkLayer_unique_objects.json")
dest = "vulkan/explicit_layer.d/VkLayer_unique_objects.json"
},
{
path = rebase_path("$vulkan_data_dir/VkLayer_khronos_validation.json")
dest = "vulkan/explicit_layer.d/VkLayer_khronos_validation.json"
},
{
path = rebase_path("$vulkan_data_dir/VkLayer_standard_validation.json")
dest = "vulkan/explicit_layer.d/VkLayer_standard_validation.json"
},
]
11 changes: 4 additions & 7 deletions vulkan/vulkan_utilities.cc
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,10 @@ static std::vector<std::string> InstanceOrDeviceLayersToEnable(
// NOTE: The loader is sensitive to the ordering here. Please do not rearrange
// this list.
#if OS_FUCHSIA
// Fuchsia uses the updated Vulkan loader and validation layers which no
// longer includes the image validation layer.
const std::vector<std::string> candidates = {
"VK_LAYER_GOOGLE_threading", "VK_LAYER_LUNARG_parameter_validation",
"VK_LAYER_LUNARG_object_tracker", "VK_LAYER_LUNARG_core_validation",
"VK_LAYER_LUNARG_device_limits", "VK_LAYER_LUNARG_swapchain",
"VK_LAYER_GOOGLE_unique_objects"};
// The other layers in the Fuchsia SDK seem to have a bug right now causing
// crashes, so it is only recommended that we use VK_LAYER_KHRONOS_validation
// until we have a confirmation that they are fixed.
const std::vector<std::string> candidates = {"VK_LAYER_KHRONOS_validation"};
#else
const std::vector<std::string> candidates = {
"VK_LAYER_GOOGLE_threading", "VK_LAYER_LUNARG_parameter_validation",
Expand Down

0 comments on commit fd1db54

Please sign in to comment.