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