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_SHADERS_PREFIX_LIMITS_H_ 6 #define SRC_GRAPHICS_LIB_COMPUTE_RADIX_SORT_PLATFORMS_VK_SHADERS_PREFIX_LIMITS_H_ 7 8 // 9 // Define various prefix limits 10 // 11 #define RS_PREFIX_LIMITS 12 13 // clang-format off 14 #define RS_H_COMPONENTS (RS_RADIX_SIZE / RS_WORKGROUP_SIZE) 15 16 #define RS_SWEEP_0_SIZE (RS_WORKGROUP_SUBGROUPS == 1 ? 0 : (RS_RADIX_SIZE / RS_SUBGROUP_SIZE)) 17 #define RS_SWEEP_1_SIZE (RS_WORKGROUP_SUBGROUPS == 1 ? 0 : (RS_SWEEP_0_SIZE / RS_SUBGROUP_SIZE)) 18 #define RS_SWEEP_2_SIZE (RS_WORKGROUP_SUBGROUPS == 1 ? 0 : (RS_SWEEP_1_SIZE / RS_SUBGROUP_SIZE)) 19 20 #define RS_SWEEP_SIZE (RS_SWEEP_0_SIZE + RS_SWEEP_1_SIZE + RS_SWEEP_2_SIZE) 21 22 #define RS_S0_PASSES (RS_SWEEP_0_SIZE / RS_WORKGROUP_SIZE) 23 #define RS_S1_PASSES (RS_SWEEP_1_SIZE / RS_WORKGROUP_SIZE) 24 25 #define RS_SWEEP_0_OFFSET 0 26 #define RS_SWEEP_1_OFFSET (RS_SWEEP_0_OFFSET + RS_SWEEP_0_SIZE) 27 #define RS_SWEEP_2_OFFSET (RS_SWEEP_1_OFFSET + RS_SWEEP_1_SIZE) 28 // clang-format on 29 30 // 31 // 32 // 33 34 #endif // SRC_GRAPHICS_LIB_COMPUTE_RADIX_SORT_PLATFORMS_VK_SHADERS_PREFIX_LIMITS_H_ 35