summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv04/nv04_surface_2d.c
AgeCommit message (Collapse)Author
2010-02-04Nuke the nv0x-nv2x gallium pipe drivers.Francisco Jerez
2010-02-01nv04: Update to new nouveau_class.hMarcin Kościelnicki
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2009-12-30nouveau: Fix glTexSubImage on swizzled surfaces on <=NV40Luca Barbieri
Currently in nvXX_transfer_new a temporary as large as the surface is created. If the subrectangle is not the whole texture we would need to read back the whole texture, but we aren't. Thus, everything but the subrectangle specified is loaded as garbage. This can be seen in progs/demos/ray. This patch fixes the problem by creating a temporary that covers only the desired subrectangle. That makes us hit an alignment assert in nv04_surface_2d.c. Fix it using the point registers instead of manipulating the swizzled surface offset to account for the destination coordinates (which do not seem to have a 1024 limit). Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2009-12-28nouveau: Fix swizzling for copies to rectangular texturesLuca Barbieri
nVidia hardware seems to swizzle rectangular texture (with width != height) coordinates by swizzling the lower bits and then adding the higher bits from the larger dimension. However, nv04_swizzle_bits ignores width and height and just interleaves everything. This causes problems with rectangular POT textures with height or width 2048 or 4096 (but not 2048x1024 where it works by chance) since the driver swizzles them in 1024x1024 chunks and gets the start position for the non-first chunks wrong. The following patch seems to fix those problems.
2009-12-28nouveau: Fix nv20-40 swizzled miptree RTsLuca Barbieri
I just coded a patch that does this and seems to work fine. It must be fixed since it breaks OpenGL (or the state tracker can be changed, but it seems better to do it in the driver). The patch also fixes NV20 and NV30 in the same way. They compile but are untested. I would guess that using the 3D engine is faster for the larger levels, but the 2D engine is faster for the smaller ones (and lacks this issue).
2009-12-17Move the remaining format pf_get_* functions to u_format.h.Michal Krol
Previously they depended on format blocks, but after removing those they started depending on format encoding.
2009-12-14nouveau: avoid running out of relocsMaarten Maathuis
- Added flush notify functions for NV30 and NV40. - Flushing mid frame will call flush notify, which will resubmit all relocs. - We don't try to recover from reloc failure yet.
2009-12-02gallium: adapt nv drivers to interface cleanupsRoland Scheidegger
2009-10-31nouveau: Support X8R8G8B8 textures on nv30, nv40 and RTs on nv10-nv40.Younes Manton
2009-10-12Add support for more 8 and 16 bits formatsPatrice Mandin
2009-10-06nv04-nv40: Fix swizzle transfers for NPOT sizes.Younes Manton
Workarounds not necessary, SIFM can handle NPOT, we just weren't setting dst dimensions properly. SIFM can't handle odd w,h though, that still needs fixing.
2009-08-26nv04: Handle more Z formats.Younes Manton
Based on the patch from Luo Jinghua.
2009-07-27nouveau: swizzle a single row or column, doing it one pixel at a timePatrice Mandin
2009-07-26nouveau: only swizzle square textures for copyPatrice Mandin
2009-07-26nouveau: Take into account destination position for copy_swizzle, need to ↵Patrice Mandin
split copy a bit more
2009-07-26nouveau: Recursively swizzle an NPOT sized copyPatrice Mandin
2009-07-24nouveau: use nv04_surface_copy_swizzle only for POT sizesPatrice Mandin
2009-07-22nouveau: Take into account sx,sy parameters to read from source surfacePatrice Mandin
2009-06-29nouveau: Turn off debug cannon.Younes Manton
2009-06-05nouveau: move channel creation into pipe driversBen Skeggs
2009-06-05nouveau: call notifier/grobj etc funcs directlyBen Skeggs
libdrm_nouveau is linked with the winsys, there's no good reason to do all this through yet another layer.
2009-06-05nv04: remove u_simple_screen usageBen Skeggs
2009-03-04nouveau: oops, forgot to keep the NV10_SIFM objectPatrice Mandin
2009-03-04nouveau: Use proper SIFM object on NV30Patrice Mandin
2009-02-25nouveau: nv04-nv40 texture transfer.Younes Manton
2009-02-10nouveau: nv40 swizzled mipmap fixes.Younes Manton
2009-02-10nouveau: revert all my changes here, not the right wayPatrice Mandin
2009-02-10nouveau: stop with 0 dimensionPatrice Mandin
2009-02-10nouveau: we already have the right src offsetPatrice Mandin
2009-02-10nouveau: do not forget to half dimension.Patrice Mandin
2009-02-10nouveau: revert most parts of recent mipmap+swizzle stuff. We only need to ↵Patrice Mandin
find right src and dst offset for given mipmap level.
2009-02-10nouveau: dst offset is correctPatrice Mandin
2009-02-10nouveau: recalc sub width and height for each mipmap levelPatrice Mandin
2009-02-08nouveau: include and calc offset before changing dimensions for next levelPatrice Mandin
2009-02-08nouveau: upload and swizzle each mipmap level in turnPatrice Mandin
2009-02-06nouveau: Pass proper format to NV04_GDI_RECTANGLE_TEXT.Younes Manton
2009-02-05nv04: fix pasto in nv04_surface_2d_init()Pekka Paalanen
Wrong hardware object being used, when compared with earlier code. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-05nv04-nv40: move 2d blit/fill code into pipe driverBen Skeggs