ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

shader_sm1.c File Reference
#include "config.h"
#include "wine/port.h"
#include "wined3d_private.h"

Go to the source code of this file.

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 voidshader_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

Generated on Sat May 26 2012 05:03:31 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.