summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/program.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: set point stateBrian Paul2008-08-121-0/+4
|
* mesa: Prefix main includes with dir to avoid conflicts.José Fonseca2008-07-241-3/+3
| | | | | Some of the headers in src/mesa/main have pretty common names which easily conflict with third-party code, e.g. config.h
* mesa: refactor: move _mesa_Bind/Gen/DeleteProgram() to arbprogram.cBrian2008-07-211-208/+1
| | | | No API-level functions now in program.c.
* mesa: Use appropriate unsigned/signed, float/integer types.José Fonseca2008-06-241-1/+1
|
* fix tempReg test in _mesa_combine_programs()Brian Paul2008-05-191-1/+1
|
* fix some additional program refcounting bugsBrian Paul2008-05-141-3/+2
| | | | cherry-picked from master
* gallium: implement full reference counting for vertex/fragment programsBrian Paul2008-05-071-35/+68
| | | | | | | | Use _mesa_reference_vert/fragprog() wherever we assign program pointers. Fixes a memory corruption bug found with glean/api2 test. Another memory bug involving shaders yet to be fixed... Picked from gallium-0.1
* mesa: added _mesa_insert_instructions()Brian2008-04-071-10/+50
| | | | Also, use new _mesa_free_instructions() in a few places.
* gallium: make sure to set the SamplersUsed field for bitmap/drawpixels shadersBrian Paul2008-04-041-0/+2
| | | | | Also, make sure that field is copied/updated in the program clone and combine functions. Without this we weren't getting SAMP declarations in the TGSI shaders.
* mesa: fix some issues in _mesa_combine_programs()Brian Paul2008-03-251-2/+21
| | | | | | Use a temporay register to connect outputs of first program to inputs of second program. Also, fix bug in replace_registers(): didn't search/replace DstReg.
* use ctx->Driver.DeleteProgram() in a few more placesBrian2008-03-221-1/+1
|
* copy UsesKill state in _mesa_combine_programs()Brian2008-01-161-0/+7
|
* free program cachesBrian2008-01-011-0/+2
|
* alloc caches for fixed-func vertex/fragment progsBrian2007-10-311-0/+4
|
* fix InputsRead bug in _mesa_combine_programs()Brian2007-10-301-2/+6
|
* make _mesa_combine_programs() params constBrian2007-10-301-1/+2
|
* Added _mesa_combine_programs() for concatenating two programs.Brian2007-10-301-0/+149
|
* Re-implement GLSL texture sampler variables.Brian2007-10-261-0/+5
| | | | | | | | | | 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.
* call ctx->Driver.NewProgram() instead of _mesa_new_program()Brian2007-07-241-1/+1
|
* fix instruction comment codeBrian2007-04-211-0/+2
|
* free prog->Attributes in _mesa_delete_program()Brian2007-03-241-1/+3
|
* use _mesa_copy_instructions()Brian2007-03-221-2/+2
|
* move GL_MESA_program_debug funcs to prog_debug.cBrian2007-02-091-246/+4
|
* Implement vertex attribute binding.Brian2007-01-091-0/+2
| | | | | Users can set explicit binding with glBindAttribLocation(), otherwise the linker will allocate generic attribute slots.
* Moved NumTexInstructions, NumTexIndirections, etc. into gl_program sinceBrian2007-01-091-6/+6
| | | | they can now apply to vertex programs.
* move TexturesUsed[] into gl_program since vertex programs/shaders can use ↵Brian2007-01-041-1/+2
| | | | textures nowadays
* check for null Parameters ptr in _mesa_clone_program()Brian2006-12-191-2/+4
|
* Move many functions into new files.Brian2006-12-141-1652/+4
|
* New functions for cloning programs and parameter lists.Brian2006-12-141-10/+118
|
* Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes.Brian2006-12-131-81/+191
|
* fix several program-related bugs (bug 9136)Brian Paul2006-11-231-0/+4
|
* add STATE_INTERNAL_DRIVER, etc (Rune Petersen)Brian Paul2006-11-171-3/+7
|
* disable yesterday's _mesa_add_named_constant() change for nowBrian Paul2006-11-161-0/+2
|
* Add a size parameter to _mesa_add_unnamed_constant() andBrian Paul2006-11-151-2/+5
| | | | | _mesa_add_named_constant() to indicate vector size (1, 2, 3 or 4). Always 4 for now...
* Add new _mesa_lookup_parameter_constant() to search for a GLfloat4 constantBrian Paul2006-11-151-11/+81
| | | | | | in a parameter list. Use it in _mesa_add_named_constant() and _mesa_add_unnamed_constant() to avoid duplication of identical constants.
* Rename _mesa_IsProgram() to _mesa_IsProgramARB() to avoid collision with theBrian Paul2006-11-021-24/+0
| | | | OpenGL 2.0 function of the same name.
* minor clean-ups, simplifications and new commentsBrian Paul2006-10-311-26/+21
|
* Move gl_vertex_program_machine struct out of mtypes.h and put into nvvertexec.h.Brian Paul2006-10-301-3/+8
| | | | | Massage nvvertexec.c code to work more like s_nvfragprog.c - another step toward unifying vertex/fragment program execution.
* Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul2006-10-291-17/+23
|
* special case END in _mesa_print_instruction()Brian Paul2006-10-281-0/+3
|
* a step toward moving run-time vertex program state out of GLcontextBrian Paul2006-10-101-2/+2
|
* Move the fp_machine struct into s_nvfragmprog.c since (except for programBrian Paul2006-10-101-6/+10
| | | | debug) it's only used there.
* Add a new internal program parameter value STATE_TEXRECT_SCALE whichKeith Whitwell2006-09-201-0/+11
| | | | | | 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.
* Export _mesa_print_alu_instruction() to allow drivers to roll theirKeith Whitwell2006-09-201-41/+38
| | | | | | own debug code for programs with driver-private opcodes. Remove redundant loop in _mesa_num_inst_src_regs().
* Free vertex program TnlData, if any. Fixes a mem leak.Brian Paul2006-08-251-0/+7
|
* Rearrange glBindProgram() code to do all error checking before changingBrian Paul2006-08-251-51/+43
| | | | the binding. Prevent a potential dangling pointer error. SF Bug 1544507.
* added _mesa_alloc_instructions() utility functionBrian Paul2006-08-251-0/+13
|
* Cg tries to bind NV fragment programs to the GL_FRAGMENT_PROGRAM_ARB targetBrian Paul2006-08-241-1/+22
| | | | | | 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().
* Added _mesa_realloc_instructions() utility function.Brian Paul2006-08-241-2/+34
| | | | Fixed/updated comments for parameter list functions.
* Added _mesa_lookup_program() and _mesa_lookup_bufferobj() functions to avoidBrian Paul2006-08-231-5/+18
| | | | | | a lot of casting elsewhere. Use _mesa_lookup_texture() in tdfx driver, use _mesa_lookup_bufferobj() in r300 driver.