ReactOS 0.4.17-dev-934-g091855f
vkd3d_shader_scan_signature_info Struct Reference

#include <vkd3d_shader.h>

Collaboration diagram for vkd3d_shader_scan_signature_info:

Public Attributes

enum vkd3d_shader_structure_type type
 
const void * next
 
struct vkd3d_shader_signature input
 
struct vkd3d_shader_signature output
 
struct vkd3d_shader_signature patch_constant
 

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:

  • Shader model 1 and 2 colour and texture coordinate registers.
  • The shader model 1 pixel shader output register.
  • Shader model 1 and 2 vertex shader output registers (position, fog, and point size).
  • Shader model 3 pixel shader system value input registers (pixel position and face).
Since
1.9

Definition at line 2319 of file vkd3d_shader.h.

Member Data Documentation

◆ input

struct vkd3d_shader_signature vkd3d_shader_scan_signature_info::input

The shader input varyings.

Definition at line 2327 of file vkd3d_shader.h.

Referenced by init_scan_signature_info(), and vsir_program_scan().

◆ next

const void* vkd3d_shader_scan_signature_info::next

Optional pointer to a structure containing further parameters.

Definition at line 2324 of file vkd3d_shader.h.

◆ output

struct vkd3d_shader_signature vkd3d_shader_scan_signature_info::output

The shader output varyings.

Definition at line 2330 of file vkd3d_shader.h.

Referenced by init_scan_signature_info(), and vsir_program_scan().

◆ patch_constant

struct vkd3d_shader_signature vkd3d_shader_scan_signature_info::patch_constant

The shader patch constant varyings.

Definition at line 2333 of file vkd3d_shader.h.

Referenced by init_scan_signature_info(), and vsir_program_scan().

◆ type

enum vkd3d_shader_structure_type vkd3d_shader_scan_signature_info::type

Must be set to VKD3D_SHADER_STRUCTURE_TYPE_SCAN_SIGNATURE_INFO.

Definition at line 2322 of file vkd3d_shader.h.

Referenced by shader_spirv_scan_shader().


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