summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Fix segmentation fault in _tnl_ProgramCacheDestroy().Aapo Tahkola2005-11-012-13/+13
|
* Re-org and clean-up of vertx/fragment program limits (instructions,Brian Paul2005-11-011-1/+1
| | | | | | | 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.
* Need more than 200 instructions.Aapo Tahkola2005-10-311-1/+1
|
* Improve tnl program searching performance.Aapo Tahkola2005-10-312-17/+62
|
* added some assertions to catch unexpected swizzle values in cvp_emit_arg(), ↵Brian Paul2005-10-291-0/+7
| | | | currently fails sometimes
* reduced swizzle commentBrian Paul2005-10-291-0/+4
|
* added warning about use of REG_SCRATCHBrian Paul2005-10-291-1/+1
|
* fix errors in RoughApproxPower(), do_LIT(), _tnl_program_string()Brian Paul2005-10-291-11/+12
|
* Keith's fixes for RSW and XPD (need temporaries)Brian Paul2005-10-281-9/+22
|
* include tnl.h to silence warningBrian Paul2005-10-281-1/+2
|
* Added assert that result != arg0 in do_RSW. This currently fails and needs ↵Brian Paul2005-10-281-0/+2
| | | | fixing.
* TNL module needs to implement ctx->Driver.ProgramStringNotify() functionBrian Paul2005-10-282-0/+20
| | | | | so that calls to glProgramStringARB() to specify a new program causes the TNL-attached data to get recomputed.
* fixed constant fogcoord bug (#4729)Brian Paul2005-10-101-2/+8
|