mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-12-05 08:14:57 +08:00
venus: sync protocol for VK_KHR_fragment_shading_rate
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27942>
This commit is contained in:
parent
78ea3bb43d
commit
9edf180796
@ -1,4 +1,4 @@
|
||||
/* This file is generated by venus-protocol git-186ec8fe. */
|
||||
/* This file is generated by venus-protocol git-c1c8f6d9. */
|
||||
|
||||
/*
|
||||
* Copyright 2020 Google LLC
|
||||
|
@ -2584,6 +2584,63 @@ vn_encode_VkRenderingAttachmentInfo(struct vn_cs_encoder *enc, const VkRendering
|
||||
vn_encode_VkRenderingAttachmentInfo_self(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkRenderingFragmentShadingRateAttachmentInfoKHR chain */
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkRenderingFragmentShadingRateAttachmentInfoKHR_pnext(const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
return vn_sizeof_simple_pointer(NULL);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkRenderingFragmentShadingRateAttachmentInfoKHR_self(const VkRenderingFragmentShadingRateAttachmentInfoKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
/* skip val->{sType,pNext} */
|
||||
size += vn_sizeof_VkImageView(&val->imageView);
|
||||
size += vn_sizeof_VkImageLayout(&val->imageLayout);
|
||||
size += vn_sizeof_VkExtent2D(&val->shadingRateAttachmentTexelSize);
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkRenderingFragmentShadingRateAttachmentInfoKHR(const VkRenderingFragmentShadingRateAttachmentInfoKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
|
||||
size += vn_sizeof_VkStructureType(&val->sType);
|
||||
size += vn_sizeof_VkRenderingFragmentShadingRateAttachmentInfoKHR_pnext(val->pNext);
|
||||
size += vn_sizeof_VkRenderingFragmentShadingRateAttachmentInfoKHR_self(val);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkRenderingFragmentShadingRateAttachmentInfoKHR_pnext(struct vn_cs_encoder *enc, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
vn_encode_simple_pointer(enc, NULL);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkRenderingFragmentShadingRateAttachmentInfoKHR_self(struct vn_cs_encoder *enc, const VkRenderingFragmentShadingRateAttachmentInfoKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
vn_encode_VkImageView(enc, &val->imageView);
|
||||
vn_encode_VkImageLayout(enc, &val->imageLayout);
|
||||
vn_encode_VkExtent2D(enc, &val->shadingRateAttachmentTexelSize);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkRenderingFragmentShadingRateAttachmentInfoKHR(struct vn_cs_encoder *enc, const VkRenderingFragmentShadingRateAttachmentInfoKHR *val)
|
||||
{
|
||||
assert(val->sType == VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR);
|
||||
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR });
|
||||
vn_encode_VkRenderingFragmentShadingRateAttachmentInfoKHR_pnext(enc, val->pNext);
|
||||
vn_encode_VkRenderingFragmentShadingRateAttachmentInfoKHR_self(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkRenderingInfo chain */
|
||||
|
||||
static inline size_t
|
||||
@ -2600,6 +2657,14 @@ vn_sizeof_VkRenderingInfo_pnext(const void *val)
|
||||
size += vn_sizeof_VkRenderingInfo_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self((const VkDeviceGroupRenderPassBeginInfo *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR:
|
||||
if (!(vn_cs_renderer_protocol_has_extension(45 /* VK_KHR_dynamic_rendering */) && vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */)))
|
||||
break;
|
||||
size += vn_sizeof_simple_pointer(pnext);
|
||||
size += vn_sizeof_VkStructureType(&pnext->sType);
|
||||
size += vn_sizeof_VkRenderingInfo_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkRenderingFragmentShadingRateAttachmentInfoKHR_self((const VkRenderingFragmentShadingRateAttachmentInfoKHR *)pnext);
|
||||
return size;
|
||||
default:
|
||||
/* ignore unknown/unsupported struct */
|
||||
break;
|
||||
@ -2661,6 +2726,14 @@ vn_encode_VkRenderingInfo_pnext(struct vn_cs_encoder *enc, const void *val)
|
||||
vn_encode_VkRenderingInfo_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkDeviceGroupRenderPassBeginInfo_self(enc, (const VkDeviceGroupRenderPassBeginInfo *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR:
|
||||
if (!(vn_cs_renderer_protocol_has_extension(45 /* VK_KHR_dynamic_rendering */) && vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */)))
|
||||
break;
|
||||
vn_encode_simple_pointer(enc, pnext);
|
||||
vn_encode_VkStructureType(enc, &pnext->sType);
|
||||
vn_encode_VkRenderingInfo_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkRenderingFragmentShadingRateAttachmentInfoKHR_self(enc, (const VkRenderingFragmentShadingRateAttachmentInfoKHR *)pnext);
|
||||
return;
|
||||
default:
|
||||
/* ignore unknown/unsupported struct */
|
||||
break;
|
||||
@ -9051,6 +9124,59 @@ static inline void vn_decode_vkCmdResolveImage2_reply(struct vn_cs_decoder *dec,
|
||||
/* skip pResolveImageInfo */
|
||||
}
|
||||
|
||||
static inline size_t vn_sizeof_vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2])
|
||||
{
|
||||
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetFragmentShadingRateKHR_EXT;
|
||||
const VkFlags cmd_flags = 0;
|
||||
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
|
||||
|
||||
cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
|
||||
cmd_size += vn_sizeof_simple_pointer(pFragmentSize);
|
||||
if (pFragmentSize)
|
||||
cmd_size += vn_sizeof_VkExtent2D(pFragmentSize);
|
||||
cmd_size += vn_sizeof_array_size(2);
|
||||
cmd_size += vn_sizeof_VkFragmentShadingRateCombinerOpKHR_array(combinerOps, 2);
|
||||
|
||||
return cmd_size;
|
||||
}
|
||||
|
||||
static inline void vn_encode_vkCmdSetFragmentShadingRateKHR(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2])
|
||||
{
|
||||
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetFragmentShadingRateKHR_EXT;
|
||||
|
||||
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
|
||||
vn_encode_VkFlags(enc, &cmd_flags);
|
||||
|
||||
vn_encode_VkCommandBuffer(enc, &commandBuffer);
|
||||
if (vn_encode_simple_pointer(enc, pFragmentSize))
|
||||
vn_encode_VkExtent2D(enc, pFragmentSize);
|
||||
vn_encode_array_size(enc, 2);
|
||||
vn_encode_VkFragmentShadingRateCombinerOpKHR_array(enc, combinerOps, 2);
|
||||
}
|
||||
|
||||
static inline size_t vn_sizeof_vkCmdSetFragmentShadingRateKHR_reply(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2])
|
||||
{
|
||||
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetFragmentShadingRateKHR_EXT;
|
||||
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
|
||||
|
||||
/* skip commandBuffer */
|
||||
/* skip pFragmentSize */
|
||||
/* skip combinerOps */
|
||||
|
||||
return cmd_size;
|
||||
}
|
||||
|
||||
static inline void vn_decode_vkCmdSetFragmentShadingRateKHR_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2])
|
||||
{
|
||||
VkCommandTypeEXT command_type;
|
||||
vn_decode_VkCommandTypeEXT(dec, &command_type);
|
||||
assert(command_type == VK_COMMAND_TYPE_vkCmdSetFragmentShadingRateKHR_EXT);
|
||||
|
||||
/* skip commandBuffer */
|
||||
/* skip pFragmentSize */
|
||||
/* skip combinerOps */
|
||||
}
|
||||
|
||||
static inline size_t vn_sizeof_vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions)
|
||||
{
|
||||
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetVertexInputEXT_EXT;
|
||||
@ -11902,6 +12028,27 @@ static inline void vn_submit_vkCmdResolveImage2(struct vn_ring *vn_ring, VkComma
|
||||
}
|
||||
}
|
||||
|
||||
static inline void vn_submit_vkCmdSetFragmentShadingRateKHR(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2], struct vn_ring_submit_command *submit)
|
||||
{
|
||||
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
|
||||
void *cmd_data = local_cmd_data;
|
||||
size_t cmd_size = vn_sizeof_vkCmdSetFragmentShadingRateKHR(commandBuffer, pFragmentSize, combinerOps);
|
||||
if (cmd_size > sizeof(local_cmd_data)) {
|
||||
cmd_data = malloc(cmd_size);
|
||||
if (!cmd_data)
|
||||
cmd_size = 0;
|
||||
}
|
||||
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetFragmentShadingRateKHR_reply(commandBuffer, pFragmentSize, combinerOps) : 0;
|
||||
|
||||
struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size);
|
||||
if (cmd_size) {
|
||||
vn_encode_vkCmdSetFragmentShadingRateKHR(enc, cmd_flags, commandBuffer, pFragmentSize, combinerOps);
|
||||
vn_ring_submit_command(vn_ring, submit);
|
||||
if (cmd_data != local_cmd_data)
|
||||
free(cmd_data);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void vn_submit_vkCmdSetVertexInputEXT(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions, struct vn_ring_submit_command *submit)
|
||||
{
|
||||
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
|
||||
@ -14231,6 +14378,25 @@ static inline void vn_async_vkCmdResolveImage2(struct vn_ring *vn_ring, VkComman
|
||||
vn_submit_vkCmdResolveImage2(vn_ring, 0, commandBuffer, pResolveImageInfo, &submit);
|
||||
}
|
||||
|
||||
static inline void vn_call_vkCmdSetFragmentShadingRateKHR(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2])
|
||||
{
|
||||
VN_TRACE_FUNC();
|
||||
|
||||
struct vn_ring_submit_command submit;
|
||||
vn_submit_vkCmdSetFragmentShadingRateKHR(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pFragmentSize, combinerOps, &submit);
|
||||
struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit);
|
||||
if (dec) {
|
||||
vn_decode_vkCmdSetFragmentShadingRateKHR_reply(dec, commandBuffer, pFragmentSize, combinerOps);
|
||||
vn_ring_free_command_reply(vn_ring, &submit);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void vn_async_vkCmdSetFragmentShadingRateKHR(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2])
|
||||
{
|
||||
struct vn_ring_submit_command submit;
|
||||
vn_submit_vkCmdSetFragmentShadingRateKHR(vn_ring, 0, commandBuffer, pFragmentSize, combinerOps, &submit);
|
||||
}
|
||||
|
||||
static inline void vn_call_vkCmdSetVertexInputEXT(struct vn_ring *vn_ring, VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions)
|
||||
{
|
||||
VN_TRACE_FUNC();
|
||||
|
@ -337,6 +337,8 @@ typedef enum VkCommandTypeEXT {
|
||||
VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT = 187,
|
||||
VK_COMMAND_TYPE_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_EXT = 235,
|
||||
VK_COMMAND_TYPE_vkGetCalibratedTimestampsEXT_EXT = 236,
|
||||
VK_COMMAND_TYPE_vkGetPhysicalDeviceFragmentShadingRatesKHR_EXT = 277,
|
||||
VK_COMMAND_TYPE_vkCmdSetFragmentShadingRateKHR_EXT = 278,
|
||||
VK_COMMAND_TYPE_vkCmdSetLineStippleEXT_EXT = 237,
|
||||
VK_COMMAND_TYPE_vkCmdSetVertexInputEXT_EXT = 255,
|
||||
VK_COMMAND_TYPE_vkCmdSetPatchControlPointsEXT_EXT = 233,
|
||||
|
@ -8485,6 +8485,147 @@ vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_partial(struct vn_cs_encoder *e
|
||||
vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self_partial(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR chain */
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext(const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
return vn_sizeof_simple_pointer(NULL);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self(const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
/* skip val->{sType,pNext} */
|
||||
size += vn_sizeof_VkBool32(&val->pipelineFragmentShadingRate);
|
||||
size += vn_sizeof_VkBool32(&val->primitiveFragmentShadingRate);
|
||||
size += vn_sizeof_VkBool32(&val->attachmentFragmentShadingRate);
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
|
||||
size += vn_sizeof_VkStructureType(&val->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext(val->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self(val);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext(struct vn_cs_encoder *enc, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
vn_encode_simple_pointer(enc, NULL);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
vn_encode_VkBool32(enc, &val->pipelineFragmentShadingRate);
|
||||
vn_encode_VkBool32(enc, &val->primitiveFragmentShadingRate);
|
||||
vn_encode_VkBool32(enc, &val->attachmentFragmentShadingRate);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(struct vn_cs_encoder *enc, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR);
|
||||
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR });
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext(enc, val->pNext);
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self(enc, val);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext(struct vn_cs_decoder *dec, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
if (vn_decode_simple_pointer(dec))
|
||||
assert(false);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
vn_decode_VkBool32(dec, &val->pipelineFragmentShadingRate);
|
||||
vn_decode_VkBool32(dec, &val->primitiveFragmentShadingRate);
|
||||
vn_decode_VkBool32(dec, &val->attachmentFragmentShadingRate);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
VkStructureType stype;
|
||||
vn_decode_VkStructureType(dec, &stype);
|
||||
assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR);
|
||||
|
||||
assert(val->sType == stype);
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext(dec, val->pNext);
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self(dec, val);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext_partial(const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
return vn_sizeof_simple_pointer(NULL);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self_partial(const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
/* skip val->{sType,pNext} */
|
||||
/* skip val->pipelineFragmentShadingRate */
|
||||
/* skip val->primitiveFragmentShadingRate */
|
||||
/* skip val->attachmentFragmentShadingRate */
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_partial(const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
|
||||
size += vn_sizeof_VkStructureType(&val->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext_partial(val->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self_partial(val);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
vn_encode_simple_pointer(enc, NULL);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
/* skip val->pipelineFragmentShadingRate */
|
||||
/* skip val->primitiveFragmentShadingRate */
|
||||
/* skip val->attachmentFragmentShadingRate */
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *val)
|
||||
{
|
||||
assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR);
|
||||
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR });
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_pnext_partial(enc, val->pNext);
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self_partial(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkPhysicalDeviceShaderTerminateInvocationFeatures chain */
|
||||
|
||||
static inline size_t
|
||||
@ -11233,6 +11374,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val)
|
||||
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_self((const VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
size += vn_sizeof_simple_pointer(pnext);
|
||||
size += vn_sizeof_VkStructureType(&pnext->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self((const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
|
||||
if (!vn_cs_renderer_protocol_has_extension(216 /* VK_KHR_shader_terminate_invocation */))
|
||||
break;
|
||||
@ -11765,6 +11914,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void
|
||||
vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(enc, (const VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
vn_encode_simple_pointer(enc, pnext);
|
||||
vn_encode_VkStructureType(enc, &pnext->sType);
|
||||
vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self(enc, (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
|
||||
if (!vn_cs_renderer_protocol_has_extension(216 /* VK_KHR_shader_terminate_invocation */))
|
||||
break;
|
||||
@ -12150,6 +12307,10 @@ vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void
|
||||
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
|
||||
vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self(dec, (VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
|
||||
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self(dec, (VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)pnext);
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
|
||||
vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
|
||||
vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self(dec, (VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
|
||||
@ -12605,6 +12766,14 @@ vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val)
|
||||
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_self_partial((const VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
size += vn_sizeof_simple_pointer(pnext);
|
||||
size += vn_sizeof_VkStructureType(&pnext->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self_partial((const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
|
||||
if (!vn_cs_renderer_protocol_has_extension(216 /* VK_KHR_shader_terminate_invocation */))
|
||||
break;
|
||||
@ -13137,6 +13306,14 @@ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, con
|
||||
vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
|
||||
vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self_partial(enc, (const VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
vn_encode_simple_pointer(enc, pnext);
|
||||
vn_encode_VkStructureType(enc, &pnext->sType);
|
||||
vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self_partial(enc, (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
|
||||
if (!vn_cs_renderer_protocol_has_extension(216 /* VK_KHR_shader_terminate_invocation */))
|
||||
break;
|
||||
@ -13754,6 +13931,14 @@ vn_sizeof_VkDeviceCreateInfo_pnext(const void *val)
|
||||
size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDevice4444FormatsFeaturesEXT_self((const VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
size += vn_sizeof_simple_pointer(pnext);
|
||||
size += vn_sizeof_VkStructureType(&pnext->sType);
|
||||
size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self((const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
|
||||
if (!vn_cs_renderer_protocol_has_extension(216 /* VK_KHR_shader_terminate_invocation */))
|
||||
break;
|
||||
@ -14339,6 +14524,14 @@ vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
|
||||
vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(enc, (const VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
vn_encode_simple_pointer(enc, pnext);
|
||||
vn_encode_VkStructureType(enc, &pnext->sType);
|
||||
vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateFeaturesKHR_self(enc, (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
|
||||
if (!vn_cs_renderer_protocol_has_extension(216 /* VK_KHR_shader_terminate_invocation */))
|
||||
break;
|
||||
@ -18531,6 +18724,178 @@ vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_partial(struct vn_cs_encoder
|
||||
vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR chain */
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_pnext(const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
return vn_sizeof_simple_pointer(NULL);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self(const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
/* skip val->{sType,pNext} */
|
||||
size += vn_sizeof_VkExtent2D(&val->minFragmentShadingRateAttachmentTexelSize);
|
||||
size += vn_sizeof_VkExtent2D(&val->maxFragmentShadingRateAttachmentTexelSize);
|
||||
size += vn_sizeof_uint32_t(&val->maxFragmentShadingRateAttachmentTexelSizeAspectRatio);
|
||||
size += vn_sizeof_VkBool32(&val->primitiveFragmentShadingRateWithMultipleViewports);
|
||||
size += vn_sizeof_VkBool32(&val->layeredShadingRateAttachments);
|
||||
size += vn_sizeof_VkBool32(&val->fragmentShadingRateNonTrivialCombinerOps);
|
||||
size += vn_sizeof_VkExtent2D(&val->maxFragmentSize);
|
||||
size += vn_sizeof_uint32_t(&val->maxFragmentSizeAspectRatio);
|
||||
size += vn_sizeof_uint32_t(&val->maxFragmentShadingRateCoverageSamples);
|
||||
size += vn_sizeof_VkSampleCountFlagBits(&val->maxFragmentShadingRateRasterizationSamples);
|
||||
size += vn_sizeof_VkBool32(&val->fragmentShadingRateWithShaderDepthStencilWrites);
|
||||
size += vn_sizeof_VkBool32(&val->fragmentShadingRateWithSampleMask);
|
||||
size += vn_sizeof_VkBool32(&val->fragmentShadingRateWithShaderSampleMask);
|
||||
size += vn_sizeof_VkBool32(&val->fragmentShadingRateWithConservativeRasterization);
|
||||
size += vn_sizeof_VkBool32(&val->fragmentShadingRateWithFragmentShaderInterlock);
|
||||
size += vn_sizeof_VkBool32(&val->fragmentShadingRateWithCustomSampleLocations);
|
||||
size += vn_sizeof_VkBool32(&val->fragmentShadingRateStrictMultiplyCombiner);
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
|
||||
size += vn_sizeof_VkStructureType(&val->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_pnext(val->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self(val);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_pnext(struct vn_cs_decoder *dec, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
if (vn_decode_simple_pointer(dec))
|
||||
assert(false);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceFragmentShadingRatePropertiesKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
vn_decode_VkExtent2D(dec, &val->minFragmentShadingRateAttachmentTexelSize);
|
||||
vn_decode_VkExtent2D(dec, &val->maxFragmentShadingRateAttachmentTexelSize);
|
||||
vn_decode_uint32_t(dec, &val->maxFragmentShadingRateAttachmentTexelSizeAspectRatio);
|
||||
vn_decode_VkBool32(dec, &val->primitiveFragmentShadingRateWithMultipleViewports);
|
||||
vn_decode_VkBool32(dec, &val->layeredShadingRateAttachments);
|
||||
vn_decode_VkBool32(dec, &val->fragmentShadingRateNonTrivialCombinerOps);
|
||||
vn_decode_VkExtent2D(dec, &val->maxFragmentSize);
|
||||
vn_decode_uint32_t(dec, &val->maxFragmentSizeAspectRatio);
|
||||
vn_decode_uint32_t(dec, &val->maxFragmentShadingRateCoverageSamples);
|
||||
vn_decode_VkSampleCountFlagBits(dec, &val->maxFragmentShadingRateRasterizationSamples);
|
||||
vn_decode_VkBool32(dec, &val->fragmentShadingRateWithShaderDepthStencilWrites);
|
||||
vn_decode_VkBool32(dec, &val->fragmentShadingRateWithSampleMask);
|
||||
vn_decode_VkBool32(dec, &val->fragmentShadingRateWithShaderSampleMask);
|
||||
vn_decode_VkBool32(dec, &val->fragmentShadingRateWithConservativeRasterization);
|
||||
vn_decode_VkBool32(dec, &val->fragmentShadingRateWithFragmentShaderInterlock);
|
||||
vn_decode_VkBool32(dec, &val->fragmentShadingRateWithCustomSampleLocations);
|
||||
vn_decode_VkBool32(dec, &val->fragmentShadingRateStrictMultiplyCombiner);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceFragmentShadingRatePropertiesKHR *val)
|
||||
{
|
||||
VkStructureType stype;
|
||||
vn_decode_VkStructureType(dec, &stype);
|
||||
assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR);
|
||||
|
||||
assert(val->sType == stype);
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_pnext(dec, val->pNext);
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self(dec, val);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_pnext_partial(const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
return vn_sizeof_simple_pointer(NULL);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self_partial(const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
/* skip val->{sType,pNext} */
|
||||
size += vn_sizeof_VkExtent2D_partial(&val->minFragmentShadingRateAttachmentTexelSize);
|
||||
size += vn_sizeof_VkExtent2D_partial(&val->maxFragmentShadingRateAttachmentTexelSize);
|
||||
/* skip val->maxFragmentShadingRateAttachmentTexelSizeAspectRatio */
|
||||
/* skip val->primitiveFragmentShadingRateWithMultipleViewports */
|
||||
/* skip val->layeredShadingRateAttachments */
|
||||
/* skip val->fragmentShadingRateNonTrivialCombinerOps */
|
||||
size += vn_sizeof_VkExtent2D_partial(&val->maxFragmentSize);
|
||||
/* skip val->maxFragmentSizeAspectRatio */
|
||||
/* skip val->maxFragmentShadingRateCoverageSamples */
|
||||
/* skip val->maxFragmentShadingRateRasterizationSamples */
|
||||
/* skip val->fragmentShadingRateWithShaderDepthStencilWrites */
|
||||
/* skip val->fragmentShadingRateWithSampleMask */
|
||||
/* skip val->fragmentShadingRateWithShaderSampleMask */
|
||||
/* skip val->fragmentShadingRateWithConservativeRasterization */
|
||||
/* skip val->fragmentShadingRateWithFragmentShaderInterlock */
|
||||
/* skip val->fragmentShadingRateWithCustomSampleLocations */
|
||||
/* skip val->fragmentShadingRateStrictMultiplyCombiner */
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_partial(const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
|
||||
size += vn_sizeof_VkStructureType(&val->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_pnext_partial(val->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self_partial(val);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
vn_encode_simple_pointer(enc, NULL);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
vn_encode_VkExtent2D_partial(enc, &val->minFragmentShadingRateAttachmentTexelSize);
|
||||
vn_encode_VkExtent2D_partial(enc, &val->maxFragmentShadingRateAttachmentTexelSize);
|
||||
/* skip val->maxFragmentShadingRateAttachmentTexelSizeAspectRatio */
|
||||
/* skip val->primitiveFragmentShadingRateWithMultipleViewports */
|
||||
/* skip val->layeredShadingRateAttachments */
|
||||
/* skip val->fragmentShadingRateNonTrivialCombinerOps */
|
||||
vn_encode_VkExtent2D_partial(enc, &val->maxFragmentSize);
|
||||
/* skip val->maxFragmentSizeAspectRatio */
|
||||
/* skip val->maxFragmentShadingRateCoverageSamples */
|
||||
/* skip val->maxFragmentShadingRateRasterizationSamples */
|
||||
/* skip val->fragmentShadingRateWithShaderDepthStencilWrites */
|
||||
/* skip val->fragmentShadingRateWithSampleMask */
|
||||
/* skip val->fragmentShadingRateWithShaderSampleMask */
|
||||
/* skip val->fragmentShadingRateWithConservativeRasterization */
|
||||
/* skip val->fragmentShadingRateWithFragmentShaderInterlock */
|
||||
/* skip val->fragmentShadingRateWithCustomSampleLocations */
|
||||
/* skip val->fragmentShadingRateStrictMultiplyCombiner */
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *val)
|
||||
{
|
||||
assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR);
|
||||
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR });
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_pnext_partial(enc, val->pNext);
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self_partial(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkPhysicalDeviceProvokingVertexPropertiesEXT chain */
|
||||
|
||||
static inline size_t
|
||||
@ -19193,6 +19558,14 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val)
|
||||
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_self((const VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
size += vn_sizeof_simple_pointer(pnext);
|
||||
size += vn_sizeof_VkStructureType(&pnext->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self((const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
|
||||
if (!vn_cs_renderer_protocol_has_extension(255 /* VK_EXT_provoking_vertex */))
|
||||
break;
|
||||
@ -19383,6 +19756,10 @@ vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const voi
|
||||
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
|
||||
vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_self(dec, (VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR:
|
||||
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self(dec, (VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)pnext);
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
|
||||
vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
|
||||
vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self(dec, (VkPhysicalDeviceProvokingVertexPropertiesEXT *)pnext);
|
||||
@ -19632,6 +20009,14 @@ vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val)
|
||||
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial((const VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
size += vn_sizeof_simple_pointer(pnext);
|
||||
size += vn_sizeof_VkStructureType(&pnext->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self_partial((const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
|
||||
if (!vn_cs_renderer_protocol_has_extension(255 /* VK_EXT_provoking_vertex */))
|
||||
break;
|
||||
@ -19898,6 +20283,14 @@ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, c
|
||||
vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
|
||||
vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial(enc, (const VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
vn_encode_simple_pointer(enc, pnext);
|
||||
vn_encode_VkStructureType(enc, &pnext->sType);
|
||||
vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRatePropertiesKHR_self_partial(enc, (const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
|
||||
if (!vn_cs_renderer_protocol_has_extension(255 /* VK_EXT_provoking_vertex */))
|
||||
break;
|
||||
@ -22946,6 +23339,118 @@ vn_encode_VkPhysicalDeviceToolProperties_partial(struct vn_cs_encoder *enc, cons
|
||||
vn_encode_VkPhysicalDeviceToolProperties_self_partial(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkPhysicalDeviceFragmentShadingRateKHR chain */
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_pnext(const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
return vn_sizeof_simple_pointer(NULL);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_self(const VkPhysicalDeviceFragmentShadingRateKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
/* skip val->{sType,pNext} */
|
||||
size += vn_sizeof_VkFlags(&val->sampleCounts);
|
||||
size += vn_sizeof_VkExtent2D(&val->fragmentSize);
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR(const VkPhysicalDeviceFragmentShadingRateKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
|
||||
size += vn_sizeof_VkStructureType(&val->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_pnext(val->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_self(val);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateKHR_pnext(struct vn_cs_decoder *dec, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
if (vn_decode_simple_pointer(dec))
|
||||
assert(false);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateKHR_self(struct vn_cs_decoder *dec, VkPhysicalDeviceFragmentShadingRateKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
vn_decode_VkFlags(dec, &val->sampleCounts);
|
||||
vn_decode_VkExtent2D(dec, &val->fragmentSize);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateKHR(struct vn_cs_decoder *dec, VkPhysicalDeviceFragmentShadingRateKHR *val)
|
||||
{
|
||||
VkStructureType stype;
|
||||
vn_decode_VkStructureType(dec, &stype);
|
||||
assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR);
|
||||
|
||||
assert(val->sType == stype);
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateKHR_pnext(dec, val->pNext);
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateKHR_self(dec, val);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_pnext_partial(const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
return vn_sizeof_simple_pointer(NULL);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_self_partial(const VkPhysicalDeviceFragmentShadingRateKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
/* skip val->{sType,pNext} */
|
||||
/* skip val->sampleCounts */
|
||||
size += vn_sizeof_VkExtent2D_partial(&val->fragmentSize);
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_partial(const VkPhysicalDeviceFragmentShadingRateKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
|
||||
size += vn_sizeof_VkStructureType(&val->sType);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_pnext_partial(val->pNext);
|
||||
size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_self_partial(val);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateKHR_pnext_partial(struct vn_cs_encoder *enc, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
vn_encode_simple_pointer(enc, NULL);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateKHR_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFragmentShadingRateKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
/* skip val->sampleCounts */
|
||||
vn_encode_VkExtent2D_partial(enc, &val->fragmentSize);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateKHR_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFragmentShadingRateKHR *val)
|
||||
{
|
||||
assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR);
|
||||
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR });
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateKHR_pnext_partial(enc, val->pNext);
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateKHR_self_partial(enc, val);
|
||||
}
|
||||
|
||||
static inline size_t vn_sizeof_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
|
||||
{
|
||||
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;
|
||||
@ -25028,6 +25533,94 @@ static inline VkResult vn_decode_vkGetPhysicalDeviceToolProperties_reply(struct
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline size_t vn_sizeof_vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates)
|
||||
{
|
||||
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFragmentShadingRatesKHR_EXT;
|
||||
const VkFlags cmd_flags = 0;
|
||||
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
|
||||
|
||||
cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
|
||||
cmd_size += vn_sizeof_simple_pointer(pFragmentShadingRateCount);
|
||||
if (pFragmentShadingRateCount)
|
||||
cmd_size += vn_sizeof_uint32_t(pFragmentShadingRateCount);
|
||||
if (pFragmentShadingRates) {
|
||||
cmd_size += vn_sizeof_array_size((pFragmentShadingRateCount ? *pFragmentShadingRateCount : 0));
|
||||
for (uint32_t i = 0; i < (pFragmentShadingRateCount ? *pFragmentShadingRateCount : 0); i++)
|
||||
cmd_size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR_partial(&pFragmentShadingRates[i]);
|
||||
} else {
|
||||
cmd_size += vn_sizeof_array_size(0);
|
||||
}
|
||||
|
||||
return cmd_size;
|
||||
}
|
||||
|
||||
static inline void vn_encode_vkGetPhysicalDeviceFragmentShadingRatesKHR(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates)
|
||||
{
|
||||
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFragmentShadingRatesKHR_EXT;
|
||||
|
||||
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
|
||||
vn_encode_VkFlags(enc, &cmd_flags);
|
||||
|
||||
vn_encode_VkPhysicalDevice(enc, &physicalDevice);
|
||||
if (vn_encode_simple_pointer(enc, pFragmentShadingRateCount))
|
||||
vn_encode_uint32_t(enc, pFragmentShadingRateCount);
|
||||
if (pFragmentShadingRates) {
|
||||
vn_encode_array_size(enc, (pFragmentShadingRateCount ? *pFragmentShadingRateCount : 0));
|
||||
for (uint32_t i = 0; i < (pFragmentShadingRateCount ? *pFragmentShadingRateCount : 0); i++)
|
||||
vn_encode_VkPhysicalDeviceFragmentShadingRateKHR_partial(enc, &pFragmentShadingRates[i]);
|
||||
} else {
|
||||
vn_encode_array_size(enc, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static inline size_t vn_sizeof_vkGetPhysicalDeviceFragmentShadingRatesKHR_reply(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates)
|
||||
{
|
||||
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFragmentShadingRatesKHR_EXT;
|
||||
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
|
||||
|
||||
VkResult ret;
|
||||
cmd_size += vn_sizeof_VkResult(&ret);
|
||||
/* skip physicalDevice */
|
||||
cmd_size += vn_sizeof_simple_pointer(pFragmentShadingRateCount);
|
||||
if (pFragmentShadingRateCount)
|
||||
cmd_size += vn_sizeof_uint32_t(pFragmentShadingRateCount);
|
||||
if (pFragmentShadingRates) {
|
||||
cmd_size += vn_sizeof_array_size((pFragmentShadingRateCount ? *pFragmentShadingRateCount : 0));
|
||||
for (uint32_t i = 0; i < (pFragmentShadingRateCount ? *pFragmentShadingRateCount : 0); i++)
|
||||
cmd_size += vn_sizeof_VkPhysicalDeviceFragmentShadingRateKHR(&pFragmentShadingRates[i]);
|
||||
} else {
|
||||
cmd_size += vn_sizeof_array_size(0);
|
||||
}
|
||||
|
||||
return cmd_size;
|
||||
}
|
||||
|
||||
static inline VkResult vn_decode_vkGetPhysicalDeviceFragmentShadingRatesKHR_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates)
|
||||
{
|
||||
VkCommandTypeEXT command_type;
|
||||
vn_decode_VkCommandTypeEXT(dec, &command_type);
|
||||
assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFragmentShadingRatesKHR_EXT);
|
||||
|
||||
VkResult ret;
|
||||
vn_decode_VkResult(dec, &ret);
|
||||
/* skip physicalDevice */
|
||||
if (vn_decode_simple_pointer(dec)) {
|
||||
vn_decode_uint32_t(dec, pFragmentShadingRateCount);
|
||||
} else {
|
||||
pFragmentShadingRateCount = NULL;
|
||||
}
|
||||
if (vn_peek_array_size(dec)) {
|
||||
const uint32_t iter_count = vn_decode_array_size(dec, (pFragmentShadingRateCount ? *pFragmentShadingRateCount : 0));
|
||||
for (uint32_t i = 0; i < iter_count; i++)
|
||||
vn_decode_VkPhysicalDeviceFragmentShadingRateKHR(dec, &pFragmentShadingRates[i]);
|
||||
} else {
|
||||
vn_decode_array_size_unchecked(dec);
|
||||
pFragmentShadingRates = NULL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void vn_submit_vkEnumeratePhysicalDevices(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices, struct vn_ring_submit_command *submit)
|
||||
{
|
||||
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
|
||||
@ -25658,6 +26251,27 @@ static inline void vn_submit_vkGetPhysicalDeviceToolProperties(struct vn_ring *v
|
||||
}
|
||||
}
|
||||
|
||||
static inline void vn_submit_vkGetPhysicalDeviceFragmentShadingRatesKHR(struct vn_ring *vn_ring, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates, struct vn_ring_submit_command *submit)
|
||||
{
|
||||
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
|
||||
void *cmd_data = local_cmd_data;
|
||||
size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFragmentShadingRatesKHR(physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates);
|
||||
if (cmd_size > sizeof(local_cmd_data)) {
|
||||
cmd_data = malloc(cmd_size);
|
||||
if (!cmd_data)
|
||||
cmd_size = 0;
|
||||
}
|
||||
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFragmentShadingRatesKHR_reply(physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates) : 0;
|
||||
|
||||
struct vn_cs_encoder *enc = vn_ring_submit_command_init(vn_ring, submit, cmd_data, cmd_size, reply_size);
|
||||
if (cmd_size) {
|
||||
vn_encode_vkGetPhysicalDeviceFragmentShadingRatesKHR(enc, cmd_flags, physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates);
|
||||
vn_ring_submit_command(vn_ring, submit);
|
||||
if (cmd_data != local_cmd_data)
|
||||
free(cmd_data);
|
||||
}
|
||||
}
|
||||
|
||||
static inline VkResult vn_call_vkEnumeratePhysicalDevices(struct vn_ring *vn_ring, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
|
||||
{
|
||||
VN_TRACE_FUNC();
|
||||
@ -26261,4 +26875,26 @@ static inline void vn_async_vkGetPhysicalDeviceToolProperties(struct vn_ring *vn
|
||||
vn_submit_vkGetPhysicalDeviceToolProperties(vn_ring, 0, physicalDevice, pToolCount, pToolProperties, &submit);
|
||||
}
|
||||
|
||||
static inline VkResult vn_call_vkGetPhysicalDeviceFragmentShadingRatesKHR(struct vn_ring *vn_ring, VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates)
|
||||
{
|
||||
VN_TRACE_FUNC();
|
||||
|
||||
struct vn_ring_submit_command submit;
|
||||
vn_submit_vkGetPhysicalDeviceFragmentShadingRatesKHR(vn_ring, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates, &submit);
|
||||
struct vn_cs_decoder *dec = vn_ring_get_command_reply(vn_ring, &submit);
|
||||
if (dec) {
|
||||
const VkResult ret = vn_decode_vkGetPhysicalDeviceFragmentShadingRatesKHR_reply(dec, physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates);
|
||||
vn_ring_free_command_reply(vn_ring, &submit);
|
||||
return ret;
|
||||
} else {
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void vn_async_vkGetPhysicalDeviceFragmentShadingRatesKHR(struct vn_ring *vn_ring, VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates)
|
||||
{
|
||||
struct vn_ring_submit_command submit;
|
||||
vn_submit_vkGetPhysicalDeviceFragmentShadingRatesKHR(vn_ring, 0, physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates, &submit);
|
||||
}
|
||||
|
||||
#endif /* VN_PROTOCOL_DRIVER_DEVICE_H */
|
||||
|
@ -19,8 +19,8 @@ struct vn_info_extension {
|
||||
};
|
||||
|
||||
/* sorted by extension names for bsearch */
|
||||
static const uint32_t _vn_info_extension_count = 115;
|
||||
static const struct vn_info_extension _vn_info_extensions[115] = {
|
||||
static const uint32_t _vn_info_extension_count = 116;
|
||||
static const struct vn_info_extension _vn_info_extensions[116] = {
|
||||
{ "VK_EXT_4444_formats", 341, 1 },
|
||||
{ "VK_EXT_attachment_feedback_loop_layout", 340, 2 },
|
||||
{ "VK_EXT_border_color_swizzle", 412, 1 },
|
||||
@ -102,6 +102,7 @@ static const struct vn_info_extension _vn_info_extensions[115] = {
|
||||
{ "VK_KHR_external_semaphore_capabilities", 77, 1 },
|
||||
{ "VK_KHR_external_semaphore_fd", 80, 1 },
|
||||
{ "VK_KHR_format_feature_flags2", 361, 2 },
|
||||
{ "VK_KHR_fragment_shading_rate", 227, 2 },
|
||||
{ "VK_KHR_get_memory_requirements2", 147, 1 },
|
||||
{ "VK_KHR_get_physical_device_properties2", 60, 2 },
|
||||
{ "VK_KHR_image_format_list", 148, 1 },
|
||||
|
@ -1935,6 +1935,63 @@ vn_encode_VkPipelineCreationFeedbackCreateInfo(struct vn_cs_encoder *enc, const
|
||||
vn_encode_VkPipelineCreationFeedbackCreateInfo_self(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkPipelineFragmentShadingRateStateCreateInfoKHR chain */
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPipelineFragmentShadingRateStateCreateInfoKHR_pnext(const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
return vn_sizeof_simple_pointer(NULL);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPipelineFragmentShadingRateStateCreateInfoKHR_self(const VkPipelineFragmentShadingRateStateCreateInfoKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
/* skip val->{sType,pNext} */
|
||||
size += vn_sizeof_VkExtent2D(&val->fragmentSize);
|
||||
size += vn_sizeof_array_size(2);
|
||||
size += vn_sizeof_VkFragmentShadingRateCombinerOpKHR_array(val->combinerOps, 2);
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkPipelineFragmentShadingRateStateCreateInfoKHR(const VkPipelineFragmentShadingRateStateCreateInfoKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
|
||||
size += vn_sizeof_VkStructureType(&val->sType);
|
||||
size += vn_sizeof_VkPipelineFragmentShadingRateStateCreateInfoKHR_pnext(val->pNext);
|
||||
size += vn_sizeof_VkPipelineFragmentShadingRateStateCreateInfoKHR_self(val);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPipelineFragmentShadingRateStateCreateInfoKHR_pnext(struct vn_cs_encoder *enc, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
vn_encode_simple_pointer(enc, NULL);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPipelineFragmentShadingRateStateCreateInfoKHR_self(struct vn_cs_encoder *enc, const VkPipelineFragmentShadingRateStateCreateInfoKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
vn_encode_VkExtent2D(enc, &val->fragmentSize);
|
||||
vn_encode_array_size(enc, 2);
|
||||
vn_encode_VkFragmentShadingRateCombinerOpKHR_array(enc, val->combinerOps, 2);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkPipelineFragmentShadingRateStateCreateInfoKHR(struct vn_cs_encoder *enc, const VkPipelineFragmentShadingRateStateCreateInfoKHR *val)
|
||||
{
|
||||
assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR);
|
||||
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR });
|
||||
vn_encode_VkPipelineFragmentShadingRateStateCreateInfoKHR_pnext(enc, val->pNext);
|
||||
vn_encode_VkPipelineFragmentShadingRateStateCreateInfoKHR_self(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkPipelineRenderingCreateInfo chain */
|
||||
|
||||
static inline size_t
|
||||
@ -2085,6 +2142,14 @@ vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(const void *val)
|
||||
size += vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkPipelineCreationFeedbackCreateInfo_self((const VkPipelineCreationFeedbackCreateInfo *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
size += vn_sizeof_simple_pointer(pnext);
|
||||
size += vn_sizeof_VkStructureType(&pnext->sType);
|
||||
size += vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkPipelineFragmentShadingRateStateCreateInfoKHR_self((const VkPipelineFragmentShadingRateStateCreateInfoKHR *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO:
|
||||
if (!vn_cs_renderer_protocol_has_extension(45 /* VK_KHR_dynamic_rendering */))
|
||||
break;
|
||||
@ -2195,6 +2260,14 @@ vn_encode_VkGraphicsPipelineCreateInfo_pnext(struct vn_cs_encoder *enc, const vo
|
||||
vn_encode_VkGraphicsPipelineCreateInfo_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkPipelineCreationFeedbackCreateInfo_self(enc, (const VkPipelineCreationFeedbackCreateInfo *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
vn_encode_simple_pointer(enc, pnext);
|
||||
vn_encode_VkStructureType(enc, &pnext->sType);
|
||||
vn_encode_VkGraphicsPipelineCreateInfo_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkPipelineFragmentShadingRateStateCreateInfoKHR_self(enc, (const VkPipelineFragmentShadingRateStateCreateInfoKHR *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO:
|
||||
if (!vn_cs_renderer_protocol_has_extension(45 /* VK_KHR_dynamic_rendering */))
|
||||
break;
|
||||
|
@ -858,6 +858,64 @@ vn_encode_VkSubpassDescriptionDepthStencilResolve(struct vn_cs_encoder *enc, con
|
||||
vn_encode_VkSubpassDescriptionDepthStencilResolve_self(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkFragmentShadingRateAttachmentInfoKHR chain */
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkFragmentShadingRateAttachmentInfoKHR_pnext(const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
return vn_sizeof_simple_pointer(NULL);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkFragmentShadingRateAttachmentInfoKHR_self(const VkFragmentShadingRateAttachmentInfoKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
/* skip val->{sType,pNext} */
|
||||
size += vn_sizeof_simple_pointer(val->pFragmentShadingRateAttachment);
|
||||
if (val->pFragmentShadingRateAttachment)
|
||||
size += vn_sizeof_VkAttachmentReference2(val->pFragmentShadingRateAttachment);
|
||||
size += vn_sizeof_VkExtent2D(&val->shadingRateAttachmentTexelSize);
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkFragmentShadingRateAttachmentInfoKHR(const VkFragmentShadingRateAttachmentInfoKHR *val)
|
||||
{
|
||||
size_t size = 0;
|
||||
|
||||
size += vn_sizeof_VkStructureType(&val->sType);
|
||||
size += vn_sizeof_VkFragmentShadingRateAttachmentInfoKHR_pnext(val->pNext);
|
||||
size += vn_sizeof_VkFragmentShadingRateAttachmentInfoKHR_self(val);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkFragmentShadingRateAttachmentInfoKHR_pnext(struct vn_cs_encoder *enc, const void *val)
|
||||
{
|
||||
/* no known/supported struct */
|
||||
vn_encode_simple_pointer(enc, NULL);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkFragmentShadingRateAttachmentInfoKHR_self(struct vn_cs_encoder *enc, const VkFragmentShadingRateAttachmentInfoKHR *val)
|
||||
{
|
||||
/* skip val->{sType,pNext} */
|
||||
if (vn_encode_simple_pointer(enc, val->pFragmentShadingRateAttachment))
|
||||
vn_encode_VkAttachmentReference2(enc, val->pFragmentShadingRateAttachment);
|
||||
vn_encode_VkExtent2D(enc, &val->shadingRateAttachmentTexelSize);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkFragmentShadingRateAttachmentInfoKHR(struct vn_cs_encoder *enc, const VkFragmentShadingRateAttachmentInfoKHR *val)
|
||||
{
|
||||
assert(val->sType == VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR);
|
||||
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR });
|
||||
vn_encode_VkFragmentShadingRateAttachmentInfoKHR_pnext(enc, val->pNext);
|
||||
vn_encode_VkFragmentShadingRateAttachmentInfoKHR_self(enc, val);
|
||||
}
|
||||
|
||||
/* struct VkSubpassDescription2 chain */
|
||||
|
||||
static inline size_t
|
||||
@ -874,6 +932,14 @@ vn_sizeof_VkSubpassDescription2_pnext(const void *val)
|
||||
size += vn_sizeof_VkSubpassDescription2_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkSubpassDescriptionDepthStencilResolve_self((const VkSubpassDescriptionDepthStencilResolve *)pnext);
|
||||
return size;
|
||||
case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
size += vn_sizeof_simple_pointer(pnext);
|
||||
size += vn_sizeof_VkStructureType(&pnext->sType);
|
||||
size += vn_sizeof_VkSubpassDescription2_pnext(pnext->pNext);
|
||||
size += vn_sizeof_VkFragmentShadingRateAttachmentInfoKHR_self((const VkFragmentShadingRateAttachmentInfoKHR *)pnext);
|
||||
return size;
|
||||
default:
|
||||
/* ignore unknown/unsupported struct */
|
||||
break;
|
||||
@ -953,6 +1019,14 @@ vn_encode_VkSubpassDescription2_pnext(struct vn_cs_encoder *enc, const void *val
|
||||
vn_encode_VkSubpassDescription2_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkSubpassDescriptionDepthStencilResolve_self(enc, (const VkSubpassDescriptionDepthStencilResolve *)pnext);
|
||||
return;
|
||||
case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR:
|
||||
if (!vn_cs_renderer_protocol_has_extension(227 /* VK_KHR_fragment_shading_rate */))
|
||||
break;
|
||||
vn_encode_simple_pointer(enc, pnext);
|
||||
vn_encode_VkStructureType(enc, &pnext->sType);
|
||||
vn_encode_VkSubpassDescription2_pnext(enc, pnext->pNext);
|
||||
vn_encode_VkFragmentShadingRateAttachmentInfoKHR_self(enc, (const VkFragmentShadingRateAttachmentInfoKHR *)pnext);
|
||||
return;
|
||||
default:
|
||||
/* ignore unknown/unsupported struct */
|
||||
break;
|
||||
|
@ -3268,6 +3268,45 @@ vn_decode_VkShaderFloatControlsIndependence(struct vn_cs_decoder *dec, VkShaderF
|
||||
vn_decode_int32_t(dec, (int32_t *)val);
|
||||
}
|
||||
|
||||
/* enum VkFragmentShadingRateCombinerOpKHR */
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkFragmentShadingRateCombinerOpKHR(const VkFragmentShadingRateCombinerOpKHR *val)
|
||||
{
|
||||
assert(sizeof(*val) == sizeof(int32_t));
|
||||
return vn_sizeof_int32_t((const int32_t *)val);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkFragmentShadingRateCombinerOpKHR(struct vn_cs_encoder *enc, const VkFragmentShadingRateCombinerOpKHR *val)
|
||||
{
|
||||
vn_encode_int32_t(enc, (const int32_t *)val);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkFragmentShadingRateCombinerOpKHR(struct vn_cs_decoder *dec, VkFragmentShadingRateCombinerOpKHR *val)
|
||||
{
|
||||
vn_decode_int32_t(dec, (int32_t *)val);
|
||||
}
|
||||
|
||||
static inline size_t
|
||||
vn_sizeof_VkFragmentShadingRateCombinerOpKHR_array(const VkFragmentShadingRateCombinerOpKHR *val, uint32_t count)
|
||||
{
|
||||
return vn_sizeof_int32_t_array((const int32_t *)val, count);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_encode_VkFragmentShadingRateCombinerOpKHR_array(struct vn_cs_encoder *enc, const VkFragmentShadingRateCombinerOpKHR *val, uint32_t count)
|
||||
{
|
||||
vn_encode_int32_t_array(enc, (const int32_t *)val, count);
|
||||
}
|
||||
|
||||
static inline void
|
||||
vn_decode_VkFragmentShadingRateCombinerOpKHR_array(struct vn_cs_decoder *dec, VkFragmentShadingRateCombinerOpKHR *val, uint32_t count)
|
||||
{
|
||||
vn_decode_int32_t_array(dec, (int32_t *)val, count);
|
||||
}
|
||||
|
||||
/* enum VkVendorId */
|
||||
|
||||
static inline size_t
|
||||
|
Loading…
Reference in New Issue
Block a user