• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2024 Valve Corporation
2 // SPDX-License-Identifier: MIT
3 
4 #ifdef VULKAN
5 #define CONFIG(_name, _id, default_val) layout (constant_id = _id) const int _name = default_val;
6 #else
7 enum rs_config {
8 #define CONFIG(_name, _id, default_val) _name = _id,
9 #endif
10 
11 #define RS_FILL_WORKGROUP_SIZE_ID 0
12 CONFIG(RS_FILL_WORKGROUP_SIZE, RS_FILL_WORKGROUP_SIZE_ID, 7)
13 CONFIG(RS_FILL_BLOCK_ROWS, 1, 8)
14 
15 #define RS_HISTOGRAM_WORKGROUP_SIZE_ID 2
16 CONFIG(RS_HISTOGRAM_WORKGROUP_SIZE, RS_HISTOGRAM_WORKGROUP_SIZE_ID, 7)
17 CONFIG(RS_HISTOGRAM_SUBGROUP_SIZE_LOG2, 3, 7)
18 CONFIG(RS_HISTOGRAM_BLOCK_ROWS, 4, 8)
19 
20 #define RS_PREFIX_WORKGROUP_SIZE_ID 5
21 CONFIG(RS_PREFIX_WORKGROUP_SIZE, RS_PREFIX_WORKGROUP_SIZE_ID, 8)
22 CONFIG(RS_PREFIX_SUBGROUP_SIZE_LOG2, 6, 6)
23 
24 #define RS_SCATTER_WORKGROUP_SIZE_ID 7
25 CONFIG(RS_SCATTER_WORKGROUP_SIZE, RS_SCATTER_WORKGROUP_SIZE_ID, 8)
26 CONFIG(RS_SCATTER_SUBGROUP_SIZE_LOG2, 8, 6)
27 CONFIG(RS_SCATTER_BLOCK_ROWS, 9, 14)
28 
29 CONFIG(RS_SCATTER_NONSEQUENTIAL_DISPATCH, 10, 0)
30 
31 #ifndef VULKAN
32 };
33 #endif
34