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. 4 5 #ifndef SRC_GRAPHICS_LIB_COMPUTE_RADIX_SORT_PLATFORMS_VK_TARGET_H_ 6 #define SRC_GRAPHICS_LIB_COMPUTE_RADIX_SORT_PLATFORMS_VK_TARGET_H_ 7 8 // 9 // 10 // 11 12 #include <stdint.h> 13 14 // 15 // This structure packages target-specific configuration parameters. 16 // 17 18 struct radix_sort_vk_target_config 19 { 20 uint32_t keyval_dwords; 21 22 struct 23 { 24 uint32_t workgroup_size_log2; 25 } init; 26 27 struct 28 { 29 uint32_t workgroup_size_log2; 30 } fill; 31 32 struct 33 { 34 uint32_t workgroup_size_log2; 35 uint32_t subgroup_size_log2; 36 uint32_t block_rows; 37 } histogram; 38 39 struct 40 { 41 uint32_t workgroup_size_log2; 42 uint32_t subgroup_size_log2; 43 } prefix; 44 45 struct 46 { 47 uint32_t workgroup_size_log2; 48 uint32_t subgroup_size_log2; 49 uint32_t block_rows; 50 } scatter; 51 }; 52 53 // 54 // 55 // 56 57 #endif // SRC_GRAPHICS_LIB_COMPUTE_RADIX_SORT_PLATFORMS_VK_TARGET_H_ 58