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

prog_instruction.h File Reference

Go to the source code of this file.

Data Structures

struct  prog_src_register
struct  prog_dst_register
struct  prog_instruction

Defines

#define MAKE_SWIZZLE4(a, b, c, d)   (((a)<<0) | ((b)<<3) | ((c)<<6) | ((d)<<9))
#define SWIZZLE_NOOP   MAKE_SWIZZLE4(0,1,2,3)
#define GET_SWZ(swz, idx)   (((swz) >> ((idx)*3)) & 0x7)
#define GET_BIT(msk, idx)   (((msk) >> (idx)) & 0x1)
#define SWIZZLE_XYZW   MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_Z, SWIZZLE_W)
#define SWIZZLE_XXXX   MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_X, SWIZZLE_X, SWIZZLE_X)
#define SWIZZLE_YYYY   MAKE_SWIZZLE4(SWIZZLE_Y, SWIZZLE_Y, SWIZZLE_Y, SWIZZLE_Y)
#define SWIZZLE_ZZZZ   MAKE_SWIZZLE4(SWIZZLE_Z, SWIZZLE_Z, SWIZZLE_Z, SWIZZLE_Z)
#define SWIZZLE_WWWW   MAKE_SWIZZLE4(SWIZZLE_W, SWIZZLE_W, SWIZZLE_W, SWIZZLE_W)
#define INST_INDEX_BITS   10
#define SWIZZLE_X   0
#define SWIZZLE_Y   1
#define SWIZZLE_Z   2
#define SWIZZLE_W   3
#define SWIZZLE_ZERO   4
#define SWIZZLE_ONE   5
#define SWIZZLE_NIL   7
#define WRITEMASK_X   0x1
#define WRITEMASK_Y   0x2
#define WRITEMASK_XY   0x3
#define WRITEMASK_Z   0x4
#define WRITEMASK_XZ   0x5
#define WRITEMASK_YZ   0x6
#define WRITEMASK_XYZ   0x7
#define WRITEMASK_W   0x8
#define WRITEMASK_XW   0x9
#define WRITEMASK_YW   0xa
#define WRITEMASK_XYW   0xb
#define WRITEMASK_ZW   0xc
#define WRITEMASK_XZW   0xd
#define WRITEMASK_YZW   0xe
#define WRITEMASK_XYZW   0xf
#define COND_GT   1
#define COND_EQ   2
#define COND_LT   3
#define COND_UN   4
#define COND_GE   5
#define COND_LE   6
#define COND_NE   7
#define COND_TR   8
#define COND_FL   9
#define FLOAT32   0x1
#define FLOAT16   0x2
#define FIXED12   0x4
#define SATURATE_OFF   0
#define SATURATE_ZERO_ONE   1
#define SATURATE_PLUS_MINUS_ONE   2
#define NEGATE_X   0x1
#define NEGATE_Y   0x2
#define NEGATE_Z   0x4
#define NEGATE_W   0x8
#define NEGATE_XYZW   0xf
#define NEGATE_NONE   0x0

Enumerations

enum  gl_inst_opcode {
  OPCODE_NOP = 0, OPCODE_ABS, OPCODE_ADD, OPCODE_AND,
  OPCODE_ARA, OPCODE_ARL, OPCODE_ARL_NV, OPCODE_ARR,
  OPCODE_BGNLOOP, OPCODE_BGNSUB, OPCODE_BRA, OPCODE_BRK,
  OPCODE_CAL, OPCODE_CMP, OPCODE_CONT, OPCODE_COS,
  OPCODE_DDX, OPCODE_DDY, OPCODE_DP2, OPCODE_DP2A,
  OPCODE_DP3, OPCODE_DP4, OPCODE_DPH, OPCODE_DST,
  OPCODE_ELSE, OPCODE_END, OPCODE_ENDIF, OPCODE_ENDLOOP,
  OPCODE_ENDSUB, OPCODE_EX2, OPCODE_EXP, OPCODE_FLR,
  OPCODE_FRC, OPCODE_IF, OPCODE_KIL, OPCODE_KIL_NV,
  OPCODE_LG2, OPCODE_LIT, OPCODE_LOG, OPCODE_LRP,
  OPCODE_MAD, OPCODE_MAX, OPCODE_MIN, OPCODE_MOV,
  OPCODE_MUL, OPCODE_NOISE1, OPCODE_NOISE2, OPCODE_NOISE3,
  OPCODE_NOISE4, OPCODE_NOT, OPCODE_NRM3, OPCODE_NRM4,
  OPCODE_OR, OPCODE_PK2H, OPCODE_PK2US, OPCODE_PK4B,
  OPCODE_PK4UB, OPCODE_POW, OPCODE_POPA, OPCODE_PRINT,
  OPCODE_PUSHA, OPCODE_RCC, OPCODE_RCP, OPCODE_RET,
  OPCODE_RFL, OPCODE_RSQ, OPCODE_SCS, OPCODE_SEQ,
  OPCODE_SFL, OPCODE_SGE, OPCODE_SGT, OPCODE_SIN,
  OPCODE_SLE, OPCODE_SLT, OPCODE_SNE, OPCODE_SSG,
  OPCODE_STR, OPCODE_SUB, OPCODE_SWZ, OPCODE_TEX,
  OPCODE_TXB, OPCODE_TXD, OPCODE_TXL, OPCODE_TXP,
  OPCODE_TXP_NV, OPCODE_TRUNC, OPCODE_UP2H, OPCODE_UP2US,
  OPCODE_UP4B, OPCODE_UP4UB, OPCODE_X2D, OPCODE_XOR,
  OPCODE_XPD, MAX_OPCODE
}

Functions

void _mesa_init_instructions (struct prog_instruction *inst, GLuint count)
struct prog_instruction_mesa_alloc_instructions (GLuint numInst)
struct prog_instruction_mesa_realloc_instructions (struct prog_instruction *oldInst, GLuint numOldInst, GLuint numNewInst)
struct prog_instruction_mesa_copy_instructions (struct prog_instruction *dest, const struct prog_instruction *src, GLuint n)
void _mesa_free_instructions (struct prog_instruction *inst, GLuint count)
GLuint _mesa_num_inst_src_regs (gl_inst_opcode opcode)
GLuint _mesa_num_inst_dst_regs (gl_inst_opcode opcode)
GLboolean _mesa_is_tex_instruction (gl_inst_opcode opcode)
const char_mesa_opcode_string (gl_inst_opcode opcode)

Detailed Description

Vertex/fragment program instruction datatypes and constants.

Author:
Brian Paul
Keith Whitwell
Ian Romanick <idr@us.ibm.com>

Definition in file prog_instruction.h.


Generated on Sun May 27 2012 04:59:16 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.