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

A chained structure containing descriptions of shader inputs and outputs. More...

#include <vkd3d_shader.h>

Data Fields

enum vkd3d_shader_structure_type type
 Must be set to VKD3D_SHADER_STRUCTURE_TYPE_SCAN_SIGNATURE_INFO. More...
 
const void * next
 Optional pointer to a structure containing further parameters. More...
 
struct vkd3d_shader_signature input
 The shader input varyings. More...
 
struct vkd3d_shader_signature output
 The shader output varyings. More...
 
struct vkd3d_shader_signature patch_constant
 The shader patch constant varyings. More...
 

Detailed Description

A chained structure containing descriptions of shader inputs and outputs.

This structure is currently implemented only for DXBC and legacy D3D bytecode source types. For DXBC shaders, the returned information is parsed directly from the signatures embedded in the DXBC shader. For legacy D3D shaders, the returned information is synthesized based on registers declared or used by shader instructions. For all other shader types, the structure is zeroed.

All members (except for type and next) are output-only.

This structure is passed to vkd3d_shader_scan() and extends vkd3d_shader_compile_info.

Members of this structure are allocated by vkd3d-shader and should be freed with vkd3d_shader_free_scan_signature_info() when no longer needed.

All signatures may contain pointers into the input shader, and should only be accessed while the input shader remains valid.

Signature elements are synthesized from legacy Direct3D bytecode as follows:

Signature elements are synthesized for any input or output register declared or used in a legacy Direct3D bytecode shader, including the following:

Since
1.9

Field Documentation

◆ input

struct vkd3d_shader_signature vkd3d_shader_scan_signature_info::input

The shader input varyings.

◆ next

const void* vkd3d_shader_scan_signature_info::next

Optional pointer to a structure containing further parameters.

◆ output

struct vkd3d_shader_signature vkd3d_shader_scan_signature_info::output

The shader output varyings.

◆ patch_constant

struct vkd3d_shader_signature vkd3d_shader_scan_signature_info::patch_constant

The shader patch constant varyings.

◆ type

enum vkd3d_shader_structure_type vkd3d_shader_scan_signature_info::type

Must be set to VKD3D_SHADER_STRUCTURE_TYPE_SCAN_SIGNATURE_INFO.


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