Files
ZhangLiang 30c0d9c994 vulkan debug-layer
Signed-off-by: ZhangLiang <zhangliang335@h-partners.com>
Change-Id: Ieba5bc9d9ffae3081674a636531818a0303c58b4
2025-11-28 08:32:39 +00:00

81 lines
3.0 KiB
C

/*
* Copyright (c) Huawei Technologies Co., Ltd. 2023-2023. All rights reserved.
* Description: vulkan api partial render extended function. Will delete when vulkan-headers heuristic
* Create: 2023/11/27
*/
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
typedef enum VkStructureTypeHUAWEI {
VK_STRUCTURE_TYPE_BLUR_COLOR_FILTER_INFO_HUAWEI = VK_STRUCTURE_TYPE_MAX_ENUM - 15,
VK_STRUCTURE_TYPE_BLUR_NOISE_INFO_HUAWEI = VK_STRUCTURE_TYPE_MAX_ENUM - 14,
VK_STRUCTURE_TYPE_DRAW_BLUR_IMAGE_INFO_HUAWEI = VK_STRUCTURE_TYPE_MAX_ENUM - 13,
/* for hts/ffts semaphore */
VK_STRUCTURE_TYPE_SEMAPHORE_EXT_CREATE_INFO_HUAWEI = VK_STRUCTURE_TYPE_MAX_ENUM - 11,
VK_STRUCTURE_TYPE_RENDER_PASS_DAMAGE_REGION_BEGIN_INFO_TYPE = VK_STRUCTURE_TYPE_MAX_ENUM - 7
} VkstructureTypeHUAWEI;
typedef struct VkRenderPassDamageRegionBeginInfo {
enum VkStructureTypeHUAWEI sType;
const void* pNext;
uint32_t regionCount;
const VkRect2D* regions;
} VkRenderPassDamageRegionBeginInfo;
#define VK_HUAWEI_DRAW_BLUR_IMAGE 1
#define VK_HUAWEI_DRAW_BLUR_IMAGE_SPEC_VERSION 10
#define VK_HUAWEI_DRAW_BLUR_IMAGE_EXTENSION_NAME "VK_HUAWEI_draw_blur_image"
#define VK_HUAWEI_GPU_ERROR_RECOVER (-199999999)
typedef enum VkBlurOriginTypeHUAWEI {
BLUR_ORIGIN_NONE_FLIP_HUAWEI = 0,
BLUR_ORIGIN_Y_AXIS_FLIP_HUAWEI = 1,
} VkBlurOriginTypeHUAWEI;
typedef struct VkDrawBlurImageInfoHUAWEI {
enum VkStructureTypeHUAWEI sType;
const void* pNext;
float sigma;
VkBlurOriginTypeHUAWEI origin;
VkRect2D srcRegion;
VkRect2D dstRegion;
VkImageView srcImageView;
} VkDrawBlurImageInfoHUAWEI;
typedef struct VkBlurNoiseInfoHUAWEI {
enum VkStructureTypeHUAWEI sType;
const void* pNext;
float noiseRatio;
} VkBlurNoiseInfoHUAWEI;
typedef struct VkBlurColorFilterInfoHUAWEI {
enum VkStructureTypeHUAWEI sType;
const void* pNext;
float saturation;
float brightness;
} VkBlurColorFilterInfoHUAWEI;
typedef void (VKAPI_PTR *PFN_vkCmdDrawBlurImageHUAWEI)(VkCommandBuffer commandBuffer,\
const VkDrawBlurImageInfoHUAWEI *drawBlurImageInfo);
typedef VkResult (VKAPI_PTR *PFN_vkGetBlurImageSizeHUAWEI)(VkDevice device, \
const VkDrawBlurImageInfoHUAWEI *drawBlurImageInfo, VkRect2D *pSize);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdDrawBlurImageHUAWEI(
VkCommandBuffer commandBuffer,
const VkDrawBlurImageInfoHUAWEI* drawBlurImageInfo);
VKAPI_ATTR VkResult VKAPI_CALL vkGetBlurImageSizeHUAWEI(
VkDevice device,
const VkDrawBlurImageInfoHUAWEI* drawBlurImageInfo,
VkRect2D* pSize);
#endif
#ifdef __cplusplus
}
#endif