aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/main/ffvertex_prog.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: support boolean and integer-based parameters in prog_parameterBryan Cain2011-08-011-5/+5
| | | | | | The functionality is not used by anything yet, and the glUniform functions will need to be reworked before this can reach its full usefulness. It is nonetheless a step towards integer support in the state tracker and classic drivers.
* mesa: Directly include mfeatures.h in files that perform feature tests.Vinson Lee2011-01-071-0/+1
|
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-131-3/+3
|
* mesa: rename src/mesa/shader/ to src/mesa/program/Brian Paul2010-06-101-6/+6
|
* ffvertex: don't touch tex coords if coord replace is enabled.Dave Airlie2010-04-131-0/+8
| | | | | | | | | | | | | | The fixed function vertex program shouldn't need to deal or touch tex coords if stuffing is enabled. Though I'm not 100% this won't break assumption made elsewhere it seems like the correct thing to do, and makes r300g point sprites a lot easier to implement. draw: fix point-sprite when vertex program is used. This commit regressed draw, so fix it as well to help bisection. Signed-off-by: Dave Airlie <[email protected]>
* Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg2010-02-191-4/+4
|
* Remove _mesa_memset in favor of plain memset.Kenneth Graunke2010-02-191-1/+1
| | | | This may break the SUNOS4 build, but it's no longer relevant.
* gallium: add point size clamp to implementation limits in vertex shaderRoland Scheidegger2010-02-041-1/+1
| | | | | | | | | | | | | | | | The point size min/max registers (unused by mesa state tracker) were removed since most hardware couldn't do much with them. However, we don't want to have to rely on hw to do point size clamping correctly to implementation dependent limits, hence have to do that in the vertex shader. This should also solve a potential problem with (non-AA) points smaller than 1.0 which according to OGL still have size 1.0. Note that OGL point rendering is odd, in particular point sprites are rasterized differently to points. Some hardware might support those different modes, but in any case the different clamping values used for smooth/multisampled/sprite enabled points might help a bit for hw which rasterizes points the same as point sprites. Also tweak mesa's ff to vertex shader translation so don't have to clamp twice in case of point attenuation.
* mesa: Remove _mesa_exit wrapper for exit().Eric Anholt2009-12-221-1/+1
| | | | | It does nothing else while being less useful than exit() because it lacks attributes that real exit() has.
* mesa: Remove gratuitous padding in prog_dst_register.Eric Anholt2009-11-191-1/+0
| | | | | | | The padding was there to indicate the amount of space left from the number of expected bytes in the struct minus allocated bits. But uint bitfields get packed so that they don't cross uint boundaries, and we ended up allocating an extra dword to hold the pad field!
* Merge branch 'outputswritten64'Ian Romanick2009-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Add a GLbitfield64 type and several macros to operate on 64-bit fields. The OutputsWritten field of gl_program is changed to use that type. This results in a fair amount of fallout in drivers that use programs. No changes are strictly necessary at this point as all bits used are below the 32-bit boundary. Fairly soon several bits will be added for clip distances written by a vertex shader. This will cause several bits used for varyings to be pushed above the 32-bit boundary. This will affect any drivers that support GLSL. At this point, only the i965 driver has been modified to support this eventuality. I did this as a "squash" merge. There were several places through the outputswritten64 branch where things were broken. I foresee this causing difficulties later for bisecting. The history is still available in the branch. Conflicts: src/mesa/drivers/dri/i965/brw_wm.h
* mesa: replace 8 with NUM_UNITSBrian Paul2009-09-021-1/+4
|
* mesa: when emitting vertex program fog, set yzw=0,0,1Brian Paul2009-08-181-0/+2
| | | | Fixes piglit fp-fog failure with gallium.
* mesa: remove whitespaceKeith Whitwell2009-06-301-108/+108
|
* mesa: remove dead constant pointsize code from ffvertex_prog.cKeith Whitwell2009-06-301-17/+0
|
* mesa: remove dead vertex fog code from ffvertex_prog.cKeith Whitwell2009-06-301-84/+3
|
* mesa: fix material inputs in ffvertex_prog.cKeith Whitwell2009-06-301-39/+15
| | | | | | Varying material inputs were not being picked up from the same slots where the VBO code is currently placing them (GENERIC0 and above). Most often they were just being ignored.
* mesa: more complete fix for transform_invarient glitchesKeith Whitwell2009-05-081-9/+7
| | | | | | Add a new flag mvp_with_dp4 in the context, and use that to switch both ffvertex.c and programopt.c vertex transformation code to either DP4 or MUL/MAD implementations.
* mesa/main: set PREFER_DP4 to match position_invarient codeKeith Whitwell2009-05-081-1/+1
| | | | | | | | This is a quick fix for z fighting in quake4 caused by the mismatch between vertex transformation here and in the position_invarient code. Full fix would be to make this driver-tunable and adjust both position_invarient and ffvertex_prog.c code to respect driver preferences.
* mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul2009-04-141-2/+1
| | | | | | There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
* mesa: fix bug in GPU codegen for fixed-function two-sided lightingBrian Paul2009-03-311-2/+12
| | | | | | | | | | | | | The 'dots' register wasn't getting properly un-negated and un-swizzled after emitting the code for back-face lighting. So, if more than one light source was enabled, the specular exponent for the next light source was wrong. During execution we were evaluating pow(x, y) where y was negative instead of positive. This led to the outcome being zero or NaN. This fixes the occasional black triangles seen in isosurf when hacked to enable two-sided lighting.
* mesa: minor reformatting, whitespace changesBrian Paul2009-03-311-25/+26
|
* mesa: remove GL_MESA_program_debug extensionBrian Paul2009-03-071-1/+0
| | | | This was never fully fleshed out and hasn't been used.
* mesa: re-org texgen stateBrian Paul2009-02-211-4/+4
| | | | New gl_texgen struct allows quite a bit of code reduction.
* Merge commit 'origin/master' into gallium-0.2Brian Paul2009-01-021-14/+30
|\ | | | | | | | | | | | | Conflicts: src/mesa/main/ffvertex_prog.c src/mesa/main/texenvprogram.c
| * mesa: comments, whitespace changesBrian Paul2009-01-011-13/+31
| |
| * mesa: increase max texture image units and GLSL samplers to 16Brian Paul2008-12-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The max texture coord units is still 8. All the fixed-function paths are still limited to 8 too. But GLSL shaders can use more samplers now. Note that some texcoord-related data structures are declared to be 16 elements in size rather than 8. This just simplifies the code in a few places; the extra elements aren't accessible to the user. These changes haven't been extensively tested yet, but sanity checking has been done. It should be possible to increase the max image units/samplers to 32 without doing anything special. Beyond that we'll need longer bitfields in a few places.
* | Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-111-0/+8
|\| | | | | | | | | | | | | Conflicts: src/mesa/shader/prog_execute.c src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
| * mesa: restore the negate flag of dots in build_lighting.Xiang, Haihao2008-11-111-0/+3
| | | | | | | | | | Dots is re-used if more than one light is enabled. Previously the negate flag of dots may affect next light.
| * mesa: use NRM3 in emit_normalize_vec3() when drivers are readyBrian2008-11-081-0/+5
| |
* | Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-071-3/+2
|\|
| * mesa: use _bfc0 instead of _col0 when building back face lighting.Xiang, Haihao2008-11-071-3/+2
| |
* | Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell2008-10-151-30/+40
|\ \ | |/ |/| | | | | | | Conflicts: src/mesa/main/context.c
| * mesa: modify fixed function vertex programs not to reference constant attributesKeith Whitwell2008-10-141-30/+40
| |
| * mesa: Silence compiler warnings on Windows.Michal Krol2008-09-041-1/+1
| |
| * mesa: remove debug codeBrian Paul2008-08-281-2/+0
| |
| * mesa: dynamically grow the fixed function vertex program as neededBrian Paul2008-08-281-10/+46
| | | | | | | | | | Don't use a fixed-size array. Saves memory in most cases and avoids potential overflow for long programs.
| * mesa: bump MAX_INSN to 300Brian Paul2008-08-281-1/+1
| |
| * mesa: check FEATURE_point_size_arrayBrian Paul2008-06-281-0/+2
| |
| * mesa: point size arraysBrian Paul2008-06-251-4/+30
| |
| * mesa: restore and fix Keith's "further degenerate the special case lit ↵Brian Paul2008-06-121-13/+31
| | | | | | | | | | | | | | | | | | substitute" There was a bug in emit_degenerate_lit() that caused the SLT to produce unpredictable results in lit.z Plus, added a bunch of new comments.
| * Revert "mesa: further degenerate the special case lit substitute"Brian Paul2008-06-111-12/+9
| | | | | | | | | | | | This reverts commit e841b92d9c8bf48085b4996df828ae745977f931. This fixes two specular lighting conform failures.
| * mesa: turn off ffvertex prog debugKeith Whitwell2008-06-061-1/+1
| |
| * ffvertex: emit full LIT when attenuating (needs the 1 in X position)Keith Whitwell2008-05-271-19/+31
| |
| * ffvertex: don't compute whole eye vector if only eye.z is requiredKeith Whitwell2008-05-271-3/+27
| |
| * Revert "mesa: save a temp on normalizes"Keith Whitwell2008-05-241-4/+6
| | | | | | | | This reverts commit feceb43948f76cc4d4c8ecbb86b1b1f438c6daee.
| * mesa: pre-swizzle normal scale state valueKeith Whitwell2008-05-241-2/+1
| |
| * mesa: save a temp on normalizesKeith Whitwell2008-05-231-6/+4
| |
| * mesa: further degenerate the special case lit substituteKeith Whitwell2008-05-231-9/+12
| |
| * mesa: don't emit LIT instruction when mat shininess known to be zeroKeith Whitwell2008-05-231-31/+102
| | | | | | | | Use a faster path in that case & make gears go faster.