summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_miptree.c
AgeCommit message (Collapse)Author
2009-09-10nv50: Fix tiling mode for lower mipmap levels.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: correct zeta formatsChristoph Bumiller
What was Z24S8 before is actually S8Z24, and what we had for Z16 is actually X8Z24. Now, we also have the REAL Z24S8 and I added Z32_FLOAT as well; most of the formats need different tile_flags.
2009-07-01nouveau: return some supported zeta formatsBen Skeggs
2009-06-05nv50: use larger tile sizesBen Skeggs
2009-06-05nv50: create textures with nouveau_bo, for flexibility with tiling laterBen Skeggs
2009-03-26gallium: Remove some little-used fields from struct pipe_surface.Michel Dänzer
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-20nv50: rework for texture_transfer changesBen Skeggs
2009-02-07nouveau: Need to surface_copy() without a pipe context.Younes Manton
2009-02-04nouveau: get things building/running again after pipe_surface.buffer removalBen Skeggs
Don't look at nouveau_winsys_pipe.h... I promise it's temporary!
2009-02-02gallium: remove pipe_buffer from surfacesZack Rusin
this change disassociates, at least from the driver perspective, the surface from buffer. surfaces are technically now views on the textures so make it so by hiding the buffer in the internals of textures.
2009-01-20gallium: Remove the standalone surfaces.José Fonseca
This commit is mostly just a cosmetic change that cleans-up the interfaces, replacing pipe_winsys::surface_* calls by /** * Allocate storage for a display target surface. * * Often surfaces which are meant to be blitted to the front screen (i.e., * display targets) must be allocated with special characteristics, memory * pools, or obtained directly from the windowing system. * * This callback is invoked by the pipe_screenwhen creating a texture marked * with the PIPE_TEXTURE_USAGE_DISPLAY_TARGET flag to get the underlying * buffer storage. */ struct pipe_buffer *(*surface_buffer_create)(struct pipe_winsys *ws, unsigned width, unsigned height, enum pipe_format format, unsigned usage, unsigned *stride); Most drivers were updated but not all were tested. Use the softpipe pipe driver and the xlib winsys changes as a reference when fixing other drivers.
2009-01-12nv50: make rtt work againBen Skeggs
2009-01-12nv50: fix handling of depth texturesBen Skeggs
2009-01-12nv50: another typo..Ben Skeggs
2009-01-12nv50: fix assertion failureBen Skeggs
2009-01-12nv50: fix a typo and a thinkoBen Skeggs
2009-01-12nv50: any cpu access to a texture is done on its backing imagesBen Skeggs
Still a little dodgy: - RTT will hit an assertion (hopefully!) and fail - 3D textures with depth >= 32 will cause bad things to happen
2009-01-12nv50: create buffers for each image that makes up a textureBen Skeggs
2009-01-06nv50: working towards 3D texturesBen Skeggs
2009-01-06nv50: slightly better miptree allocationBen Skeggs
I swear this didn't work last time I tried it.. Anyhow, still only suitable for 2D miptrees - more coming once I know the layout.
2008-09-18nv50: hack surface alloc a bit for nowBen Skeggs
2008-09-11nouveau: gallium directory structure changed again..Ben Skeggs
2008-07-11nv50: quick hack to get textures untiled on map, and tiled on unmapBen Skeggs
progs/fp/tri-tex is all good now rather than all scrambled :)
2008-07-11nv50: add license headers to .c filesBen Skeggs
2008-06-29nv50: fixes after rebase + commits note on the code that was just pushed.Ben Skeggs
OK, seems a lot of people have been getting the idea that nouveau is dying lately - I decided to commit some of the work I've been doing lately to prove them wrong :) Progress on my side is slow due to lack of time mainly, but I'm still around. Firstly, don't even bother trying to use gallium on G8x/G9x yet, it won't work. I've deliberately left all the necessary winsys changes out of the commits for a very good reason - I don't know what we're going to need from the DRM exactly yet and don't want to be continually breaking interfaces as I discover additional requirements. On my side, I think I've gone through about 3 different DRM interface changes, and have just discovered that I may need more yet. It'd be very annoying for everyone who uses nouveau to keep things in sync. Once I've got it sorted - I'll commit a lot of cool stuff. Stay tuned. Also, don't look at the shader code.. it's horribly nasty and full of hacks, I used it as an opportunity to learn G8x GPU programs at the same time. New semi-decent code is in works, and will follow at some point. :)
2008-06-29nv50: rework miptree/texture/texsurf code a bitBen Skeggs
2008-06-29nv50: turn on depth test/write again, not 100% but winsys handles it betterBen Skeggs
2008-06-29nv50: do tsc/tic upload + stub out shader TEX stuffBen Skeggs
2008-06-29nv50: flag to indicate to winsys we want a surface for use as a zeta bufferBen Skeggs
NVIDIA love to make life difficult.. we need different flags in PTEs for zeta.. yay.. not.
2008-06-29nv50: hehe, damage from tex-surfaces.. surface_fill() reenabled now :)Ben Skeggs
2008-06-29nouveau: adapt to cpp->pf_block changesBen Skeggs
2008-05-27nouveau: very quick port to tex-surface changes.Ben Skeggs
probably the last match-gallium-upstream merge for a bit, some cleanup+nv50 work coming RSN...
2008-05-13nv50: slightly less skeletal texture funcs, prevents fun segfaultsBen Skeggs
2008-03-21nouveau: match gallium API changesBen Skeggs
2008-02-29nouveau: implement pipe_screenBen Skeggs
Untested on NV3x/NV5x. Quite possibly broken.
2008-02-16nouveau: match gallium code reorginisation.Ben Skeggs
That was... fun..