• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) Huawei Technologies Co., Ltd. 2023-2023. All rights reserved.
3  * Description: vulkan api partial render extended function. Will delete when vulkan-headers heuristic
4  * Create: 2023/11/27
5  */
6 
7 #pragma once
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 typedef enum VkStructureTypeHUAWEI {
14     VK_STRUCTURE_TYPE_BLUR_COLOR_FILTER_INFO_HUAWEI = VK_STRUCTURE_TYPE_MAX_ENUM - 15,
15     VK_STRUCTURE_TYPE_BLUR_NOISE_INFO_HUAWEI = VK_STRUCTURE_TYPE_MAX_ENUM - 14,
16     VK_STRUCTURE_TYPE_DRAW_BLUR_IMAGE_INFO_HUAWEI = VK_STRUCTURE_TYPE_MAX_ENUM - 13,
17     VK_STRUCTURE_TYPE_RENDER_PASS_DAMAGE_REGION_BEGIN_INFO_TYPE = VK_STRUCTURE_TYPE_MAX_ENUM - 7
18 } VkstructureTypeHUAWEI;
19 
20 typedef struct VkRenderPassDamageRegionBeginInfo {
21     VkStructureTypeHUAWEI       sType;
22     const void*                 pNext;
23     uint32_t                    regionCount;
24     const VkRect2D*             regions;
25 } VkRenderPassDamageRegionBeginInfo;
26 
27 #define VK_HUAWEI_draw_blur_image 1
28 #define VK_HUAWEI_DRAW_BLUR_IMAGE_SPEC_VERSION 10
29 #define VK_HUAWEI_DRAW_BLUR_IMAGE_EXTENSION_NAME "VK_HUAWEI_draw_blur_image"
30 
31 typedef struct VkDrawBlurImageInfoHUAWEI {
32     VkStructureTypeHUAWEI             sType;
33     const void*                       pNext;
34     float                             sigma;
35     VkRect2D                          srcRegion;
36     VkRect2D                          dstRegion;
37     VkImageView                       srcImageView;
38 } VkDrawBlurImageInfoHUAWEI;
39 
40 typedef struct VkBlurNoiseInfoHUAWEI {
41     VkStructureTypeHUAWEI             sType;
42     const void*                       pNext;
43     float                             noiseRatio;
44 } VkBlurNoiseInfoHUAWEI;
45 
46 typedef struct VkBlurColorFilterInfoHUAWEI {
47     VkStructureTypeHUAWEI             sType;
48     const void*                       pNext;
49     float                             saturation;
50     float                             brightness;
51 } VkBlurColorFilterInfoHUAWEI;
52 
53 typedef void (VKAPI_PTR *PFN_vkCmdDrawBlurImageHUAWEI)(VkCommandBuffer commandBuffer, const VkDrawBlurImageInfoHUAWEI *drawBlurImageInfo);
54 
55 #ifndef VK_NO_PROTOTYPES
56 VKAPI_ATTR void VKAPI_CALL vkCmdDrawBlurImageHUAWEI(
57     VkCommandBuffer                   commandBuffer,
58     const VkDrawBlurImageInfoHUAWEI*  drawBlurImageInfo);
59 #endif
60 
61 #ifdef __cplusplus
62 }
63 #endif