You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1445 lines
52 KiB
1445 lines
52 KiB
/* This file is generated by venus-protocol. See vn_protocol_renderer.h. */
|
|
|
|
/*
|
|
* Copyright 2020 Google LLC
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#ifndef VN_PROTOCOL_RENDERER_RENDER_PASS_H
|
|
#define VN_PROTOCOL_RENDERER_RENDER_PASS_H
|
|
|
|
#include "vn_protocol_renderer_structs.h"
|
|
|
|
/* struct VkAttachmentDescription */
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentDescription_temp(struct vn_cs_decoder *dec, VkAttachmentDescription *val)
|
|
{
|
|
vn_decode_VkFlags(dec, &val->flags);
|
|
vn_decode_VkFormat(dec, &val->format);
|
|
vn_decode_VkSampleCountFlagBits(dec, &val->samples);
|
|
vn_decode_VkAttachmentLoadOp(dec, &val->loadOp);
|
|
vn_decode_VkAttachmentStoreOp(dec, &val->storeOp);
|
|
vn_decode_VkAttachmentLoadOp(dec, &val->stencilLoadOp);
|
|
vn_decode_VkAttachmentStoreOp(dec, &val->stencilStoreOp);
|
|
vn_decode_VkImageLayout(dec, &val->initialLayout);
|
|
vn_decode_VkImageLayout(dec, &val->finalLayout);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentDescription_handle(VkAttachmentDescription *val)
|
|
{
|
|
/* skip val->flags */
|
|
/* skip val->format */
|
|
/* skip val->samples */
|
|
/* skip val->loadOp */
|
|
/* skip val->storeOp */
|
|
/* skip val->stencilLoadOp */
|
|
/* skip val->stencilStoreOp */
|
|
/* skip val->initialLayout */
|
|
/* skip val->finalLayout */
|
|
}
|
|
|
|
/* struct VkAttachmentReference */
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentReference_temp(struct vn_cs_decoder *dec, VkAttachmentReference *val)
|
|
{
|
|
vn_decode_uint32_t(dec, &val->attachment);
|
|
vn_decode_VkImageLayout(dec, &val->layout);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentReference_handle(VkAttachmentReference *val)
|
|
{
|
|
/* skip val->attachment */
|
|
/* skip val->layout */
|
|
}
|
|
|
|
/* struct VkSubpassDescription */
|
|
|
|
static inline void
|
|
vn_decode_VkSubpassDescription_temp(struct vn_cs_decoder *dec, VkSubpassDescription *val)
|
|
{
|
|
vn_decode_VkFlags(dec, &val->flags);
|
|
vn_decode_VkPipelineBindPoint(dec, &val->pipelineBindPoint);
|
|
vn_decode_uint32_t(dec, &val->inputAttachmentCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pInputAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pInputAttachments) * val->inputAttachmentCount);
|
|
if (!val->pInputAttachments) return;
|
|
vn_decode_array_size(dec, val->inputAttachmentCount);
|
|
for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
|
|
vn_decode_VkAttachmentReference_temp(dec, &((VkAttachmentReference *)val->pInputAttachments)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pInputAttachments = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->colorAttachmentCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pColorAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pColorAttachments) * val->colorAttachmentCount);
|
|
if (!val->pColorAttachments) return;
|
|
vn_decode_array_size(dec, val->colorAttachmentCount);
|
|
for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
|
|
vn_decode_VkAttachmentReference_temp(dec, &((VkAttachmentReference *)val->pColorAttachments)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pColorAttachments = NULL;
|
|
}
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pResolveAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pResolveAttachments) * val->colorAttachmentCount);
|
|
if (!val->pResolveAttachments) return;
|
|
vn_decode_array_size(dec, val->colorAttachmentCount);
|
|
for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
|
|
vn_decode_VkAttachmentReference_temp(dec, &((VkAttachmentReference *)val->pResolveAttachments)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pResolveAttachments = NULL;
|
|
}
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
val->pDepthStencilAttachment = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pDepthStencilAttachment));
|
|
if (!val->pDepthStencilAttachment) return;
|
|
vn_decode_VkAttachmentReference_temp(dec, (VkAttachmentReference *)val->pDepthStencilAttachment);
|
|
} else {
|
|
val->pDepthStencilAttachment = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->preserveAttachmentCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
const size_t array_size = vn_decode_array_size(dec, val->preserveAttachmentCount);
|
|
val->pPreserveAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pPreserveAttachments) * array_size);
|
|
if (!val->pPreserveAttachments) return;
|
|
vn_decode_uint32_t_array(dec, (uint32_t *)val->pPreserveAttachments, array_size);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pPreserveAttachments = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkSubpassDescription_handle(VkSubpassDescription *val)
|
|
{
|
|
/* skip val->flags */
|
|
/* skip val->pipelineBindPoint */
|
|
/* skip val->inputAttachmentCount */
|
|
if (val->pInputAttachments) {
|
|
for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
|
|
vn_replace_VkAttachmentReference_handle(&((VkAttachmentReference *)val->pInputAttachments)[i]);
|
|
}
|
|
/* skip val->colorAttachmentCount */
|
|
if (val->pColorAttachments) {
|
|
for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
|
|
vn_replace_VkAttachmentReference_handle(&((VkAttachmentReference *)val->pColorAttachments)[i]);
|
|
}
|
|
if (val->pResolveAttachments) {
|
|
for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
|
|
vn_replace_VkAttachmentReference_handle(&((VkAttachmentReference *)val->pResolveAttachments)[i]);
|
|
}
|
|
if (val->pDepthStencilAttachment)
|
|
vn_replace_VkAttachmentReference_handle((VkAttachmentReference *)val->pDepthStencilAttachment);
|
|
/* skip val->preserveAttachmentCount */
|
|
/* skip val->pPreserveAttachments */
|
|
}
|
|
|
|
/* struct VkSubpassDependency */
|
|
|
|
static inline void
|
|
vn_decode_VkSubpassDependency_temp(struct vn_cs_decoder *dec, VkSubpassDependency *val)
|
|
{
|
|
vn_decode_uint32_t(dec, &val->srcSubpass);
|
|
vn_decode_uint32_t(dec, &val->dstSubpass);
|
|
vn_decode_VkFlags(dec, &val->srcStageMask);
|
|
vn_decode_VkFlags(dec, &val->dstStageMask);
|
|
vn_decode_VkFlags(dec, &val->srcAccessMask);
|
|
vn_decode_VkFlags(dec, &val->dstAccessMask);
|
|
vn_decode_VkFlags(dec, &val->dependencyFlags);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkSubpassDependency_handle(VkSubpassDependency *val)
|
|
{
|
|
/* skip val->srcSubpass */
|
|
/* skip val->dstSubpass */
|
|
/* skip val->srcStageMask */
|
|
/* skip val->dstStageMask */
|
|
/* skip val->srcAccessMask */
|
|
/* skip val->dstAccessMask */
|
|
/* skip val->dependencyFlags */
|
|
}
|
|
|
|
/* struct VkRenderPassMultiviewCreateInfo chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkRenderPassMultiviewCreateInfo_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
/* no known/supported struct */
|
|
if (vn_decode_simple_pointer(dec))
|
|
vn_cs_decoder_set_fatal(dec);
|
|
return NULL;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkRenderPassMultiviewCreateInfo_self_temp(struct vn_cs_decoder *dec, VkRenderPassMultiviewCreateInfo *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_uint32_t(dec, &val->subpassCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
const size_t array_size = vn_decode_array_size(dec, val->subpassCount);
|
|
val->pViewMasks = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pViewMasks) * array_size);
|
|
if (!val->pViewMasks) return;
|
|
vn_decode_uint32_t_array(dec, (uint32_t *)val->pViewMasks, array_size);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pViewMasks = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->dependencyCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
const size_t array_size = vn_decode_array_size(dec, val->dependencyCount);
|
|
val->pViewOffsets = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pViewOffsets) * array_size);
|
|
if (!val->pViewOffsets) return;
|
|
vn_decode_int32_t_array(dec, (int32_t *)val->pViewOffsets, array_size);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pViewOffsets = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->correlationMaskCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
const size_t array_size = vn_decode_array_size(dec, val->correlationMaskCount);
|
|
val->pCorrelationMasks = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pCorrelationMasks) * array_size);
|
|
if (!val->pCorrelationMasks) return;
|
|
vn_decode_uint32_t_array(dec, (uint32_t *)val->pCorrelationMasks, array_size);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pCorrelationMasks = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkRenderPassMultiviewCreateInfo_temp(struct vn_cs_decoder *dec, VkRenderPassMultiviewCreateInfo *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkRenderPassMultiviewCreateInfo_pnext_temp(dec);
|
|
vn_decode_VkRenderPassMultiviewCreateInfo_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkRenderPassMultiviewCreateInfo_handle_self(VkRenderPassMultiviewCreateInfo *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->subpassCount */
|
|
/* skip val->pViewMasks */
|
|
/* skip val->dependencyCount */
|
|
/* skip val->pViewOffsets */
|
|
/* skip val->correlationMaskCount */
|
|
/* skip val->pCorrelationMasks */
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkRenderPassMultiviewCreateInfo_handle(VkRenderPassMultiviewCreateInfo *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
|
|
vn_replace_VkRenderPassMultiviewCreateInfo_handle_self((VkRenderPassMultiviewCreateInfo *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkInputAttachmentAspectReference */
|
|
|
|
static inline void
|
|
vn_decode_VkInputAttachmentAspectReference_temp(struct vn_cs_decoder *dec, VkInputAttachmentAspectReference *val)
|
|
{
|
|
vn_decode_uint32_t(dec, &val->subpass);
|
|
vn_decode_uint32_t(dec, &val->inputAttachmentIndex);
|
|
vn_decode_VkFlags(dec, &val->aspectMask);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkInputAttachmentAspectReference_handle(VkInputAttachmentAspectReference *val)
|
|
{
|
|
/* skip val->subpass */
|
|
/* skip val->inputAttachmentIndex */
|
|
/* skip val->aspectMask */
|
|
}
|
|
|
|
/* struct VkRenderPassInputAttachmentAspectCreateInfo chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkRenderPassInputAttachmentAspectCreateInfo_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
/* no known/supported struct */
|
|
if (vn_decode_simple_pointer(dec))
|
|
vn_cs_decoder_set_fatal(dec);
|
|
return NULL;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkRenderPassInputAttachmentAspectCreateInfo_self_temp(struct vn_cs_decoder *dec, VkRenderPassInputAttachmentAspectCreateInfo *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_uint32_t(dec, &val->aspectReferenceCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pAspectReferences = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pAspectReferences) * val->aspectReferenceCount);
|
|
if (!val->pAspectReferences) return;
|
|
vn_decode_array_size(dec, val->aspectReferenceCount);
|
|
for (uint32_t i = 0; i < val->aspectReferenceCount; i++)
|
|
vn_decode_VkInputAttachmentAspectReference_temp(dec, &((VkInputAttachmentAspectReference *)val->pAspectReferences)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pAspectReferences = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkRenderPassInputAttachmentAspectCreateInfo_temp(struct vn_cs_decoder *dec, VkRenderPassInputAttachmentAspectCreateInfo *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkRenderPassInputAttachmentAspectCreateInfo_pnext_temp(dec);
|
|
vn_decode_VkRenderPassInputAttachmentAspectCreateInfo_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkRenderPassInputAttachmentAspectCreateInfo_handle_self(VkRenderPassInputAttachmentAspectCreateInfo *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->aspectReferenceCount */
|
|
if (val->pAspectReferences) {
|
|
for (uint32_t i = 0; i < val->aspectReferenceCount; i++)
|
|
vn_replace_VkInputAttachmentAspectReference_handle(&((VkInputAttachmentAspectReference *)val->pAspectReferences)[i]);
|
|
}
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkRenderPassInputAttachmentAspectCreateInfo_handle(VkRenderPassInputAttachmentAspectCreateInfo *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
|
|
vn_replace_VkRenderPassInputAttachmentAspectCreateInfo_handle_self((VkRenderPassInputAttachmentAspectCreateInfo *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkRenderPassCreateInfo chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkRenderPassCreateInfo_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
VkBaseOutStructure *pnext;
|
|
VkStructureType stype;
|
|
|
|
if (!vn_decode_simple_pointer(dec))
|
|
return NULL;
|
|
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
switch ((int32_t)stype) {
|
|
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
|
|
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkRenderPassMultiviewCreateInfo));
|
|
if (pnext) {
|
|
pnext->sType = stype;
|
|
pnext->pNext = vn_decode_VkRenderPassCreateInfo_pnext_temp(dec);
|
|
vn_decode_VkRenderPassMultiviewCreateInfo_self_temp(dec, (VkRenderPassMultiviewCreateInfo *)pnext);
|
|
}
|
|
break;
|
|
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
|
|
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkRenderPassInputAttachmentAspectCreateInfo));
|
|
if (pnext) {
|
|
pnext->sType = stype;
|
|
pnext->pNext = vn_decode_VkRenderPassCreateInfo_pnext_temp(dec);
|
|
vn_decode_VkRenderPassInputAttachmentAspectCreateInfo_self_temp(dec, (VkRenderPassInputAttachmentAspectCreateInfo *)pnext);
|
|
}
|
|
break;
|
|
default:
|
|
/* unexpected struct */
|
|
pnext = NULL;
|
|
vn_cs_decoder_set_fatal(dec);
|
|
break;
|
|
}
|
|
|
|
return pnext;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkRenderPassCreateInfo_self_temp(struct vn_cs_decoder *dec, VkRenderPassCreateInfo *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_VkFlags(dec, &val->flags);
|
|
vn_decode_uint32_t(dec, &val->attachmentCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pAttachments) * val->attachmentCount);
|
|
if (!val->pAttachments) return;
|
|
vn_decode_array_size(dec, val->attachmentCount);
|
|
for (uint32_t i = 0; i < val->attachmentCount; i++)
|
|
vn_decode_VkAttachmentDescription_temp(dec, &((VkAttachmentDescription *)val->pAttachments)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pAttachments = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->subpassCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pSubpasses = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pSubpasses) * val->subpassCount);
|
|
if (!val->pSubpasses) return;
|
|
vn_decode_array_size(dec, val->subpassCount);
|
|
for (uint32_t i = 0; i < val->subpassCount; i++)
|
|
vn_decode_VkSubpassDescription_temp(dec, &((VkSubpassDescription *)val->pSubpasses)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pSubpasses = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->dependencyCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pDependencies = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pDependencies) * val->dependencyCount);
|
|
if (!val->pDependencies) return;
|
|
vn_decode_array_size(dec, val->dependencyCount);
|
|
for (uint32_t i = 0; i < val->dependencyCount; i++)
|
|
vn_decode_VkSubpassDependency_temp(dec, &((VkSubpassDependency *)val->pDependencies)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pDependencies = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkRenderPassCreateInfo_temp(struct vn_cs_decoder *dec, VkRenderPassCreateInfo *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkRenderPassCreateInfo_pnext_temp(dec);
|
|
vn_decode_VkRenderPassCreateInfo_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkRenderPassCreateInfo_handle_self(VkRenderPassCreateInfo *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->flags */
|
|
/* skip val->attachmentCount */
|
|
if (val->pAttachments) {
|
|
for (uint32_t i = 0; i < val->attachmentCount; i++)
|
|
vn_replace_VkAttachmentDescription_handle(&((VkAttachmentDescription *)val->pAttachments)[i]);
|
|
}
|
|
/* skip val->subpassCount */
|
|
if (val->pSubpasses) {
|
|
for (uint32_t i = 0; i < val->subpassCount; i++)
|
|
vn_replace_VkSubpassDescription_handle(&((VkSubpassDescription *)val->pSubpasses)[i]);
|
|
}
|
|
/* skip val->dependencyCount */
|
|
if (val->pDependencies) {
|
|
for (uint32_t i = 0; i < val->dependencyCount; i++)
|
|
vn_replace_VkSubpassDependency_handle(&((VkSubpassDependency *)val->pDependencies)[i]);
|
|
}
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkRenderPassCreateInfo_handle(VkRenderPassCreateInfo *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO:
|
|
vn_replace_VkRenderPassCreateInfo_handle_self((VkRenderPassCreateInfo *)pnext);
|
|
break;
|
|
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
|
|
vn_replace_VkRenderPassMultiviewCreateInfo_handle_self((VkRenderPassMultiviewCreateInfo *)pnext);
|
|
break;
|
|
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
|
|
vn_replace_VkRenderPassInputAttachmentAspectCreateInfo_handle_self((VkRenderPassInputAttachmentAspectCreateInfo *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkAttachmentDescriptionStencilLayout chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkAttachmentDescriptionStencilLayout_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
/* no known/supported struct */
|
|
if (vn_decode_simple_pointer(dec))
|
|
vn_cs_decoder_set_fatal(dec);
|
|
return NULL;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentDescriptionStencilLayout_self_temp(struct vn_cs_decoder *dec, VkAttachmentDescriptionStencilLayout *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_VkImageLayout(dec, &val->stencilInitialLayout);
|
|
vn_decode_VkImageLayout(dec, &val->stencilFinalLayout);
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentDescriptionStencilLayout_temp(struct vn_cs_decoder *dec, VkAttachmentDescriptionStencilLayout *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkAttachmentDescriptionStencilLayout_pnext_temp(dec);
|
|
vn_decode_VkAttachmentDescriptionStencilLayout_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentDescriptionStencilLayout_handle_self(VkAttachmentDescriptionStencilLayout *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->stencilInitialLayout */
|
|
/* skip val->stencilFinalLayout */
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentDescriptionStencilLayout_handle(VkAttachmentDescriptionStencilLayout *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT:
|
|
vn_replace_VkAttachmentDescriptionStencilLayout_handle_self((VkAttachmentDescriptionStencilLayout *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkAttachmentDescription2 chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkAttachmentDescription2_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
VkBaseOutStructure *pnext;
|
|
VkStructureType stype;
|
|
|
|
if (!vn_decode_simple_pointer(dec))
|
|
return NULL;
|
|
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
switch ((int32_t)stype) {
|
|
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT:
|
|
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkAttachmentDescriptionStencilLayout));
|
|
if (pnext) {
|
|
pnext->sType = stype;
|
|
pnext->pNext = vn_decode_VkAttachmentDescription2_pnext_temp(dec);
|
|
vn_decode_VkAttachmentDescriptionStencilLayout_self_temp(dec, (VkAttachmentDescriptionStencilLayout *)pnext);
|
|
}
|
|
break;
|
|
default:
|
|
/* unexpected struct */
|
|
pnext = NULL;
|
|
vn_cs_decoder_set_fatal(dec);
|
|
break;
|
|
}
|
|
|
|
return pnext;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentDescription2_self_temp(struct vn_cs_decoder *dec, VkAttachmentDescription2 *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_VkFlags(dec, &val->flags);
|
|
vn_decode_VkFormat(dec, &val->format);
|
|
vn_decode_VkSampleCountFlagBits(dec, &val->samples);
|
|
vn_decode_VkAttachmentLoadOp(dec, &val->loadOp);
|
|
vn_decode_VkAttachmentStoreOp(dec, &val->storeOp);
|
|
vn_decode_VkAttachmentLoadOp(dec, &val->stencilLoadOp);
|
|
vn_decode_VkAttachmentStoreOp(dec, &val->stencilStoreOp);
|
|
vn_decode_VkImageLayout(dec, &val->initialLayout);
|
|
vn_decode_VkImageLayout(dec, &val->finalLayout);
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentDescription2_temp(struct vn_cs_decoder *dec, VkAttachmentDescription2 *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkAttachmentDescription2_pnext_temp(dec);
|
|
vn_decode_VkAttachmentDescription2_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentDescription2_handle_self(VkAttachmentDescription2 *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->flags */
|
|
/* skip val->format */
|
|
/* skip val->samples */
|
|
/* skip val->loadOp */
|
|
/* skip val->storeOp */
|
|
/* skip val->stencilLoadOp */
|
|
/* skip val->stencilStoreOp */
|
|
/* skip val->initialLayout */
|
|
/* skip val->finalLayout */
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentDescription2_handle(VkAttachmentDescription2 *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2:
|
|
vn_replace_VkAttachmentDescription2_handle_self((VkAttachmentDescription2 *)pnext);
|
|
break;
|
|
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT:
|
|
vn_replace_VkAttachmentDescriptionStencilLayout_handle_self((VkAttachmentDescriptionStencilLayout *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkAttachmentReferenceStencilLayout chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkAttachmentReferenceStencilLayout_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
/* no known/supported struct */
|
|
if (vn_decode_simple_pointer(dec))
|
|
vn_cs_decoder_set_fatal(dec);
|
|
return NULL;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentReferenceStencilLayout_self_temp(struct vn_cs_decoder *dec, VkAttachmentReferenceStencilLayout *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_VkImageLayout(dec, &val->stencilLayout);
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentReferenceStencilLayout_temp(struct vn_cs_decoder *dec, VkAttachmentReferenceStencilLayout *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkAttachmentReferenceStencilLayout_pnext_temp(dec);
|
|
vn_decode_VkAttachmentReferenceStencilLayout_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentReferenceStencilLayout_handle_self(VkAttachmentReferenceStencilLayout *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->stencilLayout */
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentReferenceStencilLayout_handle(VkAttachmentReferenceStencilLayout *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT:
|
|
vn_replace_VkAttachmentReferenceStencilLayout_handle_self((VkAttachmentReferenceStencilLayout *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkAttachmentReference2 chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkAttachmentReference2_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
VkBaseOutStructure *pnext;
|
|
VkStructureType stype;
|
|
|
|
if (!vn_decode_simple_pointer(dec))
|
|
return NULL;
|
|
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
switch ((int32_t)stype) {
|
|
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT:
|
|
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkAttachmentReferenceStencilLayout));
|
|
if (pnext) {
|
|
pnext->sType = stype;
|
|
pnext->pNext = vn_decode_VkAttachmentReference2_pnext_temp(dec);
|
|
vn_decode_VkAttachmentReferenceStencilLayout_self_temp(dec, (VkAttachmentReferenceStencilLayout *)pnext);
|
|
}
|
|
break;
|
|
default:
|
|
/* unexpected struct */
|
|
pnext = NULL;
|
|
vn_cs_decoder_set_fatal(dec);
|
|
break;
|
|
}
|
|
|
|
return pnext;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentReference2_self_temp(struct vn_cs_decoder *dec, VkAttachmentReference2 *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_uint32_t(dec, &val->attachment);
|
|
vn_decode_VkImageLayout(dec, &val->layout);
|
|
vn_decode_VkFlags(dec, &val->aspectMask);
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkAttachmentReference2_temp(struct vn_cs_decoder *dec, VkAttachmentReference2 *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkAttachmentReference2_pnext_temp(dec);
|
|
vn_decode_VkAttachmentReference2_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentReference2_handle_self(VkAttachmentReference2 *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->attachment */
|
|
/* skip val->layout */
|
|
/* skip val->aspectMask */
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkAttachmentReference2_handle(VkAttachmentReference2 *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2:
|
|
vn_replace_VkAttachmentReference2_handle_self((VkAttachmentReference2 *)pnext);
|
|
break;
|
|
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT:
|
|
vn_replace_VkAttachmentReferenceStencilLayout_handle_self((VkAttachmentReferenceStencilLayout *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkSubpassDescriptionDepthStencilResolve chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkSubpassDescriptionDepthStencilResolve_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
/* no known/supported struct */
|
|
if (vn_decode_simple_pointer(dec))
|
|
vn_cs_decoder_set_fatal(dec);
|
|
return NULL;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkSubpassDescriptionDepthStencilResolve_self_temp(struct vn_cs_decoder *dec, VkSubpassDescriptionDepthStencilResolve *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_VkResolveModeFlagBits(dec, &val->depthResolveMode);
|
|
vn_decode_VkResolveModeFlagBits(dec, &val->stencilResolveMode);
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
val->pDepthStencilResolveAttachment = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pDepthStencilResolveAttachment));
|
|
if (!val->pDepthStencilResolveAttachment) return;
|
|
vn_decode_VkAttachmentReference2_temp(dec, (VkAttachmentReference2 *)val->pDepthStencilResolveAttachment);
|
|
} else {
|
|
val->pDepthStencilResolveAttachment = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkSubpassDescriptionDepthStencilResolve_temp(struct vn_cs_decoder *dec, VkSubpassDescriptionDepthStencilResolve *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkSubpassDescriptionDepthStencilResolve_pnext_temp(dec);
|
|
vn_decode_VkSubpassDescriptionDepthStencilResolve_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkSubpassDescriptionDepthStencilResolve_handle_self(VkSubpassDescriptionDepthStencilResolve *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->depthResolveMode */
|
|
/* skip val->stencilResolveMode */
|
|
if (val->pDepthStencilResolveAttachment)
|
|
vn_replace_VkAttachmentReference2_handle((VkAttachmentReference2 *)val->pDepthStencilResolveAttachment);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkSubpassDescriptionDepthStencilResolve_handle(VkSubpassDescriptionDepthStencilResolve *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
|
|
vn_replace_VkSubpassDescriptionDepthStencilResolve_handle_self((VkSubpassDescriptionDepthStencilResolve *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkSubpassDescription2 chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkSubpassDescription2_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
VkBaseOutStructure *pnext;
|
|
VkStructureType stype;
|
|
|
|
if (!vn_decode_simple_pointer(dec))
|
|
return NULL;
|
|
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
switch ((int32_t)stype) {
|
|
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
|
|
pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkSubpassDescriptionDepthStencilResolve));
|
|
if (pnext) {
|
|
pnext->sType = stype;
|
|
pnext->pNext = vn_decode_VkSubpassDescription2_pnext_temp(dec);
|
|
vn_decode_VkSubpassDescriptionDepthStencilResolve_self_temp(dec, (VkSubpassDescriptionDepthStencilResolve *)pnext);
|
|
}
|
|
break;
|
|
default:
|
|
/* unexpected struct */
|
|
pnext = NULL;
|
|
vn_cs_decoder_set_fatal(dec);
|
|
break;
|
|
}
|
|
|
|
return pnext;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkSubpassDescription2_self_temp(struct vn_cs_decoder *dec, VkSubpassDescription2 *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_VkFlags(dec, &val->flags);
|
|
vn_decode_VkPipelineBindPoint(dec, &val->pipelineBindPoint);
|
|
vn_decode_uint32_t(dec, &val->viewMask);
|
|
vn_decode_uint32_t(dec, &val->inputAttachmentCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pInputAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pInputAttachments) * val->inputAttachmentCount);
|
|
if (!val->pInputAttachments) return;
|
|
vn_decode_array_size(dec, val->inputAttachmentCount);
|
|
for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
|
|
vn_decode_VkAttachmentReference2_temp(dec, &((VkAttachmentReference2 *)val->pInputAttachments)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pInputAttachments = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->colorAttachmentCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pColorAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pColorAttachments) * val->colorAttachmentCount);
|
|
if (!val->pColorAttachments) return;
|
|
vn_decode_array_size(dec, val->colorAttachmentCount);
|
|
for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
|
|
vn_decode_VkAttachmentReference2_temp(dec, &((VkAttachmentReference2 *)val->pColorAttachments)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pColorAttachments = NULL;
|
|
}
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pResolveAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pResolveAttachments) * val->colorAttachmentCount);
|
|
if (!val->pResolveAttachments) return;
|
|
vn_decode_array_size(dec, val->colorAttachmentCount);
|
|
for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
|
|
vn_decode_VkAttachmentReference2_temp(dec, &((VkAttachmentReference2 *)val->pResolveAttachments)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pResolveAttachments = NULL;
|
|
}
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
val->pDepthStencilAttachment = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pDepthStencilAttachment));
|
|
if (!val->pDepthStencilAttachment) return;
|
|
vn_decode_VkAttachmentReference2_temp(dec, (VkAttachmentReference2 *)val->pDepthStencilAttachment);
|
|
} else {
|
|
val->pDepthStencilAttachment = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->preserveAttachmentCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
const size_t array_size = vn_decode_array_size(dec, val->preserveAttachmentCount);
|
|
val->pPreserveAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pPreserveAttachments) * array_size);
|
|
if (!val->pPreserveAttachments) return;
|
|
vn_decode_uint32_t_array(dec, (uint32_t *)val->pPreserveAttachments, array_size);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pPreserveAttachments = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkSubpassDescription2_temp(struct vn_cs_decoder *dec, VkSubpassDescription2 *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkSubpassDescription2_pnext_temp(dec);
|
|
vn_decode_VkSubpassDescription2_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkSubpassDescription2_handle_self(VkSubpassDescription2 *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->flags */
|
|
/* skip val->pipelineBindPoint */
|
|
/* skip val->viewMask */
|
|
/* skip val->inputAttachmentCount */
|
|
if (val->pInputAttachments) {
|
|
for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
|
|
vn_replace_VkAttachmentReference2_handle(&((VkAttachmentReference2 *)val->pInputAttachments)[i]);
|
|
}
|
|
/* skip val->colorAttachmentCount */
|
|
if (val->pColorAttachments) {
|
|
for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
|
|
vn_replace_VkAttachmentReference2_handle(&((VkAttachmentReference2 *)val->pColorAttachments)[i]);
|
|
}
|
|
if (val->pResolveAttachments) {
|
|
for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
|
|
vn_replace_VkAttachmentReference2_handle(&((VkAttachmentReference2 *)val->pResolveAttachments)[i]);
|
|
}
|
|
if (val->pDepthStencilAttachment)
|
|
vn_replace_VkAttachmentReference2_handle((VkAttachmentReference2 *)val->pDepthStencilAttachment);
|
|
/* skip val->preserveAttachmentCount */
|
|
/* skip val->pPreserveAttachments */
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkSubpassDescription2_handle(VkSubpassDescription2 *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2:
|
|
vn_replace_VkSubpassDescription2_handle_self((VkSubpassDescription2 *)pnext);
|
|
break;
|
|
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
|
|
vn_replace_VkSubpassDescriptionDepthStencilResolve_handle_self((VkSubpassDescriptionDepthStencilResolve *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkSubpassDependency2 chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkSubpassDependency2_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
/* no known/supported struct */
|
|
if (vn_decode_simple_pointer(dec))
|
|
vn_cs_decoder_set_fatal(dec);
|
|
return NULL;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkSubpassDependency2_self_temp(struct vn_cs_decoder *dec, VkSubpassDependency2 *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_uint32_t(dec, &val->srcSubpass);
|
|
vn_decode_uint32_t(dec, &val->dstSubpass);
|
|
vn_decode_VkFlags(dec, &val->srcStageMask);
|
|
vn_decode_VkFlags(dec, &val->dstStageMask);
|
|
vn_decode_VkFlags(dec, &val->srcAccessMask);
|
|
vn_decode_VkFlags(dec, &val->dstAccessMask);
|
|
vn_decode_VkFlags(dec, &val->dependencyFlags);
|
|
vn_decode_int32_t(dec, &val->viewOffset);
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkSubpassDependency2_temp(struct vn_cs_decoder *dec, VkSubpassDependency2 *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkSubpassDependency2_pnext_temp(dec);
|
|
vn_decode_VkSubpassDependency2_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkSubpassDependency2_handle_self(VkSubpassDependency2 *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->srcSubpass */
|
|
/* skip val->dstSubpass */
|
|
/* skip val->srcStageMask */
|
|
/* skip val->dstStageMask */
|
|
/* skip val->srcAccessMask */
|
|
/* skip val->dstAccessMask */
|
|
/* skip val->dependencyFlags */
|
|
/* skip val->viewOffset */
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkSubpassDependency2_handle(VkSubpassDependency2 *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2:
|
|
vn_replace_VkSubpassDependency2_handle_self((VkSubpassDependency2 *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
/* struct VkRenderPassCreateInfo2 chain */
|
|
|
|
static inline void *
|
|
vn_decode_VkRenderPassCreateInfo2_pnext_temp(struct vn_cs_decoder *dec)
|
|
{
|
|
/* no known/supported struct */
|
|
if (vn_decode_simple_pointer(dec))
|
|
vn_cs_decoder_set_fatal(dec);
|
|
return NULL;
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkRenderPassCreateInfo2_self_temp(struct vn_cs_decoder *dec, VkRenderPassCreateInfo2 *val)
|
|
{
|
|
/* skip val->{sType,pNext} */
|
|
vn_decode_VkFlags(dec, &val->flags);
|
|
vn_decode_uint32_t(dec, &val->attachmentCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pAttachments) * val->attachmentCount);
|
|
if (!val->pAttachments) return;
|
|
vn_decode_array_size(dec, val->attachmentCount);
|
|
for (uint32_t i = 0; i < val->attachmentCount; i++)
|
|
vn_decode_VkAttachmentDescription2_temp(dec, &((VkAttachmentDescription2 *)val->pAttachments)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pAttachments = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->subpassCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pSubpasses = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pSubpasses) * val->subpassCount);
|
|
if (!val->pSubpasses) return;
|
|
vn_decode_array_size(dec, val->subpassCount);
|
|
for (uint32_t i = 0; i < val->subpassCount; i++)
|
|
vn_decode_VkSubpassDescription2_temp(dec, &((VkSubpassDescription2 *)val->pSubpasses)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pSubpasses = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->dependencyCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
val->pDependencies = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pDependencies) * val->dependencyCount);
|
|
if (!val->pDependencies) return;
|
|
vn_decode_array_size(dec, val->dependencyCount);
|
|
for (uint32_t i = 0; i < val->dependencyCount; i++)
|
|
vn_decode_VkSubpassDependency2_temp(dec, &((VkSubpassDependency2 *)val->pDependencies)[i]);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pDependencies = NULL;
|
|
}
|
|
vn_decode_uint32_t(dec, &val->correlatedViewMaskCount);
|
|
if (vn_peek_array_size(dec)) {
|
|
const size_t array_size = vn_decode_array_size(dec, val->correlatedViewMaskCount);
|
|
val->pCorrelatedViewMasks = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pCorrelatedViewMasks) * array_size);
|
|
if (!val->pCorrelatedViewMasks) return;
|
|
vn_decode_uint32_t_array(dec, (uint32_t *)val->pCorrelatedViewMasks, array_size);
|
|
} else {
|
|
vn_decode_array_size(dec, 0);
|
|
val->pCorrelatedViewMasks = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void
|
|
vn_decode_VkRenderPassCreateInfo2_temp(struct vn_cs_decoder *dec, VkRenderPassCreateInfo2 *val)
|
|
{
|
|
VkStructureType stype;
|
|
vn_decode_VkStructureType(dec, &stype);
|
|
if (stype != VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2)
|
|
vn_cs_decoder_set_fatal(dec);
|
|
|
|
val->sType = stype;
|
|
val->pNext = vn_decode_VkRenderPassCreateInfo2_pnext_temp(dec);
|
|
vn_decode_VkRenderPassCreateInfo2_self_temp(dec, val);
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkRenderPassCreateInfo2_handle_self(VkRenderPassCreateInfo2 *val)
|
|
{
|
|
/* skip val->sType */
|
|
/* skip val->pNext */
|
|
/* skip val->flags */
|
|
/* skip val->attachmentCount */
|
|
if (val->pAttachments) {
|
|
for (uint32_t i = 0; i < val->attachmentCount; i++)
|
|
vn_replace_VkAttachmentDescription2_handle(&((VkAttachmentDescription2 *)val->pAttachments)[i]);
|
|
}
|
|
/* skip val->subpassCount */
|
|
if (val->pSubpasses) {
|
|
for (uint32_t i = 0; i < val->subpassCount; i++)
|
|
vn_replace_VkSubpassDescription2_handle(&((VkSubpassDescription2 *)val->pSubpasses)[i]);
|
|
}
|
|
/* skip val->dependencyCount */
|
|
if (val->pDependencies) {
|
|
for (uint32_t i = 0; i < val->dependencyCount; i++)
|
|
vn_replace_VkSubpassDependency2_handle(&((VkSubpassDependency2 *)val->pDependencies)[i]);
|
|
}
|
|
/* skip val->correlatedViewMaskCount */
|
|
/* skip val->pCorrelatedViewMasks */
|
|
}
|
|
|
|
static inline void
|
|
vn_replace_VkRenderPassCreateInfo2_handle(VkRenderPassCreateInfo2 *val)
|
|
{
|
|
struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
|
|
|
|
do {
|
|
switch ((int32_t)pnext->sType) {
|
|
case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2:
|
|
vn_replace_VkRenderPassCreateInfo2_handle_self((VkRenderPassCreateInfo2 *)pnext);
|
|
break;
|
|
default:
|
|
/* ignore unknown/unsupported struct */
|
|
break;
|
|
}
|
|
pnext = pnext->pNext;
|
|
} while (pnext);
|
|
}
|
|
|
|
static inline void vn_decode_vkCreateRenderPass_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCreateRenderPass *args)
|
|
{
|
|
vn_decode_VkDevice_lookup(dec, &args->device);
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
args->pCreateInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCreateInfo));
|
|
if (!args->pCreateInfo) return;
|
|
vn_decode_VkRenderPassCreateInfo_temp(dec, (VkRenderPassCreateInfo *)args->pCreateInfo);
|
|
} else {
|
|
args->pCreateInfo = NULL;
|
|
}
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
vn_cs_decoder_set_fatal(dec);
|
|
} else {
|
|
args->pAllocator = NULL;
|
|
}
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
args->pRenderPass = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRenderPass));
|
|
if (!args->pRenderPass) return;
|
|
vn_decode_VkRenderPass(dec, args->pRenderPass);
|
|
} else {
|
|
args->pRenderPass = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void vn_replace_vkCreateRenderPass_args_handle(struct vn_command_vkCreateRenderPass *args)
|
|
{
|
|
vn_replace_VkDevice_handle(&args->device);
|
|
if (args->pCreateInfo)
|
|
vn_replace_VkRenderPassCreateInfo_handle((VkRenderPassCreateInfo *)args->pCreateInfo);
|
|
/* skip args->pAllocator */
|
|
/* skip args->pRenderPass */
|
|
}
|
|
|
|
static inline void vn_encode_vkCreateRenderPass_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCreateRenderPass *args)
|
|
{
|
|
vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCreateRenderPass_EXT});
|
|
|
|
vn_encode_VkResult(enc, &args->ret);
|
|
/* skip args->device */
|
|
/* skip args->pCreateInfo */
|
|
/* skip args->pAllocator */
|
|
if (vn_encode_simple_pointer(enc, args->pRenderPass))
|
|
vn_encode_VkRenderPass(enc, args->pRenderPass);
|
|
}
|
|
|
|
static inline void vn_decode_vkDestroyRenderPass_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkDestroyRenderPass *args)
|
|
{
|
|
vn_decode_VkDevice_lookup(dec, &args->device);
|
|
vn_decode_VkRenderPass_lookup(dec, &args->renderPass);
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
vn_cs_decoder_set_fatal(dec);
|
|
} else {
|
|
args->pAllocator = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void vn_replace_vkDestroyRenderPass_args_handle(struct vn_command_vkDestroyRenderPass *args)
|
|
{
|
|
vn_replace_VkDevice_handle(&args->device);
|
|
vn_replace_VkRenderPass_handle(&args->renderPass);
|
|
/* skip args->pAllocator */
|
|
}
|
|
|
|
static inline void vn_encode_vkDestroyRenderPass_reply(struct vn_cs_encoder *enc, const struct vn_command_vkDestroyRenderPass *args)
|
|
{
|
|
vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkDestroyRenderPass_EXT});
|
|
|
|
/* skip args->device */
|
|
/* skip args->renderPass */
|
|
/* skip args->pAllocator */
|
|
}
|
|
|
|
static inline void vn_decode_vkGetRenderAreaGranularity_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetRenderAreaGranularity *args)
|
|
{
|
|
vn_decode_VkDevice_lookup(dec, &args->device);
|
|
vn_decode_VkRenderPass_lookup(dec, &args->renderPass);
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
args->pGranularity = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pGranularity));
|
|
if (!args->pGranularity) return;
|
|
vn_decode_VkExtent2D_partial_temp(dec, args->pGranularity);
|
|
} else {
|
|
args->pGranularity = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void vn_replace_vkGetRenderAreaGranularity_args_handle(struct vn_command_vkGetRenderAreaGranularity *args)
|
|
{
|
|
vn_replace_VkDevice_handle(&args->device);
|
|
vn_replace_VkRenderPass_handle(&args->renderPass);
|
|
/* skip args->pGranularity */
|
|
}
|
|
|
|
static inline void vn_encode_vkGetRenderAreaGranularity_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetRenderAreaGranularity *args)
|
|
{
|
|
vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT});
|
|
|
|
/* skip args->device */
|
|
/* skip args->renderPass */
|
|
if (vn_encode_simple_pointer(enc, args->pGranularity))
|
|
vn_encode_VkExtent2D(enc, args->pGranularity);
|
|
}
|
|
|
|
static inline void vn_decode_vkCreateRenderPass2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCreateRenderPass2 *args)
|
|
{
|
|
vn_decode_VkDevice_lookup(dec, &args->device);
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
args->pCreateInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCreateInfo));
|
|
if (!args->pCreateInfo) return;
|
|
vn_decode_VkRenderPassCreateInfo2_temp(dec, (VkRenderPassCreateInfo2 *)args->pCreateInfo);
|
|
} else {
|
|
args->pCreateInfo = NULL;
|
|
}
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
vn_cs_decoder_set_fatal(dec);
|
|
} else {
|
|
args->pAllocator = NULL;
|
|
}
|
|
if (vn_decode_simple_pointer(dec)) {
|
|
args->pRenderPass = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRenderPass));
|
|
if (!args->pRenderPass) return;
|
|
vn_decode_VkRenderPass(dec, args->pRenderPass);
|
|
} else {
|
|
args->pRenderPass = NULL;
|
|
}
|
|
}
|
|
|
|
static inline void vn_replace_vkCreateRenderPass2_args_handle(struct vn_command_vkCreateRenderPass2 *args)
|
|
{
|
|
vn_replace_VkDevice_handle(&args->device);
|
|
if (args->pCreateInfo)
|
|
vn_replace_VkRenderPassCreateInfo2_handle((VkRenderPassCreateInfo2 *)args->pCreateInfo);
|
|
/* skip args->pAllocator */
|
|
/* skip args->pRenderPass */
|
|
}
|
|
|
|
static inline void vn_encode_vkCreateRenderPass2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCreateRenderPass2 *args)
|
|
{
|
|
vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCreateRenderPass2_EXT});
|
|
|
|
vn_encode_VkResult(enc, &args->ret);
|
|
/* skip args->device */
|
|
/* skip args->pCreateInfo */
|
|
/* skip args->pAllocator */
|
|
if (vn_encode_simple_pointer(enc, args->pRenderPass))
|
|
vn_encode_VkRenderPass(enc, args->pRenderPass);
|
|
}
|
|
|
|
static inline void vn_dispatch_vkCreateRenderPass(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
|
|
{
|
|
struct vn_command_vkCreateRenderPass args;
|
|
|
|
if (!ctx->dispatch_vkCreateRenderPass) {
|
|
vn_cs_decoder_set_fatal(ctx->decoder);
|
|
return;
|
|
}
|
|
|
|
vn_decode_vkCreateRenderPass_args_temp(ctx->decoder, &args);
|
|
if (!args.device) {
|
|
vn_cs_decoder_set_fatal(ctx->decoder);
|
|
return;
|
|
}
|
|
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder))
|
|
ctx->dispatch_vkCreateRenderPass(ctx, &args);
|
|
|
|
#ifdef DEBUG
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
|
|
vn_dispatch_debug_log(ctx, "vkCreateRenderPass returned %d", args.ret);
|
|
#endif
|
|
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
|
|
vn_encode_vkCreateRenderPass_reply(ctx->encoder, &args);
|
|
|
|
vn_cs_decoder_reset_temp_pool(ctx->decoder);
|
|
}
|
|
|
|
static inline void vn_dispatch_vkDestroyRenderPass(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
|
|
{
|
|
struct vn_command_vkDestroyRenderPass args;
|
|
|
|
if (!ctx->dispatch_vkDestroyRenderPass) {
|
|
vn_cs_decoder_set_fatal(ctx->decoder);
|
|
return;
|
|
}
|
|
|
|
vn_decode_vkDestroyRenderPass_args_temp(ctx->decoder, &args);
|
|
if (!args.device) {
|
|
vn_cs_decoder_set_fatal(ctx->decoder);
|
|
return;
|
|
}
|
|
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder))
|
|
ctx->dispatch_vkDestroyRenderPass(ctx, &args);
|
|
|
|
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
|
|
vn_encode_vkDestroyRenderPass_reply(ctx->encoder, &args);
|
|
|
|
vn_cs_decoder_reset_temp_pool(ctx->decoder);
|
|
}
|
|
|
|
static inline void vn_dispatch_vkGetRenderAreaGranularity(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
|
|
{
|
|
struct vn_command_vkGetRenderAreaGranularity args;
|
|
|
|
if (!ctx->dispatch_vkGetRenderAreaGranularity) {
|
|
vn_cs_decoder_set_fatal(ctx->decoder);
|
|
return;
|
|
}
|
|
|
|
vn_decode_vkGetRenderAreaGranularity_args_temp(ctx->decoder, &args);
|
|
if (!args.device) {
|
|
vn_cs_decoder_set_fatal(ctx->decoder);
|
|
return;
|
|
}
|
|
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder))
|
|
ctx->dispatch_vkGetRenderAreaGranularity(ctx, &args);
|
|
|
|
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
|
|
vn_encode_vkGetRenderAreaGranularity_reply(ctx->encoder, &args);
|
|
|
|
vn_cs_decoder_reset_temp_pool(ctx->decoder);
|
|
}
|
|
|
|
static inline void vn_dispatch_vkCreateRenderPass2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
|
|
{
|
|
struct vn_command_vkCreateRenderPass2 args;
|
|
|
|
if (!ctx->dispatch_vkCreateRenderPass2) {
|
|
vn_cs_decoder_set_fatal(ctx->decoder);
|
|
return;
|
|
}
|
|
|
|
vn_decode_vkCreateRenderPass2_args_temp(ctx->decoder, &args);
|
|
if (!args.device) {
|
|
vn_cs_decoder_set_fatal(ctx->decoder);
|
|
return;
|
|
}
|
|
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder))
|
|
ctx->dispatch_vkCreateRenderPass2(ctx, &args);
|
|
|
|
#ifdef DEBUG
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
|
|
vn_dispatch_debug_log(ctx, "vkCreateRenderPass2 returned %d", args.ret);
|
|
#endif
|
|
|
|
if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
|
|
vn_encode_vkCreateRenderPass2_reply(ctx->encoder, &args);
|
|
|
|
vn_cs_decoder_reset_temp_pool(ctx->decoder);
|
|
}
|
|
|
|
#endif /* VN_PROTOCOL_RENDERER_RENDER_PASS_H */
|
|
|