1 /*
2  * Copyright (c) 2002-2008 LWJGL Project
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in the
14  *   documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of 'LWJGL' nor the names of
17  *   its contributors may be used to endorse or promote products derived
18  *   from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 package org.lwjgl.opengl;
33 
34 import org.lwjgl.util.generator.*;
35 import org.lwjgl.util.generator.opengl.GLenum;
36 import org.lwjgl.util.generator.opengl.GLuint;
37 
38 import java.nio.*;
39 
40 public interface ATI_fragment_shader {
41 
42 	int GL_FRAGMENT_SHADER_ATI = 0x8920;
43 	int GL_REG_0_ATI = 0x8921;
44 	int GL_REG_1_ATI = 0x8922;
45 	int GL_REG_2_ATI = 0x8923;
46 	int GL_REG_3_ATI = 0x8924;
47 	int GL_REG_4_ATI = 0x8925;
48 	int GL_REG_5_ATI = 0x8926;
49 	int GL_REG_6_ATI = 0x8927;
50 	int GL_REG_7_ATI = 0x8928;
51 	int GL_REG_8_ATI = 0x8929;
52 	int GL_REG_9_ATI = 0x892A;
53 	int GL_REG_10_ATI = 0x892B;
54 	int GL_REG_11_ATI = 0x892C;
55 	int GL_REG_12_ATI = 0x892D;
56 	int GL_REG_13_ATI = 0x892E;
57 	int GL_REG_14_ATI = 0x892F;
58 	int GL_REG_15_ATI = 0x8930;
59 	int GL_REG_16_ATI = 0x8931;
60 	int GL_REG_17_ATI = 0x8932;
61 	int GL_REG_18_ATI = 0x8933;
62 	int GL_REG_19_ATI = 0x8934;
63 	int GL_REG_20_ATI = 0x8935;
64 	int GL_REG_21_ATI = 0x8936;
65 	int GL_REG_22_ATI = 0x8937;
66 	int GL_REG_23_ATI = 0x8938;
67 	int GL_REG_24_ATI = 0x8939;
68 	int GL_REG_25_ATI = 0x893A;
69 	int GL_REG_26_ATI = 0x893B;
70 	int GL_REG_27_ATI = 0x893C;
71 	int GL_REG_28_ATI = 0x893D;
72 	int GL_REG_29_ATI = 0x893E;
73 	int GL_REG_30_ATI = 0x893F;
74 	int GL_REG_31_ATI = 0x8940;
75 	int GL_CON_0_ATI = 0x8941;
76 	int GL_CON_1_ATI = 0x8942;
77 	int GL_CON_2_ATI = 0x8943;
78 	int GL_CON_3_ATI = 0x8944;
79 	int GL_CON_4_ATI = 0x8945;
80 	int GL_CON_5_ATI = 0x8946;
81 	int GL_CON_6_ATI = 0x8947;
82 	int GL_CON_7_ATI = 0x8948;
83 	int GL_CON_8_ATI = 0x8949;
84 	int GL_CON_9_ATI = 0x894A;
85 	int GL_CON_10_ATI = 0x894B;
86 	int GL_CON_11_ATI = 0x894C;
87 	int GL_CON_12_ATI = 0x894D;
88 	int GL_CON_13_ATI = 0x894E;
89 	int GL_CON_14_ATI = 0x894F;
90 	int GL_CON_15_ATI = 0x8950;
91 	int GL_CON_16_ATI = 0x8951;
92 	int GL_CON_17_ATI = 0x8952;
93 	int GL_CON_18_ATI = 0x8953;
94 	int GL_CON_19_ATI = 0x8954;
95 	int GL_CON_20_ATI = 0x8955;
96 	int GL_CON_21_ATI = 0x8956;
97 	int GL_CON_22_ATI = 0x8957;
98 	int GL_CON_23_ATI = 0x8958;
99 	int GL_CON_24_ATI = 0x8959;
100 	int GL_CON_25_ATI = 0x895A;
101 	int GL_CON_26_ATI = 0x895B;
102 	int GL_CON_27_ATI = 0x895C;
103 	int GL_CON_28_ATI = 0x895D;
104 	int GL_CON_29_ATI = 0x895E;
105 	int GL_CON_30_ATI = 0x895F;
106 	int GL_CON_31_ATI = 0x8960;
107 	int GL_MOV_ATI = 0x8961;
108 	int GL_ADD_ATI = 0x8963;
109 	int GL_MUL_ATI = 0x8964;
110 	int GL_SUB_ATI = 0x8965;
111 	int GL_DOT3_ATI = 0x8966;
112 	int GL_DOT4_ATI = 0x8967;
113 	int GL_MAD_ATI = 0x8968;
114 	int GL_LERP_ATI = 0x8969;
115 	int GL_CND_ATI = 0x896A;
116 	int GL_CND0_ATI = 0x896B;
117 	int GL_DOT2_ADD_ATI = 0x896C;
118 	int GL_SECONDARY_INTERPOLATOR_ATI = 0x896D;
119 	int GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E;
120 	int GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F;
121 	int GL_NUM_PASSES_ATI = 0x8970;
122 	int GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971;
123 	int GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972;
124 	int GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973;
125 	int GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974;
126 	int GL_COLOR_ALPHA_PAIRING_ATI = 0x8975;
127 	int GL_SWIZZLE_STR_ATI = 0x8976;
128 	int GL_SWIZZLE_STQ_ATI = 0x8977;
129 	int GL_SWIZZLE_STR_DR_ATI = 0x8978;
130 	int GL_SWIZZLE_STQ_DQ_ATI = 0x8979;
131 	int GL_SWIZZLE_STRQ_ATI = 0x897A;
132 	int GL_SWIZZLE_STRQ_DQ_ATI = 0x897B;
133 	int GL_RED_BIT_ATI = 0x00000001;
134 	int GL_GREEN_BIT_ATI = 0x00000002;
135 	int GL_BLUE_BIT_ATI = 0x00000004;
136 	int GL_2X_BIT_ATI = 0x00000001;
137 	int GL_4X_BIT_ATI = 0x00000002;
138 	int GL_8X_BIT_ATI = 0x00000004;
139 	int GL_HALF_BIT_ATI = 0x00000008;
140 	int GL_QUARTER_BIT_ATI = 0x00000010;
141 	int GL_EIGHTH_BIT_ATI = 0x00000020;
142 	int GL_SATURATE_BIT_ATI = 0x00000040;
143 	int GL_COMP_BIT_ATI = 0x00000002;
144 	int GL_NEGATE_BIT_ATI = 0x00000004;
145 	int GL_BIAS_BIT_ATI = 0x00000008;
146 
147 	@GLuint
glGenFragmentShadersATI(@Luint int range)148 	int glGenFragmentShadersATI(@GLuint int range);
149 
glBindFragmentShaderATI(@Luint int id)150 	void glBindFragmentShaderATI(@GLuint int id);
151 
glDeleteFragmentShaderATI(@Luint int id)152 	void glDeleteFragmentShaderATI(@GLuint int id);
153 
glBeginFragmentShaderATI()154 	void glBeginFragmentShaderATI();
155 
glEndFragmentShaderATI()156 	void glEndFragmentShaderATI();
157 
glPassTexCoordATI(@Luint int dst, @GLuint int coord, @GLenum int swizzle)158 	void glPassTexCoordATI(@GLuint int dst, @GLuint int coord, @GLenum int swizzle);
159 
glSampleMapATI(@Luint int dst, @GLuint int interp, @GLenum int swizzle)160 	void glSampleMapATI(@GLuint int dst, @GLuint int interp, @GLenum int swizzle);
161 
glColorFragmentOp1ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod)162 	void glColorFragmentOp1ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod);
163 
glColorFragmentOp2ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod)164 	void glColorFragmentOp2ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod);
165 
glColorFragmentOp3ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod, @GLuint int arg3, @GLuint int arg3Rep, @GLuint int arg3Mod)166 	void glColorFragmentOp3ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMask, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod, @GLuint int arg3, @GLuint int arg3Rep, @GLuint int arg3Mod);
167 
glAlphaFragmentOp1ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod)168 	void glAlphaFragmentOp1ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod);
169 
glAlphaFragmentOp2ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod)170 	void glAlphaFragmentOp2ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod);
171 
glAlphaFragmentOp3ATI(@Lenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod, @GLuint int arg3, @GLuint int arg3Rep, @GLuint int arg3Mod)172 	void glAlphaFragmentOp3ATI(@GLenum int op, @GLuint int dst, @GLuint int dstMod, @GLuint int arg1, @GLuint int arg1Rep, @GLuint int arg1Mod, @GLuint int arg2, @GLuint int arg2Rep, @GLuint int arg2Mod, @GLuint int arg3, @GLuint int arg3Rep, @GLuint int arg3Mod);
173 
174 	// TODO:is the @Check correct?
glSetFragmentShaderConstantATI(@Luint int dst, @Check(R) @Const FloatBuffer pfValue)175 	void glSetFragmentShaderConstantATI(@GLuint int dst, @Check("4") @Const FloatBuffer pfValue);
176 }
177