summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/cell/ppu/cell_texture.c
AgeCommit message (Collapse)Author
2009-03-04cell: update cell driver after gallium reference count changesBrian Paul
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-24cell: overhaul cell teximage codeBrian Paul
Updated to use the new pipe_transfer functions, etc. Texturing is working again. Though there's some bugs in mipmap texturing but I believe those predate the pipe_transfer changes.
2009-02-18cell: patch up cell_texture.c so it compilesBrian Paul
Start adding some new pipe_transfer code. Texturing is totally broken at this point but non-texture programs seem to run OK.
2009-02-07cell: compile fix: many updates to cell texture code for new surface mappingBrian Paul
The Cell texture code really needs a thorough inspection and clean-up someday...
2009-01-30gallium: make p_winsys internalZack Rusin
move it to pipe/internal/p_winsys_screen.h and start converting the state trackers to the screen usage
2009-01-29gallium: give the screen priority when it comes to buffer allocationsZack Rusin
allows the driver to overwrite buffer allocation, first step on the way to making winsys interface internal to the drivers. state trackers and the code above it will go through the screen
2008-11-20CELL: improve twiddling/untwiddling error textRobert Ellison
As suggested by Brian Paul: in the case of a twiddling error, instead of reporting the bad format number (which is all but unusable), report the more useful enum name.
2008-11-13CELL: fix stencil twiddling, stencil invertRobert Ellison
Many stencil tests were failing because of a failure to read the stencil buffer, due to "twiddling" (or "untwiddling") "an unsupported texture format". This is fixed for the case of a stencil/Z S824Z format (which twiddles just like the 32-bit color formats). tests/stencilwrap.c was failing on the GL_INVERT test, because the emitted code for "spe_xori" turned out not to be an actual "xori" instruction, but rather a "stqd" instruction, because of a typo in the rtasm code. This is now fixed, and tests/stencil_wrap now works.
2008-11-05cell: minor reformatting, var renamingBrian Paul
2008-10-30cell: Protected use of non-initialized untile buffersJonathan White
2008-10-27cell: fix some problems when displaying to a PIPE_FORMAT_B8G8R8A8_UNORM screenBrian Paul
2008-10-27cell: Added support for untwiddling textures during glReadPixels. This ↵Jonathan White
allows glReadPixels to work correctly on cell now and makes conformance tests that use pixel compares useable.
2008-10-22cell: implement fencing for texture buffersBrian Paul
If we delete a texture, we need to keep the underlying tiled data buffer around until any rendering that references it has completed. Keep a list of buffers referenced by a rendering batch. Unref/free them when the associated batch's fence is executed/signalled.
2008-10-20cell: temporarily disable freeing of tiled texture memoryBrian Paul
Allows glDrawPixels to work for now...
2008-10-14cell: replace FREE() with align_free()Brian Paul
2008-10-14cell: support for cubemapsBrian Paul
Though, progs/demos/cubemap.c doesn't quite work right...
2008-10-14cell: fix npot texture tiling bugsBrian Paul
2008-10-14cell: fix assertionsBrian Paul
2008-10-14cell: fix tex image stride bugsBrian Paul
2008-10-14cell: now do texture twiddling in the right way, at the right time.Brian Paul
Also handles images smaller than 32x32 now.
2008-10-14cell: remove old code, clean-ups, etc.Brian Paul
2008-10-13cell: initial work for mipmap texture filteringBrian Paul
2008-09-04cell: assorted comments, clean-ups, etc.Brian Paul
2008-09-04cell: Use pipe_buffer_* inlines as much as possible.José Fonseca
2008-09-03cell: add pipe_texture_reference() call in cell_get_tex_surface()Brian Paul
2008-09-03cell: fix texture/surface allocation to allocate by multiple of tile sizeBrian Paul
This fixes the garbage blocks/pixels seen along the bottom of some windows.
2008-09-03cell: add missing cell_tex_surface_release()Brian Paul
2008-09-03gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.José Fonseca
We want to use the pipe_buffer_* inlines everywhere, but a pipe context is not always available nor is it needed.
2008-08-25cell: asst fixes to get driver building/running again.Brian
Note that SPU vertex transformation is disabled at this time.
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
2008-06-27cell: Update for cpp removal.José Fonseca
Not tested -- just mymic the softpipe changes.
2008-04-01cell: fix bug in texture tiling function (non-square textures work now)Brian
2008-04-01cell: checkpoint: more multi-texture workBrian
2008-03-19gallium: add face, dirtyLevels params to pipe->texture_update()Brian Paul
This provides better information about which images in texture object have changed. Also, call texture_update() from more places previously missed.
2008-02-28cell: remove obsolete texture fieldBrian
2008-02-27cell: fix minor get_tex_surface() breakageBrian
2008-02-27gallium: remove pipe_context->texture_create/release/get_tex_surface()Brian
These functions are now per-screen, not per-context.
2008-02-27Cell: implement pipe_screen for cell driverBrian
2008-02-20gallium: replace some ordinary assignments with pipe_reference_texture()Brian
This fixes at least one instance of dereferencing an invalid texture pointer.
2008-02-20cell: put most simple state-setter functions in new cell_pipe_state.c fileBrian
Also, re-org of texture/surface functions.
2008-02-20gallium: new pipe->texture_update() functionBrian
Called whenever texture data is changed (glTexImage, glTexSubImage, glCopyTexSubImage, etc).
2008-02-15Code reorganization: move files into their places.José Fonseca
This is in a separate commit to ensure renames are properly preserved.