Age | Commit message (Collapse) | Author |
|
Each array element is now a BUFFER_x token rather than a BUFFER_BIT_x bitmask.
The number of active color buffers is specified by _NumColorDrawBuffers.
This builds on the previous DrawBuffer changes and will help with drivers
implementing GL_ARB_draw_buffers.
|
|
into vbo-0.2
Conflicts:
src/mesa/array_cache/sources
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/dri/i965/brw_draw.c
src/mesa/drivers/dri/i965/brw_fallback.c
src/mesa/drivers/dri/i965/brw_vs_emit.c
src/mesa/drivers/dri/i965/brw_vs_tnl.c
src/mesa/drivers/dri/mach64/mach64_context.c
src/mesa/main/extensions.c
src/mesa/main/getstring.c
src/mesa/tnl/sources
src/mesa/tnl/t_save_api.c
src/mesa/tnl/t_save_playback.c
src/mesa/tnl/t_vtx_api.c
src/mesa/tnl/t_vtx_exec.c
src/mesa/vbo/vbo_attrib.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_save_api.c
src/mesa/vbo/vbo_save_draw.c
|
|
Refactor savageXMesaSetBackClipRects and savageXMesaSetFrontClipRects
into a single new routine called savageXMesaSetClipRects. This allows
a few cleanups in the code.
|
|
|
|
default/fallback functions are already plugged in by the call to
_mesa_init_driver_functions().
|
|
|
|
NEED_SECONDARY_COLOR to turn it off/on was what we wanted -- now results look
correct using seccolor on Savage IX and Savage4.
|
|
call driUpdateFramebufferSize() when window size/position changes.
|
|
ctx->Driver.Stencil*Separate() functions.
|
|
|
|
extension wasn't enabled. I have verified its correct function with Mesa's
stencil_wrap test. It is enabled on both Savage4 and Savage3D. Since
Savage3D uses a software fallback for *all* stencil operations, this is safe.
|
|
Main driver impacts:
- new code for creating the Mesa GLframebuffer
- new span/pixel read/write code
Some drivers not yet updated/tested.
|
|
a marginal speedup, but I'm not sure this has the same effect on all
hardware. Tested on Savage IX and ProSavageDDR. For experimenting with
different values see the macros at the start of savagestate.c.
|
|
channels are masked (disable draw update). Bumped driver date to
reflect recent correctness fixes. The driver now passes all glean
tests except exactRGBA on both Savage4 and Savage3D-based cards.
|
|
- force emitting texAddr when the texture image changed (flush caches)
- set transparent texture color key to something improbable
(couldn't find a way to disable it completely)
- fixed texture environment modes GL_DECAL and GL_REPLACE
- made texture environment mode GL_BLEND a software fallback
- added two custom texture formats for promoting from GL_ALPHA to ARGB8888
and 4444. Since the hardware can't be made to ignore the RGB color
components, set them to 1 instead of 0. This gives the correct results
- disabled GL_EXT_texture_env_add on Savage3D/MX/IX
- map both GL_CLAMP and GL_CLAMP_TO_EDGE to hardware mode "wrap". It doesn't
match either mode exactly by the spec, so we should either fall back on both
or none. I chose the latter.
- fall back to software when s and t wrapping modes differ (hardware has only
one bit for both)
|
|
compile-time-warnings on x86-64. Not tested on x86-64 yet, but a good
thing in general, so I'm giving up waiting for feedback. See also
https://bugs.freedesktop.org/show_bug.cgi?id=2924.
|
|
|
|
if it didn't change. This seems to flush texture cashes. Fixes
multi-textured lighting in quake2.
|
|
Add missing per-primitive fallback for polygon stipple.
|
|
- Flush buffered primitives before changing scissors.
- Require Savage DRM version 2.1.0, so that the broken single-cliprect
code can finally rest in peace.
- Removed some more dead code.
|
|
buffered visuals. Also don't change span draw/read buffers in
savageDDDrawBuffer. Now glean's polygon offset test works (and PASSes
with fixed point depth buffer) with single buffered visuals without
winding up in an infinite loop.
|
|
vertex buffer. ELTS are not supported yet (missing functionality in
the DRM). You need at least Savage DRM version 2.1.3, which fixes a
bug that screwed up triangle fans and strips.
Moved the texture normalization stage to savagerender.c.
|
|
Fixed: Use savageEmitChangedRegs instead of savageEmitContiguousRegs for
emitting Savage4.
|
|
* Only set scissor regs directly if drmMinor < 1
* Don't set texaddr to 0 when a texture unit is disabled. That would trigger
the tightened texture state check in the DRM if the texaddr and texdesc
registers were not emitted atomically.
|
|
hardware. By also reversing the depth range this can compensate the loss
of accuracy of far objects caused by the projective transformation.
Software fallbacks work but are slightly slower since floats in a custom
(non IEEE) format have to be encoded and decoded. I havn't done anything
about polygon offsets yet. There doesn't seem to be an easy way do get
it right except making the offset unit as big as the lowest resolution
of depth values. For now float depth is disabled by default but can be
enabled through driconf (though I have seen only positive effects so
far).
|
|
driver. It uses the new DRM version 2.0.x now, which has just been
committed to DRM CVS.
|
|
supported so far.
|
|
misplaced in savageDDInitState_s3d, where was overwriting completely
unrelated S3D registers with garbage.
|
|
|
|
Now, the driver's Viewport routine should call _mesa_ResizeBuffersMESA()
if necessary.
Cleaned up code related to GLframebuffer width/height initialization.
Set initial viewport/scissor params in _mesa_make_current2(), instead of
in the drivers' MakeCurrent functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Don't lock in savageDDUpdateStatte, don't call savageEmitHwStateLocked
- Need to grab the lock for texture uploads now
- New SAVAGE_NEW_CULL bit in new_state to make sure that culling state and
raster_primitive are not examined at the wrong times.
|
|
points and lines.
|
|
commands, no vertex DMA.
|
|
Only available with Xlib driver for now.
Assorted clean-ups related to Draw/ReadBuffer().
Renamed FRONT_LEFT_BIT -> DD_FRONT_LEFT_BIT, etc.
|
|
|
|
A bit more cosmetics.
Improved state emit on Savage 3D/IX/MX.
|
|
|
|
|
|
which registers changed in all the functions that change the state. Instead
check which registers changed in the end when the hardware state is updated.
Tried to avoid cosmetic (whitespace) changes in this commit.
|
|
|
|
with modifications to make it work with current Mesa 6.
|