gfxstream: host: don't abort when unbox fails
Unboxing fails if a NULL handle is passed in, triggering an abort. However for vkCmdBeginTransformFeedbackEXT, this is perfectly valid: "For each element of pCounterBuffers that is VK_NULL_HANDLE, transform feedback will start capturing vertex data to byte zero in the corresponding bound transform feedback buffer." Reviewed-by: Aaron Ruby <aruby@blackberry.com> Acked-by: Yonggang Luo <luoyonggang@gmail.com> Acked-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
This commit is contained in:
committed by
Marge Bot
parent
b05f3f8e12
commit
a3f888d089
@@ -223,7 +223,7 @@ class VulkanReservedMarshalingCodegen(VulkanTypeIterator):
|
||||
self.cgen.beginIf(lenAccessGuard)
|
||||
self.cgen.beginFor("uint32_t k = 0", "k < %s" % lenAccess, "++k")
|
||||
self.cgen.stmt("uint64_t tmpval; memcpy(&tmpval, %s_ptr + k * 8, sizeof(uint64_t))" % handle64Var)
|
||||
self.cgen.stmt("*((%s%s) + k) = (%s)%s((%s)tmpval)" % (
|
||||
self.cgen.stmt("*((%s%s) + k) = tmpval ? (%s)%s((%s)tmpval) : VK_NULL_HANDLE" % (
|
||||
self.makeCastExpr(vulkanType.getForNonConstAccess()), access,
|
||||
vulkanType.typeName, mapFunc, vulkanType.typeName))
|
||||
if lenAccessGuard is not None:
|
||||
|
||||
Reference in New Issue
Block a user