Lines Matching full:program
36 Notes on program parameters, etc.
43 PROGRAM_CONSTANT - indexes into program->Parameters, a known constant/literal
44 PROGRAM_STATE_VAR - indexes into program->Parameters, and may actually be:
46 + a pointer to a "program.local[k]" parameter, or
47 + a pointer to a "program.env[k]" parameter
49 Basically, all the program.local[] and program.env[] values will get mapped
51 having three separate program parameter arrays.
69 struct gl_program *program) in _mesa_parse_arb_fragment_program() argument
80 state.mem_ctx = program; in _mesa_parse_arb_fragment_program()
84 /* Error in the program. Just return. */ in _mesa_parse_arb_fragment_program()
88 ralloc_free(program->String); in _mesa_parse_arb_fragment_program()
93 program->String = prog.String; in _mesa_parse_arb_fragment_program()
94 program->arb.NumInstructions = prog.arb.NumInstructions; in _mesa_parse_arb_fragment_program()
95 program->arb.NumTemporaries = prog.arb.NumTemporaries; in _mesa_parse_arb_fragment_program()
96 program->arb.NumParameters = prog.arb.NumParameters; in _mesa_parse_arb_fragment_program()
97 program->arb.NumAttributes = prog.arb.NumAttributes; in _mesa_parse_arb_fragment_program()
98 program->arb.NumAddressRegs = prog.arb.NumAddressRegs; in _mesa_parse_arb_fragment_program()
99 program->arb.NumNativeInstructions = prog.arb.NumNativeInstructions; in _mesa_parse_arb_fragment_program()
100 program->arb.NumNativeTemporaries = prog.arb.NumNativeTemporaries; in _mesa_parse_arb_fragment_program()
101 program->arb.NumNativeParameters = prog.arb.NumNativeParameters; in _mesa_parse_arb_fragment_program()
102 program->arb.NumNativeAttributes = prog.arb.NumNativeAttributes; in _mesa_parse_arb_fragment_program()
103 program->arb.NumNativeAddressRegs = prog.arb.NumNativeAddressRegs; in _mesa_parse_arb_fragment_program()
104 program->arb.NumAluInstructions = prog.arb.NumAluInstructions; in _mesa_parse_arb_fragment_program()
105 program->arb.NumTexInstructions = prog.arb.NumTexInstructions; in _mesa_parse_arb_fragment_program()
106 program->arb.NumTexIndirections = prog.arb.NumTexIndirections; in _mesa_parse_arb_fragment_program()
107 program->arb.NumNativeAluInstructions = prog.arb.NumAluInstructions; in _mesa_parse_arb_fragment_program()
108 program->arb.NumNativeTexInstructions = prog.arb.NumTexInstructions; in _mesa_parse_arb_fragment_program()
109 program->arb.NumNativeTexIndirections = prog.arb.NumTexIndirections; in _mesa_parse_arb_fragment_program()
110 program->info.inputs_read = prog.info.inputs_read; in _mesa_parse_arb_fragment_program()
111 program->info.outputs_written = prog.info.outputs_written; in _mesa_parse_arb_fragment_program()
112 program->arb.IndirectRegisterFiles = prog.arb.IndirectRegisterFiles; in _mesa_parse_arb_fragment_program()
114 program->TexturesUsed[i] = prog.TexturesUsed[i]; in _mesa_parse_arb_fragment_program()
116 program->SamplersUsed |= (1 << i); in _mesa_parse_arb_fragment_program()
118 program->ShadowSamplers = prog.ShadowSamplers; in _mesa_parse_arb_fragment_program()
119 program->info.fs.origin_upper_left = state.option.OriginUpperLeft; in _mesa_parse_arb_fragment_program()
120 program->info.fs.pixel_center_integer = state.option.PixelCenterInteger; in _mesa_parse_arb_fragment_program()
122 program->info.fs.uses_discard = state.fragment.UsesKill; in _mesa_parse_arb_fragment_program()
123 program->arb.Fog = state.option.Fog; in _mesa_parse_arb_fragment_program()
125 ralloc_free(program->arb.Instructions); in _mesa_parse_arb_fragment_program()
126 program->arb.Instructions = prog.arb.Instructions; in _mesa_parse_arb_fragment_program()
128 if (program->Parameters) in _mesa_parse_arb_fragment_program()
129 _mesa_free_parameter_list(program->Parameters); in _mesa_parse_arb_fragment_program()
130 program->Parameters = prog.Parameters; in _mesa_parse_arb_fragment_program()
133 printf("____________Fragment program %u ________\n", program->Id); in _mesa_parse_arb_fragment_program()
134 _mesa_print_program(program); in _mesa_parse_arb_fragment_program()
141 * Parse the vertex program string. If success, update the given
142 * vertex_program object with the new program. Else, leave the vertex_program
148 struct gl_program *program) in _mesa_parse_arb_vertex_program() argument
158 state.mem_ctx = program; in _mesa_parse_arb_vertex_program()
162 _mesa_error(ctx, GL_INVALID_OPERATION, "glProgramString(bad program)"); in _mesa_parse_arb_vertex_program()
166 ralloc_free(program->String); in _mesa_parse_arb_vertex_program()
171 program->String = prog.String; in _mesa_parse_arb_vertex_program()
172 program->arb.NumInstructions = prog.arb.NumInstructions; in _mesa_parse_arb_vertex_program()
173 program->arb.NumTemporaries = prog.arb.NumTemporaries; in _mesa_parse_arb_vertex_program()
174 program->arb.NumParameters = prog.arb.NumParameters; in _mesa_parse_arb_vertex_program()
175 program->arb.NumAttributes = prog.arb.NumAttributes; in _mesa_parse_arb_vertex_program()
176 program->arb.NumAddressRegs = prog.arb.NumAddressRegs; in _mesa_parse_arb_vertex_program()
177 program->arb.NumNativeInstructions = prog.arb.NumNativeInstructions; in _mesa_parse_arb_vertex_program()
178 program->arb.NumNativeTemporaries = prog.arb.NumNativeTemporaries; in _mesa_parse_arb_vertex_program()
179 program->arb.NumNativeParameters = prog.arb.NumNativeParameters; in _mesa_parse_arb_vertex_program()
180 program->arb.NumNativeAttributes = prog.arb.NumNativeAttributes; in _mesa_parse_arb_vertex_program()
181 program->arb.NumNativeAddressRegs = prog.arb.NumNativeAddressRegs; in _mesa_parse_arb_vertex_program()
182 program->info.inputs_read = prog.info.inputs_read; in _mesa_parse_arb_vertex_program()
183 program->info.outputs_written = prog.info.outputs_written; in _mesa_parse_arb_vertex_program()
184 program->arb.IndirectRegisterFiles = prog.arb.IndirectRegisterFiles; in _mesa_parse_arb_vertex_program()
185 program->arb.IsPositionInvariant = (state.option.PositionInvariant) in _mesa_parse_arb_vertex_program()
188 ralloc_free(program->arb.Instructions); in _mesa_parse_arb_vertex_program()
189 program->arb.Instructions = prog.arb.Instructions; in _mesa_parse_arb_vertex_program()
191 if (program->Parameters) in _mesa_parse_arb_vertex_program()
192 _mesa_free_parameter_list(program->Parameters); in _mesa_parse_arb_vertex_program()
193 program->Parameters = prog.Parameters; in _mesa_parse_arb_vertex_program()
196 printf("____________Vertex program %u __________\n", program->Id); in _mesa_parse_arb_vertex_program()
197 _mesa_print_program(program); in _mesa_parse_arb_vertex_program()