Module: Mesa
Branch: main
Commit: a1e723cacedf87866050639d5aa5411a82dc29d5
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1e723cacedf87866050639d5aa5411a82dc29d5

Author: Iago Toral Quiroga <[email protected]>
Date:   Thu Sep  8 13:02:55 2022 +0200

broadcom/simulator: add a helper to get the amount of free heap memory

Reviewed-by: Alejandro PiƱeiro <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18483>

---

 src/broadcom/simulator/v3d_simulator.c | 10 ++++++++++
 src/broadcom/simulator/v3d_simulator.h |  1 +
 2 files changed, 11 insertions(+)

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"

Reply via email to