vkd3d: Use atomic exchange for descriptor writes.
2 unresolved threads
2 unresolved threads
Compare changes
+ 167
− 62
@@ -44,13 +44,11 @@
@@ -252,6 +250,31 @@ static inline void vkd3d_cond_destroy(struct vkd3d_cond *cond)
@@ -354,6 +377,63 @@ static inline void vkd3d_cond_destroy(struct vkd3d_cond *cond)
@@ -662,11 +742,9 @@ enum vkd3d_view_type
@@ -692,9 +770,6 @@ struct vkd3d_view
@@ -708,32 +783,88 @@ struct vkd3d_texture_view_desc
@@ -768,7 +899,6 @@ HRESULT vkd3d_create_static_sampler(struct d3d12_device *device,
@@ -788,7 +918,6 @@ void d3d12_rtv_desc_create_rtv(struct d3d12_rtv_desc *rtv_desc, struct d3d12_dev
@@ -838,15 +967,10 @@ struct vkd3d_vk_descriptor_heap_layout
@@ -864,11 +988,14 @@ struct d3d12_descriptor_heap
@@ -883,22 +1010,6 @@ static inline unsigned int d3d12_desc_heap_range_size(const struct d3d12_desc *d
@@ -1486,6 +1597,12 @@ struct vkd3d_uav_clear_state
@@ -1503,7 +1620,8 @@ struct d3d12_device
@@ -1578,19 +1696,6 @@ static inline unsigned int d3d12_device_get_descriptor_handle_increment_size(str