projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r600: add assembler support for literal(inline) constants
[mesa.git]
/
src
/
mesa
/
drivers
/
dri
/
r600
/
r700_assembler.h
diff --git
a/src/mesa/drivers/dri/r600/r700_assembler.h
b/src/mesa/drivers/dri/r600/r700_assembler.h
index 130fc89dae1690c471d00b94394e321ac452daea..3fe65654ca0323a9b9f19ac60c0f5a33a7fc36c4 100644
(file)
--- a/
src/mesa/drivers/dri/r600/r700_assembler.h
+++ b/
src/mesa/drivers/dri/r600/r700_assembler.h
@@
-114,20
+114,22
@@
typedef struct PVSDSTtag
typedef struct PVSINSTtag
{
typedef struct PVSINSTtag
{
- BITS literal :2;
+ BITS literal
_slots
:2;
BITS SaturateMode :2;
BITS SaturateMode :2;
+ BITS index_mode :3;
} PVSINST;
typedef struct PVSSRCtag
{
} PVSINST;
typedef struct PVSSRCtag
{
- BITS rtype:
4
;
+ BITS rtype:
3
;
BITS addrmode0:1;
BITS addrmode0:1;
- BITS reg:10; //1
5
(8)
+ BITS reg:10; //1
4
(8)
BITS swizzlex:3;
BITS swizzley:3;
BITS swizzlez:3;
BITS swizzlex:3;
BITS swizzley:3;
BITS swizzlez:3;
- BITS swizzlew:3; //2
7
+ BITS swizzlew:3; //2
6
+ BITS abs:1;
BITS negx:1;
BITS negy:1;
BITS negz:1;
BITS negx:1;
BITS negy:1;
BITS negz:1;
@@
-343,8
+345,10
@@
typedef struct r700_AssemblerBase
PVSDWORD D;
PVSDWORD D2;
PVSDWORD S[3];
PVSDWORD D;
PVSDWORD D2;
PVSDWORD S[3];
+ PVSDWORD C[4];
unsigned int uLastPosUpdate;
unsigned int uLastPosUpdate;
+ unsigned int last_cond_register;
OUT_FRAGMENT_FMT_0 fp_stOutFmt0;
OUT_FRAGMENT_FMT_0 fp_stOutFmt0;
@@
-415,6
+419,7
@@
typedef struct r700_AssemblerBase
SHADER_PIPE_TYPE currentShaderType;
struct prog_instruction * pILInst;
GLuint uiCurInst;
SHADER_PIPE_TYPE currentShaderType;
struct prog_instruction * pILInst;
GLuint uiCurInst;
+ GLubyte SamplerUnits[MAX_SAMPLERS];
GLboolean bR6xx;
/* helper to decide which type of instruction to assemble */
GLboolean is_tex;
GLboolean bR6xx;
/* helper to decide which type of instruction to assemble */
GLboolean is_tex;
@@
-526,10
+531,7
@@
GLboolean check_vector(r700_AssemblerBase* pAsm,
GLboolean assemble_alu_instruction(r700_AssemblerBase *pAsm);
GLboolean next_ins(r700_AssemblerBase *pAsm);
GLboolean assemble_alu_instruction(r700_AssemblerBase *pAsm);
GLboolean next_ins(r700_AssemblerBase *pAsm);
-GLboolean next_ins2(r700_AssemblerBase *pAsm);
-GLboolean assemble_alu_instruction2(r700_AssemblerBase *pAsm);
-
-/* TODO : merge next_ins/2/literal, assemble_alu_instruction/2/literal */
+/* TODO : merge next_ins/literal, assemble_alu_instruction/literal */
GLboolean next_ins_literal(r700_AssemblerBase *pAsm, GLfloat * pLiteral);
GLboolean assemble_alu_instruction_literal(r700_AssemblerBase *pAsm, GLfloat * pLiteral);
GLboolean next_ins_literal(r700_AssemblerBase *pAsm, GLfloat * pLiteral);
GLboolean assemble_alu_instruction_literal(r700_AssemblerBase *pAsm, GLfloat * pLiteral);