-#define TILE_SIZE 32
-
-#define MAX_PRIMS (1 << 18)
-#define TILE_BITMAP_L1_WORDS (MAX_PRIMS / 32 / 32)
-#define TILE_BITMAP_L0_WORDS (MAX_PRIMS / 32)
-#define TILE_STRIDE (TILE_BITMAP_L0_WORDS + TILE_BITMAP_L1_WORDS)
-#define TILE_BITMAP_L1_OFFSET 0
-#define TILE_BITMAP_L0_OFFSET TILE_BITMAP_L1_WORDS
+const uint TILE_SIZE = 32;
+
+const uint MAX_PRIMS = 1 << 18;
+const uint TILE_BITMAP_L1_WORDS = (MAX_PRIMS / 32 / 32);
+const uint TILE_BITMAP_L0_WORDS = (MAX_PRIMS / 32);
+const uint TILE_STRIDE = (TILE_BITMAP_L0_WORDS + TILE_BITMAP_L1_WORDS);
+const uint TILE_BITMAP_L1_OFFSET = 0;
+const uint TILE_BITMAP_L0_OFFSET = TILE_BITMAP_L1_WORDS;
struct PrimitiveUniforms {
uvec2 screen_resolution;
#include "primitive_2d.h"
-#define SUBGROUP_SIZE 64
-#define NUM_PRIMS_WG (SUBGROUP_SIZE * 32)
+const uint SUBGROUP_SIZE = 64;
+const uint NUM_PRIMS_WG = (SUBGROUP_SIZE * 32);
// TODO: Spec constant support for different subgroup sizes.
layout (local_size_x = SUBGROUP_SIZE, local_size_y = 1, local_size_z = 1) in;