dxbc-reader 0.8.0

DXBC parser: reads Direct3D 10/11 shader bytecode (Shader Model 4 and 5) into typed declarations and instructions, with RDEF reflection and signatures
Documentation
// Opcode names indexed by their token value; Microsoft tokenized-program format.
#![deny(
    clippy::arithmetic_side_effects,
    clippy::indexing_slicing,
    clippy::cast_possible_truncation
)]
pub(crate) const NAMES: &[&str] = &[
    "add",
    "and",
    "break",
    "breakc",
    "call",
    "callc",
    "case",
    "continue",
    "continuec",
    "cut",
    "default",
    "deriv_rtx",
    "deriv_rty",
    "discard",
    "div",
    "dp2",
    "dp3",
    "dp4",
    "else",
    "emit",
    "emitthencut",
    "endif",
    "endloop",
    "endswitch",
    "eq",
    "exp",
    "frc",
    "ftoi",
    "ftou",
    "ge",
    "iadd",
    "if",
    "ieq",
    "ige",
    "ilt",
    "imad",
    "imax",
    "imin",
    "imul",
    "ine",
    "ineg",
    "ishl",
    "ishr",
    "itof",
    "label",
    "ld",
    "ld_ms",
    "log",
    "loop",
    "lt",
    "mad",
    "min",
    "max",
    "customdata",
    "mov",
    "movc",
    "mul",
    "ne",
    "nop",
    "not",
    "or",
    "resinfo",
    "ret",
    "retc",
    "round_ne",
    "round_ni",
    "round_pi",
    "round_z",
    "rsq",
    "sample",
    "sample_c",
    "sample_c_lz",
    "sample_l",
    "sample_d",
    "sample_b",
    "sqrt",
    "switch",
    "sincos",
    "udiv",
    "ult",
    "uge",
    "umul",
    "umad",
    "umax",
    "umin",
    "ushr",
    "utof",
    "xor",
    "dcl_resource",
    "dcl_constant_buffer",
    "dcl_sampler",
    "dcl_index_range",
    "dcl_gs_output_primitive_topology",
    "dcl_gs_input_primitive",
    "dcl_max_output_vertex_count",
    "dcl_input",
    "dcl_input_sgv",
    "dcl_input_siv",
    "dcl_input_ps",
    "dcl_input_ps_sgv",
    "dcl_input_ps_siv",
    "dcl_output",
    "dcl_output_sgv",
    "dcl_output_siv",
    "dcl_temps",
    "dcl_indexable_temp",
    "dcl_global_flags",
    "reserved0",
    "lod",
    "gather4",
    "sample_pos",
    "sample_info",
    "reserved1",
    "hs_decls",
    "hs_control_point_phase",
    "hs_fork_phase",
    "hs_join_phase",
    "emit_stream",
    "cut_stream",
    "emitthencut_stream",
    "interface_call",
    "bufinfo",
    "deriv_rtx_coarse",
    "deriv_rtx_fine",
    "deriv_rty_coarse",
    "deriv_rty_fine",
    "gather4_c",
    "gather4_po",
    "gather4_po_c",
    "rcp",
    "f32tof16",
    "f16tof32",
    "uaddc",
    "usubb",
    "countbits",
    "firstbit_hi",
    "firstbit_lo",
    "firstbit_shi",
    "ubfe",
    "ibfe",
    "bfi",
    "bfrev",
    "swapc",
    "dcl_stream",
    "dcl_function_body",
    "dcl_function_table",
    "dcl_interface",
    "dcl_input_control_point_count",
    "dcl_output_control_point_count",
    "dcl_tess_domain",
    "dcl_tess_partitioning",
    "dcl_tess_output_primitive",
    "dcl_hs_max_tessfactor",
    "dcl_hs_fork_phase_instance_count",
    "dcl_hs_join_phase_instance_count",
    "dcl_thread_group",
    "dcl_unordered_access_view_typed",
    "dcl_unordered_access_view_raw",
    "dcl_unordered_access_view_structured",
    "dcl_thread_group_shared_memory_raw",
    "dcl_thread_group_shared_memory_structured",
    "dcl_resource_raw",
    "dcl_resource_structured",
    "ld_uav_typed",
    "store_uav_typed",
    "ld_raw",
    "store_raw",
    "ld_structured",
    "store_structured",
    "atomic_and",
    "atomic_or",
    "atomic_xor",
    "atomic_cmp_store",
    "atomic_iadd",
    "atomic_imax",
    "atomic_imin",
    "atomic_umax",
    "atomic_umin",
    "imm_atomic_alloc",
    "imm_atomic_consume",
    "imm_atomic_iadd",
    "imm_atomic_and",
    "imm_atomic_or",
    "imm_atomic_xor",
    "imm_atomic_exch",
    "imm_atomic_cmp_exch",
    "imm_atomic_imax",
    "imm_atomic_imin",
    "imm_atomic_umax",
    "imm_atomic_umin",
    "sync",
    "dadd",
    "dmax",
    "dmin",
    "dmul",
    "deq",
    "dge",
    "dlt",
    "dne",
    "dmov",
    "dmovc",
    "dtof",
    "ftod",
    "eval_snapped",
    "eval_sample_index",
    "eval_centroid",
    "dcl_gs_instance_count",
    "abort",
    "debug_break",
    "reserved0",
    "ddiv",
    "dfma",
    "drcp",
    "msad",
    "dtoi",
    "dtou",
    "itod",
    "utod",
    "reserved0",
    "gather4_feedback",
    "gather4_c_feedback",
    "gather4_po_feedback",
    "gather4_po_c_feedback",
    "ld_feedback",
    "ld_ms_feedback",
    "ld_uav_typed_feedback",
    "ld_raw_feedback",
    "ld_structured_feedback",
    "sample_l_feedback",
    "sample_c_lz_feedback",
    "sample_clamp_feedback",
    "sample_b_clamp_feedback",
    "sample_d_clamp_feedback",
    "sample_c_clamp_feedback",
    "check_access_fully_mapped",
    "reserved0",
];