diff --git a/src/broadcom/simulator/v3d_simulator.c b/src/broadcom/simulator/v3d_simulator.c index f2f9bdc234b..3dc660531ce 100644 --- a/src/broadcom/simulator/v3d_simulator.c +++ b/src/broadcom/simulator/v3d_simulator.c @@ -831,6 +831,16 @@ v3d_simulator_get_mem_size(void) return sim_state.mem_size; } +uint32_t +v3d_simulator_get_mem_free(void) +{ + uint32_t total_free = 0; + struct mem_block *p; + for (p = sim_state.heap->next_free; p != sim_state.heap; p = p->next_free) + total_free += p->size; + return total_free; +} + static void v3d_simulator_init_global() { diff --git a/src/broadcom/simulator/v3d_simulator.h b/src/broadcom/simulator/v3d_simulator.h index 81dc9561a7d..ddb079c1455 100644 --- a/src/broadcom/simulator/v3d_simulator.h +++ b/src/broadcom/simulator/v3d_simulator.h @@ -40,6 +40,7 @@ uint32_t v3d_simulator_get_spill(uint32_t spill_size); int v3d_simulator_ioctl(int fd, unsigned long request, void *arg); void v3d_simulator_open_from_handle(int fd, int handle, uint32_t size); uint32_t v3d_simulator_get_mem_size(void); +uint32_t v3d_simulator_get_mem_free(void); #ifdef v3dX # include "v3dx_simulator.h"