Lines Matching refs:program

34 Notes on program parameters, etc.
41 PROGRAM_CONSTANT - indexes into program->Parameters, a known constant/literal
42 PROGRAM_STATE_VAR - indexes into program->Parameters, and may actually be:
44 + a pointer to a "program.local[k]" parameter, or
45 + a pointer to a "program.env[k]" parameter
47 Basically, all the program.local[] and program.env[] values will get mapped
49 having three separate program parameter arrays.
67 struct gl_program *program)
78 state.mem_ctx = program;
82 /* Error in the program. Just return. */
86 ralloc_free(program->String);
91 program->String = prog.String;
92 program->arb.NumInstructions = prog.arb.NumInstructions;
93 program->arb.NumTemporaries = prog.arb.NumTemporaries;
94 program->arb.NumParameters = prog.arb.NumParameters;
95 program->arb.NumAttributes = prog.arb.NumAttributes;
96 program->arb.NumAddressRegs = prog.arb.NumAddressRegs;
97 program->arb.NumNativeInstructions = prog.arb.NumNativeInstructions;
98 program->arb.NumNativeTemporaries = prog.arb.NumNativeTemporaries;
99 program->arb.NumNativeParameters = prog.arb.NumNativeParameters;
100 program->arb.NumNativeAttributes = prog.arb.NumNativeAttributes;
101 program->arb.NumNativeAddressRegs = prog.arb.NumNativeAddressRegs;
102 program->arb.NumAluInstructions = prog.arb.NumAluInstructions;
103 program->arb.NumTexInstructions = prog.arb.NumTexInstructions;
104 program->arb.NumTexIndirections = prog.arb.NumTexIndirections;
105 program->arb.NumNativeAluInstructions = prog.arb.NumAluInstructions;
106 program->arb.NumNativeTexInstructions = prog.arb.NumTexInstructions;
107 program->arb.NumNativeTexIndirections = prog.arb.NumTexIndirections;
108 program->info.inputs_read = prog.info.inputs_read;
109 program->info.outputs_written = prog.info.outputs_written;
110 program->arb.IndirectRegisterFiles = prog.arb.IndirectRegisterFiles;
112 program->TexturesUsed[i] = prog.TexturesUsed[i];
114 program->SamplersUsed |= (1 << i);
116 program->ShadowSamplers = prog.ShadowSamplers;
117 program->info.fs.origin_upper_left = state.option.OriginUpperLeft;
118 program->info.fs.pixel_center_integer = state.option.PixelCenterInteger;
120 program->info.fs.uses_discard = state.fragment.UsesKill;
122 ralloc_free(program->arb.Instructions);
123 program->arb.Instructions = prog.arb.Instructions;
125 if (program->Parameters)
126 _mesa_free_parameter_list(program->Parameters);
127 program->Parameters = prog.Parameters;
129 /* Append fog instructions now if the program has "OPTION ARB_fog_exp"
142 _mesa_append_fog_code(ctx, program, fog_modes[state.option.Fog], GL_TRUE);
146 printf("____________Fragment program %u ________\n", program->Id);
147 _mesa_print_program(&program->Base);
154 * Parse the vertex program string. If success, update the given
155 * vertex_program object with the new program. Else, leave the vertex_program
161 struct gl_program *program)
171 state.mem_ctx = program;
175 _mesa_error(ctx, GL_INVALID_OPERATION, "glProgramString(bad program)");
179 ralloc_free(program->String);
184 program->String = prog.String;
185 program->arb.NumInstructions = prog.arb.NumInstructions;
186 program->arb.NumTemporaries = prog.arb.NumTemporaries;
187 program->arb.NumParameters = prog.arb.NumParameters;
188 program->arb.NumAttributes = prog.arb.NumAttributes;
189 program->arb.NumAddressRegs = prog.arb.NumAddressRegs;
190 program->arb.NumNativeInstructions = prog.arb.NumNativeInstructions;
191 program->arb.NumNativeTemporaries = prog.arb.NumNativeTemporaries;
192 program->arb.NumNativeParameters = prog.arb.NumNativeParameters;
193 program->arb.NumNativeAttributes = prog.arb.NumNativeAttributes;
194 program->arb.NumNativeAddressRegs = prog.arb.NumNativeAddressRegs;
195 program->info.inputs_read = prog.info.inputs_read;
196 program->info.outputs_written = prog.info.outputs_written;
197 program->arb.IndirectRegisterFiles = prog.arb.IndirectRegisterFiles;
198 program->arb.IsPositionInvariant = (state.option.PositionInvariant)
201 ralloc_free(program->arb.Instructions);
202 program->arb.Instructions = prog.arb.Instructions;
204 if (program->Parameters)
205 _mesa_free_parameter_list(program->Parameters);
206 program->Parameters = prog.Parameters;
209 printf("____________Vertex program %u __________\n", program->Id);
210 _mesa_print_program(program);