Data Structures |
| struct | wined3d_sm1_opcode_info |
| struct | wined3d_sm1_data |
Defines |
| #define | WINED3DSP_DCL_USAGE_SHIFT 0 |
| #define | WINED3DSP_DCL_USAGE_MASK (0xf << WINED3DSP_DCL_USAGE_SHIFT) |
| #define | WINED3DSP_DCL_USAGEINDEX_SHIFT 16 |
| #define | WINED3DSP_DCL_USAGEINDEX_MASK (0xf << WINED3DSP_DCL_USAGEINDEX_SHIFT) |
| #define | WINED3DSP_TEXTURETYPE_SHIFT 27 |
| #define | WINED3DSP_TEXTURETYPE_MASK (0xf << WINED3DSP_TEXTURETYPE_SHIFT) |
| #define | WINED3DSI_OPCODE_MASK 0x0000ffff |
| #define | WINED3D_OPCODESPECIFICCONTROL_SHIFT 16 |
| #define | WINED3D_OPCODESPECIFICCONTROL_MASK (0xff << WINED3D_OPCODESPECIFICCONTROL_SHIFT) |
| #define | WINED3DSI_INSTLENGTH_SHIFT 24 |
| #define | WINED3DSI_INSTLENGTH_MASK (0xf << WINED3DSI_INSTLENGTH_SHIFT) |
| #define | WINED3DSI_COISSUE (1 << 30) |
| #define | WINED3DSI_COMMENTSIZE_SHIFT 16 |
| #define | WINED3DSI_COMMENTSIZE_MASK (0x7fff << WINED3DSI_COMMENTSIZE_SHIFT) |
| #define | WINED3DSHADER_INSTRUCTION_PREDICATED (1 << 28) |
| #define | WINED3DSP_REGNUM_MASK 0x000007ff |
| #define | WINED3DSP_REGTYPE_SHIFT 28 |
| #define | WINED3DSP_REGTYPE_MASK (0x7 << WINED3DSP_REGTYPE_SHIFT) |
| #define | WINED3DSP_REGTYPE_SHIFT2 8 |
| #define | WINED3DSP_REGTYPE_MASK2 (0x18 << WINED3DSP_REGTYPE_SHIFT2) |
| #define | WINED3DSHADER_ADDRESSMODE_SHIFT 13 |
| #define | WINED3DSHADER_ADDRESSMODE_MASK (1 << WINED3DSHADER_ADDRESSMODE_SHIFT) |
| #define | WINED3DSP_DSTMOD_SHIFT 20 |
| #define | WINED3DSP_DSTMOD_MASK (0xf << WINED3DSP_DSTMOD_SHIFT) |
| #define | WINED3DSP_DSTSHIFT_SHIFT 24 |
| #define | WINED3DSP_DSTSHIFT_MASK (0xf << WINED3DSP_DSTSHIFT_SHIFT) |
| #define | WINED3D_SM1_WRITEMASK_SHIFT 16 |
| #define | WINED3D_SM1_WRITEMASK_MASK (0xf << WINED3D_SM1_WRITEMASK_SHIFT) |
| #define | WINED3DSP_SWIZZLE_SHIFT 16 |
| #define | WINED3DSP_SWIZZLE_MASK (0xff << WINED3DSP_SWIZZLE_SHIFT) |
| #define | WINED3DSP_SRCMOD_SHIFT 24 |
| #define | WINED3DSP_SRCMOD_MASK (0xf << WINED3DSP_SRCMOD_SHIFT) |
| #define | WINED3DSP_END 0x0000ffff |
| #define | WINED3D_SM1_VERSION_MAJOR(version) (((version) >> 8) & 0xff) |
| #define | WINED3D_SM1_VERSION_MINOR(version) (((version) >> 0) & 0xff) |
Enumerations |
| enum | WINED3DSHADER_ADDRESSMODE_TYPE { WINED3DSHADER_ADDRMODE_ABSOLUTE = 0 << WINED3DSHADER_ADDRESSMODE_SHIFT,
WINED3DSHADER_ADDRMODE_RELATIVE = 1 << WINED3DSHADER_ADDRESSMODE_SHIFT
} |
| enum | wined3d_sm1_opcode {
WINED3D_SM1_OP_NOP = 0x00,
WINED3D_SM1_OP_MOV = 0x01,
WINED3D_SM1_OP_ADD = 0x02,
WINED3D_SM1_OP_SUB = 0x03,
WINED3D_SM1_OP_MAD = 0x04,
WINED3D_SM1_OP_MUL = 0x05,
WINED3D_SM1_OP_RCP = 0x06,
WINED3D_SM1_OP_RSQ = 0x07,
WINED3D_SM1_OP_DP3 = 0x08,
WINED3D_SM1_OP_DP4 = 0x09,
WINED3D_SM1_OP_MIN = 0x0a,
WINED3D_SM1_OP_MAX = 0x0b,
WINED3D_SM1_OP_SLT = 0x0c,
WINED3D_SM1_OP_SGE = 0x0d,
WINED3D_SM1_OP_EXP = 0x0e,
WINED3D_SM1_OP_LOG = 0x0f,
WINED3D_SM1_OP_LIT = 0x10,
WINED3D_SM1_OP_DST = 0x11,
WINED3D_SM1_OP_LRP = 0x12,
WINED3D_SM1_OP_FRC = 0x13,
WINED3D_SM1_OP_M4x4 = 0x14,
WINED3D_SM1_OP_M4x3 = 0x15,
WINED3D_SM1_OP_M3x4 = 0x16,
WINED3D_SM1_OP_M3x3 = 0x17,
WINED3D_SM1_OP_M3x2 = 0x18,
WINED3D_SM1_OP_CALL = 0x19,
WINED3D_SM1_OP_CALLNZ = 0x1a,
WINED3D_SM1_OP_LOOP = 0x1b,
WINED3D_SM1_OP_RET = 0x1c,
WINED3D_SM1_OP_ENDLOOP = 0x1d,
WINED3D_SM1_OP_LABEL = 0x1e,
WINED3D_SM1_OP_DCL = 0x1f,
WINED3D_SM1_OP_POW = 0x20,
WINED3D_SM1_OP_CRS = 0x21,
WINED3D_SM1_OP_SGN = 0x22,
WINED3D_SM1_OP_ABS = 0x23,
WINED3D_SM1_OP_NRM = 0x24,
WINED3D_SM1_OP_SINCOS = 0x25,
WINED3D_SM1_OP_REP = 0x26,
WINED3D_SM1_OP_ENDREP = 0x27,
WINED3D_SM1_OP_IF = 0x28,
WINED3D_SM1_OP_IFC = 0x29,
WINED3D_SM1_OP_ELSE = 0x2a,
WINED3D_SM1_OP_ENDIF = 0x2b,
WINED3D_SM1_OP_BREAK = 0x2c,
WINED3D_SM1_OP_BREAKC = 0x2d,
WINED3D_SM1_OP_MOVA = 0x2e,
WINED3D_SM1_OP_DEFB = 0x2f,
WINED3D_SM1_OP_DEFI = 0x30,
WINED3D_SM1_OP_TEXCOORD = 0x40,
WINED3D_SM1_OP_TEXKILL = 0x41,
WINED3D_SM1_OP_TEX = 0x42,
WINED3D_SM1_OP_TEXBEM = 0x43,
WINED3D_SM1_OP_TEXBEML = 0x44,
WINED3D_SM1_OP_TEXREG2AR = 0x45,
WINED3D_SM1_OP_TEXREG2GB = 0x46,
WINED3D_SM1_OP_TEXM3x2PAD = 0x47,
WINED3D_SM1_OP_TEXM3x2TEX = 0x48,
WINED3D_SM1_OP_TEXM3x3PAD = 0x49,
WINED3D_SM1_OP_TEXM3x3TEX = 0x4a,
WINED3D_SM1_OP_TEXM3x3DIFF = 0x4b,
WINED3D_SM1_OP_TEXM3x3SPEC = 0x4c,
WINED3D_SM1_OP_TEXM3x3VSPEC = 0x4d,
WINED3D_SM1_OP_EXPP = 0x4e,
WINED3D_SM1_OP_LOGP = 0x4f,
WINED3D_SM1_OP_CND = 0x50,
WINED3D_SM1_OP_DEF = 0x51,
WINED3D_SM1_OP_TEXREG2RGB = 0x52,
WINED3D_SM1_OP_TEXDP3TEX = 0x53,
WINED3D_SM1_OP_TEXM3x2DEPTH = 0x54,
WINED3D_SM1_OP_TEXDP3 = 0x55,
WINED3D_SM1_OP_TEXM3x3 = 0x56,
WINED3D_SM1_OP_TEXDEPTH = 0x57,
WINED3D_SM1_OP_CMP = 0x58,
WINED3D_SM1_OP_BEM = 0x59,
WINED3D_SM1_OP_DP2ADD = 0x5a,
WINED3D_SM1_OP_DSX = 0x5b,
WINED3D_SM1_OP_DSY = 0x5c,
WINED3D_SM1_OP_TEXLDD = 0x5d,
WINED3D_SM1_OP_SETP = 0x5e,
WINED3D_SM1_OP_TEXLDL = 0x5f,
WINED3D_SM1_OP_BREAKP = 0x60,
WINED3D_SM1_OP_PHASE = 0xfffd,
WINED3D_SM1_OP_COMMENT = 0xfffe,
WINED3D_SM1_OP_END = 0Xffff
} |
Functions |
| | WINE_DEFAULT_DEBUG_CHANNEL (d3d_shader) |
| static int | shader_get_param (const struct wined3d_sm1_data *priv, const DWORD *ptr, DWORD *token, DWORD *addr_token) |
static struct
wined3d_sm1_opcode_info * | shader_get_opcode (const struct wined3d_sm1_data *priv, DWORD code) |
| static int | shader_skip_opcode (const struct wined3d_sm1_data *priv, const struct wined3d_sm1_opcode_info *opcode_info, DWORD opcode_token) |
| static void | shader_parse_src_param (DWORD param, const struct wined3d_shader_src_param *rel_addr, struct wined3d_shader_src_param *src) |
| static void | shader_parse_dst_param (DWORD param, const struct wined3d_shader_src_param *rel_addr, struct wined3d_shader_dst_param *dst) |
| static int | shader_skip_unrecognized (const struct wined3d_sm1_data *priv, const DWORD *ptr) |
| static void * | shader_sm1_init (const DWORD *byte_code, const struct wined3d_shader_signature *output_signature) |
| static void | shader_sm1_free (void *data) |
| static void | shader_sm1_read_header (void *data, const DWORD **ptr, struct wined3d_shader_version *shader_version) |
| static void | shader_sm1_read_opcode (void *data, const DWORD **ptr, struct wined3d_shader_instruction *ins, UINT *param_size) |
| static void | shader_sm1_read_src_param (void *data, const DWORD **ptr, struct wined3d_shader_src_param *src_param, struct wined3d_shader_src_param *src_rel_addr) |
| static void | shader_sm1_read_dst_param (void *data, const DWORD **ptr, struct wined3d_shader_dst_param *dst_param, struct wined3d_shader_src_param *dst_rel_addr) |
| static void | shader_sm1_read_semantic (const DWORD **ptr, struct wined3d_shader_semantic *semantic) |
| static void | shader_sm1_read_comment (const DWORD **ptr, const char **comment, UINT *comment_size) |
| static BOOL | shader_sm1_is_end (void *data, const DWORD **ptr) |
Variables |
static struct
wined3d_sm1_opcode_info | vs_opcode_table [] |
static struct
wined3d_sm1_opcode_info | ps_opcode_table [] |
| struct wined3d_shader_frontend | sm1_shader_frontend |