~mmach/netext73/mesa-ryzen

« back to all changes in this revision

Viewing changes to src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h

  • Committer: mmach
  • Date: 2023-11-02 21:31:35 UTC
  • Revision ID: netbit73@gmail.com-20231102213135-18d4tzh7tj0uz752
2023-11-02 22:11:57

Show diffs side-by-side

added added

removed removed

Lines of Context:
7867
7867
    /* skip pResolveImageInfo */
7868
7868
}
7869
7869
 
 
7870
static inline size_t vn_sizeof_vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables)
 
7871
{
 
7872
    const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetColorWriteEnableEXT_EXT;
 
7873
    const VkFlags cmd_flags = 0;
 
7874
    size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
 
7875
 
 
7876
    cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
 
7877
    cmd_size += vn_sizeof_uint32_t(&attachmentCount);
 
7878
    if (pColorWriteEnables) {
 
7879
        cmd_size += vn_sizeof_array_size(attachmentCount);
 
7880
        cmd_size += vn_sizeof_VkBool32_array(pColorWriteEnables, attachmentCount);
 
7881
    } else {
 
7882
        cmd_size += vn_sizeof_array_size(0);
 
7883
    }
 
7884
 
 
7885
    return cmd_size;
 
7886
}
 
7887
 
 
7888
static inline void vn_encode_vkCmdSetColorWriteEnableEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables)
 
7889
{
 
7890
    const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetColorWriteEnableEXT_EXT;
 
7891
 
 
7892
    vn_encode_VkCommandTypeEXT(enc, &cmd_type);
 
7893
    vn_encode_VkFlags(enc, &cmd_flags);
 
7894
 
 
7895
    vn_encode_VkCommandBuffer(enc, &commandBuffer);
 
7896
    vn_encode_uint32_t(enc, &attachmentCount);
 
7897
    if (pColorWriteEnables) {
 
7898
        vn_encode_array_size(enc, attachmentCount);
 
7899
        vn_encode_VkBool32_array(enc, pColorWriteEnables, attachmentCount);
 
7900
    } else {
 
7901
        vn_encode_array_size(enc, 0);
 
7902
    }
 
7903
}
 
7904
 
 
7905
static inline size_t vn_sizeof_vkCmdSetColorWriteEnableEXT_reply(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables)
 
7906
{
 
7907
    const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetColorWriteEnableEXT_EXT;
 
7908
    size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
 
7909
 
 
7910
    /* skip commandBuffer */
 
7911
    /* skip attachmentCount */
 
7912
    /* skip pColorWriteEnables */
 
7913
 
 
7914
    return cmd_size;
 
7915
}
 
7916
 
 
7917
static inline void vn_decode_vkCmdSetColorWriteEnableEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables)
 
7918
{
 
7919
    VkCommandTypeEXT command_type;
 
7920
    vn_decode_VkCommandTypeEXT(dec, &command_type);
 
7921
    assert(command_type == VK_COMMAND_TYPE_vkCmdSetColorWriteEnableEXT_EXT);
 
7922
 
 
7923
    /* skip commandBuffer */
 
7924
    /* skip attachmentCount */
 
7925
    /* skip pColorWriteEnables */
 
7926
}
 
7927
 
7870
7928
static inline size_t vn_sizeof_vkCmdSetEvent2(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo)
7871
7929
{
7872
7930
    const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent2_EXT;
10139
10197
    }
10140
10198
}
10141
10199
 
 
10200
static inline void vn_submit_vkCmdSetColorWriteEnableEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables, struct vn_instance_submit_command *submit)
 
10201
{
 
10202
    uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
 
10203
    void *cmd_data = local_cmd_data;
 
10204
    size_t cmd_size = vn_sizeof_vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWriteEnables);
 
10205
    if (cmd_size > sizeof(local_cmd_data)) {
 
10206
        cmd_data = malloc(cmd_size);
 
10207
        if (!cmd_data)
 
10208
            cmd_size = 0;
 
10209
    }
 
10210
    const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetColorWriteEnableEXT_reply(commandBuffer, attachmentCount, pColorWriteEnables) : 0;
 
10211
 
 
10212
    struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
 
10213
    if (cmd_size) {
 
10214
        vn_encode_vkCmdSetColorWriteEnableEXT(enc, cmd_flags, commandBuffer, attachmentCount, pColorWriteEnables);
 
10215
        vn_instance_submit_command(vn_instance, submit);
 
10216
        if (cmd_data != local_cmd_data)
 
10217
            free(cmd_data);
 
10218
    }
 
10219
}
 
10220
 
10142
10221
static inline void vn_submit_vkCmdSetEvent2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo, struct vn_instance_submit_command *submit)
10143
10222
{
10144
10223
    uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
12027
12106
    vn_submit_vkCmdResolveImage2(vn_instance, 0, commandBuffer, pResolveImageInfo, &submit);
12028
12107
}
12029
12108
 
 
12109
static inline void vn_call_vkCmdSetColorWriteEnableEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables)
 
12110
{
 
12111
    VN_TRACE_FUNC();
 
12112
 
 
12113
    struct vn_instance_submit_command submit;
 
12114
    vn_submit_vkCmdSetColorWriteEnableEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, attachmentCount, pColorWriteEnables, &submit);
 
12115
    struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
 
12116
    if (dec) {
 
12117
        vn_decode_vkCmdSetColorWriteEnableEXT_reply(dec, commandBuffer, attachmentCount, pColorWriteEnables);
 
12118
        vn_instance_free_command_reply(vn_instance, &submit);
 
12119
    }
 
12120
}
 
12121
 
 
12122
static inline void vn_async_vkCmdSetColorWriteEnableEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables)
 
12123
{
 
12124
    struct vn_instance_submit_command submit;
 
12125
    vn_submit_vkCmdSetColorWriteEnableEXT(vn_instance, 0, commandBuffer, attachmentCount, pColorWriteEnables, &submit);
 
12126
}
 
12127
 
12030
12128
static inline void vn_call_vkCmdSetEvent2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo)
12031
12129
{
12032
12130
    VN_TRACE_FUNC();