Age | Commit message (Collapse) | Author | |
---|---|---|---|
2007-10-31 | alloc caches for fixed-func vertex/fragment progs | Brian | |
2007-10-30 | fix InputsRead bug in _mesa_combine_programs() | Brian | |
2007-10-30 | make _mesa_combine_programs() params const | Brian | |
2007-10-30 | Added _mesa_combine_programs() for concatenating two programs. | Brian | |
2007-10-26 | Re-implement GLSL texture sampler variables. | Brian | |
GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime. | |||
2007-07-24 | call ctx->Driver.NewProgram() instead of _mesa_new_program() | Brian | |
2007-04-21 | fix instruction comment code | Brian | |
2007-03-24 | free prog->Attributes in _mesa_delete_program() | Brian | |
2007-03-22 | use _mesa_copy_instructions() | Brian | |
2007-02-09 | move GL_MESA_program_debug funcs to prog_debug.c | Brian | |
2007-01-09 | Implement vertex attribute binding. | Brian | |
Users can set explicit binding with glBindAttribLocation(), otherwise the linker will allocate generic attribute slots. | |||
2007-01-09 | Moved NumTexInstructions, NumTexIndirections, etc. into gl_program since | Brian | |
they can now apply to vertex programs. | |||
2007-01-04 | move TexturesUsed[] into gl_program since vertex programs/shaders can use ↵ | Brian | |
textures nowadays | |||
2006-12-19 | check for null Parameters ptr in _mesa_clone_program() | Brian | |
2006-12-14 | Move many functions into new files. | Brian | |
2006-12-14 | New functions for cloning programs and parameter lists. | Brian | |
2006-12-13 | Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes. | Brian | |
2006-11-23 | fix several program-related bugs (bug 9136) | Brian Paul | |
2006-11-17 | add STATE_INTERNAL_DRIVER, etc (Rune Petersen) | Brian Paul | |
2006-11-16 | disable yesterday's _mesa_add_named_constant() change for now | Brian Paul | |
2006-11-15 | Add a size parameter to _mesa_add_unnamed_constant() and | Brian Paul | |
_mesa_add_named_constant() to indicate vector size (1, 2, 3 or 4). Always 4 for now... | |||
2006-11-15 | Add new _mesa_lookup_parameter_constant() to search for a GLfloat4 constant | Brian Paul | |
in a parameter list. Use it in _mesa_add_named_constant() and _mesa_add_unnamed_constant() to avoid duplication of identical constants. | |||
2006-11-02 | Rename _mesa_IsProgram() to _mesa_IsProgramARB() to avoid collision with the | Brian Paul | |
OpenGL 2.0 function of the same name. | |||
2006-10-31 | minor clean-ups, simplifications and new comments | Brian Paul | |
2006-10-30 | Move gl_vertex_program_machine struct out of mtypes.h and put into nvvertexec.h. | Brian Paul | |
Massage nvvertexec.c code to work more like s_nvfragprog.c - another step toward unifying vertex/fragment program execution. | |||
2006-10-29 | Change _mesa_init_instruction() to initialize an array of instructions. | Brian Paul | |
2006-10-28 | special case END in _mesa_print_instruction() | Brian Paul | |
2006-10-10 | a step toward moving run-time vertex program state out of GLcontext | Brian Paul | |
2006-10-10 | Move the fp_machine struct into s_nvfragmprog.c since (except for program | Brian Paul | |
debug) it's only used there. | |||
2006-09-20 | Add a new internal program parameter value STATE_TEXRECT_SCALE which | Keith Whitwell | |
provides 1/width and 1/height of the active texture, useful for implementing ARB_texture_rectangle support on hardware which only supports ARB_npot-style texturing. | |||
2006-09-20 | Export _mesa_print_alu_instruction() to allow drivers to roll their | Keith Whitwell | |
own debug code for programs with driver-private opcodes. Remove redundant loop in _mesa_num_inst_src_regs(). | |||
2006-08-25 | Free vertex program TnlData, if any. Fixes a mem leak. | Brian Paul | |
2006-08-25 | Rearrange glBindProgram() code to do all error checking before changing | Brian Paul | |
the binding. Prevent a potential dangling pointer error. SF Bug 1544507. | |||
2006-08-25 | added _mesa_alloc_instructions() utility function | Brian Paul | |
2006-08-24 | Cg tries to bind NV fragment programs to the GL_FRAGMENT_PROGRAM_ARB target | Brian Paul | |
with glBindProgramARB(). I guess the GL_ARB_fragment_program specification allows that, but Mesa didn't. Relaxed the check with a new predicate function: compatible_program_targets(). | |||
2006-08-24 | Added _mesa_realloc_instructions() utility function. | Brian Paul | |
Fixed/updated comments for parameter list functions. | |||
2006-08-23 | Added _mesa_lookup_program() and _mesa_lookup_bufferobj() functions to avoid | Brian Paul | |
a lot of casting elsewhere. Use _mesa_lookup_texture() in tdfx driver, use _mesa_lookup_bufferobj() in r300 driver. | |||
2006-07-20 | Some structure renaming. Prefix vertex/fragment-related structs with | Brian Paul | |
"gl_" to match other structs. | |||
2006-05-24 | Roll _mesa_free_parameters() into calling function (the only caller). | Brian Paul | |
Replace assert(0) with _mesa_warning(). Use new _mesa_align_realloc() function. New comments, clean-ups. | |||
2006-05-24 | fix a small memory leak in _mesa_add_state_reference() | Brian Paul | |
2006-03-03 | Use standard ARB names instead of vendor-specific NV names for the ↵ | Roland Scheidegger | |
ARB/NV_vertex_program enums in common state handling code, and update comments accordingly. Change some slightly confusing code which gave the impression GL_VERTEX_PROGRAM_ARB and GL_VERTEX_PROGRAM_NV enums were different. | |||
2006-03-01 | Fix glGet with enums which are used not only in NV_vertex_program, but other ↵ | Roland Scheidegger | |
extensions too (ARB_vertex_program, ARB_fragment_program, NV_fragment_program), if no support for NV_vertex_program is present. While here, fix return value if enum is used which is not supported by the exposed extensions (GL_INVALID_ENUM instead of GL_INVALID_VALUE). Fix some compile-time #ifs depending on NV_vertex/fragment_program which should also be dependant on ARB_vertex/fragment_program. See bug #6070 | |||
2005-12-06 | C++ fixes, mostly casts (Stephane Conversy) | Brian Paul | |
2005-11-22 | track state flags which might invalidate parameter lists | Keith Whitwell | |
2005-11-20 | move _mesa_init_instruction() to program.c | Brian Paul | |
2005-11-20 | Make Saturate a 2-bit field again, renamed to SaturateMode with three | Brian Paul | |
possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE. | |||
2005-11-19 | No longer derive 'ati_fragment_shader' from 'program' class. Only the | Brian Paul | |
program->Id and program->RefCount fields were used and ATI fragment shaders didn't have too much in common with ARB/NV vertex/fragment programs anyway. | |||
2005-11-12 | Improve _mesa_print_program(). | Brian Paul | |
Added make_state_string() to produce a string from a GL state vector. | |||
2005-11-12 | Move stuff common to vertex/fragment_program into the base class, including: | Brian Paul | |
Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program(). | |||
2005-11-08 | This patch adds the missing NV_vertex_program2 and NV_vertex_program3 | Ian Romanick | |
instructions to the various internal tables. It does not add support for them to the parser nor does it add support for them to the program interpreter. It also corrects some errors in the comments in program_instruction.h. This patch breaks the instruction union in t_vb_arbprogram.h. The opcode field in that union was only 6 bits. When there were only 59+3 instructions that worked fine. However, this patch increases the base instruction count to 69. This requires 7 bits. The problem is that increasing the opcode width to 7 bits increases the size of instruction::rsw to 33 bits. I've increased the size of the union to 64-bit, but this is just a temporary hack (and probably breaks the build on some systems). |