Age | Commit message (Collapse) | Author |
|
|
|
|
|
functions compile without error...
|
|
Some hardware lays out 3D mipmaps in a manner that can't be expressed
with a simple image stride.
The ImageOffsets array is allocated and initialized to typical defaults
in the _mesa_init_teximage_fields() function. If needed, a driver will
then have to replace these offsets.
TexStore and TexelFetch routines updated to use offsets array.
|
|
_BaseFormat to be consistant with gl_renderbuffer.
|
|
sets the texture wrap mode and texture filter mode for Savage4 to the new
functions savage4_set_wrap_mode and savage4_set_filter_mode.
This was tested with texwrap and tunnel.
|
|
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.
|
|
S3TC support for an older driver version. On Savage3D/IX/MX
GL_EXT_texture_compression_s3tc can't be enabled because DXT3 and DXT5
are not supported. However GL_S3_s3tc is enabled on all Savage chips.
Tested on a Savage IX and a ProSavageDDR
|
|
- 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.
|
|
the use of hardware texture format I8 as it produces garbage at least on
ProSavageDDR.
|
|
set. Otherwise the 3D engine may still be using a texture that is
being overwritten. In order to minimize the cost of waiting, timestamp
textures only when needed: when a texture image changes, when a
different texture is bound to a texture unit or when a texture unit is
disabled. (Used to be after flushing every command buffer.)
|
|
- Flush before using a new texture or before disabling a texture unit,
because savageFlushCmdBuf can only update the timestamp of the last
used texture. This fixes corruption in quake2 with single-textured
lighting.
|
|
changed. Other drivers don't need to do this because they're swapping
modified textures out of texture memory, which implies a timestamp
update.
|
|
heap aging, similar to the way it's done in the i810 and i855 drivers.
This avoids idling the engine on every texture upload.
|
|
Another small tweak to subtile upload (mostly cosmetic).
|
|
vertically incomplete tiles, but only if the color depth is
32bpp. Nobody said this was supposed to be logical!
|
|
|
|
about a factor 1.3.
|
|
|
|
* When glTexSubImageND is used, track the set of changed tiles in a
bit vector and upload only dirty tiles later. This should improve
the performance of dynamic light maps and gl movie player plugins.
* Renamed debug item "lru" to "tex". Indicate which levels are
uploaded completely or partially.
|
|
|
|
* Remove some unused (mostly empty) functions
* Added context parameter to WAIT_IDLE_EMPTY[_LOCKED] for consistency
* Added debug messages to WAIT_IDLE_EMPTY[_LOCKED]
* Don't flush empty command buffers
|
|
to support PCI Savages on the Mesa side. Bumped driver date.
|
|
* 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.
|
|
driver. It uses the new DRM version 2.0.x now, which has just been
committed to DRM CVS.
|
|
|
|
SAVAGE_DEBUG. Added fallback debugs. Added no_rast option to disable
hardware rasterization (everything as software fallback).
|
|
supported so far.
|
|
instead of GL_REPEAT.
|
|
|
|
- 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.
|
|
commands, no vertex DMA.
|
|
A bit more cosmetics.
Improved state emit on Savage 3D/IX/MX.
|
|
|
|
in another small speedup. Fixed a problem that was masked by that
WAIT_IDLE_EMPTY:
- flush command buffer and WAIT_IDLE_EMPTY before uploading textures
|
|
|
|
This finally really fixes assertion failures in savageBindTexture.
I think the same situation with several contexts is still broken though.
|
|
|
|
|
|
were getting in savageBindTexture.
|
|
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.
|