aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/swrast/s_span.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Add support for ARB_depth_clamp.Eric Anholt2009-09-081-0/+3
| | | | | This currently doesn't include fixing up the cliptests in the assembly paths to support ARB_depth_clamp, so enabling depth_clamp forces the C path.
* swrast: always do span clipping in _swrast_write_rgba_span()Brian Paul2009-06-031-14/+4
| | | | | | | | It's possible for mis-behaving vertex programs to produce vertex data with very large/NaN values. This doesn't get handled reliably by the clipper code so we may try to rasterize triangles that extend beyond the viewport/window. Always clip spans to avoid invalid memory accesses later.
* swrast: fix span clipping bugBrian Paul2009-05-071-20/+64
| | | | | If a horizontal span of pixels was located at x < 0 we could sometimes read/write outside of renderbuffer bounds.
* swrast: restore !shader check around add_specular()Brian Paul2009-04-071-4/+6
| | | | Fixes a regression from commit 76ac75af8e5481b498981c133836efa2101be2dc.
* swrast: fix secondary color add for glBitmapBrian Paul2009-04-061-2/+2
| | | | | Also, clean up the logic involved in choosing per-vertex vs. per-fragment primary+secondary color addition.
* swrast: fix glDrawBuffer(GL_FRONT_AND_BACK)Brian Paul2009-04-011-2/+8
| | | | We weren't putting the right colors into the back buffer in this mode.
* swrast: use better _swrast_compute_lambda() functionBrian Paul2009-03-171-6/+6
| | | | | | | | | | The MAX-based function can produce values that are non-monotonic for a span which causes glitches in texture filtering. The sqrt-based one avoids that. This is perhaps slightly slower than before, but the difference probably isn't noticable given we're doing software mipmap filtering. Issue reported by Nir Radian <[email protected]>
* mesa: use Stencil._Enabled field instead of Stencil.EnabledBrian Paul2009-03-021-4/+4
|
* swrast: use _EnabledCoordUnits for fixed-function texturingBrian Paul2009-03-021-2/+2
| | | | | | | Using _EnabledUnits was wrong because it included vertex texture units. This change plus the prev commit fixes occasional failures of glean/glsl1 vertex texture test failure.
* swrast: add minor commentsBrian Paul2009-02-041-0/+4
|
* mesa: silence uninitialized var warningsBrian Paul2009-01-201-0/+1
|
* mesa: prefix a bunch of #include lines with "main/".Brian Paul2008-09-181-6/+6
| | | | | This is another step toward removing a whole bunch of -I flags from the cc commands. Still need to address driver code...
* Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul2008-05-141-1/+0
| | | | | | | | | | Previously, the shader linker combined the uniforms used by the vertex and fragment shaders into a combined set of uniforms. This made the implementation of glUniform*() simple, but was rather inefficient otherwise. Now each shader gets its own set of uniforms (no more modelview matrix showing up in the fragment shader uniforms, for example). cherry-picked by hand from gallium-0.1 branch
* fix multi-draw buffer regressionBrian2008-04-141-2/+1
|
* mesa: The span array is only populated in single-pixelXiang, Haihao2008-03-201-2/+4
| | | | point drawing function.
* Simplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.Brian2008-01-061-80/+81
| | | | | | | | | | | These fields are no longer indexed by shader output. Now, we just have a simple array of renderbuffer pointers. If the shader writes to gl_FragData[i], send those colors to the N _ColorDrawBuffers. Otherwise, replicate the single gl_FragColor (or the fixed-function color) to the N _ColorDrawBuffers. A few more changes and simplifications can follow from this...
* Implement gl_PointCoord attribute for GLSL fragment shaders.Brian2007-10-241-1/+1
| | | | Contains the normalized fragment position within a point sprite.
* mesa: make sure the gotten value isn't greater than theXiang, Haihao2007-09-271-2/+5
| | | | max depth buffer value on 64bit system. fix bug #12095
* remove reference to ctx->Color.DrawBufferBrian2007-08-161-1/+1
|
* fix color interpolation for CHAN_BITS==32Brian2007-07-261-1/+1
|
* Undo some prev glDraw/CopyPixel changes which fixed a bug in which colors ↵Brian2007-06-291-3/+5
| | | | | | | were overwritten by interpolating attributes. Now just set the span->arrayAttribs mask in glDraw/CopyPixels and be sure we don't overwrite the values in interpolate_active_attribs().
* fix bug rendering points with fragment program (see #11330)Brian2007-06-221-2/+5
|
* fix rgba pointer bug hit on zoomed+fogged glDrawPixelsBrian2007-06-211-2/+5
|
* Another round of fixing attribute interpolation for glDraw/CopyPixels.Brian2007-06-211-8/+8
| | | | | | | | | | Need to turn off FRAG_BIT_COL0 in swrast->_ActiveAttribMask when doing glRead/CopyPixels to prevent the user's colors from getting overwritten when a fragment program is active. This was happening in the DRI drivers when MaintainTexEnv program was used (the texenv fragment program was enabled when _swrast_DrawPixels was called). This still isn't an ideal solution, but fixes things for now.
* fix glDrawPixels + fragment program problemBrian2007-06-201-2/+9
|
* Overhaul/simplify SWvertex and SWspan attribute handling.Brian2007-05-201-472/+253
| | | | | Instead of separate fog/specular/texcoord/varying code, just treat all of them as generic attributes. Simplifies the point/line/triangle functions.
* changes to get DDX/DDY working againBrian2007-05-021-0/+4
|
* Fix color sum bug 10688.Brian2007-04-211-1/+6
|
* Don't allow deferredTexture if using occlusion query and a frag shader.Brian2007-04-191-4/+17
| | | | | | Occlusion query might depend on the shader killing/discarding fragments. Helps fix depth peeling technique. Also, minor tweaks in interpolate_wpos().
* check _PreferPixelFog in _swrast_span_default_fog(), see bug 10669Brian2007-04-181-5/+14
|
* fix comment typoBrian2007-04-071-1/+1
|
* Add _swrast_span_default_secondary_color() for use with glBitmap, ↵Brian2007-03-261-0/+29
| | | | | | | glDrawPixels, etc. Secondary color wasn't getting added to post-texture color when drawing bitmaps, images. See bug 10409.
* be smarter about which fragment attribs are interpolated before running frag ↵Brian2007-03-131-11/+21
| | | | progs
* Implement support for GL_ARB_draw_buffers with GL_MAX_DRAW_BUFFERS > 1.Brian2007-03-111-70/+82
| | | | | | GL_MAX_DRAW_BUFFERS is currently 4. Added gl_FragData[] output for fragment programs. In _swrast_write_rgba_span() loop over the color outputs/renderbuffers.
* fix deferredTexture bugBrian2007-03-071-1/+1
|
* unroll inner loop of interpolate_varying()Brian2007-02-021-13/+22
|
* simplify interpolate_texcoords()Brian2007-02-021-262/+126
|
* Replace color, z, w, texture interpolants with new generic attrib interpolants.Brian2007-02-021-59/+62
|
* New span attrStart/attrStepX/attrStepY fields to replace fog, specular, etc. ↵Brian2007-02-021-7/+9
| | | | fields. More to come.
* commentsBrian2007-02-011-2/+4
|
* New SWspanarrays attribs[] array.Brian2007-02-011-17/+48
| | | | | | | Replace texcoord[], varying[], etc. arrays with single attribs[] array, indexed by FRAG_ATTRIB_* values. Eliminates need to copy data into fragment program machine input registers. Will lead to future clean-ups.
* asst fixes, tranpose span->varying array indexesBrian2007-01-251-38/+54
|
* Overhaul of GLSL API functions, dispatching, etc.Brian2006-12-191-1/+1
|
* varying var changesBrian2006-12-151-2/+2
|
* Renamed s_nvfragprog.[ch] to s_fragprog.[ch]Brian2006-12-151-1/+1
|
* Remove include of s_arbshader.hBrian2006-12-141-1/+0
|
* Checkpoint for GLSL compiler changes.Brian2006-12-131-28/+20
| | | | | | In brief: Check for enabled fragment program by looking at ctx->FragmentProgram._Current. New code for varying variables.
* fix some bugs in interpolate_specular()Brian Paul2006-11-011-23/+29
|
* Color clamping fixes.Brian Paul2006-10-221-1/+1
|
* fix another logic error in computing deferredTextureBrian Paul2006-10-211-5/+9
|