vkd3d  1.14
The vkd3d 3D Graphics Library
Data Fields
vkd3d_shader_interface_info Struct Reference

A chained structure describing the interface between a compiled shader and the target environment. More...

#include <vkd3d_shader.h>

Data Fields

enum vkd3d_shader_structure_type type
 Must be set to VKD3D_SHADER_STRUCTURE_TYPE_INTERFACE_INFO. More...
 
const void * next
 Optional pointer to a structure containing further parameters. More...
 
const struct vkd3d_shader_resource_bindingbindings
 Pointer to an array of bindings for shader resource descriptors. More...
 
unsigned int binding_count
 Size, in elements, of bindings. More...
 
const struct vkd3d_shader_push_constant_bufferpush_constant_buffers
 Pointer to an array of bindings for push constant buffers. More...
 
unsigned int push_constant_buffer_count
 Size, in elements, of push_constant_buffers. More...
 
const struct vkd3d_shader_combined_resource_samplercombined_samplers
 Pointer to an array of bindings for combined samplers. More...
 
unsigned int combined_sampler_count
 Size, in elements, of combined_samplers. More...
 
const struct vkd3d_shader_uav_counter_bindinguav_counters
 Pointer to an array of bindings for UAV counters. More...
 
unsigned int uav_counter_count
 Size, in elements, of uav_counters. More...
 

Detailed Description

A chained structure describing the interface between a compiled shader and the target environment.

For example, when compiling Direct3D shader byte code to SPIR-V, this structure contains mappings from Direct3D descriptor registers to SPIR-V descriptor bindings.

This structure is optional. If omitted, vkd3d_shader_compile() will use a default mapping, in which resources are mapped to sequential bindings in register set 0.

This structure extends vkd3d_shader_compile_info.

This structure contains only input parameters.

Field Documentation

◆ binding_count

unsigned int vkd3d_shader_interface_info::binding_count

Size, in elements, of bindings.

◆ bindings

const struct vkd3d_shader_resource_binding* vkd3d_shader_interface_info::bindings

Pointer to an array of bindings for shader resource descriptors.

◆ combined_sampler_count

unsigned int vkd3d_shader_interface_info::combined_sampler_count

Size, in elements, of combined_samplers.

◆ combined_samplers

const struct vkd3d_shader_combined_resource_sampler* vkd3d_shader_interface_info::combined_samplers

Pointer to an array of bindings for combined samplers.

◆ next

const void* vkd3d_shader_interface_info::next

Optional pointer to a structure containing further parameters.

◆ push_constant_buffer_count

unsigned int vkd3d_shader_interface_info::push_constant_buffer_count

Size, in elements, of push_constant_buffers.

◆ push_constant_buffers

const struct vkd3d_shader_push_constant_buffer* vkd3d_shader_interface_info::push_constant_buffers

Pointer to an array of bindings for push constant buffers.

◆ type

enum vkd3d_shader_structure_type vkd3d_shader_interface_info::type

Must be set to VKD3D_SHADER_STRUCTURE_TYPE_INTERFACE_INFO.

◆ uav_counter_count

unsigned int vkd3d_shader_interface_info::uav_counter_count

Size, in elements, of uav_counters.

◆ uav_counters

const struct vkd3d_shader_uav_counter_binding* vkd3d_shader_interface_info::uav_counters

Pointer to an array of bindings for UAV counters.


The documentation for this struct was generated from the following file: