aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl/t_vb_arbprogram.c
Commit message (Collapse)AuthorAgeFilesLines
* don't skip user clip plane clipping when the current vertex program is ↵Roland Scheidegger2006-09-221-1/+2
| | | | position invariant.
* just comments and const qualifiersBrian Paul2006-09-131-12/+11
|
* fix broken do_EXP()Brian Paul2006-09-131-7/+2
|
* only allow VERT_ATTRIB_MAX instead of _TNL_ATTRIB_MAX for inputs of vertex ↵Roland Scheidegger2006-09-071-1/+1
| | | | programs (fixes a segfault since the result of the shift is undefined otherwise, and it may happen that _TNL_ATTRIB_POINTSIZE will be tried to read, unlike all other attribs this however may be unitialized (might be a bug in itself)).
* use WRITE_MASK_* instead of 0x1, 0x2, etcBrian Paul2006-08-031-8/+8
|
* Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul2006-07-201-6/+6
| | | | "gl_" to match other structs.
* A number of vertex buffer fields like NormalPtr, FogCoordPtr, etc are reallyBrian Paul2006-06-141-13/+15
| | | | | | just aliases for members of the VB->AttribPtr[] array. Begin replacing FogCoordPtr with VB->AttribPtr[_TNL_ATTRIB_FOG], and similarly for NormalPtr, TexCoordPtr, PointSizePtr, etc.
* s/0/NULL/Brian Paul2006-06-131-1/+1
|
* remove some unneeded #includesBrian Paul2006-06-131-2/+1
|
* prevent run_arb_vertex_program from running tnl programs unless ↵Aapo Tahkola2006-06-061-1/+4
| | | | ctx->_MaintainTnlProgram is set
* Fix extended swizzling in vertex programs by introducing special swizzle ↵Roland Scheidegger2006-06-011-111/+81
| | | | instruction, extend the 2 bit rsw field to 3 bit like used in other places. While here, also fix up rsw (negation), dph and try to fix up rsq with negative values (doesn't work, bug seems elsewhere) in the sse codegen code.
* Add const qualifiers in a number of places.Brian Paul2006-05-231-1/+1
|
* Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]UnitsBrian Paul2006-04-141-1/+1
| | | | | | in various places. Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image limits when referenced, not just in glActiveTexture().
* Rename CLIP_ALL_BITS to CLIP_FRUSTUM_BITS to reflect the fact that the valueBrian Paul2006-04-061-1/+1
| | | | | only includes the 6 frustum bits, not the user-clip plane bit, nor the vertex cull bit.
* GLSL fixes:Michal Krol2006-03-211-2/+2
| | | | | | | | | | | | | | | | | | - 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;
* Add position_invarient supportKeith Whitwell2006-03-021-2/+17
|
* Add ARB_vertex_shader stage just before render stage.Michal Krol2006-02-131-5/+10
| | | | 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)
* do away with 'long long' usageBrian Paul2005-12-081-12/+11
|
* use 64-bit typedefs for portabilityKarl Schultz2005-12-081-1/+1
|
* C++ fixes, mostly casts (Stephane Conversy)Brian Paul2005-12-061-4/+4
|
* Remove the _mesa_parse_arb_vertex/fragment_program() functions intoBrian Paul2005-11-191-0/+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.
* Move stuff common to vertex/fragment_program into the base class, including:Brian Paul2005-11-121-8/+8
| | | | | | 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-081-1/+20
| | | | | | | | | | | | | | | | 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).
* use _mesa_num_inst_src_regs() and _mesa_opcode_string()Brian Paul2005-11-051-89/+60
|
* Unify vertex/fragment program instuctions.Brian Paul2005-11-051-25/+82
| | | | Based on patch by Ian (#4967) but also unify instruction opcodes.
* just pass ctx to do_ndc_cliptest() rather than stuffing it in the ↵Brian Paul2005-11-041-4/+3
| | | | arb_vp_machine struct
* s/15/VERT_RESULT_MAX/Brian Paul2005-11-031-2/+3
|
* added some assertions to catch unexpected swizzle values in cvp_emit_arg(), ↵Brian Paul2005-10-291-0/+7
| | | | currently fails sometimes
* 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-281-0/+18
| | | | | so that calls to glProgramStringARB() to specify a new program causes the TNL-attached data to get recomputed.
* additional wrapper updates, bug 4468Brian Paul2005-09-191-1/+1
|
* use mesa import wrappers, bug 4468Brian Paul2005-09-161-1/+1
|
* added FREXPF() macro (bug 4060)Brian Paul2005-08-121-6/+2
|
* Check for null program->Parameters pointer in validate_vertex_program().Brian Paul2005-07-151-1/+5
| | | | | GL_NV_vertex_program programs can't directly reference GL state so this pointer is always NULL.
* Use the LDEXPF wrapper macro.Keith Whitwell2005-07-131-2/+2
|
* Add runtime compiled x87 implementations for most of the remainingKeith Whitwell2005-07-101-19/+34
| | | | | opcodes. When enabled via environment vars, gears runs and almost looks right but other apps are still quite buggy.
* Use frexp on Windows; frexpf is not available.Karl Schultz2005-07-011-0/+4
|
* replace some free() calls with _mesa_free()Brian Paul2005-07-011-4/+5
|
* include light.h to silence warningBrian Paul2005-06-211-0/+1
|
* remove debug printsKeith Whitwell2005-06-101-2/+0
|
* Allow the print opcode to compilemesa_20050610Keith Whitwell2005-06-101-2/+1
|
* Add notes about intended precision of opcodes.Keith Whitwell2005-06-101-38/+46
| | | | | Remove dead floating point twiddles. Fix bug translating MAD->MUL,ADD.
* Another typoKeith Whitwell2005-06-091-1/+1
|
* Further clean up RoughApproxPow2 and disable the optimized version --Keith Whitwell2005-06-091-8/+9
| | | | it's a very poor approximation.
* Fix typo in RoughApproxPow2Keith Whitwell2005-06-091-1/+5
|
* Store compiled vertex program representations in a pointer in theKeith Whitwell2005-06-091-38/+52
| | | | | | | | | | | | | vertex_program struct. Allow switching between regular and vertex_program implementations of fixed function TNL with the MESA_TNL_PROG environment var (previously this required recompilation). Ensure program compilation only references program data, not the wider context. This means that compiled programs only need to be invalidated when the program string changes, not on other state changes.