aco: take LDS into account when calculating num_waves
[mesa.git] / src / amd / compiler / aco_ir.h
index 3606b33402e562d4a350f9d22e9fe5a51569be14..739ef869e6aca849b96b4032e5d2347fd8b66799 100644 (file)
@@ -1063,6 +1063,7 @@ public:
    std::vector<Block> blocks;
    RegisterDemand max_reg_demand = RegisterDemand();
    uint16_t num_waves = 0;
+   uint16_t max_waves = 0; /* maximum number of waves, regardless of register usage */
    ac_shader_config* config;
    struct radv_shader_info *info;
    enum chip_class chip_class;
@@ -1075,6 +1076,9 @@ public:
 
    std::vector<uint8_t> constant_data;
 
+   uint16_t lds_alloc_granule;
+   uint32_t lds_limit; /* in bytes */
+
    uint16_t physical_sgprs;
    uint16_t sgpr_alloc_granule; /* minus one. must be power of two */
    uint16_t sgpr_limit;