| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
| |
(cherry picked from commit 1350f2efba5eeceebe0e711db6152c29e9889ce7)
|
|
|
|
|
| |
move it to pipe/internal/p_winsys_screen.h and start converting
the state trackers to the screen usage
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Quite a few util modules were maintaining a single vertex buffer over multiple
frames, and potentially reusing it in subsequent frames. Unfortunately that
would force us into syncrhonous rendering as the buffer manager would be
forced to wait for the previous rendering to complete prior to allowing the
map.
This resolves that issue, but requires the state tracker to issue a few new
flush() calls at the end of each frame.
|
| |
|
|
|
|
|
| |
We want to use the pipe_buffer_* inlines everywhere, but a pipe context
is not always available nor is it needed.
|
| |
|
| |
|
| |
|
|
|