ReactOS 0.4.17-dev-934-g091855f
vkd3d_shader_preprocess_info Struct Reference

#include <vkd3d_shader.h>

Collaboration diagram for vkd3d_shader_preprocess_info:

Public Attributes

enum vkd3d_shader_structure_type type
 
const void * next
 
const struct vkd3d_shader_macro * macros
 
unsigned int macro_count
 
PFN_vkd3d_shader_open_include pfn_open_include
 
PFN_vkd3d_shader_close_include pfn_close_include
 
void * include_context
 

Detailed Description

A chained structure containing preprocessing parameters.

This structure is optional.

This structure extends vkd3d_shader_compile_info.

This structure contains only input parameters.

Since
1.3

Definition at line 1492 of file vkd3d_shader.h.

Member Data Documentation

◆ include_context

void* vkd3d_shader_preprocess_info::include_context

User-defined pointer which will be passed unmodified to the pfn_open_include and pfn_close_include callbacks.

Definition at line 1538 of file vkd3d_shader.h.

Referenced by D3DCompile2(), and preprocess_shader().

◆ macro_count

unsigned int vkd3d_shader_preprocess_info::macro_count

Size, in elements, of macros.

Definition at line 1509 of file vkd3d_shader.h.

Referenced by D3DCompile2(), and preprocess_shader().

◆ macros

const struct vkd3d_shader_macro* vkd3d_shader_preprocess_info::macros

Pointer to an array of predefined macros. Each macro in this array will be expanded as if a corresponding #define statement were prepended to the source code.

If the same macro is specified multiple times, only the last value is used.

Definition at line 1507 of file vkd3d_shader.h.

Referenced by D3DCompile2(), and preprocess_shader().

◆ next

const void* vkd3d_shader_preprocess_info::next

Optional pointer to a structure containing further parameters.

Definition at line 1497 of file vkd3d_shader.h.

Referenced by D3DCompile2(), and preprocess_shader().

◆ pfn_close_include

PFN_vkd3d_shader_close_include vkd3d_shader_preprocess_info::pfn_close_include

Optional pointer to a callback function, which will be called whenever an included file is closed. This function will be called exactly once for each successful call to pfn_open_include, and should be used to free any resources allocated thereby.

If this field is set to NULL, the pfn_open_include field must also be set to NULL.

Definition at line 1533 of file vkd3d_shader.h.

Referenced by D3DCompile2(), and preprocess_shader().

◆ pfn_open_include

PFN_vkd3d_shader_open_include vkd3d_shader_preprocess_info::pfn_open_include

Optional pointer to a callback function, which will be called in order to evaluate #include directives. The function receives parameters corresponding to the directive's arguments, and should return the complete text of the included file.

If this field is set to NULL, or if this structure is omitted, vkd3d-shader will attempt to open included files using POSIX file APIs.

If this field is set to NULL, the pfn_close_include field must also be set to NULL.

Definition at line 1523 of file vkd3d_shader.h.

Referenced by D3DCompile2(), and preprocess_shader().

◆ type

enum vkd3d_shader_structure_type vkd3d_shader_preprocess_info::type

Must be set to VKD3D_SHADER_STRUCTURE_TYPE_PREPROCESS_INFO.

Definition at line 1495 of file vkd3d_shader.h.

Referenced by D3DCompile2(), and preprocess_shader().


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