Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
92d22ce5
Commit
92d22ce5
authored
Oct 06, 2009
by
Henri Verbeet
Committed by
Alexandre Julliard
Oct 06, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Move the SM1 opcode enum to shader_sm1.c.
parent
5c229715
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
235 additions
and
235 deletions
+235
-235
shader_sm1.c
dlls/wined3d/shader_sm1.c
+235
-144
wined3d_private.h
dlls/wined3d/wined3d_private.h
+0
-91
No files found.
dlls/wined3d/shader_sm1.c
View file @
92d22ce5
...
...
@@ -99,9 +99,100 @@ enum WINED3DSHADER_ADDRESSMODE_TYPE
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
,
};
struct
wined3d_sm1_opcode_info
{
unsigned
int
opcode
;
enum
wined3d_sm1_opcode
opcode
;
UINT
dst_count
;
UINT
param_count
;
enum
WINED3D_SHADER_INSTRUCTION_HANDLER
handler_idx
;
...
...
@@ -119,163 +210,163 @@ struct wined3d_sm1_data
static
const
struct
wined3d_sm1_opcode_info
vs_opcode_table
[]
=
{
/* Arithmetic */
{
WINED3D
SIO_NOP
,
0
,
0
,
WINED3DSIH_NOP
,
0
,
0
},
{
WINED3D
SIO_MOV
,
1
,
2
,
WINED3DSIH_MOV
,
0
,
0
},
{
WINED3D
SIO_MOVA
,
1
,
2
,
WINED3DSIH_MOVA
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_ADD
,
1
,
3
,
WINED3DSIH_ADD
,
0
,
0
},
{
WINED3D
SIO_SUB
,
1
,
3
,
WINED3DSIH_SUB
,
0
,
0
},
{
WINED3D
SIO_MAD
,
1
,
4
,
WINED3DSIH_MAD
,
0
,
0
},
{
WINED3D
SIO_MUL
,
1
,
3
,
WINED3DSIH_MUL
,
0
,
0
},
{
WINED3D
SIO_RCP
,
1
,
2
,
WINED3DSIH_RCP
,
0
,
0
},
{
WINED3D
SIO_RSQ
,
1
,
2
,
WINED3DSIH_RSQ
,
0
,
0
},
{
WINED3D
SIO_DP3
,
1
,
3
,
WINED3DSIH_DP3
,
0
,
0
},
{
WINED3D
SIO_DP4
,
1
,
3
,
WINED3DSIH_DP4
,
0
,
0
},
{
WINED3D
SIO_MIN
,
1
,
3
,
WINED3DSIH_MIN
,
0
,
0
},
{
WINED3D
SIO_MAX
,
1
,
3
,
WINED3DSIH_MAX
,
0
,
0
},
{
WINED3D
SIO_SLT
,
1
,
3
,
WINED3DSIH_SLT
,
0
,
0
},
{
WINED3D
SIO_SGE
,
1
,
3
,
WINED3DSIH_SGE
,
0
,
0
},
{
WINED3D
SIO_ABS
,
1
,
2
,
WINED3DSIH_ABS
,
0
,
0
},
{
WINED3D
SIO_EXP
,
1
,
2
,
WINED3DSIH_EXP
,
0
,
0
},
{
WINED3D
SIO_LOG
,
1
,
2
,
WINED3DSIH_LOG
,
0
,
0
},
{
WINED3D
SIO_EXPP
,
1
,
2
,
WINED3DSIH_EXPP
,
0
,
0
},
{
WINED3D
SIO_LOGP
,
1
,
2
,
WINED3DSIH_LOGP
,
0
,
0
},
{
WINED3D
SIO_LIT
,
1
,
2
,
WINED3DSIH_LIT
,
0
,
0
},
{
WINED3D
SIO_DST
,
1
,
3
,
WINED3DSIH_DST
,
0
,
0
},
{
WINED3D
SIO_LRP
,
1
,
4
,
WINED3DSIH_LRP
,
0
,
0
},
{
WINED3D
SIO_FRC
,
1
,
2
,
WINED3DSIH_FRC
,
0
,
0
},
{
WINED3D
SIO_POW
,
1
,
3
,
WINED3DSIH_POW
,
0
,
0
},
{
WINED3D
SIO_CRS
,
1
,
3
,
WINED3DSIH_CRS
,
0
,
0
},
{
WINED3D
SIO_SGN
,
1
,
4
,
WINED3DSIH_SGN
,
WINED3D_SHADER_VERSION
(
2
,
0
),
WINED3D_SHADER_VERSION
(
2
,
1
)},
{
WINED3D
SIO_SGN
,
1
,
2
,
WINED3DSIH_SGN
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
SIO_NRM
,
1
,
2
,
WINED3DSIH_NRM
,
0
,
0
},
{
WINED3D
SIO_SINCOS
,
1
,
4
,
WINED3DSIH_SINCOS
,
WINED3D_SHADER_VERSION
(
2
,
0
),
WINED3D_SHADER_VERSION
(
2
,
1
)},
{
WINED3D
SIO_SINCOS
,
1
,
2
,
WINED3DSIH_SINCOS
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
_SM1_OP_NOP
,
0
,
0
,
WINED3DSIH_NOP
,
0
,
0
},
{
WINED3D
_SM1_OP_MOV
,
1
,
2
,
WINED3DSIH_MOV
,
0
,
0
},
{
WINED3D
_SM1_OP_MOVA
,
1
,
2
,
WINED3DSIH_MOVA
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_ADD
,
1
,
3
,
WINED3DSIH_ADD
,
0
,
0
},
{
WINED3D
_SM1_OP_SUB
,
1
,
3
,
WINED3DSIH_SUB
,
0
,
0
},
{
WINED3D
_SM1_OP_MAD
,
1
,
4
,
WINED3DSIH_MAD
,
0
,
0
},
{
WINED3D
_SM1_OP_MUL
,
1
,
3
,
WINED3DSIH_MUL
,
0
,
0
},
{
WINED3D
_SM1_OP_RCP
,
1
,
2
,
WINED3DSIH_RCP
,
0
,
0
},
{
WINED3D
_SM1_OP_RSQ
,
1
,
2
,
WINED3DSIH_RSQ
,
0
,
0
},
{
WINED3D
_SM1_OP_DP3
,
1
,
3
,
WINED3DSIH_DP3
,
0
,
0
},
{
WINED3D
_SM1_OP_DP4
,
1
,
3
,
WINED3DSIH_DP4
,
0
,
0
},
{
WINED3D
_SM1_OP_MIN
,
1
,
3
,
WINED3DSIH_MIN
,
0
,
0
},
{
WINED3D
_SM1_OP_MAX
,
1
,
3
,
WINED3DSIH_MAX
,
0
,
0
},
{
WINED3D
_SM1_OP_SLT
,
1
,
3
,
WINED3DSIH_SLT
,
0
,
0
},
{
WINED3D
_SM1_OP_SGE
,
1
,
3
,
WINED3DSIH_SGE
,
0
,
0
},
{
WINED3D
_SM1_OP_ABS
,
1
,
2
,
WINED3DSIH_ABS
,
0
,
0
},
{
WINED3D
_SM1_OP_EXP
,
1
,
2
,
WINED3DSIH_EXP
,
0
,
0
},
{
WINED3D
_SM1_OP_LOG
,
1
,
2
,
WINED3DSIH_LOG
,
0
,
0
},
{
WINED3D
_SM1_OP_EXPP
,
1
,
2
,
WINED3DSIH_EXPP
,
0
,
0
},
{
WINED3D
_SM1_OP_LOGP
,
1
,
2
,
WINED3DSIH_LOGP
,
0
,
0
},
{
WINED3D
_SM1_OP_LIT
,
1
,
2
,
WINED3DSIH_LIT
,
0
,
0
},
{
WINED3D
_SM1_OP_DST
,
1
,
3
,
WINED3DSIH_DST
,
0
,
0
},
{
WINED3D
_SM1_OP_LRP
,
1
,
4
,
WINED3DSIH_LRP
,
0
,
0
},
{
WINED3D
_SM1_OP_FRC
,
1
,
2
,
WINED3DSIH_FRC
,
0
,
0
},
{
WINED3D
_SM1_OP_POW
,
1
,
3
,
WINED3DSIH_POW
,
0
,
0
},
{
WINED3D
_SM1_OP_CRS
,
1
,
3
,
WINED3DSIH_CRS
,
0
,
0
},
{
WINED3D
_SM1_OP_SGN
,
1
,
4
,
WINED3DSIH_SGN
,
WINED3D_SHADER_VERSION
(
2
,
0
),
WINED3D_SHADER_VERSION
(
2
,
1
)},
{
WINED3D
_SM1_OP_SGN
,
1
,
2
,
WINED3DSIH_SGN
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
_SM1_OP_NRM
,
1
,
2
,
WINED3DSIH_NRM
,
0
,
0
},
{
WINED3D
_SM1_OP_SINCOS
,
1
,
4
,
WINED3DSIH_SINCOS
,
WINED3D_SHADER_VERSION
(
2
,
0
),
WINED3D_SHADER_VERSION
(
2
,
1
)},
{
WINED3D
_SM1_OP_SINCOS
,
1
,
2
,
WINED3DSIH_SINCOS
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
/* Matrix */
{
WINED3D
SIO_M4x4
,
1
,
3
,
WINED3DSIH_M4x4
,
0
,
0
},
{
WINED3D
SIO_M4x3
,
1
,
3
,
WINED3DSIH_M4x3
,
0
,
0
},
{
WINED3D
SIO_M3x4
,
1
,
3
,
WINED3DSIH_M3x4
,
0
,
0
},
{
WINED3D
SIO_M3x3
,
1
,
3
,
WINED3DSIH_M3x3
,
0
,
0
},
{
WINED3D
SIO_M3x2
,
1
,
3
,
WINED3DSIH_M3x2
,
0
,
0
},
{
WINED3D
_SM1_OP_M4x4
,
1
,
3
,
WINED3DSIH_M4x4
,
0
,
0
},
{
WINED3D
_SM1_OP_M4x3
,
1
,
3
,
WINED3DSIH_M4x3
,
0
,
0
},
{
WINED3D
_SM1_OP_M3x4
,
1
,
3
,
WINED3DSIH_M3x4
,
0
,
0
},
{
WINED3D
_SM1_OP_M3x3
,
1
,
3
,
WINED3DSIH_M3x3
,
0
,
0
},
{
WINED3D
_SM1_OP_M3x2
,
1
,
3
,
WINED3DSIH_M3x2
,
0
,
0
},
/* Declare registers */
{
WINED3D
SIO_DCL
,
0
,
2
,
WINED3DSIH_DCL
,
0
,
0
},
{
WINED3D
_SM1_OP_DCL
,
0
,
2
,
WINED3DSIH_DCL
,
0
,
0
},
/* Constant definitions */
{
WINED3D
SIO_DEF
,
1
,
5
,
WINED3DSIH_DEF
,
0
,
0
},
{
WINED3D
SIO_DEFB
,
1
,
2
,
WINED3DSIH_DEFB
,
0
,
0
},
{
WINED3D
SIO_DEFI
,
1
,
5
,
WINED3DSIH_DEFI
,
0
,
0
},
{
WINED3D
_SM1_OP_DEF
,
1
,
5
,
WINED3DSIH_DEF
,
0
,
0
},
{
WINED3D
_SM1_OP_DEFB
,
1
,
2
,
WINED3DSIH_DEFB
,
0
,
0
},
{
WINED3D
_SM1_OP_DEFI
,
1
,
5
,
WINED3DSIH_DEFI
,
0
,
0
},
/* Flow control */
{
WINED3D
SIO_REP
,
0
,
1
,
WINED3DSIH_REP
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_ENDREP
,
0
,
0
,
WINED3DSIH_ENDREP
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_IF
,
0
,
1
,
WINED3DSIH_IF
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_IFC
,
0
,
2
,
WINED3DSIH_IFC
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_ELSE
,
0
,
0
,
WINED3DSIH_ELSE
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_ENDIF
,
0
,
0
,
WINED3DSIH_ENDIF
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_BREAK
,
0
,
0
,
WINED3DSIH_BREAK
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_BREAKC
,
0
,
2
,
WINED3DSIH_BREAKC
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_BREAKP
,
0
,
1
,
WINED3DSIH_BREAKP
,
0
,
0
},
{
WINED3D
SIO_CALL
,
0
,
1
,
WINED3DSIH_CALL
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_CALLNZ
,
0
,
2
,
WINED3DSIH_CALLNZ
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_LOOP
,
0
,
2
,
WINED3DSIH_LOOP
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_RET
,
0
,
0
,
WINED3DSIH_RET
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_ENDLOOP
,
0
,
0
,
WINED3DSIH_ENDLOOP
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_LABEL
,
0
,
1
,
WINED3DSIH_LABEL
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_SETP
,
1
,
3
,
WINED3DSIH_SETP
,
0
,
0
},
{
WINED3D
SIO_TEXLDL
,
1
,
3
,
WINED3DSIH_TEXLDL
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
_SM1_OP_REP
,
0
,
1
,
WINED3DSIH_REP
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_ENDREP
,
0
,
0
,
WINED3DSIH_ENDREP
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_IF
,
0
,
1
,
WINED3DSIH_IF
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_IFC
,
0
,
2
,
WINED3DSIH_IFC
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_ELSE
,
0
,
0
,
WINED3DSIH_ELSE
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_ENDIF
,
0
,
0
,
WINED3DSIH_ENDIF
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_BREAK
,
0
,
0
,
WINED3DSIH_BREAK
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_BREAKC
,
0
,
2
,
WINED3DSIH_BREAKC
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_BREAKP
,
0
,
1
,
WINED3DSIH_BREAKP
,
0
,
0
},
{
WINED3D
_SM1_OP_CALL
,
0
,
1
,
WINED3DSIH_CALL
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_CALLNZ
,
0
,
2
,
WINED3DSIH_CALLNZ
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_LOOP
,
0
,
2
,
WINED3DSIH_LOOP
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_RET
,
0
,
0
,
WINED3DSIH_RET
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_ENDLOOP
,
0
,
0
,
WINED3DSIH_ENDLOOP
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_LABEL
,
0
,
1
,
WINED3DSIH_LABEL
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_SETP
,
1
,
3
,
WINED3DSIH_SETP
,
0
,
0
},
{
WINED3D
_SM1_OP_TEXLDL
,
1
,
3
,
WINED3DSIH_TEXLDL
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
0
,
0
,
0
,
WINED3DSIH_TABLE_SIZE
,
0
,
0
},
};
static
const
struct
wined3d_sm1_opcode_info
ps_opcode_table
[]
=
{
/* Arithmetic */
{
WINED3D
SIO_NOP
,
0
,
0
,
WINED3DSIH_NOP
,
0
,
0
},
{
WINED3D
SIO_MOV
,
1
,
2
,
WINED3DSIH_MOV
,
0
,
0
},
{
WINED3D
SIO_ADD
,
1
,
3
,
WINED3DSIH_ADD
,
0
,
0
},
{
WINED3D
SIO_SUB
,
1
,
3
,
WINED3DSIH_SUB
,
0
,
0
},
{
WINED3D
SIO_MAD
,
1
,
4
,
WINED3DSIH_MAD
,
0
,
0
},
{
WINED3D
SIO_MUL
,
1
,
3
,
WINED3DSIH_MUL
,
0
,
0
},
{
WINED3D
SIO_RCP
,
1
,
2
,
WINED3DSIH_RCP
,
0
,
0
},
{
WINED3D
SIO_RSQ
,
1
,
2
,
WINED3DSIH_RSQ
,
0
,
0
},
{
WINED3D
SIO_DP3
,
1
,
3
,
WINED3DSIH_DP3
,
0
,
0
},
{
WINED3D
SIO_DP4
,
1
,
3
,
WINED3DSIH_DP4
,
0
,
0
},
{
WINED3D
SIO_MIN
,
1
,
3
,
WINED3DSIH_MIN
,
0
,
0
},
{
WINED3D
SIO_MAX
,
1
,
3
,
WINED3DSIH_MAX
,
0
,
0
},
{
WINED3D
SIO_SLT
,
1
,
3
,
WINED3DSIH_SLT
,
0
,
0
},
{
WINED3D
SIO_SGE
,
1
,
3
,
WINED3DSIH_SGE
,
0
,
0
},
{
WINED3D
SIO_ABS
,
1
,
2
,
WINED3DSIH_ABS
,
0
,
0
},
{
WINED3D
SIO_EXP
,
1
,
2
,
WINED3DSIH_EXP
,
0
,
0
},
{
WINED3D
SIO_LOG
,
1
,
2
,
WINED3DSIH_LOG
,
0
,
0
},
{
WINED3D
SIO_EXPP
,
1
,
2
,
WINED3DSIH_EXPP
,
0
,
0
},
{
WINED3D
SIO_LOGP
,
1
,
2
,
WINED3DSIH_LOGP
,
0
,
0
},
{
WINED3D
SIO_DST
,
1
,
3
,
WINED3DSIH_DST
,
0
,
0
},
{
WINED3D
SIO_LRP
,
1
,
4
,
WINED3DSIH_LRP
,
0
,
0
},
{
WINED3D
SIO_FRC
,
1
,
2
,
WINED3DSIH_FRC
,
0
,
0
},
{
WINED3D
SIO_CND
,
1
,
4
,
WINED3DSIH_CND
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
SIO_CMP
,
1
,
4
,
WINED3DSIH_CMP
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
3
,
0
)},
{
WINED3D
SIO_POW
,
1
,
3
,
WINED3DSIH_POW
,
0
,
0
},
{
WINED3D
SIO_CRS
,
1
,
3
,
WINED3DSIH_CRS
,
0
,
0
},
{
WINED3D
SIO_NRM
,
1
,
2
,
WINED3DSIH_NRM
,
0
,
0
},
{
WINED3D
SIO_SINCOS
,
1
,
4
,
WINED3DSIH_SINCOS
,
WINED3D_SHADER_VERSION
(
2
,
0
),
WINED3D_SHADER_VERSION
(
2
,
1
)},
{
WINED3D
SIO_SINCOS
,
1
,
2
,
WINED3DSIH_SINCOS
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
SIO_DP2ADD
,
1
,
4
,
WINED3DSIH_DP2ADD
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_NOP
,
0
,
0
,
WINED3DSIH_NOP
,
0
,
0
},
{
WINED3D
_SM1_OP_MOV
,
1
,
2
,
WINED3DSIH_MOV
,
0
,
0
},
{
WINED3D
_SM1_OP_ADD
,
1
,
3
,
WINED3DSIH_ADD
,
0
,
0
},
{
WINED3D
_SM1_OP_SUB
,
1
,
3
,
WINED3DSIH_SUB
,
0
,
0
},
{
WINED3D
_SM1_OP_MAD
,
1
,
4
,
WINED3DSIH_MAD
,
0
,
0
},
{
WINED3D
_SM1_OP_MUL
,
1
,
3
,
WINED3DSIH_MUL
,
0
,
0
},
{
WINED3D
_SM1_OP_RCP
,
1
,
2
,
WINED3DSIH_RCP
,
0
,
0
},
{
WINED3D
_SM1_OP_RSQ
,
1
,
2
,
WINED3DSIH_RSQ
,
0
,
0
},
{
WINED3D
_SM1_OP_DP3
,
1
,
3
,
WINED3DSIH_DP3
,
0
,
0
},
{
WINED3D
_SM1_OP_DP4
,
1
,
3
,
WINED3DSIH_DP4
,
0
,
0
},
{
WINED3D
_SM1_OP_MIN
,
1
,
3
,
WINED3DSIH_MIN
,
0
,
0
},
{
WINED3D
_SM1_OP_MAX
,
1
,
3
,
WINED3DSIH_MAX
,
0
,
0
},
{
WINED3D
_SM1_OP_SLT
,
1
,
3
,
WINED3DSIH_SLT
,
0
,
0
},
{
WINED3D
_SM1_OP_SGE
,
1
,
3
,
WINED3DSIH_SGE
,
0
,
0
},
{
WINED3D
_SM1_OP_ABS
,
1
,
2
,
WINED3DSIH_ABS
,
0
,
0
},
{
WINED3D
_SM1_OP_EXP
,
1
,
2
,
WINED3DSIH_EXP
,
0
,
0
},
{
WINED3D
_SM1_OP_LOG
,
1
,
2
,
WINED3DSIH_LOG
,
0
,
0
},
{
WINED3D
_SM1_OP_EXPP
,
1
,
2
,
WINED3DSIH_EXPP
,
0
,
0
},
{
WINED3D
_SM1_OP_LOGP
,
1
,
2
,
WINED3DSIH_LOGP
,
0
,
0
},
{
WINED3D
_SM1_OP_DST
,
1
,
3
,
WINED3DSIH_DST
,
0
,
0
},
{
WINED3D
_SM1_OP_LRP
,
1
,
4
,
WINED3DSIH_LRP
,
0
,
0
},
{
WINED3D
_SM1_OP_FRC
,
1
,
2
,
WINED3DSIH_FRC
,
0
,
0
},
{
WINED3D
_SM1_OP_CND
,
1
,
4
,
WINED3DSIH_CND
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
_SM1_OP_CMP
,
1
,
4
,
WINED3DSIH_CMP
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
3
,
0
)},
{
WINED3D
_SM1_OP_POW
,
1
,
3
,
WINED3DSIH_POW
,
0
,
0
},
{
WINED3D
_SM1_OP_CRS
,
1
,
3
,
WINED3DSIH_CRS
,
0
,
0
},
{
WINED3D
_SM1_OP_NRM
,
1
,
2
,
WINED3DSIH_NRM
,
0
,
0
},
{
WINED3D
_SM1_OP_SINCOS
,
1
,
4
,
WINED3DSIH_SINCOS
,
WINED3D_SHADER_VERSION
(
2
,
0
),
WINED3D_SHADER_VERSION
(
2
,
1
)},
{
WINED3D
_SM1_OP_SINCOS
,
1
,
2
,
WINED3DSIH_SINCOS
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
_SM1_OP_DP2ADD
,
1
,
4
,
WINED3DSIH_DP2ADD
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
/* Matrix */
{
WINED3D
SIO_M4x4
,
1
,
3
,
WINED3DSIH_M4x4
,
0
,
0
},
{
WINED3D
SIO_M4x3
,
1
,
3
,
WINED3DSIH_M4x3
,
0
,
0
},
{
WINED3D
SIO_M3x4
,
1
,
3
,
WINED3DSIH_M3x4
,
0
,
0
},
{
WINED3D
SIO_M3x3
,
1
,
3
,
WINED3DSIH_M3x3
,
0
,
0
},
{
WINED3D
SIO_M3x2
,
1
,
3
,
WINED3DSIH_M3x2
,
0
,
0
},
{
WINED3D
_SM1_OP_M4x4
,
1
,
3
,
WINED3DSIH_M4x4
,
0
,
0
},
{
WINED3D
_SM1_OP_M4x3
,
1
,
3
,
WINED3DSIH_M4x3
,
0
,
0
},
{
WINED3D
_SM1_OP_M3x4
,
1
,
3
,
WINED3DSIH_M3x4
,
0
,
0
},
{
WINED3D
_SM1_OP_M3x3
,
1
,
3
,
WINED3DSIH_M3x3
,
0
,
0
},
{
WINED3D
_SM1_OP_M3x2
,
1
,
3
,
WINED3DSIH_M3x2
,
0
,
0
},
/* Register declarations */
{
WINED3D
SIO_DCL
,
0
,
2
,
WINED3DSIH_DCL
,
0
,
0
},
{
WINED3D
_SM1_OP_DCL
,
0
,
2
,
WINED3DSIH_DCL
,
0
,
0
},
/* Flow control */
{
WINED3D
SIO_REP
,
0
,
1
,
WINED3DSIH_REP
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_ENDREP
,
0
,
0
,
WINED3DSIH_ENDREP
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_IF
,
0
,
1
,
WINED3DSIH_IF
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_IFC
,
0
,
2
,
WINED3DSIH_IFC
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_ELSE
,
0
,
0
,
WINED3DSIH_ELSE
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_ENDIF
,
0
,
0
,
WINED3DSIH_ENDIF
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_BREAK
,
0
,
0
,
WINED3DSIH_BREAK
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_BREAKC
,
0
,
2
,
WINED3DSIH_BREAKC
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_BREAKP
,
0
,
1
,
WINED3DSIH_BREAKP
,
0
,
0
},
{
WINED3D
SIO_CALL
,
0
,
1
,
WINED3DSIH_CALL
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_CALLNZ
,
0
,
2
,
WINED3DSIH_CALLNZ
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_LOOP
,
0
,
2
,
WINED3DSIH_LOOP
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
SIO_RET
,
0
,
0
,
WINED3DSIH_RET
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_ENDLOOP
,
0
,
0
,
WINED3DSIH_ENDLOOP
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
SIO_LABEL
,
0
,
1
,
WINED3DSIH_LABEL
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_REP
,
0
,
1
,
WINED3DSIH_REP
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_ENDREP
,
0
,
0
,
WINED3DSIH_ENDREP
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_IF
,
0
,
1
,
WINED3DSIH_IF
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_IFC
,
0
,
2
,
WINED3DSIH_IFC
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_ELSE
,
0
,
0
,
WINED3DSIH_ELSE
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_ENDIF
,
0
,
0
,
WINED3DSIH_ENDIF
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_BREAK
,
0
,
0
,
WINED3DSIH_BREAK
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_BREAKC
,
0
,
2
,
WINED3DSIH_BREAKC
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_BREAKP
,
0
,
1
,
WINED3DSIH_BREAKP
,
0
,
0
},
{
WINED3D
_SM1_OP_CALL
,
0
,
1
,
WINED3DSIH_CALL
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_CALLNZ
,
0
,
2
,
WINED3DSIH_CALLNZ
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_LOOP
,
0
,
2
,
WINED3DSIH_LOOP
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
_SM1_OP_RET
,
0
,
0
,
WINED3DSIH_RET
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_ENDLOOP
,
0
,
0
,
WINED3DSIH_ENDLOOP
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
_SM1_OP_LABEL
,
0
,
1
,
WINED3DSIH_LABEL
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
/* Constant definitions */
{
WINED3D
SIO_DEF
,
1
,
5
,
WINED3DSIH_DEF
,
0
,
0
},
{
WINED3D
SIO_DEFB
,
1
,
2
,
WINED3DSIH_DEFB
,
0
,
0
},
{
WINED3D
SIO_DEFI
,
1
,
5
,
WINED3DSIH_DEFI
,
0
,
0
},
{
WINED3D
_SM1_OP_DEF
,
1
,
5
,
WINED3DSIH_DEF
,
0
,
0
},
{
WINED3D
_SM1_OP_DEFB
,
1
,
2
,
WINED3DSIH_DEFB
,
0
,
0
},
{
WINED3D
_SM1_OP_DEFI
,
1
,
5
,
WINED3DSIH_DEFI
,
0
,
0
},
/* Texture */
{
WINED3D
SIO_TEXCOORD
,
1
,
1
,
WINED3DSIH_TEXCOORD
,
0
,
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXCOORD
,
1
,
2
,
WINED3DSIH_TEXCOORD
,
WINED3D_SHADER_VERSION
(
1
,
4
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
SIO_TEXKILL
,
1
,
1
,
WINED3DSIH_TEXKILL
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
3
,
0
)},
{
WINED3D
SIO_TEX
,
1
,
1
,
WINED3DSIH_TEX
,
0
,
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEX
,
1
,
2
,
WINED3DSIH_TEX
,
WINED3D_SHADER_VERSION
(
1
,
4
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
SIO_TEX
,
1
,
3
,
WINED3DSIH_TEX
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
SIO_TEXBEM
,
1
,
2
,
WINED3DSIH_TEXBEM
,
0
,
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXBEML
,
1
,
2
,
WINED3DSIH_TEXBEML
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXREG2AR
,
1
,
2
,
WINED3DSIH_TEXREG2AR
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXREG2GB
,
1
,
2
,
WINED3DSIH_TEXREG2GB
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXREG2RGB
,
1
,
2
,
WINED3DSIH_TEXREG2RGB
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXM3x2PAD
,
1
,
2
,
WINED3DSIH_TEXM3x2PAD
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXM3x2TEX
,
1
,
2
,
WINED3DSIH_TEXM3x2TEX
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXM3x3PAD
,
1
,
2
,
WINED3DSIH_TEXM3x3PAD
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXM3x3DIFF
,
1
,
2
,
WINED3DSIH_TEXM3x3DIFF
,
WINED3D_SHADER_VERSION
(
0
,
0
),
WINED3D_SHADER_VERSION
(
0
,
0
)},
{
WINED3D
SIO_TEXM3x3SPEC
,
1
,
3
,
WINED3DSIH_TEXM3x3SPEC
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXM3x3VSPEC
,
1
,
2
,
WINED3DSIH_TEXM3x3VSPEC
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXM3x3TEX
,
1
,
2
,
WINED3DSIH_TEXM3x3TEX
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXDP3TEX
,
1
,
2
,
WINED3DSIH_TEXDP3TEX
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXM3x2DEPTH
,
1
,
2
,
WINED3DSIH_TEXM3x2DEPTH
,
WINED3D_SHADER_VERSION
(
1
,
3
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXDP3
,
1
,
2
,
WINED3DSIH_TEXDP3
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXM3x3
,
1
,
2
,
WINED3DSIH_TEXM3x3
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
SIO_TEXDEPTH
,
1
,
1
,
WINED3DSIH_TEXDEPTH
,
WINED3D_SHADER_VERSION
(
1
,
4
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
SIO_BEM
,
1
,
3
,
WINED3DSIH_BEM
,
WINED3D_SHADER_VERSION
(
1
,
4
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
SIO_DSX
,
1
,
2
,
WINED3DSIH_DSX
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_DSY
,
1
,
2
,
WINED3DSIH_DSY
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_TEXLDD
,
1
,
5
,
WINED3DSIH_TEXLDD
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
SIO_SETP
,
1
,
3
,
WINED3DSIH_SETP
,
0
,
0
},
{
WINED3D
SIO_TEXLDL
,
1
,
3
,
WINED3DSIH_TEXLDL
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
SIO_PHASE
,
0
,
0
,
WINED3DSIH_PHASE
,
0
,
0
},
{
WINED3D
_SM1_OP_TEXCOORD
,
1
,
1
,
WINED3DSIH_TEXCOORD
,
0
,
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXCOORD
,
1
,
2
,
WINED3DSIH_TEXCOORD
,
WINED3D_SHADER_VERSION
(
1
,
4
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
_SM1_OP_TEXKILL
,
1
,
1
,
WINED3DSIH_TEXKILL
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
3
,
0
)},
{
WINED3D
_SM1_OP_TEX
,
1
,
1
,
WINED3DSIH_TEX
,
0
,
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEX
,
1
,
2
,
WINED3DSIH_TEX
,
WINED3D_SHADER_VERSION
(
1
,
4
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
_SM1_OP_TEX
,
1
,
3
,
WINED3DSIH_TEX
,
WINED3D_SHADER_VERSION
(
2
,
0
),
-
1
},
{
WINED3D
_SM1_OP_TEXBEM
,
1
,
2
,
WINED3DSIH_TEXBEM
,
0
,
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXBEML
,
1
,
2
,
WINED3DSIH_TEXBEML
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXREG2AR
,
1
,
2
,
WINED3DSIH_TEXREG2AR
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXREG2GB
,
1
,
2
,
WINED3DSIH_TEXREG2GB
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXREG2RGB
,
1
,
2
,
WINED3DSIH_TEXREG2RGB
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXM3x2PAD
,
1
,
2
,
WINED3DSIH_TEXM3x2PAD
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXM3x2TEX
,
1
,
2
,
WINED3DSIH_TEXM3x2TEX
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXM3x3PAD
,
1
,
2
,
WINED3DSIH_TEXM3x3PAD
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXM3x3DIFF
,
1
,
2
,
WINED3DSIH_TEXM3x3DIFF
,
WINED3D_SHADER_VERSION
(
0
,
0
),
WINED3D_SHADER_VERSION
(
0
,
0
)},
{
WINED3D
_SM1_OP_TEXM3x3SPEC
,
1
,
3
,
WINED3DSIH_TEXM3x3SPEC
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXM3x3VSPEC
,
1
,
2
,
WINED3DSIH_TEXM3x3VSPEC
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXM3x3TEX
,
1
,
2
,
WINED3DSIH_TEXM3x3TEX
,
WINED3D_SHADER_VERSION
(
1
,
0
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXDP3TEX
,
1
,
2
,
WINED3DSIH_TEXDP3TEX
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXM3x2DEPTH
,
1
,
2
,
WINED3DSIH_TEXM3x2DEPTH
,
WINED3D_SHADER_VERSION
(
1
,
3
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXDP3
,
1
,
2
,
WINED3DSIH_TEXDP3
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXM3x3
,
1
,
2
,
WINED3DSIH_TEXM3x3
,
WINED3D_SHADER_VERSION
(
1
,
2
),
WINED3D_SHADER_VERSION
(
1
,
3
)},
{
WINED3D
_SM1_OP_TEXDEPTH
,
1
,
1
,
WINED3DSIH_TEXDEPTH
,
WINED3D_SHADER_VERSION
(
1
,
4
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
_SM1_OP_BEM
,
1
,
3
,
WINED3DSIH_BEM
,
WINED3D_SHADER_VERSION
(
1
,
4
),
WINED3D_SHADER_VERSION
(
1
,
4
)},
{
WINED3D
_SM1_OP_DSX
,
1
,
2
,
WINED3DSIH_DSX
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_DSY
,
1
,
2
,
WINED3DSIH_DSY
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_TEXLDD
,
1
,
5
,
WINED3DSIH_TEXLDD
,
WINED3D_SHADER_VERSION
(
2
,
1
),
-
1
},
{
WINED3D
_SM1_OP_SETP
,
1
,
3
,
WINED3DSIH_SETP
,
0
,
0
},
{
WINED3D
_SM1_OP_TEXLDL
,
1
,
3
,
WINED3DSIH_TEXLDL
,
WINED3D_SHADER_VERSION
(
3
,
0
),
-
1
},
{
WINED3D
_SM1_OP_PHASE
,
0
,
0
,
WINED3DSIH_PHASE
,
0
,
0
},
{
0
,
0
,
0
,
WINED3DSIH_TABLE_SIZE
,
0
,
0
},
};
...
...
@@ -543,7 +634,7 @@ static void shader_sm1_read_comment(const DWORD **ptr, const char **comment)
{
DWORD
token
=
**
ptr
;
if
((
token
&
WINED3DSI_OPCODE_MASK
)
!=
WINED3D
SIO
_COMMENT
)
if
((
token
&
WINED3DSI_OPCODE_MASK
)
!=
WINED3D
_SM1_OP
_COMMENT
)
{
*
comment
=
NULL
;
return
;
...
...
dlls/wined3d/wined3d_private.h
View file @
92d22ce5
...
...
@@ -366,97 +366,6 @@ typedef enum _WINED3DSHADER_PARAM_DSTMOD_TYPE
WINED3DSPDM_MSAMPCENTROID
=
4
,
}
WINED3DSHADER_PARAM_DSTMOD_TYPE
;
typedef
enum
_WINED3DSHADER_INSTRUCTION_OPCODE_TYPE
{
WINED3DSIO_NOP
=
0
,
WINED3DSIO_MOV
=
1
,
WINED3DSIO_ADD
=
2
,
WINED3DSIO_SUB
=
3
,
WINED3DSIO_MAD
=
4
,
WINED3DSIO_MUL
=
5
,
WINED3DSIO_RCP
=
6
,
WINED3DSIO_RSQ
=
7
,
WINED3DSIO_DP3
=
8
,
WINED3DSIO_DP4
=
9
,
WINED3DSIO_MIN
=
10
,
WINED3DSIO_MAX
=
11
,
WINED3DSIO_SLT
=
12
,
WINED3DSIO_SGE
=
13
,
WINED3DSIO_EXP
=
14
,
WINED3DSIO_LOG
=
15
,
WINED3DSIO_LIT
=
16
,
WINED3DSIO_DST
=
17
,
WINED3DSIO_LRP
=
18
,
WINED3DSIO_FRC
=
19
,
WINED3DSIO_M4x4
=
20
,
WINED3DSIO_M4x3
=
21
,
WINED3DSIO_M3x4
=
22
,
WINED3DSIO_M3x3
=
23
,
WINED3DSIO_M3x2
=
24
,
WINED3DSIO_CALL
=
25
,
WINED3DSIO_CALLNZ
=
26
,
WINED3DSIO_LOOP
=
27
,
WINED3DSIO_RET
=
28
,
WINED3DSIO_ENDLOOP
=
29
,
WINED3DSIO_LABEL
=
30
,
WINED3DSIO_DCL
=
31
,
WINED3DSIO_POW
=
32
,
WINED3DSIO_CRS
=
33
,
WINED3DSIO_SGN
=
34
,
WINED3DSIO_ABS
=
35
,
WINED3DSIO_NRM
=
36
,
WINED3DSIO_SINCOS
=
37
,
WINED3DSIO_REP
=
38
,
WINED3DSIO_ENDREP
=
39
,
WINED3DSIO_IF
=
40
,
WINED3DSIO_IFC
=
41
,
WINED3DSIO_ELSE
=
42
,
WINED3DSIO_ENDIF
=
43
,
WINED3DSIO_BREAK
=
44
,
WINED3DSIO_BREAKC
=
45
,
WINED3DSIO_MOVA
=
46
,
WINED3DSIO_DEFB
=
47
,
WINED3DSIO_DEFI
=
48
,
WINED3DSIO_TEXCOORD
=
64
,
WINED3DSIO_TEXKILL
=
65
,
WINED3DSIO_TEX
=
66
,
WINED3DSIO_TEXBEM
=
67
,
WINED3DSIO_TEXBEML
=
68
,
WINED3DSIO_TEXREG2AR
=
69
,
WINED3DSIO_TEXREG2GB
=
70
,
WINED3DSIO_TEXM3x2PAD
=
71
,
WINED3DSIO_TEXM3x2TEX
=
72
,
WINED3DSIO_TEXM3x3PAD
=
73
,
WINED3DSIO_TEXM3x3TEX
=
74
,
WINED3DSIO_TEXM3x3DIFF
=
75
,
WINED3DSIO_TEXM3x3SPEC
=
76
,
WINED3DSIO_TEXM3x3VSPEC
=
77
,
WINED3DSIO_EXPP
=
78
,
WINED3DSIO_LOGP
=
79
,
WINED3DSIO_CND
=
80
,
WINED3DSIO_DEF
=
81
,
WINED3DSIO_TEXREG2RGB
=
82
,
WINED3DSIO_TEXDP3TEX
=
83
,
WINED3DSIO_TEXM3x2DEPTH
=
84
,
WINED3DSIO_TEXDP3
=
85
,
WINED3DSIO_TEXM3x3
=
86
,
WINED3DSIO_TEXDEPTH
=
87
,
WINED3DSIO_CMP
=
88
,
WINED3DSIO_BEM
=
89
,
WINED3DSIO_DP2ADD
=
90
,
WINED3DSIO_DSX
=
91
,
WINED3DSIO_DSY
=
92
,
WINED3DSIO_TEXLDD
=
93
,
WINED3DSIO_SETP
=
94
,
WINED3DSIO_TEXLDL
=
95
,
WINED3DSIO_BREAKP
=
96
,
WINED3DSIO_PHASE
=
0xfffd
,
WINED3DSIO_COMMENT
=
0xfffe
,
WINED3DSIO_END
=
0Xffff
,
}
WINED3DSHADER_INSTRUCTION_OPCODE_TYPE
;
/* Undocumented opcode control to identify projective texture lookups in ps 2.0 and later */
#define WINED3DSI_TEXLD_PROJECT 1
#define WINED3DSI_TEXLD_BIAS 2
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment