ReactOS 0.4.17-dev-934-g091855f
vkd3d_shader_resource_binding Struct Reference

#include <vkd3d_shader.h>

Collaboration diagram for vkd3d_shader_resource_binding:

Public Attributes

enum vkd3d_shader_descriptor_type type
 
unsigned int register_space
 
unsigned int register_index
 
enum vkd3d_shader_visibility shader_visibility
 
unsigned int flags
 
struct vkd3d_shader_descriptor_binding binding
 

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.

Definition at line 937 of file vkd3d_shader.h.

Member Data Documentation

◆ binding

struct vkd3d_shader_descriptor_binding vkd3d_shader_resource_binding::binding

The binding in the target environment.

Definition at line 961 of file vkd3d_shader.h.

Referenced by create_resource_bindings().

◆ flags

unsigned int vkd3d_shader_resource_binding::flags

A combination of zero or more elements of vkd3d_shader_binding_flag.

Definition at line 958 of file vkd3d_shader.h.

Referenced by create_resource_bindings().

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

Definition at line 954 of file vkd3d_shader.h.

Referenced by create_resource_bindings().

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

Definition at line 945 of file vkd3d_shader.h.

Referenced by create_resource_bindings(), msl_get_cbv_binding(), shader_glsl_get_cbv_binding(), and shader_glsl_get_uav_binding().

◆ shader_visibility

enum vkd3d_shader_visibility vkd3d_shader_resource_binding::shader_visibility

Shader stage(s) to which the resource is visible.

Definition at line 956 of file vkd3d_shader.h.

Referenced by create_resource_bindings().

◆ type

enum vkd3d_shader_descriptor_type vkd3d_shader_resource_binding::type

The type of this descriptor.

Definition at line 940 of file vkd3d_shader.h.

Referenced by create_resource_bindings().


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