@@ -131,37 +131,6 @@ static void checkManualFrameBoundary(
131131 }
132132}
133133
134- /* *
135- * @brief Remove emulated frame boundaries from the pNext chain.
136- *
137- * @param layer The layer context.
138- * @param pSubmits The list of user-supplied submits.
139- * @param submitCount The number of submits in the list.
140- * @param safeSubmits Storage for allocated copies if we need to patch.
141- * @param pSubmitsForCall Pointer passed to the API call.
142- */
143- template <typename T, typename U>
144- static void stripManualFrameBoundary (
145- Device* layer,
146- const T* pSubmits,
147- uint32_t submitCount,
148- std::vector<U>& safeSubmits,
149- const T** pSubmitsForCall
150- ) {
151- if (layer->isEmulatingExtFrameBoundary )
152- {
153- safeSubmits.reserve (submitCount);
154-
155- for (uint32_t i = 0 ; i < submitCount; i++)
156- {
157- safeSubmits.emplace_back (pSubmits + i);
158- vku::RemoveFromPnext (safeSubmits[i], VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT);
159- }
160-
161- *pSubmitsForCall = reinterpret_cast <T*>(safeSubmits.data ());
162- }
163- }
164-
165134/* See Vulkan API for documentation. */
166135template <>
167136VKAPI_ATTR VkResult VKAPI_CALL layer_vkQueuePresentKHR<user_tag>(VkQueue queue, const VkPresentInfoKHR* pPresentInfo)
@@ -228,17 +197,9 @@ VKAPI_ATTR VkResult VKAPI_CALL
228197 checkManualFrameBoundary (layer, queue, submit.pNext , isLast, workloadVisitor);
229198 }
230199
231- // Remove emulated frame boundaries
232- const VkSubmitInfo* newSubmits = pSubmits;
233- std::vector<vku::safe_VkSubmitInfo> safeSubmits;
234-
235- stripManualFrameBoundary<VkSubmitInfo, vku::safe_VkSubmitInfo>(
236- layer, pSubmits, submitCount,
237- safeSubmits, &newSubmits);
238-
239200 // Release the lock to call into the driver
240201 lock.unlock ();
241- return layer->driver .vkQueueSubmit (queue, submitCount, newSubmits , fence);
202+ return layer->driver .vkQueueSubmit (queue, submitCount, pSubmits , fence);
242203}
243204
244205/* See Vulkan API for documentation. */
@@ -274,17 +235,9 @@ VKAPI_ATTR VkResult VKAPI_CALL
274235 checkManualFrameBoundary (layer, queue, submit.pNext , isLast, workloadVisitor);
275236 }
276237
277- // Remove emulated frame boundaries
278- const VkSubmitInfo2* newSubmits = pSubmits;
279- std::vector<vku::safe_VkSubmitInfo2> safeSubmits;
280-
281- stripManualFrameBoundary<VkSubmitInfo2, vku::safe_VkSubmitInfo2>(
282- layer, pSubmits, submitCount,
283- safeSubmits, &newSubmits);
284-
285238 // Release the lock to call into the driver
286239 lock.unlock ();
287- return layer->driver .vkQueueSubmit2 (queue, submitCount, newSubmits , fence);
240+ return layer->driver .vkQueueSubmit2 (queue, submitCount, pSubmits , fence);
288241}
289242
290243/* See Vulkan API for documentation. */
@@ -320,16 +273,9 @@ VKAPI_ATTR VkResult VKAPI_CALL
320273 checkManualFrameBoundary (layer, queue, submit.pNext , isLast, workloadVisitor);
321274 }
322275
323- // Remove emulated frame boundaries
324- const VkSubmitInfo2* newSubmits = pSubmits;
325- std::vector<vku::safe_VkSubmitInfo2> safeSubmits;
326- stripManualFrameBoundary<VkSubmitInfo2, vku::safe_VkSubmitInfo2>(
327- layer, pSubmits, submitCount,
328- safeSubmits, &newSubmits);
329-
330276 // Release the lock to call into the driver
331277 lock.unlock ();
332- return layer->driver .vkQueueSubmit2KHR (queue, submitCount, newSubmits , fence);
278+ return layer->driver .vkQueueSubmit2KHR (queue, submitCount, pSubmits , fence);
333279}
334280
335281/* *
@@ -367,14 +313,7 @@ VKAPI_ATTR VkResult VKAPI_CALL layer_vkQueueBindSparse<user_tag>(
367313 }
368314 }
369315
370- // Remove emulated frame boundaries
371- const VkBindSparseInfo* newBindInfo = pBindInfo;
372- std::vector<vku::safe_VkBindSparseInfo> safeInfos;
373- stripManualFrameBoundary<VkBindSparseInfo, vku::safe_VkBindSparseInfo>(
374- layer, pBindInfo, bindInfoCount,
375- safeInfos, &newBindInfo);
376-
377316 // Release the lock to call into the driver
378317 lock.unlock ();
379- return layer->driver .vkQueueBindSparse (queue, bindInfoCount, newBindInfo , fence);
318+ return layer->driver .vkQueueBindSparse (queue, bindInfoCount, pBindInfo , fence);
380319}
0 commit comments