mirror of
https://github.com/openharmony/third_party_vulkan-loader.git
synced 2026-07-20 20:15:56 -04:00
30c0d9c994
Signed-off-by: ZhangLiang <zhangliang335@h-partners.com> Change-Id: Ieba5bc9d9ffae3081674a636531818a0303c58b4
81 lines
3.0 KiB
C
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 |