فهرست منبع

Merge pull request #5200 from rope-hmg/master

Added Semaphore API to the SDL3 vendor bindings
gingerBill 3 ماه پیش
والد
کامیت
93d2e6aca2
1فایلهای تغییر یافته به همراه12 افزوده شده و 4 حذف شده
  1. 12 4
      vendor/sdl3/sdl3_mutex.odin

+ 12 - 4
vendor/sdl3/sdl3_mutex.odin

@@ -1,8 +1,8 @@
 package sdl3
 
-Mutex  :: struct {}
-RWLock :: struct {}
-
+Mutex     :: struct {}
+RWLock    :: struct {}
+Semaphore :: struct {}
 
 @(default_calling_convention="c", link_prefix="SDL_", require_results)
 foreign lib {
@@ -19,4 +19,12 @@ foreign lib {
 	TryLockRWLockForWriting :: proc(rwlock: ^RWLock) -> bool ---
 	UnlockRWLock            :: proc(rwlock: ^RWLock) ---
 	DestroyRWLock           :: proc(rwlock: ^RWLock) ---
-}
+
+	CreateSemaphore         :: proc(initial_value: Uint32) -> ^Semaphore ---
+	DestroySemaphore        :: proc(sem: ^Semaphore) ---
+	GetSemaphoreValue       :: proc(sem: ^Semaphore) -> Uint32 ---
+	SignalSemaphore         :: proc(sem: ^Semaphore) ---
+	TryWaitSemaphore        :: proc(sem: ^Semaphore) -> bool ---
+	WaitSemaphore           :: proc(sem: ^Semaphore) ---
+	WaitSemaphoreTimeout    :: proc(sem: ^Semaphore, timeout_ms: Sint32) ---
+}