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 uint32_t block_rows; 31 } fill; 32 33 struct 34 { 35 uint32_t workgroup_size_log2; 36 uint32_t subgroup_size_log2; 37 uint32_t block_rows; 38 } histogram; 39 40 struct 41 { 42 uint32_t workgroup_size_log2; 43 uint32_t subgroup_size_log2; 44 } prefix; 45 46 struct 47 { 48 uint32_t workgroup_size_log2; 49 uint32_t subgroup_size_log2; 50 uint32_t block_rows; 51 } scatter; 52 53 bool nonsequential_dispatch; 54 }; 55 56 // 57 // 58 // 59 60 #endif // SRC_GRAPHICS_LIB_COMPUTE_RADIX_SORT_PLATFORMS_VK_TARGET_H_ 61