summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/xlib
AgeCommit message (Collapse)Author
2008-02-13gallium: pipe->surface_copy can flip the contents vertically when necessary.Michel Dänzer
Fixes gears being upside down on the box in demos/gearbox.
2008-01-25gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell
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.
2008-01-25gallium: Simplify winsys buffer interface.Michel Dänzer
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.
2008-01-25965: add asserts to catch batch overrunKeith Whitwell
2008-01-24Cell: use Cell driver by default if linux-cell is builtBrian
To disable the Cell driver and use softpipe instead, export GALLIUM_NOCELL=1
2008-01-23gallium: remove support for separate depth/stencil buffers. Always combined ↵Brian
now.
2008-01-14Remove mapping fields from struct pipe_surface.Michel Dänzer
It's now the responsibility of surface users to keep track of their mappings.
2008-01-04965: fix various refcount issuesKeith Whitwell
2008-01-02Cell: basic triangle rendering works.Brian
The cell "render_stage" (last in the "draw" pipeline) emits vertices into a buffer which is pulled by the SPUs in response to a "RENDER" command. This is pretty much temporary/scaffold code for now.
2008-01-01fix mem leaksBrian
2007-12-20965: fix the constant buffersZack Rusin
2007-12-19Fix problem with initial viewport/scissor size.Brian
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().
2007-12-19move st_make_current() before buffer size check so renderbuffer alloc ↵Brian
storage works
2007-12-19965: handle BRW_CONSTANT_BUFFER data typeKeith Whitwell
2007-12-19constsZack Rusin
2007-12-19965: align buffer allocations to 4kKeith Whitwell
2007-12-19965: allocate buffer space to hold batch commandsKeith Whitwell
2007-12-19965: respect surface width when dumping bitmapKeith Whitwell
2007-12-18gallium: give userbuffers some storage in the aub buffer poolKeith Whitwell
2007-12-13965: implement magic buffer offset callbackKeith Whitwell
2007-12-12Re-org of st_create_framebuffer() and renderbuffer format selection.Brian
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.
2007-12-11trim down #includesBrian
2007-12-11Move align_malloc(), align_free() to p_util.hBrian
2007-12-11Hmm, missed these two files. Sorry.Zack Rusin
2007-12-11Port i965 driver to Gallium3D.Zack Rusin
This is a squashed commit of i965 branch on ssh://people.freedesktop.org/~zack/mesa Because of the porting the branch often didn't compile so squashing it makes more sense. The port is still far from complete.
2007-12-11Add surface storage allocation function to winsys interface.José Fonseca
2007-12-10Cell: first triangle.Brian
This is a feeble first step, but it works. The cell_clear_surface() function has been hijacked to set up a "draw triangle" command and send it to all the SPUs. The Gallium softpipe triangle code was copied to the SPU module and modified. Only the progs/trivial/clear.c program runs.
2007-12-10gallium: disable assert(0) in xmesa_surface()Keith Whitwell
2007-12-10Cell driver state-setter functions, basic tile get/put, glClear.Brian
The state setting code was mostly just copied from the softpipe driver. The SPUs can now get/put framebuffer tiles from/to main memory and clear them to a given color. Lots of debug code in effect. Tiled framebuffer is displayed in X window via the xmwinsys layer. To enable Cell driver, export GALLIUM_CELL=1
2007-12-10Add 'type' parameter to is_format_supported() to specify texture vs. drawing ↵Brian
surface, etc. Additional types may be added in the future.
2007-12-09Adapt for winsys interface changes.José Fonseca
2007-12-07Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.Brian
This makes debugging a _lot_ easier. In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
2007-12-07Get rid of "duplicate" formats.Brian
For example, replace PIPE_FORMAT_U_A8_R8_G8_B8 with PIPE_FORMAT_A8R8G8B8_UNORM
2007-12-07byteswapping fixes in choose_pixel_format()Brian
2007-12-07remove stray ;Brian
2007-12-07Remove obsolete xlib driver filesBrian
2007-12-07Overhaul the Xlib winsys layer.Brian
Front/back color buffers are now allocated with ordinary malloc() via the winsys buffer functions. To display surfaces in SwapBuffers() or flush_frontbuffer() we create an XImage that wraps the surface, then use XPutImage to copy to the window. Shared memory transport disabled for now.
2007-12-07Eliminate struct pipe_region.Michel Dänzer
Directly use struct pipe_buffer_handle for storage and struct pipe_surface for (un)mapping.
2007-12-05added B8G8R8A8 support and improved pixel format selection when doing remote ↵Brian
display to X server of different endianness.
2007-11-29Move dimensions from struct pipe_region to struct pipe_surface.Michel Dänzer
2007-11-07fix warningBrian
2007-11-07Remove winsys->wait_idle(), subsumed by pipe->flush().Brian
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.
2007-11-07Remove context dependencies in winsys layer.Brian
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...
2007-11-07re-enable PIPE_FORMAT_U_Z32 supportBrian
2007-11-07better depth buffer selectionBrian
2007-11-07redo xm_surface_release() to match i915Brian
2007-11-07fix bad varnameBrian
2007-11-07Add winsys->surface_release() to complement winsys->surface_alloc().Brian
pipe_surface now has a pointer to the winsys which create/owns the surface. This allows clean surface deallocation w/out a rendering context.
2007-11-06disable PIPE_FORMAT_U_Z32, doesn't work ATMBrian
2007-11-06Update xmesa_is_format_supported()Brian