summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_transfer.c
AgeCommit message (Collapse)Author
2010-02-12nouveau: use AVAIL_RING()Ben Skeggs
2010-02-02gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca
2009-12-28nv50: Dehexify and bring up to date with new method defines.Marcin Kościelnicki
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
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-13nv50: add proper zslice offset in miptree_surfaceChristoph Bumiller
2009-12-13nv50: use m2mf z pos instead of calculating offset manuallyChristoph Bumiller
2009-12-02gallium: adapt nv drivers to interface cleanupsRoland Scheidegger
2009-11-26gallium: fix more statetrackers/drivers for not using texture ↵Roland Scheidegger
width/height/depth arrays
2009-11-04nv50: add 3d texture tiling and mip-mappingChristoph Bumiller
Mip-mapped 3D textures are not arrays of 2D layers with a mip-map layout like 2D textures, therefore we cannot use image_nr == depth for them. Making use of "volume tiling" modes now, the allowed modes are 0xZY where Z <= 5 and y <= 5.
2009-10-31nv50: fix textures with block size != cppChristoph Bumiller
First, using width * block size as pitch is evidently wrong if a block contains more than 1 texel. For tiled textures, since a block occupies a contiguous area of memory, y addressing in m2mf has to be done by block index, not the y coordinate itself. This should fix compressed textures.
2009-10-31nv50: use SIFC also for shader uploadChristoph Bumiller
Adds a more generic SIFC transfer function.
2009-10-02gallium: Preparations for adding more PIPE_TRANSFER_* usage flags.Michel Dänzer
Always test for PIPE_TRANSFER_READ/WRITE using the bit-wise and operator, and add a pipe_transfer_buffer_flags() helper for getting the buffer usage flags corresponding to them.
2009-09-14nv50: Fix m2mf positions.Marcin Kościelnicki
2009-08-31nouveau: introduce nouveau_miptree common to all nouveau pipe driversBen Skeggs
The winsys once again has to know about textures it seems, so we need a common representation between all our pipe drivers to store some information the winsys will need. Only the nv50 driver has been fixed so far.
2009-08-17nv50: whitespace fixes and deobfuscationMaarten Maathuis
2009-08-14nv50: fix mipmap offsets and tilingChristoph Bumiller
The hardware expects a texture's tile mode to change with the mipmap level. Also, only multiply by block size once to obtain size.
2009-07-29nv50: fix sx/dx typo in transfer_rect_m2mfChristoph Bumiller
2009-06-05nv50: create textures with nouveau_bo, for flexibility with tiling laterBen Skeggs
2009-06-05nouveau: fix build with libdrm_nouveau 0.6Ben Skeggs
2009-06-05nouveau: move channel creation into pipe driversBen Skeggs
2009-06-05nouveau: add pipe_buffer/fence code to pipe drivers, move nv50 overBen Skeggs
2009-05-28nv50: some mipmapping fixesBen Skeggs
2009-03-04gallium: Unify reference counting.Michel Dänzer
The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().
2009-02-22nv50: delay uploads until transfer object is destroyedBen Skeggs
It's possible a state tracker will map/unmap a transfer object many times. Delaying upload until the object is destroyed will prevent unnecessary uploads to the GPU. Also fixing a typo here, was unmapping the wrong buffer on transfer_unmap!
2009-02-20nv50: rework for texture_transfer changesBen Skeggs