|
ReactOS 0.4.17-dev-966-gf06eace
|
#include "wine/debug.h"#include "wine/list.h"#include "wine/rbtree.h"#include "windef.h"#include "winbase.h"#include "objbase.h"#include "d3dcompiler.h"#include "utils.h"#include <assert.h>#include <stdint.h>#include <vkd3d_shader.h>

Go to the source code of this file.
Classes | |
| struct | constant |
| struct | shader_reg |
| struct | instruction |
| struct | declaration |
| struct | samplerdecl |
| struct | bwriter_shader |
| struct | rel_reg |
| struct | src_regs |
| struct | asmparser_backend |
| struct | compilation_messages |
| struct | asm_parser |
Variables | |
| struct asm_parser | asm_ctx |
| #define BWRITER_SM1_PS 0xffffu |
Definition at line 459 of file d3dcompiler_private.h.
| #define BWRITER_SM1_VS 0xfffeu |
Definition at line 458 of file d3dcompiler_private.h.
Definition at line 461 of file d3dcompiler_private.h.
| #define BWRITERSI_TEXLD_BIAS 2 |
Definition at line 438 of file d3dcompiler_private.h.
| #define BWRITERSI_TEXLD_PROJECT 1 |
Definition at line 437 of file d3dcompiler_private.h.
Definition at line 414 of file d3dcompiler_private.h.
Definition at line 415 of file d3dcompiler_private.h.
Definition at line 416 of file d3dcompiler_private.h.
Definition at line 417 of file d3dcompiler_private.h.
| #define BWRITERSP_WRITEMASK_ALL 0xf /* all */ |
Definition at line 418 of file d3dcompiler_private.h.
| #define BWRITERVS_NOSWIZZLE (BWRITERVS_X_X | BWRITERVS_Y_Y | BWRITERVS_Z_Z | BWRITERVS_W_W) |
Definition at line 484 of file d3dcompiler_private.h.
| #define BWRITERVS_SWIZZLE_W (BWRITERVS_X_W | BWRITERVS_Y_W | BWRITERVS_Z_W | BWRITERVS_W_W) |
Definition at line 489 of file d3dcompiler_private.h.
| #define BWRITERVS_SWIZZLE_X (BWRITERVS_X_X | BWRITERVS_Y_X | BWRITERVS_Z_X | BWRITERVS_W_X) |
Definition at line 486 of file d3dcompiler_private.h.
| #define BWRITERVS_SWIZZLE_Y (BWRITERVS_X_Y | BWRITERVS_Y_Y | BWRITERVS_Z_Y | BWRITERVS_W_Y) |
Definition at line 487 of file d3dcompiler_private.h.
| #define BWRITERVS_SWIZZLE_Z (BWRITERVS_X_Z | BWRITERVS_Y_Z | BWRITERVS_Z_Z | BWRITERVS_W_Z) |
Definition at line 488 of file d3dcompiler_private.h.
Definition at line 462 of file d3dcompiler_private.h.
| #define BWRITERVS_W_W (3 << 6) |
Definition at line 482 of file d3dcompiler_private.h.
| #define BWRITERVS_W_X (0 << 6) |
Definition at line 479 of file d3dcompiler_private.h.
| #define BWRITERVS_W_Y (1 << 6) |
Definition at line 480 of file d3dcompiler_private.h.
| #define BWRITERVS_W_Z (2 << 6) |
Definition at line 481 of file d3dcompiler_private.h.
| #define BWRITERVS_X_W (3) |
Definition at line 467 of file d3dcompiler_private.h.
| #define BWRITERVS_X_X (0) |
Definition at line 464 of file d3dcompiler_private.h.
| #define BWRITERVS_X_Y (1) |
Definition at line 465 of file d3dcompiler_private.h.
| #define BWRITERVS_X_Z (2) |
Definition at line 466 of file d3dcompiler_private.h.
| #define BWRITERVS_Y_W (3 << 2) |
Definition at line 472 of file d3dcompiler_private.h.
| #define BWRITERVS_Y_X (0 << 2) |
Definition at line 469 of file d3dcompiler_private.h.
| #define BWRITERVS_Y_Y (1 << 2) |
Definition at line 470 of file d3dcompiler_private.h.
| #define BWRITERVS_Y_Z (2 << 2) |
Definition at line 471 of file d3dcompiler_private.h.
| #define BWRITERVS_Z_W (3 << 4) |
Definition at line 477 of file d3dcompiler_private.h.
| #define BWRITERVS_Z_X (0 << 4) |
Definition at line 474 of file d3dcompiler_private.h.
| #define BWRITERVS_Z_Y (1 << 4) |
Definition at line 475 of file d3dcompiler_private.h.
| #define BWRITERVS_Z_Z (2 << 4) |
Definition at line 476 of file d3dcompiler_private.h.
| #define COBJMACROS |
Definition at line 29 of file d3dcompiler_private.h.
| #define D3DERR_INVALIDCALL 0x8876086c |
Definition at line 47 of file d3dcompiler_private.h.
Definition at line 519 of file d3dcompiler_private.h.
| #define MAKE_TAG | ( | ch0, | |
| ch1, | |||
| ch2, | |||
| ch3 | |||
| ) |
Definition at line 521 of file d3dcompiler_private.h.
| #define MAX_SRC_REGS 4 |
Definition at line 169 of file d3dcompiler_private.h.
| #define MESSAGEBUFFER_INITIAL_SIZE 256 |
Definition at line 215 of file d3dcompiler_private.h.
Definition at line 266 of file d3dcompiler_private.h.
| #define SWIZZLE_ERR ~0U |
Definition at line 289 of file d3dcompiler_private.h.
| #define T0_REG 2 |
Definition at line 510 of file d3dcompiler_private.h.
| #define T1_REG 3 |
Definition at line 511 of file d3dcompiler_private.h.
| #define T2_REG 4 |
Definition at line 512 of file d3dcompiler_private.h.
| #define T3_REG 5 |
Definition at line 513 of file d3dcompiler_private.h.
| Enumerator | |
|---|---|
| BWRITER_COMPARISON_NONE | |
| BWRITER_COMPARISON_GT | |
| BWRITER_COMPARISON_EQ | |
| BWRITER_COMPARISON_GE | |
| BWRITER_COMPARISON_LT | |
| BWRITER_COMPARISON_NE | |
| BWRITER_COMPARISON_LE | |
Definition at line 61 of file d3dcompiler_private.h.
Definition at line 491 of file d3dcompiler_private.h.
| Enumerator | |
|---|---|
| BWRITERSTT_UNKNOWN | |
| BWRITERSTT_1D | |
| BWRITERSTT_2D | |
| BWRITERSTT_CUBE | |
| BWRITERSTT_VOLUME | |
Definition at line 428 of file d3dcompiler_private.h.
Definition at line 293 of file d3dcompiler_private.h.
| Enumerator | |
|---|---|
| BWRITERSPDM_NONE | |
| BWRITERSPDM_SATURATE | |
| BWRITERSPDM_PARTIALPRECISION | |
| BWRITERSPDM_MSAMPCENTROID | |
Definition at line 420 of file d3dcompiler_private.h.
Definition at line 385 of file d3dcompiler_private.h.
Definition at line 440 of file d3dcompiler_private.h.
| Enumerator | |
|---|---|
| BWRITERSRO_POSITION | |
| BWRITERSRO_FOG | |
| BWRITERSRO_POINT_SIZE | |
Definition at line 407 of file d3dcompiler_private.h.
| Enumerator | |
|---|---|
| PARSE_SUCCESS | |
| PARSE_WARN | |
| PARSE_ERR | |
Definition at line 217 of file d3dcompiler_private.h.
| Enumerator | |
|---|---|
| ST_UNKNOWN | |
| ST_VERTEX | |
| ST_PIXEL | |
Definition at line 54 of file d3dcompiler_private.h.
| BOOL add_constB | ( | struct bwriter_shader * | shader, |
| uint32_t | reg, | ||
| BOOL | x | ||
| ) |
Definition at line 200 of file bytecodewriter.c.
Referenced by asmparser_constB().
| BOOL add_constF | ( | struct bwriter_shader * | shader, |
| uint32_t | reg, | ||
| float | x, | ||
| float | y, | ||
| float | z, | ||
| float | w | ||
| ) |
Definition at line 116 of file bytecodewriter.c.
Referenced by asmparser_constF().
Definition at line 158 of file bytecodewriter.c.
Referenced by asmparser_constI().
| BOOL add_instruction | ( | struct bwriter_shader * | shader, |
| struct instruction * | instr | ||
| ) |
Definition at line 104 of file bytecodewriter.c.
Referenced by asmparser_instr(), asmparser_sincos(), asmparser_texcoord(), asmparser_texcrd(), asmparser_texhelper(), asmparser_texkill(), and asmparser_texld14().
| struct instruction * alloc_instr | ( | unsigned int | srcs | ) |
Definition at line 73 of file bytecodewriter.c.
Referenced by asmparser_instr(), asmparser_sincos(), asmparser_texcoord(), asmparser_texcrd(), asmparser_texhelper(), asmparser_texkill(), and asmparser_texld14().
Referenced by asmparser_coissue_supported(), asmparser_coissue_unsupported(), asmparser_dcl_input(), asmparser_dcl_input_unsupported(), asmparser_dcl_output(), asmparser_dcl_output_unsupported(), asmparser_dcl_sampler(), asmparser_dcl_sampler_unsupported(), asmparser_dstreg_ps_1_0123(), asmparser_dstreg_ps_1_4(), asmparser_dstreg_ps_2(), asmparser_dstreg_ps_2_x(), asmparser_dstreg_ps_3(), asmparser_dstreg_vs_1(), asmparser_dstreg_vs_2(), asmparser_dstreg_vs_3(), asmparser_instr(), asmparser_predicate_unsupported(), asmparser_sincos(), asmparser_srcreg_ps_1_0123(), asmparser_srcreg_ps_1_4(), asmparser_srcreg_ps_2(), asmparser_srcreg_ps_2_x(), asmparser_srcreg_ps_3(), asmparser_srcreg_vs_1(), asmparser_srcreg_vs_2(), asmparser_srcreg_vs_3(), asmparser_texcoord(), asmparser_texcrd(), asmparser_texld14(), check_abs_srcmod(), check_legacy_srcmod(), check_loop_swizzle(), check_ps_dstmod(), and check_shift_dstmod().
Definition at line 529 of file utils.c.
| void create_ps10_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1516 of file asmparser.c.
| void create_ps11_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1533 of file asmparser.c.
| void create_ps12_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1550 of file asmparser.c.
| void create_ps13_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1567 of file asmparser.c.
| void create_ps14_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1584 of file asmparser.c.
| void create_ps20_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1601 of file asmparser.c.
| void create_ps2x_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1618 of file asmparser.c.
| void create_ps30_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1635 of file asmparser.c.
| void create_vs10_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1432 of file asmparser.c.
| void create_vs11_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1449 of file asmparser.c.
| void create_vs20_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1466 of file asmparser.c.
| void create_vs2x_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1483 of file asmparser.c.
| void create_vs30_parser | ( | struct asm_parser * | ret | ) |
Definition at line 1500 of file asmparser.c.
| const char * debug_d3dcompiler_d3d_blob_part | ( | D3D_BLOB_PART | part | ) |
Definition at line 106 of file utils.c.
Referenced by check_blob_part(), d3dcompiler_get_blob_part(), and D3DGetBlobPart().
| const char * debug_d3dcompiler_shader_variable_class | ( | D3D_SHADER_VARIABLE_CLASS | c | ) |
Definition at line 32 of file utils.c.
Referenced by d3dcompiler_parse_type().
| const char * debug_d3dcompiler_shader_variable_type | ( | D3D_SHADER_VARIABLE_TYPE | t | ) |
Definition at line 50 of file utils.c.
Referenced by d3dcompiler_parse_type().
Definition at line 407 of file utils.c.
Referenced by asmparser_instr().
Definition at line 159 of file utils.c.
Referenced by asmparser_instr(), and check_ps_dstmod().
| const char * debug_print_dstreg | ( | const struct shader_reg * | reg | ) |
Definition at line 336 of file utils.c.
Referenced by asmparser_dstreg_ps_1_0123(), asmparser_dstreg_ps_1_4(), asmparser_dstreg_ps_2(), asmparser_dstreg_ps_2_x(), asmparser_dstreg_ps_3(), asmparser_dstreg_vs_1(), asmparser_dstreg_vs_2(), asmparser_dstreg_vs_3(), and asmparser_instr().
Definition at line 422 of file utils.c.
Referenced by asmparser_instr(), and call_instr_handler().
Definition at line 184 of file utils.c.
Referenced by asmparser_instr().
Definition at line 134 of file utils.c.
Referenced by check_abs_srcmod(), and check_legacy_srcmod().
| const char * debug_print_srcreg | ( | const struct shader_reg * | reg | ) |
Definition at line 343 of file utils.c.
Referenced by asmparser_instr(), asmparser_srcreg_ps_1_0123(), asmparser_srcreg_ps_1_4(), asmparser_srcreg_ps_2(), asmparser_srcreg_ps_2_x(), asmparser_srcreg_ps_3(), asmparser_srcreg_vs_1(), asmparser_srcreg_vs_2(), and asmparser_srcreg_vs_3().
| struct bwriter_shader * parse_asm_shader | ( | char ** | messages | ) |
| BOOL record_declaration | ( | struct bwriter_shader * | shader, |
| uint32_t | usage, | ||
| uint32_t | usage_idx, | ||
| uint32_t | mod, | ||
| BOOL | output, | ||
| uint32_t | regnum, | ||
| uint32_t | writemask, | ||
| BOOL | builtin | ||
| ) |
Definition at line 239 of file bytecodewriter.c.
Referenced by asmparser_dcl_input(), asmparser_dcl_input_ps_2(), asmparser_dcl_output(), gen_oldps_input(), and gen_oldvs_output().
| BOOL record_sampler | ( | struct bwriter_shader * | shader, |
| uint32_t | samptype, | ||
| uint32_t | mod, | ||
| uint32_t | regnum | ||
| ) |
Definition at line 298 of file bytecodewriter.c.
Referenced by asmparser_dcl_sampler().
|
inlinestatic |
Definition at line 271 of file d3dcompiler_private.h.
Referenced by asmparser_coissue_supported(), asmparser_coissue_unsupported(), asmparser_constB(), asmparser_constF(), asmparser_constI(), asmparser_dcl_input(), asmparser_dcl_input_ps_2(), asmparser_dcl_input_unsupported(), asmparser_dcl_output(), asmparser_dcl_output_unsupported(), asmparser_dcl_sampler(), asmparser_dcl_sampler_unsupported(), asmparser_dstreg_ps_1_0123(), asmparser_dstreg_ps_1_4(), asmparser_dstreg_ps_2(), asmparser_dstreg_ps_2_x(), asmparser_dstreg_ps_3(), asmparser_dstreg_vs_1(), asmparser_dstreg_vs_2(), asmparser_dstreg_vs_3(), asmparser_instr(), asmparser_predicate_unsupported(), asmparser_sincos(), asmparser_srcreg_ps_1_0123(), asmparser_srcreg_ps_1_4(), asmparser_srcreg_ps_2(), asmparser_srcreg_ps_2_x(), asmparser_srcreg_ps_3(), asmparser_srcreg_vs_1(), asmparser_srcreg_vs_2(), asmparser_srcreg_vs_3(), asmparser_texcoord(), asmparser_texcrd(), asmparser_texhelper(), asmparser_texkill(), asmparser_texld14(), check_abs_srcmod(), check_legacy_srcmod(), check_loop_swizzle(), check_ps_dstmod(), check_shift_dstmod(), create_ps10_parser(), create_ps11_parser(), create_ps12_parser(), create_ps13_parser(), create_ps14_parser(), create_ps20_parser(), create_ps2x_parser(), create_ps30_parser(), create_vs10_parser(), create_vs11_parser(), create_vs20_parser(), create_vs2x_parser(), and create_vs30_parser().
| HRESULT shader_write_bytecode | ( | const struct bwriter_shader * | shader, |
| uint32_t ** | result, | ||
| uint32_t * | size | ||
| ) |
Definition at line 2479 of file bytecodewriter.c.
Referenced by assemble_shader().
| struct bwriter_shader * SlAssembleShader | ( | const char * | text, |
| char ** | messages | ||
| ) |
Referenced by assemble_shader().
| void SlDeleteShader | ( | struct bwriter_shader * | shader | ) |
Definition at line 2565 of file bytecodewriter.c.
Referenced by assemble_shader().
|
extern |