summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200/r200_texstate.c
AgeCommit message (Collapse)Author
2009-05-13R1xx/r2xx: Don't use an alpha texture format for GLX_TEXTURE_FORMAT_RGB_EXTAlex Deucher
In r*00SetTexBuffer2(), if the passed in text glx_texture_format is GLX_TEXTURE_FORMAT_RGB_EXT, then we should use an RGB-only texture format, even if the DRI buffer has four channels. https://bugs.freedesktop.org/show_bug.cgi?id=21609
2009-04-28r300: remove unused debugging in set tex buffer pathsDave Airlie
2009-04-12r200: fix texture level for compiz caseJerome Glisse
2009-04-01radeon: go back and repick texture formats.Dave Airlie
This might trip up some serious FBO users, will have to see, but it avoids the slow paths for all the demos I have.
2009-03-26radeon/r200/r300: set correct row stride for rbsDave Airlie
2009-03-22radeon/r200/r300: add support for new tfp interfaceDave Airlie
also fixup old interface, gets rid of white boxes in compiz
2009-03-20Merge remote branch 'main/master' into radeon-rewriteDave Airlie
Conflicts: src/mesa/drivers/dri/r300/r300_cmdbuf.c src/mesa/drivers/dri/r300/r300_state.c src/mesa/drivers/dri/r300/r300_swtcl.c src/mesa/drivers/dri/r300/radeon_ioctl.c src/mesa/drivers/dri/radeon/radeon_screen.c
2009-03-19radeon/r200/r300: cleanup some of the renderbuffer codeDave Airlie
2009-03-05radeon: use t->bo to figure out of settexbuffer override is in actionDave Airlie
2009-03-06r200: add set tex buffer supportDave Airlie
2009-02-21mesa: re-org texgen stateBrian Paul
New gl_texgen struct allows quite a bit of code reduction.
2009-02-17radeon/r200: drop dirty state from texture object + pp_txoffsetDave Airlie
this is just more code cleanup for old dead code
2009-02-17r200: align with r100 codeDave Airlie
2009-02-13radeon/r200: fix set tex offset functionsDave Airlie
2009-02-13r200: update with changes from r100 driver for texture stateDave Airlie
2009-02-12r200/r300: get up to speed on renamed filesDave Airlie
2009-01-22r200r300: start merging span codeDave Airlie
2009-01-22radeon: fix 1D texturesDave Airlie
2009-01-22r200: fix cubemapsDave Airlie
2009-01-22r200/r300: port r200 texture handling to common codeDave Airlie
we now get texrect + trivial textures working
2009-01-14radeon/r200/r300: initial attempt to convert to common context codeDave Airlie
2009-01-14radeon/r200: move more stuff closer together in contextDave Airlie
2009-01-13radeon/r200: start splitting out commonalities into separate headersDave Airlie
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-04-29r200: fix state submission issue causing bogus textures (bug 15730)Ove Kaaven
2008-03-31DRI interface changes and DRI2 direct rendering support.Kristian Høgsberg
Add DRI2 direct rendering support to libGL and add DRI2 client side protocol code. Extend the GLX 1.3 create drawable functions in glx_pbuffer.c to call into the DRI driver when possible. Introduce __DRIconfig, opaque struct that represents a DRI driver configuration. Get's rid of the open coded __GLcontextModes in the DRI driver interface and the context modes create and destroy functions that the loader was requires to provide. glcore.h is no longer part of the DRI driver interface. The DRI config is GL binding agnostic, that is, not specific to GLX, EGL or other bindings. The core API is now also an extension, and the driver exports a list of extensions as the symbol __driDriverExtensions, which the loader must dlsym() for. The list of extension will always include the DRI core extension, which allows creating and manipulating DRI screens, drawables and contexts. The DRI legacy extension, when available, provides alternative entry points for creating the DRI objects that work with the XF86DRI infrastructure. Change DRI2 client code to not use drm drawables or contexts. We never used drm_drawable_t's and the only use for drm_context_t was as a unique identifier when taking the lock. We now just allocate a unique lock ID out of the DRILock sarea block. Once we get rid of the lock entirely, we can drop this hack. Change the interface between dri_util.c and the drivers, so that the drivers now export the DriverAPI struct as driDriverAPI instead of the InitScreen entry point. This lets us avoid dlsym()'ing for the DRI2 init screen function to see if DRI2 is supported by the driver.
2007-11-28r200: Fix texture format regression on big endian systems.Michel Dänzer
See https://bugs.freedesktop.org/show_bug.cgi?id=13324 . Also use tx_table_be for VALID_FORMAT, in case r200SetTexImages ever gets called for MESA_FORMAT_RGB888.
2007-11-06r200: Fix SetTexOffset format for 16 bit pixmaps/textures.Michel Dänzer
Use symbolic array indices to clarify.
2007-09-29r200: Implement SetTexOffset hook.Chris Rankin
Implementation guidance by Michel Dänzer, final testing by Timo Aaltonen.
2007-05-17remove CVS/XFree86 keywordsChristoff Brill
2006-11-02casting, type changes to silence warningsBrian Paul
2006-09-20try to use a 8888 texture format which will result in only a memcopy in ↵Roland Scheidegger
mesa's texstore functions whenever possible for r200 and r300. r200 can use hw formats argb8888, rgba8888 and abgr8888 (or the opposite on big endian), r300 can use argb8888, bgra8888, rgba8888 and abgr8888 regardless of endian, as it supports free component swizzling.
2006-09-20fix mixed texgen/non-texgen with texgen modes requiring plane parameters ↵Roland Scheidegger
(GL_OBJECT_LINEAR, GL_EYE_LINEAR). This is a chip limitation, try to hack it up regardless or use a tcl fallback in some cases. Might still produce wrong results if fixed up, but so far this corrects celestia ring shadows (in multitexture mode), doom3 (arb renderer), quake4 (arb renderer and some less visible bugs in r200 renderer), and even the remaining texgenmix broken case (this is pure luck though, it is easy to construct artifical cases where it will break).
2006-09-13Always mark tex state atom as dirty when the texture image is dirty, this ↵Roland Scheidegger
ensures texture cache gets flushed in case the new texture has the same offset as the old one (fixes glean pixelFormat test at least on r200).
2006-09-13fix GL_REFLECTION_MAP texgen by not using tex matrix negation when lighting ↵Roland Scheidegger
is not enabled (?). This fixes demos/cubemap as well as glean texCube test.
2005-11-02First step of Radeon DRI unification:Eric Anholt
- Makes all three drivers use the same screen structure and setup code, with a few ifdefs for the separate compilation to deal with symbols not being available to all drivers and the fact that we have no mechanism for dealing with different config options for different chip families in the same driver. These issues should be dealt with later. - Introduces IS_R[123]00_CLASS(radeonScreenPtr) macro for code for taking different paths depending on the general class of chipset. - Adds many new R300-class PCI IDs, though not all those listed in radeon_driver.c.
2005-09-12add complete support for ATI_fragment_shader for the r200. Most of the new ↵Roland Scheidegger
code is in the new file r200_fragshader.c. Reverse engeneered by Dave Airlie and me
2005-08-31enable GL_ARB_texture_env_crossbar on r200, separate the enable bits for ↵Roland Scheidegger
texture sampling and texture environment, optimize away texture sampling for units if the result is not used, always emit the env instructions in-order and try to eliminate GL_REPLACE env instructions.
2005-05-31Bugzilla #2708: Disable the fallback on GL_SPHERE_MAP. It appears to hurt moreEric Anholt
than it helps, and we seem to have a handle on how to fix it.
2005-02-10add texture micro and macro tiling to radeon/r200 driver. This can improve ↵Roland Scheidegger
performance up to 15% in texture-intensive applications. Convert the driver to use the correct blit format and blit width instead of fixed blit format and blit width when uploading textures to make it work.
2004-10-18Fix compile errors when DEBUG is defined.Ian Romanick
2004-10-16Add code to support projective texturing and fix mixed enabling of textureEric Anholt
coordinate generation. Original code by Roland Schiedegger, with changes by myself. While here, ensure that the swtcl path does tnl_install_attrs enough when fog/specular are being (en/dis)abled. Notable effects: - projtex test works with TCL and is closer with swtcl (Bugzilla #1461) - 8/9 squares work in texgenmix instead of 3. - texcyl "reflect" mode works (GL_SPHERE_MAP is now a fallback -- unclear if the hardware can actually support it). - flickering in doom3 replaced by just plain darkness. - blocktube fixed (Bugzilla #984) - fixes stex3d
2004-10-16Always turn on the TAM_DEBUG3=0x6 workaround on real r200s. It appears thatEric Anholt
the current cases for turning it on were insufficient (Bugzilla #1519, 729, 814) and it has no significant performance impact. Performance tested with quake3 in GL_LINEAR mode both with and without anisotropy, with the workaround always on or always off.
2004-10-09This statechange is vtx state, not tcl.Eric Anholt
2004-10-07Add Roland Scheidegger's S3TC patch. This patch does not implement theEric Anholt
(patented) S3TC/DXTC algorithms, but adds an option to dlopen a library module providing functions to do so. Because it uses dlopen, it is only enabled if USE_EXTERNAL_DXTN_LIB=1 is defined (which is only in linux-dri config, so far). It adds support for S3TC to several DRI drivers, and adds a DRI config option to force enabling S3TC even if the software compression/decompression is unavailable. This may allow people to use apps that require S3TC even though they don't have a license to implement the patented material themselves, if those apps use precompressed textures. Ideally we would get permission from the current holder of the patents to implement the algorithm in Mesa, at which point the dlopen mess could go away. Until then, this allows some to run applications they couldn't otherwise, and hopefully will provide us with more push to get the final step of getting that permission done.
2004-09-24-O -Wall warnings cleanups in r200.Eric Anholt
2004-06-19Big-endian texture fixes from Michel Dänzer.Brian Paul
2004-06-17use I8 internal format for GL_INTENSITY, GL_ALPHA and GL_LUMINANCE texture ↵Roland Scheidegger
formats. Fix various small bugs with tex env combine mode GL_DOT3_RGB(A)/GL_DOT3_RGB(A)_EXT
2004-06-03fix minor signedness issue in assertionRoland Scheidegger
2004-06-02add support for more than 2 texture units (max 6, default 4). use hang ↵Roland Scheidegger
workarounds only for r200, not derivatives.