Age | Commit message (Collapse) | Author |
|
Provide an actual definition of the pipe_buffer struct, containing
the parameters used to create the buffer, and its refcount.
Shift refcounting buffers out of the winsys interface, similar to
surfaces & textures.
Rework pipebuffer/ to reflect the fact these changes, and also Michel's
reworking of the buffer interface.
|
|
The properties of a buffer represented by struct pipe_buffer_handle are now
basically constant over its lifetime. The state tracker gets to deal with any
more complex buffer semantics it may need to provide.
|
|
|
|
If an app never called glViewport, the viewport size was always 0 by 0 pixels.
Now pass initial size to st_create_framebuffer() and initialize the viewport
and scissor bounds in st_make_current().
This could also be fixed by ensuring the gl_framebuffers passed to
_mesa_make_current() were initialized to the right size. But that involves
allocating the renderbuffers/pipe_surfaces earlier and that runs into some
other issues ATM.
Also remove obsolete createRenderbuffers param to st_create_framebuffer().
|
|
st_create_framebuffer() now takes pipe_formats for the color, depth, stencil
buffers.
This avoids a round-about chain of calls to pipe->is_format_supported() for
window renderbuffers (their format never changes).
Renderbuffer format selection code in st_format.c is simpler now too.
|
|
|
|
|
|
surface, etc.
Additional types may be added in the future.
|
|
These are useless or even harmful due to referencing symbols no longer
available in the Gallium build.
|
|
|
|
|
|
This makes debugging a _lot_ easier.
In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
|
|
For example, replace PIPE_FORMAT_U_A8_R8_G8_B8 with PIPE_FORMAT_A8R8G8B8_UNORM
|
|
Directly use struct pipe_buffer_handle for storage and struct pipe_surface for
(un)mapping.
|
|
pipe->get_tex_surface() has to be used for access to texture image data.
|
|
|
|
Fences will be part of the pipe winsys interface, so remove this to avoid
merge conflicts later on.
This reverts commit ca7f68a7cf25a51f382bba8c42d8c6ab7db57b5d.
This reverts commit dec60d33b2570cf2bdce72a00a1539ee93133f91.
This reverts commit 90dd0cb822f2fe14258c786e5c37da69472b7d17.
|
|
|
|
|
|
|
|
|
|
This broke the LLVM build because 'private' is a C++ keyword.
|
|
Connect intel_i915_batch_finish() into i915_winsys, just like intel_i915_batch_flush().
Call i915_winsys->batch_finish() in response to pipe->flush(PIPE_FLUSH_WAIT).
Now all the batchbuffer/fence code is in one place and a little cleaner.
|
|
The state tracker doesn't have to directly call winsys->wait_idle() anymore.
glFlush and glFinish both go through pipe->flush() now.
|
|
The winsys object is now per-screen and shared by multiple contexts.
The regionPool is now part of the i915 winsys layer.
The winsys wait_idle() and flush_frontbuffer() funcs will get more attention...
|
|
|
|
driFenceFinish() call
|
|
|
|
|
|
|
|
pipe_surface now has a pointer to the winsys which create/owns the surface.
This allows clean surface deallocation w/out a rendering context.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use the "dummyContext" pointer (for now) instead of GET_CURRENT_CONTEXT().
|
|
Winsys driver needs some hints in order to allocate the appropriate kind of
memory for the buffer.
|
|
|
|
|
|
|
|
|
|
XMesaContext has an st_context * which contains a mesa context.
|
|
|
|
|
|
now)
|
|
Note that intel_batchpool.[ch] have no intel-specific dependencies at this poi
Maybe rename files for re-use in the future.
|
|
Note that intel_batchpool.[ch] have no intel-specific dependencies at this point.
Maybe rename files for re-use in the future.
|
|
intel_context and intel_framebuffer
|