Data Structures |
| struct | wined3d_sm4_data |
| struct | wined3d_sm4_opcode_info |
| struct | sysval_map |
Defines |
| #define | WINED3D_SM4_INSTRUCTION_MODIFIER (1 << 31) |
| #define | WINED3D_SM4_INSTRUCTION_LENGTH_SHIFT 24 |
| #define | WINED3D_SM4_INSTRUCTION_LENGTH_MASK (0xf << WINED3D_SM4_INSTRUCTION_LENGTH_SHIFT) |
| #define | WINED3D_SM4_OPCODE_MASK 0xff |
| #define | WINED3D_SM4_REGISTER_MODIFIER (1 << 31) |
| #define | WINED3D_SM4_REGISTER_ORDER_SHIFT 20 |
| #define | WINED3D_SM4_REGISTER_ORDER_MASK (0x3 << WINED3D_SM4_REGISTER_ORDER_SHIFT) |
| #define | WINED3D_SM4_REGISTER_TYPE_SHIFT 12 |
| #define | WINED3D_SM4_REGISTER_TYPE_MASK (0xf << WINED3D_SM4_REGISTER_TYPE_SHIFT) |
| #define | WINED3D_SM4_IMMCONST_TYPE_SHIFT 0 |
| #define | WINED3D_SM4_IMMCONST_TYPE_MASK (0x3 << WINED3D_SM4_IMMCONST_TYPE_SHIFT) |
| #define | WINED3D_SM4_WRITEMASK_SHIFT 4 |
| #define | WINED3D_SM4_WRITEMASK_MASK (0xf << WINED3D_SM4_WRITEMASK_SHIFT) |
| #define | WINED3D_SM4_SWIZZLE_SHIFT 4 |
| #define | WINED3D_SM4_SWIZZLE_MASK (0xff << WINED3D_SM4_SWIZZLE_SHIFT) |
| #define | WINED3D_SM4_VERSION_MAJOR(version) (((version) >> 4) & 0xf) |
| #define | WINED3D_SM4_VERSION_MINOR(version) (((version) >> 0) & 0xf) |
Enumerations |
| enum | wined3d_sm4_opcode {
WINED3D_SM4_OP_ADD = 0x00,
WINED3D_SM4_OP_AND = 0x01,
WINED3D_SM4_OP_BREAK = 0x02,
WINED3D_SM4_OP_BREAKC = 0x03,
WINED3D_SM4_OP_CUT = 0x09,
WINED3D_SM4_OP_DERIV_RTX = 0x0b,
WINED3D_SM4_OP_DERIV_RTY = 0x0c,
WINED3D_SM4_OP_DIV = 0x0e,
WINED3D_SM4_OP_DP3 = 0x10,
WINED3D_SM4_OP_DP4 = 0x11,
WINED3D_SM4_OP_EMIT = 0x13,
WINED3D_SM4_OP_ENDIF = 0x15,
WINED3D_SM4_OP_ENDLOOP = 0x16,
WINED3D_SM4_OP_EQ = 0x18,
WINED3D_SM4_OP_EXP = 0x19,
WINED3D_SM4_OP_FRC = 0x1a,
WINED3D_SM4_OP_FTOI = 0x1b,
WINED3D_SM4_OP_GE = 0x1d,
WINED3D_SM4_OP_IADD = 0x1e,
WINED3D_SM4_OP_IF = 0x1f,
WINED3D_SM4_OP_IEQ = 0x20,
WINED3D_SM4_OP_IGE = 0x21,
WINED3D_SM4_OP_IMUL = 0x26,
WINED3D_SM4_OP_ITOF = 0x2b,
WINED3D_SM4_OP_LD = 0x2d,
WINED3D_SM4_OP_LOG = 0x2f,
WINED3D_SM4_OP_LOOP = 0x30,
WINED3D_SM4_OP_LT = 0x31,
WINED3D_SM4_OP_MAD = 0x32,
WINED3D_SM4_OP_MIN = 0x33,
WINED3D_SM4_OP_MAX = 0x34,
WINED3D_SM4_OP_MOV = 0x36,
WINED3D_SM4_OP_MOVC = 0x37,
WINED3D_SM4_OP_MUL = 0x38,
WINED3D_SM4_OP_RET = 0x3e,
WINED3D_SM4_OP_ROUND_NI = 0x41,
WINED3D_SM4_OP_RSQ = 0x44,
WINED3D_SM4_OP_SAMPLE = 0x45,
WINED3D_SM4_OP_SAMPLE_LOD = 0x48,
WINED3D_SM4_OP_SAMPLE_GRAD = 0x49,
WINED3D_SM4_OP_SQRT = 0x4b,
WINED3D_SM4_OP_SINCOS = 0x4d,
WINED3D_SM4_OP_UDIV = 0x4e,
WINED3D_SM4_OP_USHR = 0x55,
WINED3D_SM4_OP_UTOF = 0x56,
WINED3D_SM4_OP_XOR = 0x57
} |
| enum | wined3d_sm4_register_type {
WINED3D_SM4_RT_TEMP = 0x0,
WINED3D_SM4_RT_INPUT = 0x1,
WINED3D_SM4_RT_OUTPUT = 0x2,
WINED3D_SM4_RT_IMMCONST = 0x4,
WINED3D_SM4_RT_SAMPLER = 0x6,
WINED3D_SM4_RT_CONSTBUFFER = 0x8,
WINED3D_SM4_RT_NULL = 0xd
} |
| enum | wined3d_sm4_immconst_type { WINED3D_SM4_IMMCONST_SCALAR = 0x1,
WINED3D_SM4_IMMCONST_VEC4 = 0x2
} |
Functions |
| | WINE_DEFAULT_DEBUG_CHANNEL (d3d_shader) |
static struct
wined3d_sm4_opcode_info * | get_opcode_info (enum wined3d_sm4_opcode opcode) |
| static void | map_sysval (enum wined3d_sysval_semantic sysval, struct wined3d_shader_register *reg) |
| static void | map_register (const struct wined3d_sm4_data *priv, struct wined3d_shader_register *reg) |
| static void * | shader_sm4_init (const DWORD *byte_code, const struct wined3d_shader_signature *output_signature) |
| static void | shader_sm4_free (void *data) |
| static void | shader_sm4_read_header (void *data, const DWORD **ptr, struct wined3d_shader_version *shader_version) |
| static void | shader_sm4_read_opcode (void *data, const DWORD **ptr, struct wined3d_shader_instruction *ins, UINT *param_size) |
| static void | shader_sm4_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_sm4_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_sm4_read_semantic (const DWORD **ptr, struct wined3d_shader_semantic *semantic) |
| static void | shader_sm4_read_comment (const DWORD **ptr, const char **comment, UINT *comment_size) |
| static BOOL | shader_sm4_is_end (void *data, const DWORD **ptr) |
Variables |
static struct
wined3d_sm4_opcode_info | opcode_table [] |
static enum
wined3d_shader_register_type | register_type_table [] |
| static struct sysval_map | sysval_map [] |
| struct wined3d_shader_frontend | sm4_shader_frontend |