19#ifndef __VKD3D_SHADER_H
20#define __VKD3D_SHADER_H
964#define VKD3D_SHADER_DUMMY_SAMPLER_INDEX ~0u
2245#define VKD3D_SHADER_SWIZZLE_MASK (0xffu)
2247#define VKD3D_SHADER_SWIZZLE_SHIFT(idx) (8u * (idx))
2258#define VKD3D_SHADER_SWIZZLE(x, y, z, w) \
2259 (VKD3D_SHADER_SWIZZLE_ ## x << VKD3D_SHADER_SWIZZLE_SHIFT(0) \
2260 | VKD3D_SHADER_SWIZZLE_ ## y << VKD3D_SHADER_SWIZZLE_SHIFT(1) \
2261 | VKD3D_SHADER_SWIZZLE_ ## z << VKD3D_SHADER_SWIZZLE_SHIFT(2) \
2262 | VKD3D_SHADER_SWIZZLE_ ## w << VKD3D_SHADER_SWIZZLE_SHIFT(3))
2265#define VKD3D_SHADER_NO_SWIZZLE VKD3D_SHADER_SWIZZLE(X, Y, Z, W)
2442#ifdef LIBVKD3D_SHADER_SOURCE
2443# define VKD3D_SHADER_API VKD3D_EXPORT
2445# define VKD3D_SHADER_API VKD3D_IMPORT
2448#ifndef VKD3D_SHADER_NO_PROTOTYPES
3016typedef const char *(*PFN_vkd3d_shader_get_version)(
unsigned int *
major,
unsigned int *
minor);
3058 unsigned int semantic_index,
unsigned int stream_index);
static const WCHAR version[]
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei const GLchar *const * varyings
GLenum GLenum GLenum input
GLubyte GLubyte GLubyte GLubyte w
static IPrintDialogCallback callback
D3D11_SHADER_VARIABLE_DESC desc
struct section sections[2]
unsigned int resource_index
unsigned int sampler_index
unsigned int resource_space
unsigned int sampler_space
struct vkd3d_shader_descriptor_binding binding
unsigned int resource_index
unsigned int sampler_index
unsigned int sampler_space
unsigned int resource_space
enum vkd3d_shader_visibility shader_visibility
const struct vkd3d_shader_compile_option * options
enum vkd3d_shader_log_level log_level
enum vkd3d_shader_structure_type type
unsigned int option_count
enum vkd3d_shader_source_type source_type
enum vkd3d_shader_target_type target_type
enum vkd3d_shader_compile_option_name name
enum vkd3d_shader_resource_type resource_type
unsigned int register_index
enum vkd3d_shader_resource_data_type resource_data_type
enum vkd3d_shader_descriptor_type type
unsigned int register_space
const struct vkd3d_shader_descriptor_offset * uav_counter_offsets
enum vkd3d_shader_structure_type type
unsigned int descriptor_table_offset
unsigned int descriptor_table_count
const struct vkd3d_shader_descriptor_offset * binding_offsets
unsigned int dynamic_offset_index
unsigned int static_offset
enum vkd3d_shader_descriptor_range_flags flags
unsigned int descriptor_table_offset
unsigned int register_space
enum vkd3d_shader_descriptor_type range_type
unsigned int base_shader_register
unsigned int descriptor_count
unsigned int base_shader_register
unsigned int descriptor_table_offset
unsigned int register_space
enum vkd3d_shader_descriptor_type range_type
unsigned int descriptor_count
struct vkd3d_shader_dxbc_section_desc * sections
enum vkd3d_shader_structure_type type
struct vkd3d_shader_code secondary_code
unsigned int combined_sampler_count
const struct vkd3d_shader_resource_binding * bindings
const struct vkd3d_shader_push_constant_buffer * push_constant_buffers
const struct vkd3d_shader_uav_counter_binding * uav_counters
unsigned int binding_count
unsigned int push_constant_buffer_count
const struct vkd3d_shader_combined_resource_sampler * combined_samplers
enum vkd3d_shader_structure_type type
unsigned int uav_counter_count
enum vkd3d_shader_parameter_type type
struct vkd3d_shader_parameter_immediate_constant1 immediate_constant
struct vkd3d_shader_parameter_specialization_constant specialization_constant
enum vkd3d_shader_parameter_data_type data_type
enum vkd3d_shader_parameter_name name
union vkd3d_shader_parameter1::@5986 u
enum vkd3d_shader_structure_type type
unsigned int parameter_count
const struct vkd3d_shader_parameter1 * parameters
struct vkd3d_shader_parameter_immediate_constant immediate_constant
enum vkd3d_shader_parameter_type type
enum vkd3d_shader_parameter_name name
union vkd3d_shader_parameter::@5985 u
enum vkd3d_shader_parameter_data_type data_type
struct vkd3d_shader_parameter_specialization_constant specialization_constant
enum vkd3d_shader_structure_type type
const struct vkd3d_shader_macro * macros
PFN_vkd3d_shader_open_include pfn_open_include
PFN_vkd3d_shader_close_include pfn_close_include
unsigned int register_index
unsigned int register_space
enum vkd3d_shader_visibility shader_visibility
struct vkd3d_shader_descriptor_binding binding
unsigned int register_space
enum vkd3d_shader_descriptor_type type
unsigned int register_index
enum vkd3d_shader_visibility shader_visibility
unsigned int register_space
unsigned int shader_register
unsigned int shader_register
unsigned int register_space
enum vkd3d_shader_root_descriptor_flags flags
const struct vkd3d_shader_descriptor_range1 * descriptor_ranges
unsigned int descriptor_range_count
const struct vkd3d_shader_descriptor_range * descriptor_ranges
unsigned int descriptor_range_count
unsigned int register_space
unsigned int shader_register
struct vkd3d_shader_root_descriptor_table1 descriptor_table
struct vkd3d_shader_root_descriptor1 descriptor
enum vkd3d_shader_root_parameter_type parameter_type
enum vkd3d_shader_visibility shader_visibility
union vkd3d_shader_root_parameter1::@5988 u
union vkd3d_shader_root_parameter::@5987 u
enum vkd3d_shader_root_parameter_type parameter_type
struct vkd3d_shader_root_descriptor descriptor
enum vkd3d_shader_visibility shader_visibility
struct vkd3d_shader_root_descriptor_table descriptor_table
unsigned int static_sampler_count
enum vkd3d_shader_root_signature_flags flags
unsigned int parameter_count
const struct vkd3d_shader_static_sampler_desc * static_samplers
const struct vkd3d_shader_root_parameter1 * parameters
const struct vkd3d_shader_root_parameter * parameters
const struct vkd3d_shader_static_sampler_desc * static_samplers
enum vkd3d_shader_root_signature_flags flags
unsigned int parameter_count
unsigned int static_sampler_count
enum vkd3d_shader_structure_type type
unsigned int combined_sampler_count
struct vkd3d_shader_combined_resource_sampler_info * combined_samplers
enum vkd3d_shader_structure_type type
unsigned int descriptor_count
struct vkd3d_shader_descriptor_info * descriptors
enum vkd3d_shader_structure_type type
struct vkd3d_shader_signature patch_constant
struct vkd3d_shader_signature output
unsigned int semantic_index
enum vkd3d_shader_sysval_semantic sysval_semantic
unsigned int stream_index
enum vkd3d_shader_component_type component_type
enum vkd3d_shader_minimum_precision min_precision
unsigned int register_index
const char * semantic_name
struct vkd3d_shader_signature_element * elements
unsigned int element_count
enum vkd3d_shader_tessellator_output_primitive output_primitive
enum vkd3d_shader_structure_type type
enum vkd3d_shader_tessellator_partitioning partitioning
const struct vkd3d_shader_parameter * parameters
const unsigned int * output_swizzles
unsigned int output_swizzle_count
unsigned int parameter_count
bool dual_source_blending
unsigned int extension_count
enum vkd3d_shader_spirv_environment environment
enum vkd3d_shader_structure_type type
enum vkd3d_shader_spirv_extension * extensions
unsigned int max_anisotropy
unsigned int shader_register
enum vkd3d_shader_comparison_func comparison_func
enum vkd3d_shader_texture_address_mode address_u
enum vkd3d_shader_texture_address_mode address_v
enum vkd3d_shader_filter filter
enum vkd3d_shader_static_border_colour border_colour
enum vkd3d_shader_visibility shader_visibility
unsigned int register_space
enum vkd3d_shader_texture_address_mode address_w
enum vkd3d_shader_visibility shader_visibility
unsigned int register_space
struct vkd3d_shader_descriptor_binding binding
unsigned int register_index
unsigned int varying_count
enum vkd3d_shader_structure_type type
const struct vkd3d_shader_varying_map * varying_map
unsigned int input_register_index
unsigned int output_signature_index
struct vkd3d_shader_root_signature_desc v_1_0
enum vkd3d_shader_root_signature_version version
struct vkd3d_shader_root_signature_desc1 v_1_1
union vkd3d_shader_versioned_root_signature_desc::@5989 u
VKD3D_SHADER_API struct vkd3d_shader_signature_element * vkd3d_shader_find_signature_element(const struct vkd3d_shader_signature *signature, const char *semantic_name, unsigned int semantic_index, unsigned int stream_index)
vkd3d_shader_d3dbc_constant_register
@ VKD3D_SHADER_D3DBC_BOOL_CONSTANT_REGISTER
@ VKD3D_SHADER_D3DBC_FLOAT_CONSTANT_REGISTER
@ VKD3D_SHADER_D3DBC_INT_CONSTANT_REGISTER
vkd3d_shader_compile_option_name
@ VKD3D_SHADER_COMPILE_OPTION_WARN_IMPLICIT_TRUNCATION
@ VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV
@ VKD3D_SHADER_COMPILE_OPTION_BACKWARD_COMPATIBILITY
@ VKD3D_SHADER_COMPILE_OPTION_PACK_MATRIX_ORDER
@ VKD3D_SHADER_COMPILE_OPTION_CHILD_EFFECT
@ VKD3D_SHADER_COMPILE_OPTION_API_VERSION
@ VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE
@ VKD3D_SHADER_COMPILE_OPTION_BUFFER_UAV
@ VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN
@ VKD3D_SHADER_COMPILE_OPTION_FEATURE
@ VKD3D_SHADER_COMPILE_OPTION_STRIP_DEBUG
@ VKD3D_SHADER_COMPILE_OPTION_INCLUDE_EMPTY_BUFFERS_IN_EFFECTS
@ VKD3D_SHADER_COMPILE_OPTION_FORMATTING
static uint32_t vkd3d_shader_create_swizzle(enum vkd3d_shader_swizzle_component x, enum vkd3d_shader_swizzle_component y, enum vkd3d_shader_swizzle_component z, enum vkd3d_shader_swizzle_component w)
vkd3d_shader_compile_option_formatting_flags
@ VKD3D_SHADER_COMPILE_OPTION_FORMATTING_IO_SIGNATURES
@ VKD3D_SHADER_COMPILE_OPTION_FORMATTING_OFFSETS
@ VKD3D_SHADER_COMPILE_OPTION_FORMATTING_HEADER
@ VKD3D_SHADER_COMPILE_OPTION_FORMATTING_COLOUR
@ VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT
@ VKD3D_SHADER_COMPILE_OPTION_FORMATTING_NONE
@ VKD3D_SHADER_COMPILE_OPTION_FORMATTING_RAW_IDS
void(* PFN_vkd3d_shader_free_dxbc)(struct vkd3d_shader_dxbc_desc *dxbc)
vkd3d_shader_comparison_func
@ VKD3D_SHADER_COMPARISON_FUNC_EQUAL
@ VKD3D_SHADER_COMPARISON_FUNC_GREATER_EQUAL
@ VKD3D_SHADER_COMPARISON_FUNC_ALWAYS
@ VKD3D_SHADER_COMPARISON_FUNC_NEVER
@ VKD3D_SHADER_COMPARISON_FUNC_GREATER
@ VKD3D_SHADER_COMPARISON_FUNC_NOT_EQUAL
@ VKD3D_SHADER_COMPARISON_FUNC_LESS
@ VKD3D_SHADER_COMPARISON_FUNC_LESS_EQUAL
int(* PFN_vkd3d_shader_convert_root_signature)(struct vkd3d_shader_versioned_root_signature_desc *dst, enum vkd3d_shader_root_signature_version version, const struct vkd3d_shader_versioned_root_signature_desc *src)
void(* PFN_vkd3d_shader_build_varying_map)(const struct vkd3d_shader_signature *output_signature, const struct vkd3d_shader_signature *input_signature, unsigned int *count, struct vkd3d_shader_varying_map *varyings)
vkd3d_shader_resource_data_type
@ VKD3D_SHADER_RESOURCE_DATA_DOUBLE
@ VKD3D_SHADER_RESOURCE_DATA_MIXED
@ VKD3D_SHADER_RESOURCE_DATA_SNORM
@ VKD3D_SHADER_RESOURCE_DATA_CONTINUED
@ VKD3D_SHADER_RESOURCE_DATA_UINT
@ VKD3D_SHADER_RESOURCE_DATA_FLOAT
@ VKD3D_SHADER_RESOURCE_DATA_UNORM
@ VKD3D_SHADER_RESOURCE_DATA_INT
VKD3D_SHADER_API const char * vkd3d_shader_get_version(unsigned int *major, unsigned int *minor)
vkd3d_shader_parameter_type
@ VKD3D_SHADER_PARAMETER_TYPE_BUFFER
@ VKD3D_SHADER_PARAMETER_TYPE_UNKNOWN
@ VKD3D_SHADER_PARAMETER_TYPE_SPECIALIZATION_CONSTANT
@ VKD3D_SHADER_PARAMETER_TYPE_IMMEDIATE_CONSTANT
int(* PFN_vkd3d_shader_open_include)(const char *filename, bool local, const char *parent_data, void *context, struct vkd3d_shader_code *out)
vkd3d_shader_compile_option_fragment_coordinate_origin
@ VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN_LOWER_LEFT
@ VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN_UPPER_LEFT
VKD3D_SHADER_API void vkd3d_shader_free_shader_code(struct vkd3d_shader_code *code)
vkd3d_shader_parameter_data_type
@ VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32_VEC4
@ VKD3D_SHADER_PARAMETER_DATA_TYPE_UNKNOWN
@ VKD3D_SHADER_PARAMETER_DATA_TYPE_UINT32
@ VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32
VKD3D_SHADER_API void vkd3d_shader_build_varying_map(const struct vkd3d_shader_signature *output_signature, const struct vkd3d_shader_signature *input_signature, unsigned int *count, struct vkd3d_shader_varying_map *varyings)
int(* PFN_vkd3d_shader_serialize_dxbc)(size_t section_count, const struct vkd3d_shader_dxbc_section_desc *sections, struct vkd3d_shader_code *dxbc, char **messages)
void(* PFN_vkd3d_shader_close_include)(const struct vkd3d_shader_code *code, void *context)
vkd3d_shader_descriptor_info_flag
@ VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_RAW_BUFFER
@ VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_READ
@ VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS
@ VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_COUNTER
@ VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_SAMPLER_COMPARISON_MODE
VKD3D_SHADER_API int vkd3d_shader_serialize_root_signature(const struct vkd3d_shader_versioned_root_signature_desc *root_signature, struct vkd3d_shader_code *dxbc, char **messages)
VKD3D_SHADER_API int vkd3d_shader_parse_input_signature(const struct vkd3d_shader_code *dxbc, struct vkd3d_shader_signature *signature, char **messages)
vkd3d_shader_root_parameter_type
@ VKD3D_SHADER_ROOT_PARAMETER_TYPE_SRV
@ VKD3D_SHADER_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE
@ VKD3D_SHADER_ROOT_PARAMETER_TYPE_CBV
@ VKD3D_SHADER_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS
@ VKD3D_SHADER_ROOT_PARAMETER_TYPE_UAV
vkd3d_shader_compile_option_backward_compatibility
@ VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES
@ VKD3D_SHADER_COMPILE_OPTION_DOUBLE_AS_FLOAT_ALIAS
void(* PFN_vkd3d_shader_free_shader_signature)(struct vkd3d_shader_signature *signature)
int(* PFN_vkd3d_shader_scan)(const struct vkd3d_shader_compile_info *compile_info, char **messages)
VKD3D_SHADER_API int vkd3d_shader_parse_root_signature(const struct vkd3d_shader_code *dxbc, struct vkd3d_shader_versioned_root_signature_desc *root_signature, char **messages)
void(* PFN_vkd3d_shader_free_root_signature)(struct vkd3d_shader_versioned_root_signature_desc *root_signature)
vkd3d_shader_sysval_semantic
@ VKD3D_SHADER_SV_VERTEX_ID
@ VKD3D_SHADER_SV_RENDER_TARGET_ARRAY_INDEX
@ VKD3D_SHADER_SV_DEPTH_LESS_EQUAL
@ VKD3D_SHADER_SV_PRIMITIVE_ID
@ VKD3D_SHADER_SV_COVERAGE
@ VKD3D_SHADER_SV_CULL_DISTANCE
@ VKD3D_SHADER_SV_TESS_FACTOR_TRIEDGE
@ VKD3D_SHADER_SV_TESS_FACTOR_LINEDET
@ VKD3D_SHADER_SV_TESS_FACTOR_QUADEDGE
@ VKD3D_SHADER_SV_IS_FRONT_FACE
@ VKD3D_SHADER_SV_VIEWPORT_ARRAY_INDEX
@ VKD3D_SHADER_SV_TESS_FACTOR_QUADINT
@ VKD3D_SHADER_SV_TESS_FACTOR_TRIINT
@ VKD3D_SHADER_SV_TESS_FACTOR_LINEDEN
@ VKD3D_SHADER_SV_DEPTH_GREATER_EQUAL
@ VKD3D_SHADER_SV_INSTANCE_ID
@ VKD3D_SHADER_SV_CLIP_DISTANCE
@ VKD3D_SHADER_SV_SAMPLE_INDEX
@ VKD3D_SHADER_SV_STENCIL_REF
@ VKD3D_SHADER_SV_POSITION
@ VKD3D_SHADER_SOURCE_DXBC_DXIL
@ VKD3D_SHADER_SOURCE_D3D_BYTECODE
@ VKD3D_SHADER_SOURCE_HLSL
@ VKD3D_SHADER_SOURCE_DXBC_TPF
@ VKD3D_SHADER_SOURCE_NONE
VKD3D_SHADER_API void vkd3d_shader_free_shader_signature(struct vkd3d_shader_signature *signature)
vkd3d_shader_parse_dxbc_flags
@ VKD3D_SHADER_PARSE_DXBC_IGNORE_CHECKSUM
VKD3D_SHADER_API int vkd3d_shader_serialize_dxbc(size_t section_count, const struct vkd3d_shader_dxbc_section_desc *sections, struct vkd3d_shader_code *dxbc, char **messages)
@ VKD3D_SHADER_LOG_WARNING
VKD3D_SHADER_API int vkd3d_shader_scan(const struct vkd3d_shader_compile_info *compile_info, char **messages)
vkd3d_shader_structure_type
@ VKD3D_SHADER_STRUCTURE_TYPE_TRANSFORM_FEEDBACK_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_SCAN_COMBINED_RESOURCE_SAMPLER_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_PARAMETER_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_SCAN_DESCRIPTOR_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_SPIRV_DOMAIN_SHADER_TARGET_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_DESCRIPTOR_OFFSET_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_SCAN_SIGNATURE_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_PREPROCESS_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_INTERFACE_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_VARYING_MAP_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_SPIRV_TARGET_INFO
@ VKD3D_SHADER_STRUCTURE_TYPE_HLSL_SOURCE_INFO
@ VKD3D_SHADER_VISIBILITY_DOMAIN
@ VKD3D_SHADER_VISIBILITY_COMPUTE
@ VKD3D_SHADER_VISIBILITY_PIXEL
@ VKD3D_SHADER_VISIBILITY_ALL
@ VKD3D_SHADER_VISIBILITY_GEOMETRY
@ VKD3D_SHADER_VISIBILITY_VERTEX
@ VKD3D_SHADER_VISIBILITY_HULL
VKD3D_SHADER_API void vkd3d_shader_free_scan_combined_resource_sampler_info(struct vkd3d_shader_scan_combined_resource_sampler_info *info)
vkd3d_shader_spirv_extension
@ VKD3D_SHADER_SPIRV_EXTENSION_EXT_DEMOTE_TO_HELPER_INVOCATION
@ VKD3D_SHADER_SPIRV_EXTENSION_EXT_FRAGMENT_SHADER_INTERLOCK
@ VKD3D_SHADER_SPIRV_EXTENSION_EXT_STENCIL_EXPORT
@ VKD3D_SHADER_SPIRV_EXTENSION_EXT_VIEWPORT_INDEX_LAYER
@ VKD3D_SHADER_SPIRV_EXTENSION_NONE
@ VKD3D_SHADER_SPIRV_EXTENSION_EXT_DESCRIPTOR_INDEXING
vkd3d_shader_tessellator_output_primitive
@ VKD3D_SHADER_TESSELLATOR_OUTPUT_TRIANGLE_CW
@ VKD3D_SHADER_TESSELLATOR_OUTPUT_POINT
@ VKD3D_SHADER_TESSELLATOR_OUTPUT_TRIANGLE_CCW
@ VKD3D_SHADER_TESSELLATOR_OUTPUT_LINE
@ VKD3D_SHADER_API_VERSION_1_1
@ VKD3D_SHADER_API_VERSION_1_13
@ VKD3D_SHADER_API_VERSION_1_5
@ VKD3D_SHADER_API_VERSION_1_2
@ VKD3D_SHADER_API_VERSION_1_10
@ VKD3D_SHADER_API_VERSION_1_3
@ VKD3D_SHADER_API_VERSION_1_8
@ VKD3D_SHADER_API_VERSION_1_0
@ VKD3D_SHADER_API_VERSION_1_14
@ VKD3D_SHADER_API_VERSION_1_6
@ VKD3D_SHADER_API_VERSION_1_4
@ VKD3D_SHADER_API_VERSION_1_7
@ VKD3D_SHADER_API_VERSION_1_11
@ VKD3D_SHADER_API_VERSION_1_9
@ VKD3D_SHADER_API_VERSION_1_12
vkd3d_shader_component_type
@ VKD3D_SHADER_COMPONENT_INT
@ VKD3D_SHADER_COMPONENT_UINT
@ VKD3D_SHADER_COMPONENT_DOUBLE
@ VKD3D_SHADER_COMPONENT_UINT64
@ VKD3D_SHADER_COMPONENT_FLOAT
@ VKD3D_SHADER_COMPONENT_VOID
@ VKD3D_SHADER_COMPONENT_BOOL
vkd3d_shader_descriptor_type
@ VKD3D_SHADER_DESCRIPTOR_TYPE_UAV
@ VKD3D_SHADER_DESCRIPTOR_TYPE_CBV
@ VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER
@ VKD3D_SHADER_DESCRIPTOR_TYPE_SRV
#define VKD3D_SHADER_SWIZZLE_MASK
vkd3d_shader_resource_type
@ VKD3D_SHADER_RESOURCE_NONE
@ VKD3D_SHADER_RESOURCE_TEXTURE_2DARRAY
@ VKD3D_SHADER_RESOURCE_TEXTURE_2DMS
@ VKD3D_SHADER_RESOURCE_TEXTURE_3D
@ VKD3D_SHADER_RESOURCE_TEXTURE_1DARRAY
@ VKD3D_SHADER_RESOURCE_BUFFER
@ VKD3D_SHADER_RESOURCE_TEXTURE_CUBE
@ VKD3D_SHADER_RESOURCE_TEXTURE_1D
@ VKD3D_SHADER_RESOURCE_TEXTURE_CUBEARRAY
@ VKD3D_SHADER_RESOURCE_TEXTURE_2DMSARRAY
@ VKD3D_SHADER_RESOURCE_TEXTURE_2D
VKD3D_SHADER_API void vkd3d_shader_free_dxbc(struct vkd3d_shader_dxbc_desc *dxbc)
VKD3D_SHADER_API enum vkd3d_shader_source_type * vkd3d_shader_get_supported_source_types(unsigned int *count)
vkd3d_shader_binding_flag
@ VKD3D_SHADER_BINDING_FLAG_IMAGE
@ VKD3D_SHADER_BINDING_FLAG_BUFFER
vkd3d_shader_root_descriptor_flags
@ VKD3D_SHADER_ROOT_DESCRIPTOR_FLAG_DATA_STATIC
@ VKD3D_SHADER_ROOT_DESCRIPTOR_FLAG_NONE
@ VKD3D_SHADER_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
@ VKD3D_SHADER_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE
VKD3D_SHADER_API void vkd3d_shader_set_log_callback(PFN_vkd3d_log callback)
int(* PFN_vkd3d_shader_parse_root_signature)(const struct vkd3d_shader_code *dxbc, struct vkd3d_shader_versioned_root_signature_desc *root_signature, char **messages)
VKD3D_SHADER_API void vkd3d_shader_free_scan_signature_info(struct vkd3d_shader_scan_signature_info *info)
vkd3d_shader_tessellator_partitioning
@ VKD3D_SHADER_TESSELLATOR_PARTITIONING_INTEGER
@ VKD3D_SHADER_TESSELLATOR_PARTITIONING_POW2
@ VKD3D_SHADER_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD
@ VKD3D_SHADER_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN
int(* PFN_vkd3d_shader_serialize_root_signature)(const struct vkd3d_shader_versioned_root_signature_desc *root_signature, struct vkd3d_shader_code *dxbc, char **messages)
vkd3d_shader_compile_option_typed_uav
@ VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV_READ_FORMAT_UNKNOWN
@ VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV_READ_FORMAT_R32
int(* PFN_vkd3d_shader_parse_dxbc)(const struct vkd3d_shader_code *dxbc, uint32_t flags, struct vkd3d_shader_dxbc_desc *desc, char **messages)
VKD3D_SHADER_API int vkd3d_shader_parse_dxbc(const struct vkd3d_shader_code *dxbc, uint32_t flags, struct vkd3d_shader_dxbc_desc *desc, char **messages)
vkd3d_shader_swizzle_component
@ VKD3D_FORCE_32_BIT_ENUM
VKD3D_SHADER_API int vkd3d_shader_compile(const struct vkd3d_shader_compile_info *compile_info, struct vkd3d_shader_code *out, char **messages)
VKD3D_SHADER_API int vkd3d_shader_convert_root_signature(struct vkd3d_shader_versioned_root_signature_desc *dst, enum vkd3d_shader_root_signature_version version, const struct vkd3d_shader_versioned_root_signature_desc *src)
int(* PFN_vkd3d_shader_compile)(const struct vkd3d_shader_compile_info *compile_info, struct vkd3d_shader_code *out, char **messages)
void(* PFN_vkd3d_shader_free_scan_descriptor_info)(struct vkd3d_shader_scan_descriptor_info *scan_descriptor_info)
vkd3d_shader_descriptor_range_flags
@ VKD3D_SHADER_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
@ VKD3D_SHADER_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS
@ VKD3D_SHADER_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
@ VKD3D_SHADER_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
@ VKD3D_SHADER_DESCRIPTOR_RANGE_FLAG_NONE
@ VKD3D_SHADER_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
VKD3D_SHADER_API int vkd3d_shader_preprocess(const struct vkd3d_shader_compile_info *compile_info, struct vkd3d_shader_code *out, char **messages)
vkd3d_shader_root_signature_flags
@ VKD3D_SHADER_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS
@ VKD3D_SHADER_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT
@ VKD3D_SHADER_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS
@ VKD3D_SHADER_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS
@ VKD3D_SHADER_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS
@ VKD3D_SHADER_ROOT_SIGNATURE_FLAG_NONE
@ VKD3D_SHADER_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS
@ VKD3D_SHADER_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT
#define VKD3D_SHADER_SWIZZLE_SHIFT(idx)
void(* PFN_vkd3d_shader_free_messages)(char *messages)
vkd3d_shader_root_signature_version
@ VKD3D_SHADER_ROOT_SIGNATURE_VERSION_1_1
@ VKD3D_SHADER_ROOT_SIGNATURE_VERSION_1_0
VKD3D_SHADER_API enum vkd3d_shader_target_type * vkd3d_shader_get_supported_target_types(enum vkd3d_shader_source_type source_type, unsigned int *count)
vkd3d_shader_minimum_precision
@ VKD3D_SHADER_MINIMUM_PRECISION_UINT_16
@ VKD3D_SHADER_MINIMUM_PRECISION_FIXED_8_2
@ VKD3D_SHADER_MINIMUM_PRECISION_NONE
@ VKD3D_SHADER_MINIMUM_PRECISION_FLOAT_16
@ VKD3D_SHADER_MINIMUM_PRECISION_INT_16
void(* PFN_vkd3d_shader_free_scan_signature_info)(struct vkd3d_shader_scan_signature_info *info)
int(* PFN_vkd3d_shader_parse_input_signature)(const struct vkd3d_shader_code *dxbc, struct vkd3d_shader_signature *signature, char **messages)
VKD3D_SHADER_API void vkd3d_shader_free_scan_descriptor_info(struct vkd3d_shader_scan_descriptor_info *scan_descriptor_info)
void(* PFN_vkd3d_shader_preprocess)(struct vkd3d_shader_compile_info *compile_info, struct vkd3d_shader_code *out, char **messages)
@ VKD3D_SHADER_TARGET_SPIRV_BINARY
@ VKD3D_SHADER_TARGET_D3D_ASM
@ VKD3D_SHADER_TARGET_NONE
@ VKD3D_SHADER_TARGET_SPIRV_TEXT
@ VKD3D_SHADER_TARGET_DXBC_TPF
@ VKD3D_SHADER_TARGET_GLSL
@ VKD3D_SHADER_TARGET_MSL
@ VKD3D_SHADER_TARGET_D3D_BYTECODE
void(* PFN_vkd3d_shader_free_shader_code)(struct vkd3d_shader_code *code)
vkd3d_shader_compile_option_pack_matrix_order
@ VKD3D_SHADER_COMPILE_OPTION_PACK_MATRIX_COLUMN_MAJOR
@ VKD3D_SHADER_COMPILE_OPTION_PACK_MATRIX_ROW_MAJOR
vkd3d_shader_spirv_environment
@ VKD3D_SHADER_SPIRV_ENVIRONMENT_VULKAN_1_0
@ VKD3D_SHADER_SPIRV_ENVIRONMENT_OPENGL_4_5
@ VKD3D_SHADER_SPIRV_ENVIRONMENT_NONE
@ VKD3D_SHADER_SPIRV_ENVIRONMENT_VULKAN_1_1
vkd3d_shader_texture_address_mode
@ VKD3D_SHADER_TEXTURE_ADDRESS_MODE_BORDER
@ VKD3D_SHADER_TEXTURE_ADDRESS_MODE_CLAMP
@ VKD3D_SHADER_TEXTURE_ADDRESS_MODE_MIRROR
@ VKD3D_SHADER_TEXTURE_ADDRESS_MODE_MIRROR_ONCE
@ VKD3D_SHADER_TEXTURE_ADDRESS_MODE_WRAP
vkd3d_shader_compile_option_feature_flags
@ VKD3D_SHADER_COMPILE_OPTION_FEATURE_WAVE_OPS
@ VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64
@ VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64
void(* PFN_vkd3d_shader_set_log_callback)(PFN_vkd3d_log callback)
@ VKD3D_SHADER_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR
@ VKD3D_SHADER_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
@ VKD3D_SHADER_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
@ VKD3D_SHADER_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
@ VKD3D_SHADER_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MIN_MAG_MIP_POINT
@ VKD3D_SHADER_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT
@ VKD3D_SHADER_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT
@ VKD3D_SHADER_FILTER_MAXIMUM_MIN_MAG_MIP_POINT
@ VKD3D_SHADER_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
@ VKD3D_SHADER_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR
@ VKD3D_SHADER_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
@ VKD3D_SHADER_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT
@ VKD3D_SHADER_FILTER_MINIMUM_MIN_MAG_MIP_POINT
@ VKD3D_SHADER_FILTER_MIN_LINEAR_MAG_MIP_POINT
@ VKD3D_SHADER_FILTER_MAXIMUM_ANISOTROPIC
@ VKD3D_SHADER_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ VKD3D_SHADER_FILTER_ANISOTROPIC
@ VKD3D_SHADER_FILTER_MINIMUM_ANISOTROPIC
@ VKD3D_SHADER_FILTER_COMPARISON_MIN_MAG_MIP_POINT
@ VKD3D_SHADER_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
@ VKD3D_SHADER_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
@ VKD3D_SHADER_FILTER_MIN_POINT_MAG_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT
@ VKD3D_SHADER_FILTER_MIN_MAG_POINT_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MIN_MAG_LINEAR_MIP_POINT
@ VKD3D_SHADER_FILTER_MIN_MAG_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR
@ VKD3D_SHADER_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ VKD3D_SHADER_FILTER_COMPARISON_ANISOTROPIC
vkd3d_shader_parameter_name
@ VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_6
@ VKD3D_SHADER_PARAMETER_NAME_POINT_SPRITE
@ VKD3D_SHADER_PARAMETER_NAME_RASTERIZER_SAMPLE_COUNT
@ VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_5
@ VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_FUNC
@ VKD3D_SHADER_PARAMETER_NAME_UNKNOWN
@ VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF
@ VKD3D_SHADER_PARAMETER_NAME_POINT_SIZE_MAX
@ VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_3
@ VKD3D_SHADER_PARAMETER_NAME_POINT_SIZE_MIN
@ VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_7
@ VKD3D_SHADER_PARAMETER_NAME_POINT_SIZE
@ VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_1
@ VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_0
@ VKD3D_SHADER_PARAMETER_NAME_FLAT_INTERPOLATION
@ VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_MASK
@ VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_4
@ VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_2
VKD3D_SHADER_API void vkd3d_shader_free_messages(char *messages)
void(* PFN_vkd3d_shader_free_scan_combined_resource_sampler_info)(struct vkd3d_shader_scan_combined_resource_sampler_info *info)
VKD3D_SHADER_API void vkd3d_shader_free_root_signature(struct vkd3d_shader_versioned_root_signature_desc *root_signature)
vkd3d_shader_compile_option_buffer_uav
@ VKD3D_SHADER_COMPILE_OPTION_BUFFER_UAV_STORAGE_TEXEL_BUFFER
@ VKD3D_SHADER_COMPILE_OPTION_BUFFER_UAV_STORAGE_BUFFER
vkd3d_shader_static_border_colour
@ VKD3D_SHADER_STATIC_BORDER_COLOUR_TRANSPARENT_BLACK
@ VKD3D_SHADER_STATIC_BORDER_COLOUR_OPAQUE_BLACK
@ VKD3D_SHADER_STATIC_BORDER_COLOUR_OPAQUE_WHITE
void(* PFN_vkd3d_log)(const char *format, va_list args)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out