summaryrefslogtreecommitdiff
path: root/src/mesa/swrast/s_span.c
AgeCommit message (Collapse)Author
2009-06-03swrast: always do span clipping in _swrast_write_rgba_span()Brian Paul
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.
2009-05-07swrast: fix span clipping bugBrian Paul
If a horizontal span of pixels was located at x < 0 we could sometimes read/write outside of renderbuffer bounds.
2009-04-07swrast: restore !shader check around add_specular()Brian Paul
Fixes a regression from commit 76ac75af8e5481b498981c133836efa2101be2dc.
2009-04-06swrast: fix secondary color add for glBitmapBrian Paul
Also, clean up the logic involved in choosing per-vertex vs. per-fragment primary+secondary color addition.
2009-04-01swrast: fix glDrawBuffer(GL_FRONT_AND_BACK)Brian Paul
We weren't putting the right colors into the back buffer in this mode.
2009-03-17swrast: use better _swrast_compute_lambda() functionBrian Paul
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 <nirr@horizonsemi.com>
2009-03-02mesa: use Stencil._Enabled field instead of Stencil.EnabledBrian Paul
2009-03-02swrast: use _EnabledCoordUnits for fixed-function texturingBrian Paul
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.
2009-02-04swrast: add minor commentsBrian Paul
2009-01-20mesa: silence uninitialized var warningsBrian Paul
2008-09-18mesa: prefix a bunch of #include lines with "main/".Brian Paul
This is another step toward removing a whole bunch of -I flags from the cc commands. Still need to address driver code...
2008-05-14Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul
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
2008-04-14fix multi-draw buffer regressionBrian
2008-03-20mesa: The span array is only populated in single-pixelXiang, Haihao
point drawing function.
2008-01-06Simplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.Brian
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...
2007-10-24Implement gl_PointCoord attribute for GLSL fragment shaders.Brian
Contains the normalized fragment position within a point sprite.
2007-09-27mesa: make sure the gotten value isn't greater than theXiang, Haihao
max depth buffer value on 64bit system. fix bug #12095
2007-08-16remove reference to ctx->Color.DrawBufferBrian
2007-07-26fix color interpolation for CHAN_BITS==32Brian
2007-06-29Undo some prev glDraw/CopyPixel changes which fixed a bug in which colors ↵Brian
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().
2007-06-22fix bug rendering points with fragment program (see #11330)Brian
2007-06-21fix rgba pointer bug hit on zoomed+fogged glDrawPixelsBrian
2007-06-21Another round of fixing attribute interpolation for glDraw/CopyPixels.Brian
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.
2007-06-20fix glDrawPixels + fragment program problemBrian
2007-05-20Overhaul/simplify SWvertex and SWspan attribute handling.Brian
Instead of separate fog/specular/texcoord/varying code, just treat all of them as generic attributes. Simplifies the point/line/triangle functions.
2007-05-02changes to get DDX/DDY working againBrian
2007-04-21Fix color sum bug 10688.Brian
2007-04-19Don't allow deferredTexture if using occlusion query and a frag shader.Brian
Occlusion query might depend on the shader killing/discarding fragments. Helps fix depth peeling technique. Also, minor tweaks in interpolate_wpos().
2007-04-18check _PreferPixelFog in _swrast_span_default_fog(), see bug 10669Brian
2007-04-07fix comment typoBrian
2007-03-26Add _swrast_span_default_secondary_color() for use with glBitmap, ↵Brian
glDrawPixels, etc. Secondary color wasn't getting added to post-texture color when drawing bitmaps, images. See bug 10409.
2007-03-13be smarter about which fragment attribs are interpolated before running frag ↵Brian
progs
2007-03-11Implement support for GL_ARB_draw_buffers with GL_MAX_DRAW_BUFFERS > 1.Brian
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.
2007-03-07fix deferredTexture bugBrian
2007-02-02unroll inner loop of interpolate_varying()Brian
2007-02-02simplify interpolate_texcoords()Brian
2007-02-02Replace color, z, w, texture interpolants with new generic attrib interpolants.Brian
2007-02-02New span attrStart/attrStepX/attrStepY fields to replace fog, specular, etc. ↵Brian
fields. More to come.
2007-02-01commentsBrian
2007-02-01New SWspanarrays attribs[] array.Brian
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.
2007-01-25asst fixes, tranpose span->varying array indexesBrian
2006-12-19Overhaul of GLSL API functions, dispatching, etc.Brian
2006-12-15varying var changesBrian
2006-12-15Renamed s_nvfragprog.[ch] to s_fragprog.[ch]Brian
2006-12-14Remove include of s_arbshader.hBrian
2006-12-13Checkpoint for GLSL compiler changes.Brian
In brief: Check for enabled fragment program by looking at ctx->FragmentProgram._Current. New code for varying variables.
2006-11-01fix some bugs in interpolate_specular()Brian Paul
2006-10-22Color clamping fixes.Brian Paul
2006-10-21fix another logic error in computing deferredTextureBrian Paul
2006-10-21For deferredTexture, need to check if the fragment program/shader writesBrian Paul
the fragment Z.