vkd3d-shader: Implement scanning hull shader tessellation information.

This commit is contained in:
Shaun Ren
2024-10-22 22:30:13 -04:00
committed by Henri Verbeet
parent 1f4d17a4a2
commit e20b63c55e
Notes: Henri Verbeet 2024-11-21 19:34:41 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1217
2 changed files with 43 additions and 0 deletions

View File

@ -112,6 +112,11 @@ enum vkd3d_shader_structure_type
* \since 1.13
*/
VKD3D_SHADER_STRUCTURE_TYPE_PARAMETER_INFO,
/**
* The structure is a vkd3d_shader_scan_hull_shader_tessellation_info structure.
* \since 1.15
*/
VKD3D_SHADER_STRUCTURE_TYPE_SCAN_HULL_SHADER_TESSELLATION_INFO,
VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_STRUCTURE_TYPE),
};
@ -2040,6 +2045,26 @@ struct vkd3d_shader_scan_combined_resource_sampler_info
unsigned int combined_sampler_count;
};
/**
* A chained structure describing the tessellation information in a hull shader.
*
* This structure extends vkd3d_shader_compile_info.
*
* \since 1.15
*/
struct vkd3d_shader_scan_hull_shader_tessellation_info
{
/** Must be set to VKD3D_SHADER_STRUCTURE_TYPE_SCAN_HULL_SHADER_TESSELLATION_INFO. */
enum vkd3d_shader_structure_type type;
/** Optional pointer to a structure containing further parameters. */
const void *next;
/** The tessellation output primitive. */
enum vkd3d_shader_tessellator_output_primitive output_primitive;
/** The tessellation partitioning mode. */
enum vkd3d_shader_tessellator_partitioning partitioning;
};
/**
* Data type of a shader varying, returned as part of struct
* vkd3d_shader_signature_element.