Use mjTHREADLOCAL macro instead of intrinsic.

Fixes #2927.

PiperOrigin-RevId: 833336768
Change-Id: I62bfdc7018853fc8459e03ba079fc6a15e97c7d0
This commit is contained in:
Haroon Qureshi
2025-11-17 07:48:22 -08:00
committed by Copybara-Service
parent 85b6194f91
commit e882399eb0
+6 -5
View File
@@ -22,6 +22,7 @@
#include <mujoco/mjtnum.h>
#include <mujoco/mjmodel.h>
#include "engine/engine_collision_convex.h"
#include "engine/engine_macro.h"
#include "engine/engine_util_blas.h"
#include "engine/engine_util_errmem.h"
@@ -2216,11 +2217,11 @@ static inline void inflate(mjCCDStatus* status, mjtNum margin1, mjtNum margin2)
mjtNum mjc_ccd(const mjCCDConfig* config, mjCCDStatus* status, mjCCDObj* obj1, mjCCDObj* obj2) {
// pre-allocate static memory for low iterations
void* buffer = NULL;
static _Thread_local Vertex vert_data[5 + mjMAX_EPA_ITERATIONS];
static _Thread_local Face face_data[6 * mjMAX_EPA_ITERATIONS];
static _Thread_local Face* map_data[6 * mjMAX_EPA_ITERATIONS];
static _Thread_local int index_data[6 + mjMAX_EPA_ITERATIONS];
static _Thread_local int edge_data[6 + mjMAX_EPA_ITERATIONS];
static mjTHREADLOCAL Vertex vert_data[5 + mjMAX_EPA_ITERATIONS];
static mjTHREADLOCAL Face face_data[6 * mjMAX_EPA_ITERATIONS];
static mjTHREADLOCAL Face* map_data[6 * mjMAX_EPA_ITERATIONS];
static mjTHREADLOCAL int index_data[6 + mjMAX_EPA_ITERATIONS];
static mjTHREADLOCAL int edge_data[6 + mjMAX_EPA_ITERATIONS];
// setup
obj1->center(status->x1, obj1);