1*61046927SAndroid Build Coastguard Worker /* 2*61046927SAndroid Build Coastguard Worker * Copyright © 2021 Raspberry Pi Ltd 3*61046927SAndroid Build Coastguard Worker * 4*61046927SAndroid Build Coastguard Worker * Permission is hereby granted, free of charge, to any person obtaining a 5*61046927SAndroid Build Coastguard Worker * copy of this software and associated documentation files (the "Software"), 6*61046927SAndroid Build Coastguard Worker * to deal in the Software without restriction, including without limitation 7*61046927SAndroid Build Coastguard Worker * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*61046927SAndroid Build Coastguard Worker * and/or sell copies of the Software, and to permit persons to whom the 9*61046927SAndroid Build Coastguard Worker * Software is furnished to do so, subject to the following conditions: 10*61046927SAndroid Build Coastguard Worker * 11*61046927SAndroid Build Coastguard Worker * The above copyright notice and this permission notice (including the next 12*61046927SAndroid Build Coastguard Worker * paragraph) shall be included in all copies or substantial portions of the 13*61046927SAndroid Build Coastguard Worker * Software. 14*61046927SAndroid Build Coastguard Worker * 15*61046927SAndroid Build Coastguard Worker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16*61046927SAndroid Build Coastguard Worker * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17*61046927SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18*61046927SAndroid Build Coastguard Worker * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19*61046927SAndroid Build Coastguard Worker * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20*61046927SAndroid Build Coastguard Worker * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21*61046927SAndroid Build Coastguard Worker * IN THE SOFTWARE. 22*61046927SAndroid Build Coastguard Worker */ 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Worker /* This file generates the per-v3d-version function prototypes. It must only 25*61046927SAndroid Build Coastguard Worker * be included from v3dv_private.h. 26*61046927SAndroid Build Coastguard Worker */ 27*61046927SAndroid Build Coastguard Worker 28*61046927SAndroid Build Coastguard Worker #ifndef V3DV_PRIVATE_H 29*61046927SAndroid Build Coastguard Worker #error This file is included by means other than v3dv_private.h 30*61046927SAndroid Build Coastguard Worker #endif 31*61046927SAndroid Build Coastguard Worker 32*61046927SAndroid Build Coastguard Worker /* Used at v3dv_cmd_buffer */ 33*61046927SAndroid Build Coastguard Worker void 34*61046927SAndroid Build Coastguard Worker v3dX(job_emit_binning_flush)(struct v3dv_job *job); 35*61046927SAndroid Build Coastguard Worker 36*61046927SAndroid Build Coastguard Worker void 37*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_color_write_mask)(struct v3dv_cmd_buffer *cmd_buffer); 38*61046927SAndroid Build Coastguard Worker 39*61046927SAndroid Build Coastguard Worker void 40*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_end_render_pass_secondary)(struct v3dv_cmd_buffer *cmd_buffer); 41*61046927SAndroid Build Coastguard Worker 42*61046927SAndroid Build Coastguard Worker void 43*61046927SAndroid Build Coastguard Worker v3dX(job_emit_clip_window)(struct v3dv_job *job, const VkRect2D *rect); 44*61046927SAndroid Build Coastguard Worker 45*61046927SAndroid Build Coastguard Worker void 46*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_render_pass_rcl)(struct v3dv_cmd_buffer *cmd_buffer); 47*61046927SAndroid Build Coastguard Worker 48*61046927SAndroid Build Coastguard Worker void 49*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_viewport)(struct v3dv_cmd_buffer *cmd_buffer); 50*61046927SAndroid Build Coastguard Worker 51*61046927SAndroid Build Coastguard Worker void 52*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_stencil)(struct v3dv_cmd_buffer *cmd_buffer); 53*61046927SAndroid Build Coastguard Worker 54*61046927SAndroid Build Coastguard Worker void 55*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_depth_bias)(struct v3dv_cmd_buffer *cmd_buffer); 56*61046927SAndroid Build Coastguard Worker 57*61046927SAndroid Build Coastguard Worker void 58*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_depth_bounds)(struct v3dv_cmd_buffer *cmd_buffer); 59*61046927SAndroid Build Coastguard Worker 60*61046927SAndroid Build Coastguard Worker void 61*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_line_width)(struct v3dv_cmd_buffer *cmd_buffer); 62*61046927SAndroid Build Coastguard Worker 63*61046927SAndroid Build Coastguard Worker void 64*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_default_point_size)(struct v3dv_cmd_buffer *cmd_buffer); 65*61046927SAndroid Build Coastguard Worker 66*61046927SAndroid Build Coastguard Worker void 67*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_sample_state)(struct v3dv_cmd_buffer *cmd_buffer); 68*61046927SAndroid Build Coastguard Worker 69*61046927SAndroid Build Coastguard Worker void 70*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_blend)(struct v3dv_cmd_buffer *cmd_buffer); 71*61046927SAndroid Build Coastguard Worker 72*61046927SAndroid Build Coastguard Worker void 73*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_varyings_state)(struct v3dv_cmd_buffer *cmd_buffer); 74*61046927SAndroid Build Coastguard Worker 75*61046927SAndroid Build Coastguard Worker void 76*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_configuration_bits)(struct v3dv_cmd_buffer *cmd_buffer); 77*61046927SAndroid Build Coastguard Worker 78*61046927SAndroid Build Coastguard Worker void 79*61046927SAndroid Build Coastguard Worker v3dX(job_emit_binning_prolog)(struct v3dv_job *job, 80*61046927SAndroid Build Coastguard Worker const struct v3dv_frame_tiling *tiling, 81*61046927SAndroid Build Coastguard Worker uint32_t layers); 82*61046927SAndroid Build Coastguard Worker 83*61046927SAndroid Build Coastguard Worker void 84*61046927SAndroid Build Coastguard Worker v3dX(job_emit_enable_double_buffer)(struct v3dv_job *job); 85*61046927SAndroid Build Coastguard Worker 86*61046927SAndroid Build Coastguard Worker void 87*61046927SAndroid Build Coastguard Worker v3dX(job_patch_resume_address)(struct v3dv_job *first_suspend, 88*61046927SAndroid Build Coastguard Worker struct v3dv_job *suspend, 89*61046927SAndroid Build Coastguard Worker struct v3dv_job *resume); 90*61046927SAndroid Build Coastguard Worker 91*61046927SAndroid Build Coastguard Worker void 92*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_execute_inside_pass)(struct v3dv_cmd_buffer *primary, 93*61046927SAndroid Build Coastguard Worker uint32_t cmd_buffer_count, 94*61046927SAndroid Build Coastguard Worker const VkCommandBuffer *cmd_buffers); 95*61046927SAndroid Build Coastguard Worker 96*61046927SAndroid Build Coastguard Worker void 97*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_occlusion_query)(struct v3dv_cmd_buffer *cmd_buffer); 98*61046927SAndroid Build Coastguard Worker 99*61046927SAndroid Build Coastguard Worker void 100*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_gl_shader_state)(struct v3dv_cmd_buffer *cmd_buffer); 101*61046927SAndroid Build Coastguard Worker 102*61046927SAndroid Build Coastguard Worker 103*61046927SAndroid Build Coastguard Worker void 104*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_draw)(struct v3dv_cmd_buffer *cmd_buffer, 105*61046927SAndroid Build Coastguard Worker struct v3dv_draw_info *info); 106*61046927SAndroid Build Coastguard Worker 107*61046927SAndroid Build Coastguard Worker 108*61046927SAndroid Build Coastguard Worker void 109*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_index_buffer)(struct v3dv_cmd_buffer *cmd_buffer); 110*61046927SAndroid Build Coastguard Worker 111*61046927SAndroid Build Coastguard Worker void 112*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_draw_indexed)(struct v3dv_cmd_buffer *cmd_buffer, 113*61046927SAndroid Build Coastguard Worker uint32_t indexCount, 114*61046927SAndroid Build Coastguard Worker uint32_t instanceCount, 115*61046927SAndroid Build Coastguard Worker uint32_t firstIndex, 116*61046927SAndroid Build Coastguard Worker int32_t vertexOffset, 117*61046927SAndroid Build Coastguard Worker uint32_t firstInstance); 118*61046927SAndroid Build Coastguard Worker 119*61046927SAndroid Build Coastguard Worker void 120*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_draw_indirect)(struct v3dv_cmd_buffer *cmd_buffer, 121*61046927SAndroid Build Coastguard Worker struct v3dv_buffer *buffer, 122*61046927SAndroid Build Coastguard Worker VkDeviceSize offset, 123*61046927SAndroid Build Coastguard Worker uint32_t drawCount, 124*61046927SAndroid Build Coastguard Worker uint32_t stride); 125*61046927SAndroid Build Coastguard Worker 126*61046927SAndroid Build Coastguard Worker void 127*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_emit_indexed_indirect)(struct v3dv_cmd_buffer *cmd_buffer, 128*61046927SAndroid Build Coastguard Worker struct v3dv_buffer *buffer, 129*61046927SAndroid Build Coastguard Worker VkDeviceSize offset, 130*61046927SAndroid Build Coastguard Worker uint32_t drawCount, 131*61046927SAndroid Build Coastguard Worker uint32_t stride); 132*61046927SAndroid Build Coastguard Worker 133*61046927SAndroid Build Coastguard Worker void 134*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_suspend)(struct v3dv_cmd_buffer *cmd_buffer); 135*61046927SAndroid Build Coastguard Worker 136*61046927SAndroid Build Coastguard Worker struct v3dv_job * 137*61046927SAndroid Build Coastguard Worker v3dX(cmd_buffer_prepare_suspend_job_for_submit)(struct v3dv_job *job); 138*61046927SAndroid Build Coastguard Worker 139*61046927SAndroid Build Coastguard Worker void 140*61046927SAndroid Build Coastguard Worker v3dX(get_hw_clear_color)(const VkClearColorValue *color, 141*61046927SAndroid Build Coastguard Worker uint32_t internal_type, 142*61046927SAndroid Build Coastguard Worker uint32_t internal_size, 143*61046927SAndroid Build Coastguard Worker uint32_t *hw_color); 144*61046927SAndroid Build Coastguard Worker 145*61046927SAndroid Build Coastguard Worker /* Used at v3dv_device */ 146*61046927SAndroid Build Coastguard Worker 147*61046927SAndroid Build Coastguard Worker void 148*61046927SAndroid Build Coastguard Worker v3dX(pack_sampler_state)(const struct v3dv_device *device, 149*61046927SAndroid Build Coastguard Worker struct v3dv_sampler *sampler, 150*61046927SAndroid Build Coastguard Worker const VkSamplerCreateInfo *pCreateInfo, 151*61046927SAndroid Build Coastguard Worker const VkSamplerCustomBorderColorCreateInfoEXT *bc_info); 152*61046927SAndroid Build Coastguard Worker 153*61046927SAndroid Build Coastguard Worker void 154*61046927SAndroid Build Coastguard Worker v3dX(framebuffer_compute_internal_bpp_msaa)(const struct v3dv_framebuffer *framebuffer, 155*61046927SAndroid Build Coastguard Worker const struct v3dv_cmd_buffer_attachment_state *attachments, 156*61046927SAndroid Build Coastguard Worker const struct v3dv_subpass *subpass, 157*61046927SAndroid Build Coastguard Worker uint8_t *max_internal_bpp, 158*61046927SAndroid Build Coastguard Worker uint8_t *total_color_bpp, 159*61046927SAndroid Build Coastguard Worker bool *msaa); 160*61046927SAndroid Build Coastguard Worker 161*61046927SAndroid Build Coastguard Worker #if MESA_DEBUG 162*61046927SAndroid Build Coastguard Worker void 163*61046927SAndroid Build Coastguard Worker v3dX(device_check_prepacked_sizes)(void); 164*61046927SAndroid Build Coastguard Worker #endif 165*61046927SAndroid Build Coastguard Worker 166*61046927SAndroid Build Coastguard Worker /* Used at v3dv_format */ 167*61046927SAndroid Build Coastguard Worker const struct v3dv_format * 168*61046927SAndroid Build Coastguard Worker v3dX(get_format)(VkFormat); 169*61046927SAndroid Build Coastguard Worker 170*61046927SAndroid Build Coastguard Worker void 171*61046927SAndroid Build Coastguard Worker v3dX(get_internal_type_bpp_for_output_format)(uint32_t format, 172*61046927SAndroid Build Coastguard Worker uint32_t *type, 173*61046927SAndroid Build Coastguard Worker uint32_t *bpp); 174*61046927SAndroid Build Coastguard Worker 175*61046927SAndroid Build Coastguard Worker bool 176*61046927SAndroid Build Coastguard Worker v3dX(format_supports_tlb_resolve)(const struct v3dv_format *format); 177*61046927SAndroid Build Coastguard Worker 178*61046927SAndroid Build Coastguard Worker bool 179*61046927SAndroid Build Coastguard Worker v3dX(format_supports_blending)(const struct v3dv_format *format); 180*61046927SAndroid Build Coastguard Worker 181*61046927SAndroid Build Coastguard Worker /* FIXME: tex_format should be `enum V3DX(Texture_Data_Formats)`, but using 182*61046927SAndroid Build Coastguard Worker * that enum type in the header requires including v3dx_pack.h, which triggers 183*61046927SAndroid Build Coastguard Worker * circular include dependencies issues, so we're using a `uint32_t` for now. 184*61046927SAndroid Build Coastguard Worker */ 185*61046927SAndroid Build Coastguard Worker bool 186*61046927SAndroid Build Coastguard Worker v3dX(tfu_supports_tex_format)(uint32_t tex_format); 187*61046927SAndroid Build Coastguard Worker 188*61046927SAndroid Build Coastguard Worker /* Used at v3dv_image */ 189*61046927SAndroid Build Coastguard Worker 190*61046927SAndroid Build Coastguard Worker void 191*61046927SAndroid Build Coastguard Worker v3dX(pack_texture_shader_state)(struct v3dv_device *device, 192*61046927SAndroid Build Coastguard Worker struct v3dv_image_view *iview); 193*61046927SAndroid Build Coastguard Worker 194*61046927SAndroid Build Coastguard Worker void 195*61046927SAndroid Build Coastguard Worker v3dX(pack_texture_shader_state_from_buffer_view)(struct v3dv_device *device, 196*61046927SAndroid Build Coastguard Worker struct v3dv_buffer_view *buffer_view); 197*61046927SAndroid Build Coastguard Worker 198*61046927SAndroid Build Coastguard Worker /* Used at v3dv_meta_* */ 199*61046927SAndroid Build Coastguard Worker 200*61046927SAndroid Build Coastguard Worker uint32_t 201*61046927SAndroid Build Coastguard Worker v3dX(zs_buffer_from_aspect_bits)(VkImageAspectFlags aspects); 202*61046927SAndroid Build Coastguard Worker 203*61046927SAndroid Build Coastguard Worker uint8_t 204*61046927SAndroid Build Coastguard Worker v3dX(get_internal_depth_type)(VkFormat format); 205*61046927SAndroid Build Coastguard Worker 206*61046927SAndroid Build Coastguard Worker struct v3dv_meta_framebuffer; 207*61046927SAndroid Build Coastguard Worker 208*61046927SAndroid Build Coastguard Worker void 209*61046927SAndroid Build Coastguard Worker v3dX(meta_emit_copy_image_to_buffer_rcl)(struct v3dv_job *job, 210*61046927SAndroid Build Coastguard Worker struct v3dv_buffer *buffer, 211*61046927SAndroid Build Coastguard Worker struct v3dv_image *image, 212*61046927SAndroid Build Coastguard Worker struct v3dv_meta_framebuffer *framebuffer, 213*61046927SAndroid Build Coastguard Worker const VkBufferImageCopy2 *region); 214*61046927SAndroid Build Coastguard Worker 215*61046927SAndroid Build Coastguard Worker void 216*61046927SAndroid Build Coastguard Worker v3dX(meta_emit_resolve_image_rcl)(struct v3dv_job *job, 217*61046927SAndroid Build Coastguard Worker struct v3dv_image *dst, 218*61046927SAndroid Build Coastguard Worker struct v3dv_image *src, 219*61046927SAndroid Build Coastguard Worker struct v3dv_meta_framebuffer *framebuffer, 220*61046927SAndroid Build Coastguard Worker const VkImageResolve2 *region); 221*61046927SAndroid Build Coastguard Worker 222*61046927SAndroid Build Coastguard Worker void 223*61046927SAndroid Build Coastguard Worker v3dX(meta_emit_copy_buffer)(struct v3dv_job *job, 224*61046927SAndroid Build Coastguard Worker struct v3dv_bo *dst, 225*61046927SAndroid Build Coastguard Worker struct v3dv_bo *src, 226*61046927SAndroid Build Coastguard Worker uint32_t dst_offset, 227*61046927SAndroid Build Coastguard Worker uint32_t src_offset, 228*61046927SAndroid Build Coastguard Worker struct v3dv_meta_framebuffer *framebuffer, 229*61046927SAndroid Build Coastguard Worker uint32_t format, 230*61046927SAndroid Build Coastguard Worker uint32_t item_size); 231*61046927SAndroid Build Coastguard Worker 232*61046927SAndroid Build Coastguard Worker void 233*61046927SAndroid Build Coastguard Worker v3dX(meta_emit_copy_buffer_rcl)(struct v3dv_job *job, 234*61046927SAndroid Build Coastguard Worker struct v3dv_bo *dst, 235*61046927SAndroid Build Coastguard Worker struct v3dv_bo *src, 236*61046927SAndroid Build Coastguard Worker uint32_t dst_offset, 237*61046927SAndroid Build Coastguard Worker uint32_t src_offset, 238*61046927SAndroid Build Coastguard Worker struct v3dv_meta_framebuffer *framebuffer, 239*61046927SAndroid Build Coastguard Worker uint32_t format, 240*61046927SAndroid Build Coastguard Worker uint32_t item_size); 241*61046927SAndroid Build Coastguard Worker 242*61046927SAndroid Build Coastguard Worker void 243*61046927SAndroid Build Coastguard Worker v3dX(meta_emit_copy_image_rcl)(struct v3dv_job *job, 244*61046927SAndroid Build Coastguard Worker struct v3dv_image *dst, 245*61046927SAndroid Build Coastguard Worker struct v3dv_image *src, 246*61046927SAndroid Build Coastguard Worker struct v3dv_meta_framebuffer *framebuffer, 247*61046927SAndroid Build Coastguard Worker const VkImageCopy2 *region); 248*61046927SAndroid Build Coastguard Worker 249*61046927SAndroid Build Coastguard Worker void 250*61046927SAndroid Build Coastguard Worker v3dX(meta_emit_tfu_job)(struct v3dv_cmd_buffer *cmd_buffer, 251*61046927SAndroid Build Coastguard Worker uint32_t dst_bo_handle, 252*61046927SAndroid Build Coastguard Worker uint32_t dst_offset, 253*61046927SAndroid Build Coastguard Worker enum v3d_tiling_mode dst_tiling, 254*61046927SAndroid Build Coastguard Worker uint32_t dst_padded_height_or_stride, 255*61046927SAndroid Build Coastguard Worker uint32_t dst_cpp, 256*61046927SAndroid Build Coastguard Worker uint32_t src_bo_handle, 257*61046927SAndroid Build Coastguard Worker uint32_t src_offset, 258*61046927SAndroid Build Coastguard Worker enum v3d_tiling_mode src_tiling, 259*61046927SAndroid Build Coastguard Worker uint32_t src_padded_height_or_stride, 260*61046927SAndroid Build Coastguard Worker uint32_t src_cpp, 261*61046927SAndroid Build Coastguard Worker uint32_t width, 262*61046927SAndroid Build Coastguard Worker uint32_t height, 263*61046927SAndroid Build Coastguard Worker const struct v3dv_format_plane *format_plane); 264*61046927SAndroid Build Coastguard Worker 265*61046927SAndroid Build Coastguard Worker void 266*61046927SAndroid Build Coastguard Worker v3dX(meta_emit_clear_image_rcl)(struct v3dv_job *job, 267*61046927SAndroid Build Coastguard Worker struct v3dv_image *image, 268*61046927SAndroid Build Coastguard Worker struct v3dv_meta_framebuffer *framebuffer, 269*61046927SAndroid Build Coastguard Worker const union v3dv_clear_value *clear_value, 270*61046927SAndroid Build Coastguard Worker VkImageAspectFlags aspects, 271*61046927SAndroid Build Coastguard Worker uint32_t min_layer, 272*61046927SAndroid Build Coastguard Worker uint32_t max_layer, 273*61046927SAndroid Build Coastguard Worker uint32_t level); 274*61046927SAndroid Build Coastguard Worker 275*61046927SAndroid Build Coastguard Worker void 276*61046927SAndroid Build Coastguard Worker v3dX(meta_emit_fill_buffer_rcl)(struct v3dv_job *job, 277*61046927SAndroid Build Coastguard Worker struct v3dv_bo *bo, 278*61046927SAndroid Build Coastguard Worker uint32_t offset, 279*61046927SAndroid Build Coastguard Worker struct v3dv_meta_framebuffer *framebuffer, 280*61046927SAndroid Build Coastguard Worker uint32_t data); 281*61046927SAndroid Build Coastguard Worker 282*61046927SAndroid Build Coastguard Worker void 283*61046927SAndroid Build Coastguard Worker v3dX(meta_emit_copy_buffer_to_image_rcl)(struct v3dv_job *job, 284*61046927SAndroid Build Coastguard Worker struct v3dv_image *image, 285*61046927SAndroid Build Coastguard Worker struct v3dv_buffer *buffer, 286*61046927SAndroid Build Coastguard Worker struct v3dv_meta_framebuffer *framebuffer, 287*61046927SAndroid Build Coastguard Worker const VkBufferImageCopy2 *region); 288*61046927SAndroid Build Coastguard Worker 289*61046927SAndroid Build Coastguard Worker void 290*61046927SAndroid Build Coastguard Worker v3dX(get_internal_type_bpp_for_image_aspects)(VkFormat vk_format, 291*61046927SAndroid Build Coastguard Worker VkImageAspectFlags aspect_mask, 292*61046927SAndroid Build Coastguard Worker uint32_t *internal_type, 293*61046927SAndroid Build Coastguard Worker uint32_t *internal_bpp); 294*61046927SAndroid Build Coastguard Worker 295*61046927SAndroid Build Coastguard Worker struct v3dv_job * 296*61046927SAndroid Build Coastguard Worker v3dX(meta_copy_buffer)(struct v3dv_cmd_buffer *cmd_buffer, 297*61046927SAndroid Build Coastguard Worker struct v3dv_bo *dst, 298*61046927SAndroid Build Coastguard Worker uint32_t dst_offset, 299*61046927SAndroid Build Coastguard Worker struct v3dv_bo *src, 300*61046927SAndroid Build Coastguard Worker uint32_t src_offset, 301*61046927SAndroid Build Coastguard Worker const VkBufferCopy2 *region); 302*61046927SAndroid Build Coastguard Worker 303*61046927SAndroid Build Coastguard Worker void 304*61046927SAndroid Build Coastguard Worker v3dX(meta_fill_buffer)(struct v3dv_cmd_buffer *cmd_buffer, 305*61046927SAndroid Build Coastguard Worker struct v3dv_bo *bo, 306*61046927SAndroid Build Coastguard Worker uint32_t offset, 307*61046927SAndroid Build Coastguard Worker uint32_t size, 308*61046927SAndroid Build Coastguard Worker uint32_t data); 309*61046927SAndroid Build Coastguard Worker 310*61046927SAndroid Build Coastguard Worker void 311*61046927SAndroid Build Coastguard Worker v3dX(meta_framebuffer_init)(struct v3dv_meta_framebuffer *fb, 312*61046927SAndroid Build Coastguard Worker VkFormat vk_format, 313*61046927SAndroid Build Coastguard Worker uint32_t internal_type, 314*61046927SAndroid Build Coastguard Worker const struct v3dv_frame_tiling *tiling); 315*61046927SAndroid Build Coastguard Worker 316*61046927SAndroid Build Coastguard Worker /* Used at v3dv_pipeline */ 317*61046927SAndroid Build Coastguard Worker void 318*61046927SAndroid Build Coastguard Worker v3dX(pipeline_pack_state)(struct v3dv_pipeline *pipeline, 319*61046927SAndroid Build Coastguard Worker const VkPipelineColorBlendStateCreateInfo *cb_info, 320*61046927SAndroid Build Coastguard Worker const VkPipelineDepthStencilStateCreateInfo *ds_info, 321*61046927SAndroid Build Coastguard Worker const VkPipelineRasterizationStateCreateInfo *rs_info, 322*61046927SAndroid Build Coastguard Worker const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT *pv_info, 323*61046927SAndroid Build Coastguard Worker const VkPipelineRasterizationLineStateCreateInfoEXT *ls_info, 324*61046927SAndroid Build Coastguard Worker const VkPipelineMultisampleStateCreateInfo *ms_info, 325*61046927SAndroid Build Coastguard Worker const struct vk_graphics_pipeline_state *state); 326*61046927SAndroid Build Coastguard Worker void 327*61046927SAndroid Build Coastguard Worker v3dX(pipeline_pack_compile_state)(struct v3dv_pipeline *pipeline, 328*61046927SAndroid Build Coastguard Worker const VkPipelineVertexInputStateCreateInfo *vi_info, 329*61046927SAndroid Build Coastguard Worker const VkPipelineVertexInputDivisorStateCreateInfoEXT *vd_info); 330*61046927SAndroid Build Coastguard Worker 331*61046927SAndroid Build Coastguard Worker bool 332*61046927SAndroid Build Coastguard Worker v3dX(pipeline_needs_default_attribute_values)(struct v3dv_pipeline *pipeline); 333*61046927SAndroid Build Coastguard Worker 334*61046927SAndroid Build Coastguard Worker struct v3dv_bo * 335*61046927SAndroid Build Coastguard Worker v3dX(create_default_attribute_values)(struct v3dv_device *device, 336*61046927SAndroid Build Coastguard Worker struct v3dv_pipeline *pipeline); 337*61046927SAndroid Build Coastguard Worker 338*61046927SAndroid Build Coastguard Worker /* Used at v3dv_queue */ 339*61046927SAndroid Build Coastguard Worker void 340*61046927SAndroid Build Coastguard Worker v3dX(job_emit_noop)(struct v3dv_job *job); 341*61046927SAndroid Build Coastguard Worker 342*61046927SAndroid Build Coastguard Worker /* Used at v3dv_query */ 343*61046927SAndroid Build Coastguard Worker VkResult 344*61046927SAndroid Build Coastguard Worker v3dX(enumerate_performance_query_counters)(struct v3dv_physical_device *pDevice, 345*61046927SAndroid Build Coastguard Worker uint32_t *pCounterCount, 346*61046927SAndroid Build Coastguard Worker VkPerformanceCounterKHR *pCounters, 347*61046927SAndroid Build Coastguard Worker VkPerformanceCounterDescriptionKHR *pCounterDescriptions); 348*61046927SAndroid Build Coastguard Worker 349*61046927SAndroid Build Coastguard Worker /* Used at v3dv_descriptor_set, and other descriptor set utils */ 350*61046927SAndroid Build Coastguard Worker uint32_t v3dX(descriptor_bo_size)(VkDescriptorType type); 351*61046927SAndroid Build Coastguard Worker 352*61046927SAndroid Build Coastguard Worker uint32_t v3dX(max_descriptor_bo_size)(void); 353*61046927SAndroid Build Coastguard Worker 354*61046927SAndroid Build Coastguard Worker uint32_t v3dX(combined_image_sampler_texture_state_offset)(uint8_t plane); 355*61046927SAndroid Build Coastguard Worker 356*61046927SAndroid Build Coastguard Worker uint32_t v3dX(combined_image_sampler_sampler_state_offset)(uint8_t plane); 357*61046927SAndroid Build Coastguard Worker 358*61046927SAndroid Build Coastguard Worker /* General utils */ 359*61046927SAndroid Build Coastguard Worker 360*61046927SAndroid Build Coastguard Worker uint32_t 361*61046927SAndroid Build Coastguard Worker v3dX(clamp_for_format_and_type)(uint32_t rt_type, 362*61046927SAndroid Build Coastguard Worker VkFormat vk_format); 363*61046927SAndroid Build Coastguard Worker 364*61046927SAndroid Build Coastguard Worker uint32_t 365*61046927SAndroid Build Coastguard Worker v3dX(clamp_for_format_and_type)(uint32_t rt_type, 366*61046927SAndroid Build Coastguard Worker VkFormat vk_format); 367*61046927SAndroid Build Coastguard Worker 368*61046927SAndroid Build Coastguard Worker void 369*61046927SAndroid Build Coastguard Worker v3dX(viewport_compute_xform)(const VkViewport *viewport, 370*61046927SAndroid Build Coastguard Worker float scale[3], 371*61046927SAndroid Build Coastguard Worker float translate[3]); 372*61046927SAndroid Build Coastguard Worker 373*61046927SAndroid Build Coastguard Worker uint32_t 374*61046927SAndroid Build Coastguard Worker v3dX(translate_stencil_op)(VkStencilOp op); 375