mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-03 23:21:15 +00:00 
			
		
		
		
	Since Embree v3.13.0 supports AARCH64, switch back to the official repo instead of using Embree-aarch64. `thirdparty/embree/patches/godot-changes.patch` should now contain an accurate diff of the changes done to the library.
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright 2009-2021 Intel Corporation
 | 
						|
// SPDX-License-Identifier: Apache-2.0
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include "platform.h"
 | 
						|
#include "mutex.h"
 | 
						|
#include "alloc.h"
 | 
						|
#include "vector.h"
 | 
						|
#include <vector>
 | 
						|
 | 
						|
namespace embree
 | 
						|
{
 | 
						|
  /*! type for thread */
 | 
						|
  typedef struct opaque_thread_t* thread_t;
 | 
						|
 | 
						|
  /*! signature of thread start function */
 | 
						|
  typedef void (*thread_func)(void*);
 | 
						|
 | 
						|
  /*! creates a hardware thread running on specific logical thread */
 | 
						|
  thread_t createThread(thread_func f, void* arg, size_t stack_size = 0, ssize_t threadID = -1);
 | 
						|
 | 
						|
  /*! set affinity of the calling thread */
 | 
						|
  void setAffinity(ssize_t affinity);
 | 
						|
 | 
						|
  /*! the thread calling this function gets yielded */
 | 
						|
  void yield();
 | 
						|
 | 
						|
  /*! waits until the given thread has terminated */
 | 
						|
  void join(thread_t tid);
 | 
						|
 | 
						|
  /*! destroy handle of a thread */
 | 
						|
  void destroyThread(thread_t tid);
 | 
						|
 | 
						|
  /*! type for handle to thread local storage */
 | 
						|
  typedef struct opaque_tls_t* tls_t;
 | 
						|
 | 
						|
  /*! creates thread local storage */
 | 
						|
  tls_t createTls();
 | 
						|
 | 
						|
  /*! set the thread local storage pointer */
 | 
						|
  void setTls(tls_t tls, void* const ptr);
 | 
						|
 | 
						|
  /*! return the thread local storage pointer */
 | 
						|
  void* getTls(tls_t tls);
 | 
						|
 | 
						|
  /*! destroys thread local storage identifier */
 | 
						|
  void destroyTls(tls_t tls);
 | 
						|
}
 |