22 #ifndef __WINE_D3DCOMPILER_PRIVATE_H 23 #define __WINE_D3DCOMPILER_PRIVATE_H 26 #include "wine/list.h" 27 #include "wine/rbtree.h" 44 #define D3DERR_INVALIDCALL 0x8876086c 118 #define INSTRARRAY_INITIAL_SIZE 8 190 #define MAX_SRC_REGS 4 222 const struct src_regs *srcs,
int expectednsrcs);
234 #define MESSAGEBUFFER_INITIAL_SIZE 256 283 #define PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args))) 285 #define PRINTF_ATTR(fmt,args) 299 #define BYTECODEBUFFER_INITIAL_SIZE 32 367 #define SWIZZLE_ERR ~0U 492 #define BWRITERSP_WRITEMASK_0 0x1 493 #define BWRITERSP_WRITEMASK_1 0x2 494 #define BWRITERSP_WRITEMASK_2 0x4 495 #define BWRITERSP_WRITEMASK_3 0x8 496 #define BWRITERSP_WRITEMASK_ALL 0xf 515 #define BWRITERSI_TEXLD_PROJECT 1 516 #define BWRITERSI_TEXLD_BIAS 2 536 #define BWRITER_SM1_VS 0xfffeu 537 #define BWRITER_SM1_PS 0xffffu 539 #define BWRITERPS_VERSION(major, minor) ((BWRITER_SM1_PS << 16) | ((major) << 8) | (minor)) 540 #define BWRITERVS_VERSION(major, minor) ((BWRITER_SM1_VS << 16) | ((major) << 8) | (minor)) 542 #define BWRITERVS_SWIZZLE_SHIFT 16 543 #define BWRITERVS_SWIZZLE_MASK (0xFF << BWRITERVS_SWIZZLE_SHIFT) 545 #define BWRITERVS_X_X (0 << BWRITERVS_SWIZZLE_SHIFT) 546 #define BWRITERVS_X_Y (1 << BWRITERVS_SWIZZLE_SHIFT) 547 #define BWRITERVS_X_Z (2 << BWRITERVS_SWIZZLE_SHIFT) 548 #define BWRITERVS_X_W (3 << BWRITERVS_SWIZZLE_SHIFT) 550 #define BWRITERVS_Y_X (0 << (BWRITERVS_SWIZZLE_SHIFT + 2)) 551 #define BWRITERVS_Y_Y (1 << (BWRITERVS_SWIZZLE_SHIFT + 2)) 552 #define BWRITERVS_Y_Z (2 << (BWRITERVS_SWIZZLE_SHIFT + 2)) 553 #define BWRITERVS_Y_W (3 << (BWRITERVS_SWIZZLE_SHIFT + 2)) 555 #define BWRITERVS_Z_X (0 << (BWRITERVS_SWIZZLE_SHIFT + 4)) 556 #define BWRITERVS_Z_Y (1 << (BWRITERVS_SWIZZLE_SHIFT + 4)) 557 #define BWRITERVS_Z_Z (2 << (BWRITERVS_SWIZZLE_SHIFT + 4)) 558 #define BWRITERVS_Z_W (3 << (BWRITERVS_SWIZZLE_SHIFT + 4)) 560 #define BWRITERVS_W_X (0 << (BWRITERVS_SWIZZLE_SHIFT + 6)) 561 #define BWRITERVS_W_Y (1 << (BWRITERVS_SWIZZLE_SHIFT + 6)) 562 #define BWRITERVS_W_Z (2 << (BWRITERVS_SWIZZLE_SHIFT + 6)) 563 #define BWRITERVS_W_W (3 << (BWRITERVS_SWIZZLE_SHIFT + 6)) 565 #define BWRITERVS_NOSWIZZLE (BWRITERVS_X_X | BWRITERVS_Y_Y | BWRITERVS_Z_Z | BWRITERVS_W_W) 567 #define BWRITERVS_SWIZZLE_X (BWRITERVS_X_X | BWRITERVS_Y_X | BWRITERVS_Z_X | BWRITERVS_W_X) 568 #define BWRITERVS_SWIZZLE_Y (BWRITERVS_X_Y | BWRITERVS_Y_Y | BWRITERVS_Z_Y | BWRITERVS_W_Y) 569 #define BWRITERVS_SWIZZLE_Z (BWRITERVS_X_Z | BWRITERVS_Y_Z | BWRITERVS_Z_Z | BWRITERVS_W_Z) 570 #define BWRITERVS_SWIZZLE_W (BWRITERVS_X_W | BWRITERVS_Y_W | BWRITERVS_Z_W | BWRITERVS_W_W) 729 #define HLSL_STORAGE_EXTERN 0x00000001 730 #define HLSL_STORAGE_NOINTERPOLATION 0x00000002 731 #define HLSL_MODIFIER_PRECISE 0x00000004 732 #define HLSL_STORAGE_SHARED 0x00000008 733 #define HLSL_STORAGE_GROUPSHARED 0x00000010 734 #define HLSL_STORAGE_STATIC 0x00000020 735 #define HLSL_STORAGE_UNIFORM 0x00000040 736 #define HLSL_STORAGE_VOLATILE 0x00000080 737 #define HLSL_MODIFIER_CONST 0x00000100 738 #define HLSL_MODIFIER_ROW_MAJOR 0x00000200 739 #define HLSL_MODIFIER_COLUMN_MAJOR 0x00000400 740 #define HLSL_MODIFIER_IN 0x00000800 741 #define HLSL_MODIFIER_OUT 0x00001000 743 #define HLSL_TYPE_MODIFIERS_MASK (HLSL_MODIFIER_PRECISE | HLSL_STORAGE_VOLATILE | \ 744 HLSL_MODIFIER_CONST | HLSL_MODIFIER_ROW_MAJOR | \ 745 HLSL_MODIFIER_COLUMN_MAJOR) 747 #define HLSL_MODIFIERS_COMPARISON_MASK (HLSL_MODIFIER_ROW_MAJOR | HLSL_MODIFIER_COLUMN_MAJOR) 1175 #define MAKE_TAG(ch0, ch1, ch2, ch3) \ 1176 ((DWORD)(ch0) | ((DWORD)(ch1) << 8) | \ 1177 ((DWORD)(ch2) << 16) | ((DWORD)(ch3) << 24 )) 1178 #define TAG_Aon9 MAKE_TAG('A', 'o', 'n', '9') 1179 #define TAG_DXBC MAKE_TAG('D', 'X', 'B', 'C') 1180 #define TAG_ISGN MAKE_TAG('I', 'S', 'G', 'N') 1181 #define TAG_OSGN MAKE_TAG('O', 'S', 'G', 'N') 1182 #define TAG_OSG5 MAKE_TAG('O', 'S', 'G', '5') 1183 #define TAG_PCSG MAKE_TAG('P', 'C', 'S', 'G') 1184 #define TAG_RDEF MAKE_TAG('R', 'D', 'E', 'F') 1185 #define TAG_SDBG MAKE_TAG('S', 'D', 'B', 'G') 1186 #define TAG_SHDR MAKE_TAG('S', 'H', 'D', 'R') 1187 #define TAG_SHEX MAKE_TAG('S', 'H', 'E', 'X') 1188 #define TAG_STAT MAKE_TAG('S', 'T', 'A', 'T') 1189 #define TAG_XNAP MAKE_TAG('X', 'N', 'A', 'P') 1190 #define TAG_XNAS MAKE_TAG('X', 'N', 'A', 'S') BOOL record_sampler(struct bwriter_shader *shader, DWORD samptype, DWORD mod, DWORD regnum) DECLSPEC_HIDDEN
struct wine_rb_entry entry
struct list * else_instrs
struct list * subexpressions
void SlDeleteShader(struct bwriter_shader *shader) DECLSPEC_HIDDEN
const char * debug_d3dcompiler_d3d_blob_part(D3D_BLOB_PART part) DECLSPEC_HIDDEN
struct hlsl_scope * cur_scope
const char * debug_print_opcode(DWORD opcode) DECLSPEC_HIDDEN
void free_hlsl_type(struct hlsl_type *type) DECLSPEC_HIDDEN
bwritershader_param_register_type
const char ** source_files
unsigned int num_samplers
static void * d3dcompiler_realloc(void *ptr, SIZE_T size)
static UCHAR ULONG UCHAR ULONG UCHAR * output
struct parse_initializer initializer
HRESULT dxbc_add_section(struct dxbc *dxbc, DWORD tag, const char *data, DWORD data_size) DECLSPEC_HIDDEN
GLubyte GLubyte GLubyte GLubyte w
static struct hlsl_ir_deref * deref_from_node(const struct hlsl_ir_node *node)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
HRESULT dxbc_init(struct dxbc *dxbc, unsigned int size) DECLSPEC_HIDDEN
void(* dcl_input)(struct asm_parser *This, DWORD usage, DWORD num, DWORD mod, const struct shader_reg *reg)
const struct reg_reservation * reg_reservation
struct hlsl_ir_expr * new_expr(enum hlsl_ir_expr_op op, struct hlsl_ir_node **operands, struct source_location *loc) DECLSPEC_HIDDEN
enum hlsl_type_class type
static static const char __ms_va_list
const char * debug_print_shift(DWORD shift) DECLSPEC_HIDDEN
void(* opcode)(struct bc_writer *This, const struct instruction *instr, DWORD token, struct bytecode_buffer *buffer)
void(* instr_writer)(struct bc_writer *This, const struct instruction *instr, struct bytecode_buffer *buffer)
void push_scope(struct hlsl_parse_ctx *ctx) DECLSPEC_HIDDEN
struct source_location loc
ACPI_SIZE strlen(const char *String)
static void read_dword(const char **ptr, DWORD *d)
void add_function_decl(struct wine_rb_tree *funcs, char *name, struct hlsl_ir_function_decl *decl, BOOL intrinsic) DECLSPEC_HIDDEN
struct wine_rb_entry entry
struct hlsl_type * clone_hlsl_type(struct hlsl_type *old) DECLSPEC_HIDDEN
const struct asmparser_backend * funcs
static struct hlsl_ir_if * if_from_node(const struct hlsl_ir_node *node)
struct constant ** constI
HRESULT SlWriteBytecode(const struct bwriter_shader *shader, int dxversion, DWORD **result, DWORD *size) DECLSPEC_HIDDEN
unsigned int components_count_type(struct hlsl_type *type) DECLSPEC_HIDDEN
enum hlsl_sampler_dim sampler_dim
void free_instr(struct hlsl_ir_node *node) DECLSPEC_HIDDEN
GLuint GLuint GLsizei count
void compilation_message(struct compilation_messages *msg, const char *fmt, __ms_va_list args) DECLSPEC_HIDDEN
enum hlsl_ir_node_type type
static struct hlsl_ir_constructor * constructor_from_node(const struct hlsl_ir_node *node)
struct wine_rb_entry scope_entry
static struct hlsl_ir_constant * constant_from_node(const struct hlsl_ir_node *node)
static struct hlsl_ir_assignment * assignment_from_node(const struct hlsl_ir_node *node)
struct hlsl_ir_node ** args
enum hlsl_matrix_majority matrix_majority
static BOOL d3dcompiler_free(void *ptr)
static void write_dword(char **ptr, DWORD d)
struct hlsl_ir_node * return_value
D3D_FL9_3_MAX_TEXTURE_REPEAT enum _D3D_SHADER_VARIABLE_CLASS D3D_SHADER_VARIABLE_CLASS
enum _D3D_SHADER_VARIABLE_TYPE D3D_SHADER_VARIABLE_TYPE
static struct hlsl_ir_expr * expr_from_node(const struct hlsl_ir_node *node)
struct shader_reg predicate
void(* constF)(struct asm_parser *This, DWORD reg, float x, float y, float z, float w)
GLint GLint GLint GLint GLint x
void debug_dump_ir_function_decl(const struct hlsl_ir_function_decl *func) DECLSPEC_HIDDEN
const char * debug_hlsl_type(const struct hlsl_type *type) DECLSPEC_HIDDEN
struct samplerdecl * samplers
struct hlsl_type * new_hlsl_type(const char *name, enum hlsl_type_class type_class, enum hlsl_base_type base_type, unsigned dimx, unsigned dimy) DECLSPEC_HIDDEN
unsigned int source_files_count
struct list scope_entry param_entry
void WINAPIV hlsl_report_message(const char *filename, DWORD line, DWORD column, enum hlsl_error_level level, const char *fmt,...) PRINTF_ATTR(5
void create_vs10_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
void(* dstreg)(struct bc_writer *This, const struct shader_reg *reg, struct bytecode_buffer *buffer, DWORD shift, DWORD mod)
enum hlsl_ir_jump_type type
static struct hlsl_ir_swizzle * swizzle_from_node(const struct hlsl_ir_node *node)
void free_instr_list(struct list *list) DECLSPEC_HIDDEN
static void * d3dcompiler_alloc(SIZE_T size)
unsigned int instr_alloc_size
void WINAPIV asmparser_message(struct asm_parser *ctx, const char *fmt,...) PRINTF_ATTR(2
struct hlsl_ir_var * get_variable(struct hlsl_scope *scope, const char *name) DECLSPEC_HIDDEN
void(* dcl_output)(struct asm_parser *This, DWORD usage, DWORD num, const struct shader_reg *reg)
struct hlsl_ir_constant * array_elements
struct source_location loc
struct hlsl_type::@226::@227 array
void create_ps2x_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
const char * debug_print_srcmod(DWORD mod) DECLSPEC_HIDDEN
struct asm_parser asm_ctx DECLSPEC_HIDDEN
static struct hlsl_ir_node * new_unary_expr(enum hlsl_ir_expr_op op, struct hlsl_ir_node *op1, struct source_location loc)
struct hlsl_scope * globals
BOOL add_constB(struct bwriter_shader *shader, DWORD reg, BOOL x) DECLSPEC_HIDDEN
void(* coissue)(struct asm_parser *This)
struct instruction * alloc_instr(unsigned int srcs) DECLSPEC_HIDDEN
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat token
struct bwriter_shader * parse_asm_shader(char **messages) DECLSPEC_HIDDEN
void free_function_rb(struct wine_rb_entry *entry, void *context) DECLSPEC_HIDDEN
struct hlsl_ir_deref * new_record_deref(struct hlsl_ir_node *record, struct hlsl_struct_field *field) DECLSPEC_HIDDEN
struct hlsl_ir_node * condition
const char * debug_d3dcompiler_shader_variable_class(D3D_SHADER_VARIABLE_CLASS c) DECLSPEC_HIDDEN
struct list * then_instrs
union hlsl_ir_deref::@228 v
struct constant ** constF
struct declaration * inputs
void(* constB)(struct asm_parser *This, DWORD reg, BOOL x)
void(* instr)(struct asm_parser *parser, DWORD opcode, DWORD mod, DWORD shift, enum bwriter_comparison_type comp, const struct shader_reg *dst, const struct src_regs *srcs, int expectednsrcs)
struct hlsl_struct_field * field
struct bwriter_shader * SlAssembleShader(const char *text, char **messages) DECLSPEC_HIDDEN
void create_ps30_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
struct hlsl_scope * upper
struct hlsl_ir_node * index
struct hlsl_ir_node * operands[3]
struct dxbc_section * sections
struct shader_reg reg[MAX_SRC_REGS]
GLboolean GLboolean GLboolean b
#define PRINTF_ATTR(fmt, args)
struct hlsl_type * return_type
static char * d3dcompiler_strdup(const char *string)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
void create_vs20_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
void create_ps12_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
enum bwriter_comparison_type comptype
HRESULT dxbc_parse(const char *data, SIZE_T data_size, struct dxbc *dxbc) DECLSPEC_HIDDEN
void create_ps10_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
struct hlsl_type * data_type
struct wine_rb_tree overloads
const struct reg_reservation * reg_reservation
BOOL add_constI(struct bwriter_shader *shader, DWORD reg, INT x, INT y, INT z, INT w) DECLSPEC_HIDDEN
static struct __wine_debug_functions funcs
struct hlsl_type * data_type
void create_ps13_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
void create_vs11_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
struct constant ** constB
struct hlsl_ir_function_decl * new_func_decl(struct hlsl_type *return_type, struct list *parameters) DECLSPEC_HIDDEN
BOOL compare_hlsl_types(const struct hlsl_type *t1, const struct hlsl_type *t2) DECLSPEC_HIDDEN
struct shader_reg * rel_reg
const char * debug_print_srcreg(const struct shader_reg *reg) DECLSPEC_HIDDEN
enum hlsl_base_type base_type
struct bwriter_shader * shader
struct task_struct * current
void skip_dword_unknown(const char **ptr, unsigned int count) DECLSPEC_HIDDEN
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
const char * debug_modifiers(DWORD modifiers) DECLSPEC_HIDDEN
const char * debug_d3dcompiler_shader_variable_type(D3D_SHADER_VARIABLE_TYPE t) DECLSPEC_HIDDEN
const struct bytecode_backend::instr_handler_table * instructions
BOOL pop_scope(struct hlsl_parse_ctx *ctx) DECLSPEC_HIDDEN
const char * debug_print_dstreg(const struct shader_reg *reg) DECLSPEC_HIDDEN
HRESULT dxbc_write_blob(struct dxbc *dxbc, ID3DBlob **blob) DECLSPEC_HIDDEN
struct source_location loc
bwritershader_instruction_opcode_type
BOOL compatible_data_types(struct hlsl_type *s1, struct hlsl_type *s2) DECLSPEC_HIDDEN
BOOL find_function(const char *name) DECLSPEC_HIDDEN
union hlsl_ir_constant::@231 v
struct declaration * outputs
struct hlsl_ir_function_decl * decl
GLsizeiptr const GLvoid GLenum usage
struct list * else_instrs
bwritersampler_texture_type
#define memcpy(s1, s2, n)
void create_ps20_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
BOOL add_instruction(struct bwriter_shader *shader, struct instruction *instr) DECLSPEC_HIDDEN
static void set_parse_status(enum parse_status *current, enum parse_status update)
BOOL record_declaration(struct bwriter_shader *shader, DWORD usage, DWORD usage_idx, DWORD mod, BOOL output, DWORD regnum, DWORD writemask, BOOL builtin) DECLSPEC_HIDDEN
struct list * struct_elements
void(* dstreg)(struct asm_parser *This, struct instruction *instr, const struct shader_reg *dst)
void free_declaration(struct hlsl_ir_var *decl) DECLSPEC_HIDDEN
struct hlsl_ir_deref * new_var_deref(struct hlsl_ir_var *var) DECLSPEC_HIDDEN
void(* srcreg)(struct asm_parser *This, struct instruction *instr, int num, const struct shader_reg *src)
struct hlsl_ir_node * val
void dxbc_destroy(struct dxbc *dxbc) DECLSPEC_HIDDEN
void create_ps11_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
static struct hlsl_ir_jump * jump_from_node(const struct hlsl_ir_node *node)
enum hlsl_ir_deref_type type
struct source_location loc
BOOL add_declaration(struct hlsl_scope *scope, struct hlsl_ir_var *decl, BOOL local_var) DECLSPEC_HIDDEN
static struct hlsl_ir_node * new_binary_expr(enum hlsl_ir_expr_op op, struct hlsl_ir_node *op1, struct hlsl_ir_node *op2, struct source_location loc)
unsigned int elements_count
void create_vs30_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
struct hlsl_ir_expr * new_cast(struct hlsl_ir_node *node, struct hlsl_type *type, struct source_location *loc) DECLSPEC_HIDDEN
void(* dcl_sampler)(struct asm_parser *This, DWORD samptype, DWORD mod, DWORD regnum, unsigned int line_no)
bwritershader_param_dstmod_type
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
void(* predicate)(struct asm_parser *This, const struct shader_reg *predicate)
struct instruction ** instr
BOOL add_constF(struct bwriter_shader *shader, DWORD reg, float x, float y, float z, float w) DECLSPEC_HIDDEN
struct reg_reservation * reg_reservation
struct list * then_instrs
GLint GLint GLint GLint GLint GLint y
void create_ps14_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
struct wine_rb_tree functions
bwritervs_rastout_offsets
void(* srcreg)(struct bc_writer *This, const struct shader_reg *reg, struct bytecode_buffer *buffer)
void init_functions_tree(struct wine_rb_tree *funcs) DECLSPEC_HIDDEN
struct hlsl_ir_node * rhs
struct hlsl_ir_node * lhs
union hlsl_ir_constant::@231::@232 value
struct reg_reservation * reg_reservation
struct hlsl_ir_node * make_assignment(struct hlsl_ir_node *left, enum parse_assign_op assign_op, DWORD writemask, struct hlsl_ir_node *right) DECLSPEC_HIDDEN
struct hlsl_type * get_type(struct hlsl_scope *scope, const char *name, BOOL recursive) DECLSPEC_HIDDEN
void(* constI)(struct asm_parser *This, DWORD reg, INT x, INT y, INT z, INT w)
const char * debug_print_comp(DWORD comp) DECLSPEC_HIDDEN
void create_vs2x_parser(struct asm_parser *ret) DECLSPEC_HIDDEN
struct hlsl_ir_node * array
GLuint GLuint GLsizei GLenum type
void WINAPIV hlsl_message(const char *fmt,...) PRINTF_ATTR(1
struct bwriter_shader * parse_hlsl_shader(const char *text, enum shader_type type, DWORD major, DWORD minor, const char *entrypoint, char **messages) DECLSPEC_HIDDEN
enum bwritershader_param_register_type type
unsigned int m3x3pad_count
struct hlsl_var_allocation * allocation
struct hlsl_type * new_array_type(struct hlsl_type *basic_type, unsigned int array_size) DECLSPEC_HIDDEN
static struct hlsl_ir_loop * loop_from_node(const struct hlsl_ir_node *node)
struct hlsl_ir_function * func
const char * debug_print_dstmod(DWORD mod) DECLSPEC_HIDDEN
struct hlsl_ir_node * record
#define HeapFree(x, y, z)
const struct bytecode_backend * funcs
bwritershader_param_srcmod_type