Lines Matching defs:program

34 Notes on program parameters, etc.
42 PROGRAM_CONSTANT - indexes into program->Parameters, a known constant/literal
43 PROGRAM_STATE_VAR - indexes into program->Parameters, and may actually be:
45 + a pointer to a "program.local[k]" parameter, or
46 + a pointer to a "program.env[k]" parameter
48 Basically, all the program.local[] and program.env[] values will get mapped
50 having three separate program parameter arrays.
69 struct gl_fragment_program *program)
83 /* Error in the program. Just return. */
87 if (program->Base.String != NULL)
88 free(program->Base.String);
93 program->Base.String = prog.String;
94 program->Base.NumInstructions = prog.NumInstructions;
95 program->Base.NumTemporaries = prog.NumTemporaries;
96 program->Base.NumParameters = prog.NumParameters;
97 program->Base.NumAttributes = prog.NumAttributes;
98 program->Base.NumAddressRegs = prog.NumAddressRegs;
99 program->Base.NumNativeInstructions = prog.NumNativeInstructions;
100 program->Base.NumNativeTemporaries = prog.NumNativeTemporaries;
101 program->Base.NumNativeParameters = prog.NumNativeParameters;
102 program->Base.NumNativeAttributes = prog.NumNativeAttributes;
103 program->Base.NumNativeAddressRegs = prog.NumNativeAddressRegs;
104 program->Base.NumAluInstructions = prog.NumAluInstructions;
105 program->Base.NumTexInstructions = prog.NumTexInstructions;
106 program->Base.NumTexIndirections = prog.NumTexIndirections;
107 program->Base.NumNativeAluInstructions = prog.NumAluInstructions;
108 program->Base.NumNativeTexInstructions = prog.NumTexInstructions;
109 program->Base.NumNativeTexIndirections = prog.NumTexIndirections;
110 program->Base.InputsRead = prog.InputsRead;
111 program->Base.OutputsWritten = prog.OutputsWritten;
112 program->Base.IndirectRegisterFiles = prog.IndirectRegisterFiles;
114 program->Base.TexturesUsed[i] = prog.TexturesUsed[i];
116 program->Base.SamplersUsed |= (1 << i);
118 program->Base.ShadowSamplers = prog.ShadowSamplers;
119 program->OriginUpperLeft = state.option.OriginUpperLeft;
120 program->PixelCenterInteger = state.option.PixelCenterInteger;
122 program->UsesKill = state.fragment.UsesKill;
123 program->UsesDFdy = state.fragment.UsesDFdy;
125 if (program->Base.Instructions)
126 free(program->Base.Instructions);
127 program->Base.Instructions = prog.Instructions;
129 if (program->Base.Parameters)
130 _mesa_free_parameter_list(program->Base.Parameters);
131 program->Base.Parameters = prog.Parameters;
133 /* Append fog instructions now if the program has "OPTION ARB_fog_exp"
146 _mesa_append_fog_code(ctx, program, fog_modes[state.option.Fog], GL_TRUE);
150 printf("____________Fragment program %u ________\n", program->Base.Id);
151 _mesa_print_program(&program->Base);
158 * Parse the vertex program string. If success, update the given
159 * vertex_program object with the new program. Else, leave the vertex_program
165 struct gl_vertex_program *program)
178 _mesa_error(ctx, GL_INVALID_OPERATION, "glProgramString(bad program)");
182 if (program->Base.String != NULL)
183 free(program->Base.String);
188 program->Base.String = prog.String;
189 program->Base.NumInstructions = prog.NumInstructions;
190 program->Base.NumTemporaries = prog.NumTemporaries;
191 program->Base.NumParameters = prog.NumParameters;
192 program->Base.NumAttributes = prog.NumAttributes;
193 program->Base.NumAddressRegs = prog.NumAddressRegs;
194 program->Base.NumNativeInstructions = prog.NumNativeInstructions;
195 program->Base.NumNativeTemporaries = prog.NumNativeTemporaries;
196 program->Base.NumNativeParameters = prog.NumNativeParameters;
197 program->Base.NumNativeAttributes = prog.NumNativeAttributes;
198 program->Base.NumNativeAddressRegs = prog.NumNativeAddressRegs;
199 program->Base.InputsRead = prog.InputsRead;
200 program->Base.OutputsWritten = prog.OutputsWritten;
201 program->Base.IndirectRegisterFiles = prog.IndirectRegisterFiles;
202 program->IsPositionInvariant = (state.option.PositionInvariant)
205 if (program->Base.Instructions)
206 free(program->Base.Instructions);
207 program->Base.Instructions = prog.Instructions;
209 if (program->Base.Parameters)
210 _mesa_free_parameter_list(program->Base.Parameters);
211 program->Base.Parameters = prog.Parameters;
214 printf("____________Vertex program %u __________\n", program->Base.Id);
215 _mesa_print_program(&program->Base);