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

atifragshader.h
Go to the documentation of this file.
00001 /*
00002  * Mesa 3-D graphics library ATI Fragment Shader
00003  *
00004  * Copyright (C) 2004  David Airlie   All Rights Reserved.
00005  *
00006  */
00007 
00008 #ifndef ATIFRAGSHADER_H
00009 #define ATIFRAGSHADER_H
00010 
00011 #define MAX_NUM_INSTRUCTIONS_PER_PASS_ATI 8
00012 #define MAX_NUM_PASSES_ATI                2
00013 #define MAX_NUM_FRAGMENT_REGISTERS_ATI    6
00014 
00015 struct ati_fs_opcode_st
00016 {
00017    GLenum opcode;
00018    GLint num_src_args;
00019 };
00020 
00021 extern struct ati_fs_opcode_st ati_fs_opcodes[];
00022 
00023 struct atifragshader_src_register
00024 {
00025    GLuint Index;
00026    GLuint argRep;
00027    GLuint argMod;
00028 };
00029 
00030 struct atifragshader_dst_register
00031 {
00032    GLuint Index;
00033    GLuint dstMod;
00034    GLuint dstMask;
00035 };
00036 
00037 #define ATI_FRAGMENT_SHADER_COLOR_OP 0
00038 #define ATI_FRAGMENT_SHADER_ALPHA_OP 1
00039 #define ATI_FRAGMENT_SHADER_PASS_OP  2
00040 #define ATI_FRAGMENT_SHADER_SAMPLE_OP 3
00041 
00042 /* two opcodes - one for color/one for alpha */
00043 /* up to three source registers for most ops */
00044 struct atifs_instruction
00045 {
00046    GLenum Opcode[2];
00047    GLuint ArgCount[2];
00048    struct atifragshader_src_register SrcReg[2][3];
00049    struct atifragshader_dst_register DstReg[2];
00050 };
00051 
00052 /* different from arithmetic shader instruction */
00053 struct atifs_setupinst
00054 {
00055    GLenum Opcode;
00056    GLuint src;
00057    GLenum swizzle;
00058 };
00059 
00060 
00061 extern struct ati_fragment_shader *
00062 _mesa_new_ati_fragment_shader(GLcontext *ctx, GLuint id);
00063 
00064 extern void
00065 _mesa_delete_ati_fragment_shader(GLcontext *ctx,
00066                                  struct ati_fragment_shader *s);
00067 
00068 
00069 extern GLuint GLAPIENTRY _mesa_GenFragmentShadersATI(GLuint range);
00070 
00071 extern void GLAPIENTRY _mesa_BindFragmentShaderATI(GLuint id);
00072 
00073 extern void GLAPIENTRY _mesa_DeleteFragmentShaderATI(GLuint id);
00074 
00075 extern void GLAPIENTRY _mesa_BeginFragmentShaderATI(void);
00076 
00077 extern void GLAPIENTRY _mesa_EndFragmentShaderATI(void);
00078 
00079 extern void GLAPIENTRY
00080 _mesa_PassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle);
00081 
00082 extern void GLAPIENTRY
00083 _mesa_SampleMapATI(GLuint dst, GLuint interp, GLenum swizzle);
00084 
00085 extern void GLAPIENTRY
00086 _mesa_ColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask,
00087               GLuint dstMod, GLuint arg1, GLuint arg1Rep,
00088               GLuint arg1Mod);
00089 
00090 extern void GLAPIENTRY
00091 _mesa_ColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask,
00092               GLuint dstMod, GLuint arg1, GLuint arg1Rep,
00093               GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
00094               GLuint arg2Mod);
00095 
00096 extern void GLAPIENTRY
00097 _mesa_ColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask,
00098               GLuint dstMod, GLuint arg1, GLuint arg1Rep,
00099               GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
00100               GLuint arg2Mod, GLuint arg3, GLuint arg3Rep,
00101               GLuint arg3Mod);
00102 
00103 extern void GLAPIENTRY
00104 _mesa_AlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
00105               GLuint arg1Rep, GLuint arg1Mod);
00106 
00107 extern void GLAPIENTRY
00108 _mesa_AlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
00109               GLuint arg1Rep, GLuint arg1Mod, GLuint arg2,
00110               GLuint arg2Rep, GLuint arg2Mod);
00111 
00112 extern void GLAPIENTRY
00113 _mesa_AlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
00114               GLuint arg1Rep, GLuint arg1Mod, GLuint arg2,
00115               GLuint arg2Rep, GLuint arg2Mod, GLuint arg3,
00116               GLuint arg3Rep, GLuint arg3Mod);
00117 
00118 extern void GLAPIENTRY
00119 _mesa_SetFragmentShaderConstantATI(GLuint dst, const GLfloat * value);
00120 
00121 #endif

Generated on Thu May 24 2012 04:20:48 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.