1
// Copyright 2021 The Fuchsia Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
5
#ifndef SRC_GRAPHICS_LIB_COMPUTE_RADIX_SORT_PLATFORMS_VK_RADIX_SORT_VK_EXT_H_
6
#define SRC_GRAPHICS_LIB_COMPUTE_RADIX_SORT_PLATFORMS_VK_RADIX_SORT_VK_EXT_H_
12
#include <vulkan/vulkan_core.h>
30
// Radix sort extensions
31
// ---------------------
33
#ifndef RADIX_SORT_VK_DISABLE_EXTENSIONS
38
enum radix_sort_vk_ext_type
40
RADIX_SORT_VK_EXT_TIMESTAMPS
44
// Timestamp each logical step of the algorithm
46
// Number of timestamps is: 5 + (number of subpasses)
48
// * direct dispatch: 4 + subpass count
49
// * indirect dispatch: 5 + subpass count
51
// Indirect / 32-bit keyvals: 9
52
// Indirect / 64-bit keyvals: 13
54
struct radix_sort_vk_ext_timestamps
57
enum radix_sort_vk_ext_type type;
58
uint32_t timestamp_count;
59
VkQueryPool timestamps;
60
uint32_t timestamps_set;
77
#endif // SRC_GRAPHICS_LIB_COMPUTE_RADIX_SORT_PLATFORMS_VK_RADIX_SORT_VK_EXT_H_