Age | Commit message (Collapse) | Author |
|
|
|
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().
|
|
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.
|
|
Start adding some new pipe_transfer code.
Texturing is totally broken at this point but non-texture programs
seem to run OK.
|
|
The Cell texture code really needs a thorough inspection and clean-up someday...
|
|
move it to pipe/internal/p_winsys_screen.h and start converting
the state trackers to the screen usage
|
|
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
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
allows glReadPixels to work correctly on cell now and makes conformance tests that use pixel compares useable.
|
|
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.
|
|
Allows glDrawPixels to work for now...
|
|
|
|
Though, progs/demos/cubemap.c doesn't quite work right...
|
|
|
|
|
|
|
|
Also handles images smaller than 32x32 now.
|
|
|
|
|
|
|
|
|
|
|
|
This fixes the garbage blocks/pixels seen along the bottom of some windows.
|
|
|
|
We want to use the pipe_buffer_* inlines everywhere, but a pipe context
is not always available nor is it needed.
|
|
Note that SPU vertex transformation is disabled at this time.
|
|
Also, rename p_tile.[ch] to u_tile.[ch]
|
|
Not tested -- just mymic the softpipe changes.
|
|
|
|
|
|
This provides better information about which images in texture object have changed.
Also, call texture_update() from more places previously missed.
|
|
|
|
|
|
These functions are now per-screen, not per-context.
|
|
|
|
This fixes at least one instance of dereferencing an invalid texture pointer.
|
|
Also, re-org of texture/surface functions.
|
|
Called whenever texture data is changed (glTexImage, glTexSubImage,
glCopyTexSubImage, etc).
|
|
This is in a separate commit to ensure renames are properly preserved.
|