Age | Commit message (Collapse) | Author |
|
possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE.
|
|
|
|
Fix mem leaks in _mesa_TexEnvProgramCacheDestroy().
Check if ctx->Driver.BindProgram is non-null before calling.
s/unsigned/GLuint/
Use MAX_INSTRUCTIONS instead of magic 100, check program length after it's made.
Use _mesa_init_instruction() instead of _mesa_memset().
|
|
arbprogparse.c and remove arbvertparse.[ch] and arbfragparse.[ch].
Clean up quite a bit of the arb parsing code.
Rewrite parser extension code to avoid a mess of string operations every
time the parser was used.
|
|
|
|
Instructions, InputsRead, OutputsWritten, and Parameters.
Also, added debug functions: _mesa_print_instruction(),
_mesa_print_program_parameters() and revamp _mesa_print_program().
|
|
|
|
Based on patch by Ian (#4967) but also unify instruction opcodes.
|
|
|
|
- Renumber VERT_RESULT_* values so that they match the
numbers of the corresponding FRAG_ATTRIB_ values.
- Add ctx->VertexProgram._Current and FragmentProgram._Current
values which point to either the current client-supplied
program if enabled, or otherwise to the current mesa-internal
program. Thus this program is always the correct one for
the current state, providing that the mesa flags to turn on
automatic generation are enabled.
- Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c
and t_vp_build.c so that the driver knows when the generated
program changes. This is cleaner than trying to code all the
possible _NEW_* flags into the driver, and more precise as well.
- Add a UsesKill flag to identify fragment programs with that
instruction, as these can require special treatment.
- Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.
|
|
temporaries, parameters, etc).
glGetProgramivARB() now returns all the right things.
Updated i915 and r300 code to initialize program native limits and
current program's native instruction/temporary/etc counts.
|
|
|
|
|
|
|
|
with GLboolean in a few places.
|
|
Make sure oC alpha is populated when separate_specular enabled.
|
|
to free the key when entry was already found (presumably a common case).
|
|
|
|
|
|
|
|
generated somewhat, with all TEX instructions now emitted at the head
of the program.
|
|
Add Ben Skegg's ATI_texture_env_combine3 support.
|
|
|
|
with Ben Skeggs.
|
|
|
|
disassembling.
|
|
Rename temp_flag, tex_temp_flag to make this clearer.
Respect ctx->Const.MaxFragmentProgramTemps limit.
|
|
generated program differs from the previous one.
|
|
generated program differs from the previous one.
|
|
|
|
notice when it changes.
|
|
|
|
as this also constitutes a texture indirection. Reported by Ben
Skeggs.
|
|
|
|
which is automatically generated to match the current texture environment
state. Introduces a new value ctx->FragmentProgram._Active which is
true when either _Enabled is true or there is such a fragment program
ready to run.
To test out on a driver running the software rasterizer, set
MESA_TEX_PROG=t in the environment. It goes without saying that performance
is lower for the software rasterizer in this mode.
|
|
|