summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl
Commit message (Collapse)AuthorAgeFilesLines
* Write attribs to slang machine.Michal Krol2006-05-161-15/+22
|
* Release temporaryKeith Whitwell2006-05-051-0/+2
|
* Remove carriage returns.Michal Krol2006-04-251-285/+285
|
* Put color index attribute into the 6th attribute slot.Brian Paul2006-04-2513-93/+62
| | | | | | Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values instead of specific vertex attributes. Remove the EdgeFlagv function from the GLvertexformat struct.
* No longer alias generic vertex attribs with conventional attribs for ↵Brian Paul2006-04-254-70/+158
| | | | GL_ARB_vertex_program.
* error_attrib() should generate GL_INVALID_VALUE, not GL_INVALID_ENUM.Brian Paul2006-04-201-27/+46
| | | | New doxygen comments, misc clean-ups.
* Add .note.GNU-stack section to assembler files to avoid the default behaviorKristian Høgsberg2006-04-171-0/+4
| | | | of requesting executable stacks.
* Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]UnitsBrian Paul2006-04-144-7/+7
| | | | | | in various places. Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image limits when referenced, not just in glActiveTexture().
* silence minor warningsBrian Paul2006-04-131-4/+4
|
* More GLSL code:Michal Krol2006-04-115-140/+171
| | | | | | | | | | | | - use macros to access and modify render inputs bit-field; - un-alias generic vertex attributes for ARB vertex calls; - use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS (ARB code) in place of VERT_ATTRIB_MAX; - define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex attributes for ARB_vertex_shader; - fix generic attribute index range check in arbprogparse.c; - interface GLSL varyings between vertex and fragment shader; - use 64-bit optimised bitset (bitset.h) for render inputs;
* Rename CLIP_ALL_BITS to CLIP_FRUSTUM_BITS to reflect the fact that the valueBrian Paul2006-04-065-5/+7
| | | | | only includes the 6 frustum bits, not the user-clip plane bit, nor the vertex cull bit.
* Fix line clipping bug 6512.Brian Paul2006-04-061-24/+28
| | | | This fix is to discard the line if both dot products are negative.
* Coverity #476: Avoid walking off the end of ->vtx.attrsz, it's declared toAdam Jackson2006-04-021-1/+1
| | | | | | | | be _TNL_ATTRIB_MAX long so that's not a valid index (woo zero based indexing). This code still looks wrong though, the asymmetry between _tnl_copy_to_current and _tnl_copy_from_current has me worried.
* GLSL fixes:Michal Krol2006-03-2111-15/+15
| | | | | | | | | | | | | | | | | | - generate error on NULL pointers in glShaderSourceARB; - reinstall program object, if current, in glLinkProgramARB; - vertex and fragment shaders are optional in program object; - floor asm was wrongly computed for x86 back-end; - allow for (void) idiom in function prototypes; - all fixed-state uniforms are updated; - local variable initializers are working; - implement texture* and shadow* functions for vertex processor; - generate error if too many arguments in general constructor; - trim unused data in general constructor; - struct r-value field select was badly relocated; Changes: - add derived state gl_fog_attrib::_Scale; - add derived state gl_light::_CosCutoffNeg;
* fix up the emit_func list in the experimental arbprogram sse code.Roland Scheidegger2006-03-031-5/+45
|
* Add position_invarient supportKeith Whitwell2006-03-021-2/+17
|
* More GLSL code:Michal Krol2006-02-271-150/+51
| | | | | | | | | | | | | - add x86 code generator; - add full support for uniforms in ARB_shader_objects; - add assembly instruction: global_addr; - reorganize #includes; - built-in uniforms accessed by index, rather than by name; - add some entries to x86sse rtasm; - add configurations to VC6 projects: 'Release x86' and 'Debug x86'; - #define SLANG_X86 active only on VC6 x86 builds; - introduce code export table for a shader; - remove GNU license from the noise library;
* include proper header file, remove local extern declarationsBrian Paul2006-02-221-11/+4
|
* Committing in .Jouk Jansen2006-02-211-5/+6
| | | | | | | | | Update OpenVMS makefiles Modified Files: Mesa/src/mesa/shader/slang/descrip.mms Mesa/src/mesa/swrast/descrip.mms Mesa/src/mesa/tnl/descrip.mms ----------------------------------------------------------------------
* More GLSL code.Michal Krol2006-02-181-20/+40
| | | | | | - general constructors allowed; - implement noise functions (from Stefan Gustavson - thanks!) - cosmetic stuff.
* Get arbfslight demo running.Michal Krol2006-02-151-1/+21
|
* Add ARB_vertex_shader stage just before render stage.Michal Krol2006-02-1313-25/+397
| | | | If enabled, all other stages, except render, are disabled.
* use calloc instead of malloc so try_codegen field is initialized to zero ↵Brian Paul2006-02-021-3/+3
| | | | (bug 5791)
* add some assertions to check emit_func[] table validityBrian Paul2006-02-021-0/+6
|
* do away with 'long long' usageBrian Paul2005-12-082-14/+11
|
* use 64-bit typedefs for portabilityKarl Schultz2005-12-082-2/+2
|
* C++ fixes, mostly casts (Stephane Conversy)Brian Paul2005-12-065-14/+15
|
* Add guard before calling ctx->Driver.BindProgramKeith Whitwell2005-12-051-1/+2
|
* Call ProgramStringNotify after creating tnl programs.Keith Whitwell2005-12-011-0/+3
|
* Clean up clipping somewhatKeith Whitwell2005-12-012-41/+46
| | | | | | | | | | - no need to update ClipMask on generated vertices - remove the VB->LastClipped value Line clipping algorithm changed and simplified somewhat. The old one was based on the triangle routine and probably wouldn't have recognized lines that were clipped down to nothing (ie culled, but not by a single plane).
* Use _mesa_exec_free for fp->func.Keith Whitwell2005-11-241-6/+6
|
* reference bug 5131 in comment in _tnl_free_vertices()Brian Paul2005-11-221-1/+1
|
* disable freeing of fp->func, see comment (bug 5131)Brian Paul2005-11-221-1/+8
|
* Make sure tnl->_DoVertexFog is kept uptodate. Fixes fog in i915Keith Whitwell2005-11-221-0/+5
| | | | driver.
* Remove the _mesa_parse_arb_vertex/fragment_program() functions intoBrian Paul2005-11-192-1/+1
| | | | | | | 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.
* Fix typo causing secondary color not to work properly.Aapo Tahkola2005-11-181-1/+1
|
* Added error checking in _tnl_Begin to detect incomplete framebuffer.Brian Paul2005-11-162-5/+37
| | | | | | Set new tnl->DiscardPrimitive field to true when such error is detected to discard the glBegin/End primitive when flushing. Added some new comments.
* change an assertionBrian Paul2005-11-161-1/+1
|
* Replace GL_POLYGON+1 with PRIM_OUTSIDE_BEGIN_ENDBrian Paul2005-11-163-10/+13
|
* Move stuff common to vertex/fragment_program into the base class, including:Brian Paul2005-11-123-23/+24
| | | | | | Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
* This patch adds the missing NV_vertex_program2 and NV_vertex_program3Ian Romanick2005-11-082-8/+29
| | | | | | | | | | | | | | | | 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).
* s/_mesa_debug_vp_inst/_mesa_print_program/Brian Paul2005-11-051-1/+1
|
* use _mesa_num_inst_src_regs() and _mesa_opcode_string()Brian Paul2005-11-051-89/+60
|
* Unify vertex/fragment program instuctions.Brian Paul2005-11-054-123/+184
| | | | Based on patch by Ian (#4967) but also unify instruction opcodes.
* remove unneeded #includesBrian Paul2005-11-052-4/+0
|
* just pass ctx to do_ndc_cliptest() rather than stuffing it in the ↵Brian Paul2005-11-042-8/+6
| | | | arb_vp_machine struct
* s/15/VERT_RESULT_MAX/Brian Paul2005-11-032-3/+4
|
* Remove some ghost code and adjust things a bit.Aapo Tahkola2005-11-021-11/+2
|
* Add a NotifyInputChanges() callback so that drivers (particularly tnlKeith Whitwell2005-11-012-0/+9
| | | | | drivers) can track when the sizes or strides of incoming VB->AttribPtr arrays have changed.
* Several fp and vp tweaks:Keith Whitwell2005-11-011-55/+90
| | | | | | | | | | | | | | | | | | | | | | - 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.