Age | Commit message (Collapse) | Author |
|
Instead of separate fog/specular/texcoord/varying code, just treat all of
them as generic attributes. Simplifies the point/line/triangle functions.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
Moved type conversion and interpolation macros into macros.h
Updated all the files that used to include mmath.h
|
|
Also changed parameter types for some driver functions (like ctx->Driver.Clear-
Color). Updated all the device drivers.
Someday, we want to support 8, 16 and 32-bit channels dynamically at runtime.
|
|
data are broken out into a new struct span_arrays which is allocated
per-context (to avoid huge stack allocations - a problem on Windows).
This lets us use span.redStep instead of span->redStep (for example) to
hopefully get slightly better performance in the triangle functions.
|
|
on the stack frame in the point/line/triangle functions. (Klaus Niederkrueger)
This should solve the performance problem Karl found on Windows.
|
|
Big clean-up of line drawing code.
Removed many obsolete span processing functions.
|
|
Major clean-up of pixel zoom code.
|
|
_mesa_rasterize_span() is gone, replaced by new _mesa_write_textured_span().
Removed some unneeded triangle functions - more simplification possible.
|
|
struct sw_span is used throughout span/fragment processing.
This is leading to less code and more chances for optimization.
|
|
|
|
|
|
|
|
into a new directory. Specifically the handling of changes to lighting
lighting space (light in model vs. light in eye) have been revamped.
Moved several derived values used only by swrast into that directory.
Removed direct calls to swrast_flush() from vbrender.c -- pushed into
ctx->Driver.RenderFinish.
Optimized flat-shading case in swrast_setup.
|
|
|