<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 12, 2019 at 5:18 AM Derek Lesho <<a href="mailto:dlesho@codeweavers.com">dlesho@codeweavers.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
+ for (unsigned int i = 0; i < desc->NumDescriptors; i++)<br>
+ {<br>
+ struct d3d12_desc *cur_desc = (struct d3d12_desc *) (object->descriptors + (i * descriptor_size));<br>
+ pthread_spinlock_t *lock = vkd3d_malloc(sizeof(pthread_spinlock_t));<br>
+<br>
+ pthread_spin_init(lock, PTHREAD_PROCESS_PRIVATE);<br>
+ cur_desc->lock = lock;<br>
+ }<br></blockquote><div><br></div><div>On Linux, pthread_spinlock_t is just a single int (not sure about the
Mac equivalent but probably similar). It's more efficient to declare
cur_desc->lock as a pthread_spinlock_t rather than a pointer to one
in allocated memory. <br></div></div></div>