Loading...
Searching...
No Matches
vkd3d_shader_resource_binding Struct Reference

Describes the mapping of a single resource or resource array to its binding point in the target environment. More...

`#include <vkd3d_shader.h>`

Collaboration diagram for vkd3d_shader_resource_binding:
[legend]

## Data Fields

enum vkd3d_shader_descriptor_type | type
| The type of this descriptor.
unsigned int | register_space
| Register space of the Direct3D resource.
unsigned int | register_index
| Register index of the Direct3D resource.
enum vkd3d_shader_visibility | shader_visibility
| Shader stage(s) to which the resource is visible.
unsigned int | flags
| A combination of zero or more elements of vkd3d_shader_binding_flag.
struct vkd3d_shader_descriptor_binding | binding
| The binding in the target environment.

## Detailed Description

Describes the mapping of a single resource or resource array to its binding point in the target environment.

For example, to map a Direct3D SRV with register space 2, register "t3" to a Vulkan descriptor in set 4 and with binding 5, set the following members:

- type = VKD3D_SHADER_DESCRIPTOR_TYPE_SRV
- register_space = 2
- register_index = 3
- binding.set = 4
- binding.binding = 5
- binding.count = 1

This structure is used in struct vkd3d_shader_interface_info.

## Field Documentation

## register_index

unsigned int vkd3d_shader_resource_binding::register_index

Register index of the Direct3D resource.

For legacy Direct3D shaders, vkd3d-shader maps each constant register set to a single constant buffer view. This parameter names the register set to map, and must be a member of enum vkd3d_shader_d3dbc_constant_register.

## register_space

unsigned int vkd3d_shader_resource_binding::register_space

Register space of the Direct3D resource.

If the source format does not support multiple register spaces, this parameter must be set to 0.

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

- include/vkd3d_shader.h