summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/xlib
Commit message (Collapse)AuthorAgeFilesLines
* gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell2008-01-253-77/+51
| | | | | | | | | | | 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.
* gallium: Simplify winsys buffer interface.Michel Dänzer2008-01-252-153/+35
| | | | | | 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.
* 965: add asserts to catch batch overrunKeith Whitwell2008-01-251-12/+25
|
* Cell: use Cell driver by default if linux-cell is builtBrian2008-01-241-2/+2
| | | | To disable the Cell driver and use softpipe instead, export GALLIUM_NOCELL=1
* gallium: remove support for separate depth/stencil buffers. Always combined ↵Brian2008-01-231-3/+5
| | | | now.
* Remove mapping fields from struct pipe_surface.Michel Dänzer2008-01-141-16/+5
| | | | It's now the responsibility of surface users to keep track of their mappings.
* 965: fix various refcount issuesKeith Whitwell2008-01-041-1/+11
|
* Cell: basic triangle rendering works.Brian2008-01-021-1/+8
| | | | | | 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.
* fix mem leaksBrian2008-01-011-0/+4
|
* 965: fix the constant buffersZack Rusin2007-12-201-1/+1
|
* Fix problem with initial viewport/scissor size.Brian2007-12-191-2/+6
| | | | | | | | | | | 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().
* move st_make_current() before buffer size check so renderbuffer alloc ↵Brian2007-12-191-2/+2
| | | | storage works
* 965: handle BRW_CONSTANT_BUFFER data typeKeith Whitwell2007-12-191-0/+8
|
* constsZack Rusin2007-12-191-1/+1
|
* 965: align buffer allocations to 4kKeith Whitwell2007-12-191-3/+3
|
* 965: allocate buffer space to hold batch commandsKeith Whitwell2007-12-191-1/+7
|
* 965: respect surface width when dumping bitmapKeith Whitwell2007-12-191-1/+1
|
* gallium: give userbuffers some storage in the aub buffer poolKeith Whitwell2007-12-181-4/+9
|
* 965: implement magic buffer offset callbackKeith Whitwell2007-12-131-0/+8
|
* Re-org of st_create_framebuffer() and renderbuffer format selection.Brian2007-12-121-47/+73
| | | | | | | | 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.
* trim down #includesBrian2007-12-112-11/+5
|
* Move align_malloc(), align_free() to p_util.hBrian2007-12-111-42/+1
|
* Hmm, missed these two files. Sorry.Zack Rusin2007-12-112-0/+685
|
* Port i965 driver to Gallium3D.Zack Rusin2007-12-115-6/+536
| | | | | | | | 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.
* Add surface storage allocation function to winsys interface.José Fonseca2007-12-111-8/+33
|
* Cell: first triangle.Brian2007-12-101-1/+3
| | | | | | | | 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.
* gallium: disable assert(0) in xmesa_surface()Keith Whitwell2007-12-101-1/+1
|
* Cell driver state-setter functions, basic tile get/put, glClear.Brian2007-12-101-11/+121
| | | | | | | | 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
* Add 'type' parameter to is_format_supported() to specify texture vs. drawing ↵Brian2007-12-101-22/+4
| | | | | | surface, etc. Additional types may be added in the future.
* Adapt for winsys interface changes.José Fonseca2007-12-091-4/+10
|
* Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.Brian2007-12-071-2/+3
| | | | | This makes debugging a _lot_ easier. In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
* Get rid of "duplicate" formats.Brian2007-12-072-8/+8
| | | | For example, replace PIPE_FORMAT_U_A8_R8_G8_B8 with PIPE_FORMAT_A8R8G8B8_UNORM
* byteswapping fixes in choose_pixel_format()Brian2007-12-071-10/+13
|
* remove stray ;Brian2007-12-071-1/+1
|
* Remove obsolete xlib driver filesBrian2007-12-072-584/+0
|
* Overhaul the Xlib winsys layer.Brian2007-12-076-2360/+256
| | | | | | | | 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.
* Eliminate struct pipe_region.Michel Dänzer2007-12-074-57/+12
| | | | | Directly use struct pipe_buffer_handle for storage and struct pipe_surface for (un)mapping.
* added B8G8R8A8 support and improved pixel format selection when doing remote ↵Brian2007-12-054-8/+89
| | | | display to X server of different endianness.
* Move dimensions from struct pipe_region to struct pipe_surface.Michel Dänzer2007-11-293-13/+16
|
* fix warningBrian2007-11-071-1/+2
|
* Remove winsys->wait_idle(), subsumed by pipe->flush().Brian2007-11-071-6/+0
| | | | | | 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.
* Remove context dependencies in winsys layer.Brian2007-11-071-1/+1
| | | | | | 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...
* re-enable PIPE_FORMAT_U_Z32 supportBrian2007-11-071-1/+1
|
* better depth buffer selectionBrian2007-11-071-1/+11
|
* redo xm_surface_release() to match i915Brian2007-11-071-3/+6
|
* fix bad varnameBrian2007-11-071-1/+1
|
* Add winsys->surface_release() to complement winsys->surface_alloc().Brian2007-11-075-34/+35
| | | | | pipe_surface now has a pointer to the winsys which create/owns the surface. This allows clean surface deallocation w/out a rendering context.
* disable PIPE_FORMAT_U_Z32, doesn't work ATMBrian2007-11-061-1/+1
|
* Update xmesa_is_format_supported()Brian2007-11-061-0/+7
|
* rename xmesa_create_softpipe() xmesa_create_context()Brian2007-11-062-2/+2
|