Loading...
Searching...
No Matches
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>`

Collaboration diagram for vkd3d_shader_interface_info:
[legend]

## Data Fields

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

## 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.

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

- include/vkd3d_shader.h