layers: thread checks of VkCommandBuffer pool read
authorMike Stroyan <stroyan@google.com>
Fri, 5 Feb 2016 16:46:01 +0000 (09:46 -0700)
committerMike Stroyan <stroyan@google.com>
Fri, 5 Feb 2016 18:05:45 +0000 (11:05 -0700)
Object reads of VkCommandBuffer should also be reads of their pool.
A single thread may have multiple uses of a pool in one call.
That will be allowed because the uses are all in a single thread.

layers/threading.h

index 23d44c2..0b8e947 100644 (file)
@@ -324,18 +324,14 @@ static void finishWriteObject(struct layer_data *my_data, VkCommandBuffer object
         finishWriteObject(my_data, command_pool_map[object]);
     }
 }
-static void startReadObject(struct layer_data *my_data, VkCommandBuffer object, bool lockPool=false)
+static void startReadObject(struct layer_data *my_data, VkCommandBuffer object)
 {
-    if (lockPool) {
-        startReadObject(my_data, command_pool_map[object]);
-    }
+    startReadObject(my_data, command_pool_map[object]);
     my_data->c_VkCommandBuffer.startRead(my_data->report_data, object);
 }
-static void finishReadObject(struct layer_data *my_data, VkCommandBuffer object, bool lockPool=false)
+static void finishReadObject(struct layer_data *my_data, VkCommandBuffer object)
 {
     my_data->c_VkCommandBuffer.finishRead(object);
-    if (lockPool) {
-        finishReadObject(my_data, command_pool_map[object]);
-    }
+    finishReadObject(my_data, command_pool_map[object]);
 }
 #endif // THREADING_H