mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 01:57:23 +00:00
winevulkan: Enable VK_ARM_render_pass_striped.
This commit is contained in:
parent
ea890c4733
commit
05a0da8ab9
3 changed files with 223 additions and 5 deletions
|
@ -95,7 +95,6 @@ UNSUPPORTED_EXTENSIONS = [
|
|||
|
||||
# Device extensions
|
||||
"VK_AMD_display_native_hdr",
|
||||
"VK_ARM_render_pass_striped", # XML bug, see https://github.com/KhronosGroup/Vulkan-Docs/pull/2279
|
||||
"VK_EXT_full_screen_exclusive",
|
||||
"VK_GOOGLE_display_timing",
|
||||
"VK_KHR_external_fence_win32",
|
||||
|
|
|
@ -470,6 +470,13 @@ typedef struct VkSubpassSampleLocationsEXT32
|
|||
VkSampleLocationsInfoEXT32 sampleLocationsInfo;
|
||||
} VkSubpassSampleLocationsEXT32;
|
||||
|
||||
typedef struct VkRenderPassStripeInfoARM32
|
||||
{
|
||||
VkStructureType sType;
|
||||
PTR32 pNext;
|
||||
VkRect2D stripeArea;
|
||||
} VkRenderPassStripeInfoARM32;
|
||||
|
||||
typedef struct VkDeviceGroupRenderPassBeginInfo32
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -514,6 +521,14 @@ typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM32
|
|||
PTR32 pPerViewRenderAreas;
|
||||
} VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM32;
|
||||
|
||||
typedef struct VkRenderPassStripeBeginInfoARM32
|
||||
{
|
||||
VkStructureType sType;
|
||||
PTR32 pNext;
|
||||
uint32_t stripeInfoCount;
|
||||
PTR32 pStripeInfos;
|
||||
} VkRenderPassStripeBeginInfoARM32;
|
||||
|
||||
typedef struct VkRenderPassBeginInfo32
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -3232,6 +3247,13 @@ typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG32
|
|||
VkBool32 relaxedLineRasterization;
|
||||
} VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG32;
|
||||
|
||||
typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM32
|
||||
{
|
||||
VkStructureType sType;
|
||||
PTR32 pNext;
|
||||
VkBool32 renderPassStriped;
|
||||
} VkPhysicalDeviceRenderPassStripedFeaturesARM32;
|
||||
|
||||
typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR32
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -6355,6 +6377,14 @@ typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM32
|
|||
VkPhysicalDeviceSchedulingControlsFlagsARM DECLSPEC_ALIGN(8) schedulingControlsFlags;
|
||||
} VkPhysicalDeviceSchedulingControlsPropertiesARM32;
|
||||
|
||||
typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM32
|
||||
{
|
||||
VkStructureType sType;
|
||||
PTR32 pNext;
|
||||
VkExtent2D renderPassStripeGranularity;
|
||||
uint32_t maxRenderPassStripes;
|
||||
} VkPhysicalDeviceRenderPassStripedPropertiesARM32;
|
||||
|
||||
typedef struct VkPhysicalDeviceProperties232
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -6844,6 +6874,14 @@ typedef struct VkSemaphoreSubmitInfo32
|
|||
} VkSemaphoreSubmitInfo32;
|
||||
typedef VkSemaphoreSubmitInfo32 VkSemaphoreSubmitInfoKHR32;
|
||||
|
||||
typedef struct VkRenderPassStripeSubmitInfoARM32
|
||||
{
|
||||
VkStructureType sType;
|
||||
PTR32 pNext;
|
||||
uint32_t stripeSemaphoreInfoCount;
|
||||
PTR32 pStripeSemaphoreInfos;
|
||||
} VkRenderPassStripeSubmitInfoARM32;
|
||||
|
||||
typedef struct VkCommandBufferSubmitInfo32
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -8036,6 +8074,33 @@ static inline const VkSubpassSampleLocationsEXT *convert_VkSubpassSampleLocation
|
|||
return out;
|
||||
}
|
||||
|
||||
static inline void convert_VkRenderPassStripeInfoARM_win32_to_host(const VkRenderPassStripeInfoARM32 *in, VkRenderPassStripeInfoARM *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = NULL;
|
||||
out->stripeArea = in->stripeArea;
|
||||
if (in->pNext)
|
||||
FIXME("Unexpected pNext\n");
|
||||
}
|
||||
|
||||
static inline const VkRenderPassStripeInfoARM *convert_VkRenderPassStripeInfoARM_array_win32_to_host(struct conversion_context *ctx, const VkRenderPassStripeInfoARM32 *in, uint32_t count)
|
||||
{
|
||||
VkRenderPassStripeInfoARM *out;
|
||||
unsigned int i;
|
||||
|
||||
if (!in || !count) return NULL;
|
||||
|
||||
out = conversion_context_alloc(ctx, count * sizeof(*out));
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
convert_VkRenderPassStripeInfoARM_win32_to_host(&in[i], &out[i]);
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
static inline void convert_VkRenderPassBeginInfo_win32_to_host(struct conversion_context *ctx, const VkRenderPassBeginInfo32 *in, VkRenderPassBeginInfo *out)
|
||||
{
|
||||
const VkBaseInStructure32 *in_header;
|
||||
|
@ -8117,6 +8182,18 @@ static inline void convert_VkRenderPassBeginInfo_win32_to_host(struct conversion
|
|||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM:
|
||||
{
|
||||
VkRenderPassStripeBeginInfoARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
const VkRenderPassStripeBeginInfoARM32 *in_ext = (const VkRenderPassStripeBeginInfoARM32 *)in_header;
|
||||
out_ext->sType = VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM;
|
||||
out_ext->pNext = NULL;
|
||||
out_ext->stripeInfoCount = in_ext->stripeInfoCount;
|
||||
out_ext->pStripeInfos = convert_VkRenderPassStripeInfoARM_array_win32_to_host(ctx, (const VkRenderPassStripeInfoARM32 *)UlongToPtr(in_ext->pStripeInfos), in_ext->stripeInfoCount);
|
||||
out_header->pNext = (void *)out_ext;
|
||||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
FIXME("Unhandled sType %u.\n", in_header->sType);
|
||||
break;
|
||||
|
@ -8265,6 +8342,18 @@ static inline void convert_VkRenderingInfo_win32_to_host(struct conversion_conte
|
|||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM:
|
||||
{
|
||||
VkRenderPassStripeBeginInfoARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
const VkRenderPassStripeBeginInfoARM32 *in_ext = (const VkRenderPassStripeBeginInfoARM32 *)in_header;
|
||||
out_ext->sType = VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM;
|
||||
out_ext->pNext = NULL;
|
||||
out_ext->stripeInfoCount = in_ext->stripeInfoCount;
|
||||
out_ext->pStripeInfos = convert_VkRenderPassStripeInfoARM_array_win32_to_host(ctx, (const VkRenderPassStripeInfoARM32 *)UlongToPtr(in_ext->pStripeInfos), in_ext->stripeInfoCount);
|
||||
out_header->pNext = (void *)out_ext;
|
||||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
FIXME("Unhandled sType %u.\n", in_header->sType);
|
||||
break;
|
||||
|
@ -13363,6 +13452,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co
|
|||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM:
|
||||
{
|
||||
VkPhysicalDeviceRenderPassStripedFeaturesARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
const VkPhysicalDeviceRenderPassStripedFeaturesARM *in_ext = (const VkPhysicalDeviceRenderPassStripedFeaturesARM *)in_header;
|
||||
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM;
|
||||
out_ext->pNext = NULL;
|
||||
out_ext->renderPassStriped = in_ext->renderPassStriped;
|
||||
out_header->pNext = (void *)out_ext;
|
||||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR:
|
||||
{
|
||||
VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
|
@ -15611,6 +15711,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co
|
|||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM:
|
||||
{
|
||||
VkPhysicalDeviceRenderPassStripedFeaturesARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
const VkPhysicalDeviceRenderPassStripedFeaturesARM32 *in_ext = (const VkPhysicalDeviceRenderPassStripedFeaturesARM32 *)in_header;
|
||||
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM;
|
||||
out_ext->pNext = NULL;
|
||||
out_ext->renderPassStriped = in_ext->renderPassStriped;
|
||||
out_header->pNext = (void *)out_ext;
|
||||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR:
|
||||
{
|
||||
VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
|
@ -22856,6 +22967,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver
|
|||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM:
|
||||
{
|
||||
VkPhysicalDeviceRenderPassStripedFeaturesARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
const VkPhysicalDeviceRenderPassStripedFeaturesARM32 *in_ext = (const VkPhysicalDeviceRenderPassStripedFeaturesARM32 *)in_header;
|
||||
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM;
|
||||
out_ext->pNext = NULL;
|
||||
out_ext->renderPassStriped = in_ext->renderPassStriped;
|
||||
out_header->pNext = (void *)out_ext;
|
||||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR:
|
||||
{
|
||||
VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
|
@ -24680,6 +24802,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi
|
|||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM:
|
||||
{
|
||||
VkPhysicalDeviceRenderPassStripedFeaturesARM32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM);
|
||||
const VkPhysicalDeviceRenderPassStripedFeaturesARM *in_ext = (const VkPhysicalDeviceRenderPassStripedFeaturesARM *)in_header;
|
||||
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM;
|
||||
out_ext->renderPassStriped = in_ext->renderPassStriped;
|
||||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR:
|
||||
{
|
||||
VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR);
|
||||
|
@ -26172,6 +26303,15 @@ static inline void convert_VkPhysicalDeviceProperties2_win32_to_host(struct conv
|
|||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM:
|
||||
{
|
||||
VkPhysicalDeviceRenderPassStripedPropertiesARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM;
|
||||
out_ext->pNext = NULL;
|
||||
out_header->pNext = (void *)out_ext;
|
||||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
FIXME("Unhandled sType %u.\n", in_header->sType);
|
||||
break;
|
||||
|
@ -27337,6 +27477,16 @@ static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhy
|
|||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM:
|
||||
{
|
||||
VkPhysicalDeviceRenderPassStripedPropertiesARM32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM);
|
||||
const VkPhysicalDeviceRenderPassStripedPropertiesARM *in_ext = (const VkPhysicalDeviceRenderPassStripedPropertiesARM *)in_header;
|
||||
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM;
|
||||
out_ext->renderPassStripeGranularity = in_ext->renderPassStripeGranularity;
|
||||
out_ext->maxRenderPassStripes = in_ext->maxRenderPassStripes;
|
||||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -29066,16 +29216,39 @@ static inline void convert_VkCommandBufferSubmitInfo_win64_to_host(const VkComma
|
|||
}
|
||||
#endif /* _WIN64 */
|
||||
|
||||
static inline void convert_VkCommandBufferSubmitInfo_win32_to_host(const VkCommandBufferSubmitInfo32 *in, VkCommandBufferSubmitInfo *out)
|
||||
static inline void convert_VkCommandBufferSubmitInfo_win32_to_host(struct conversion_context *ctx, const VkCommandBufferSubmitInfo32 *in, VkCommandBufferSubmitInfo *out)
|
||||
{
|
||||
const VkBaseInStructure32 *in_header;
|
||||
VkBaseOutStructure *out_header = (void *)out;
|
||||
|
||||
if (!in) return;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = NULL;
|
||||
out->commandBuffer = wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(in->commandBuffer))->host_command_buffer;
|
||||
out->deviceMask = in->deviceMask;
|
||||
if (in->pNext)
|
||||
FIXME("Unexpected pNext\n");
|
||||
|
||||
for (in_header = UlongToPtr(in->pNext); in_header; in_header = UlongToPtr(in_header->pNext))
|
||||
{
|
||||
switch (in_header->sType)
|
||||
{
|
||||
case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM:
|
||||
{
|
||||
VkRenderPassStripeSubmitInfoARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
|
||||
const VkRenderPassStripeSubmitInfoARM32 *in_ext = (const VkRenderPassStripeSubmitInfoARM32 *)in_header;
|
||||
out_ext->sType = VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM;
|
||||
out_ext->pNext = NULL;
|
||||
out_ext->stripeSemaphoreInfoCount = in_ext->stripeSemaphoreInfoCount;
|
||||
out_ext->pStripeSemaphoreInfos = convert_VkSemaphoreSubmitInfo_array_win32_to_host(ctx, (const VkSemaphoreSubmitInfo32 *)UlongToPtr(in_ext->pStripeSemaphoreInfos), in_ext->stripeSemaphoreInfoCount);
|
||||
out_header->pNext = (void *)out_ext;
|
||||
out_header = (void *)out_ext;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
FIXME("Unhandled sType %u.\n", in_header->sType);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef _WIN64
|
||||
|
@ -29106,7 +29279,7 @@ static inline const VkCommandBufferSubmitInfo *convert_VkCommandBufferSubmitInfo
|
|||
out = conversion_context_alloc(ctx, count * sizeof(*out));
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
convert_VkCommandBufferSubmitInfo_win32_to_host(&in[i], &out[i]);
|
||||
convert_VkCommandBufferSubmitInfo_win32_to_host(ctx, &in[i], &out[i]);
|
||||
}
|
||||
|
||||
return out;
|
||||
|
@ -45747,6 +45920,7 @@ static const char * const vk_device_extensions[] =
|
|||
"VK_AMD_shader_trinary_minmax",
|
||||
"VK_AMD_texture_gather_bias_lod",
|
||||
"VK_ARM_rasterization_order_attachment_access",
|
||||
"VK_ARM_render_pass_striped",
|
||||
"VK_ARM_scheduling_controls",
|
||||
"VK_ARM_shader_core_builtins",
|
||||
"VK_ARM_shader_core_properties",
|
||||
|
|
|
@ -571,6 +571,8 @@
|
|||
#define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one"
|
||||
#define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1
|
||||
#define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map"
|
||||
#define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1
|
||||
#define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped"
|
||||
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
|
||||
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
|
||||
#define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1
|
||||
|
@ -4642,6 +4644,11 @@ typedef enum VkStructureType
|
|||
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001,
|
||||
VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002,
|
||||
VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003,
|
||||
VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
|
||||
VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
|
||||
|
@ -9317,6 +9324,21 @@ typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG
|
|||
VkBool32 relaxedLineRasterization;
|
||||
} VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG;
|
||||
|
||||
typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM
|
||||
{
|
||||
VkStructureType sType;
|
||||
void *pNext;
|
||||
VkBool32 renderPassStriped;
|
||||
} VkPhysicalDeviceRenderPassStripedFeaturesARM;
|
||||
|
||||
typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM
|
||||
{
|
||||
VkStructureType sType;
|
||||
void *pNext;
|
||||
VkExtent2D renderPassStripeGranularity;
|
||||
uint32_t maxRenderPassStripes;
|
||||
} VkPhysicalDeviceRenderPassStripedPropertiesARM;
|
||||
|
||||
typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -10875,6 +10897,13 @@ typedef struct VkRenderPassMultiviewCreateInfo
|
|||
} VkRenderPassMultiviewCreateInfo;
|
||||
typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
|
||||
|
||||
typedef struct VkRenderPassStripeInfoARM
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkRect2D stripeArea;
|
||||
} VkRenderPassStripeInfoARM;
|
||||
|
||||
typedef struct VkRenderPassSubpassFeedbackInfoEXT
|
||||
{
|
||||
VkSubpassMergeStatusEXT subpassMergeStatus;
|
||||
|
@ -12624,6 +12653,22 @@ typedef struct VkRenderPassSampleLocationsBeginInfoEXT
|
|||
const VkSubpassSampleLocationsEXT *pPostSubpassSampleLocations;
|
||||
} VkRenderPassSampleLocationsBeginInfoEXT;
|
||||
|
||||
typedef struct VkRenderPassStripeBeginInfoARM
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
uint32_t stripeInfoCount;
|
||||
const VkRenderPassStripeInfoARM *pStripeInfos;
|
||||
} VkRenderPassStripeBeginInfoARM;
|
||||
|
||||
typedef struct VkRenderPassStripeSubmitInfoARM
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
uint32_t stripeSemaphoreInfoCount;
|
||||
const VkSemaphoreSubmitInfo *pStripeSemaphoreInfos;
|
||||
} VkRenderPassStripeSubmitInfoARM;
|
||||
|
||||
typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
|
Loading…
Reference in a new issue