summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers
AgeCommit message (Collapse)Author
2010-03-14st/glx: Fix glXCopySubBufferMESA.Chia-I Wu
Honor the (x, y) and (width, height) pairs.
2010-03-14st/glx: Sync the back buffer to the front buffer.Chia-I Wu
Consider this rendering sequence * render to the back buffer * swap buffers * read from the front buffer The front buffer is expected to have the contents of the back buffer.
2010-03-14st/glx: Add support for GLX_MESA_copy_sub_buffer.Chia-I Wu
Create a per-display pipe_context as needed to copy the contents between framebuffer attachments. This allows us to support GLX_MESA_copy_sub_buffer.
2010-03-14st/glx: Add xmesa_display to hold per-display variables.Chia-I Wu
This basically adds a static xmesa_display to collect per-display static variables in xm_api.c. Multiple display support is still missing, but this is a step forward.
2010-03-13st/glx: Fix framebuffer validation.Chia-I Wu
When xmesa_st_framebuffer_validate was called twice with different sets of attachments, the second call was ignored. Add a texture_mask to remember which textures have been requested to make sure the missing ones get created.
2010-03-13st/glx: Correctly set buffer_mask of a visual.Chia-I Wu
Stupid typos again..
2010-03-13st/glx: Make xmesa_create_st_api a callback of xm_driver.Chia-I Wu
Instead of guessing the API in st/glx, let the target decide how to create st_api.
2010-03-13st/egl: Fix eglCopyBuffers.Chia-I Wu
Use a (real) pipe context to copy between pipe surfaces. Fix a NULL dereference of the temporary native surface created for copying.
2010-03-13st/glx: Fix leaks in xmesa_st_framebuffer.Chia-I Wu
The textures and surface of a framebuffer should be unreferenced when the framebuffer is destroyed.
2010-03-12st/glx: Add xm_st.c to SConscript.Chia-I Wu
2010-03-12st/glx: Return a better format in choose_depth_stencil_format.Chia-I Wu
Return a better format instead of an exact format in choose_depth_stencil_format. Also, prefer formats with stencil bits.
2010-03-12st/glx: Fix an infinite recursion in flush_front.Chia-I Wu
It was a stupid typo by me when I refactored the code.
2010-03-12st/glx: Use st_api.h instead of st_public.h.Chia-I Wu
2010-03-12st/egl: Use st_api.h instead of st_public.h.Chia-I Wu
Switch from st_public.h to st_api.h. The latter has intrinsic multiple APIs support and allows various EGLImage extensions to be supported.
2010-03-12winsys/xlib, st/es: Advertise st_api.h support.Chia-I Wu
This is done by defining one of st_module_OpenGL_ES1, st_module_OpenGL_ES2, and st_module_OpenGL.
2010-03-12st/mesa: Implement st_api.h.Chia-I Wu
There is currently no user of this new interface. As the inteface can coexist with st_public.h, everthing should work as before. ST_TEXTURE_2D is both defined by st_public.h and st_api.h. Reorder the headers in st/dri to avoid conflicts.
2010-03-12st/vega: Implement st_api.h.Chia-I Wu
There is currently no user of this new interface. As the inteface can coexist with st_public.h, everthing should work as before.
2010-03-11st/mesa: don't enable extensions which aren't actually supportedRoland Scheidegger
don't enable APPLE_client_storage, TDFX_texture_compression_FXT1, EXT_cull_vertex, NV_vertex_program, NV_vertex_program1_1 - the latter two might work somewhat with some luck. Also don't enable ARB_imaging.
2010-03-11st/dri: move extension initilization to st/mesa completelyMarek Olšák
Extensions were enabled in both st/mesa and st/dri, with st/dri completely overriding the decisions of st/mesa and exposing even the extensions claimed to be unsupported by a pipe driver. This commit moves the differences between the two to st/mesa and removes the responsibilty of advertising extensions from st/dri.
2010-03-11Merge remote branch 'origin/7.8'Michel Dänzer
2010-03-11st/xorg: Include cursorstr.hJakob Bornecrantz
2010-03-10Merge branch '7.8'Michel Dänzer
2010-03-10st/xorg: Work around cursor reference counting bugs in older X servers.Michel Dänzer
Could result in use of freed memory and consequently random crashes, e.g. on screen resize. (cherry picked from commit 21c91b410a2a2cbf8eb677e59e3322f86320f2b0) Conflicts: src/gallium/state_trackers/xorg/xorg_tracker.h
2010-03-10gallium: Do not mix winsys-drawable-handle and context-private.Chia-I Wu
update_buffer should be called with context-private, not winsys-drawable-handle.
2010-03-10python: Remove broken link hack.José Fonseca
2010-03-10python: More build fixes.José Fonseca
2010-03-10target-helpers: remove swrast_xlib.c helperKeith Whitwell
This was a good idea, but ended up tying the build systems in knots. We can revisit this later, in particular if we can put in place dummy implementations of cell_create_screen(), llvmpipe_create_screen() which just return NULL if the driver isn't available. In the meantime, just duplicate this smallish function in the two places it was being called.
2010-03-10python: Handle the possibility that no driver is selected.José Fonseca
2010-03-10gallium: remove trace module injection from various state trackersKeith Whitwell
Components such as state trackers, drivers, etc, should be free to be recombined in arbtrary ways to build driver stacks. They should not be reaching out and trying to build the stack themselves - this is now expected to be handled by the "target" abstraction.
2010-03-10python: Fix up state tracker for sw api.José Fonseca
2010-03-10st/wgl: add missing paramterKeith Whitwell
2010-03-10gallium: plumb winsys-drawable-handle through to state trackerKeith Whitwell
The state trackers need this value so that they can supply it as the "void *" argument to flush_frontbuffer. Fixes single-buffer rendering.
2010-03-10Merge commit 'origin/master' into gallium-sw-api-2Keith Whitwell
2010-03-10st/egl: Fix build errors in ximage backend after merge.Chia-I Wu
This fixes assorted merge conflicts when master is merged to gallium-sw-api-2 in 0c96690a5b6e1c2d114e7ec5f1e9d60a4ff2a330.
2010-03-09egl/x11: use swrast-xlib helperKeith Whitwell
2010-03-09gallium: create helper for swrast+xlib combinationKeith Whitwell
Several targets may want to reuse this code. It's pretty simple, not sure if this is really a win.
2010-03-09targets/libgl-xlib: add code to inject trace and identity layersKeith Whitwell
Finally we can inject layers for debug, trace and "other" with relative ease between state-tracker and driver.
2010-03-09Merge branch 'gallium-vertexelementcso'Roland Scheidegger
Conflicts: src/gallium/auxiliary/cso_cache/cso_context.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/drivers/i915/i915_context.h src/gallium/drivers/i965/brw_draw_upload.c src/gallium/drivers/r300/r300_blit.c src/gallium/drivers/r300/r300_context.h src/gallium/drivers/r300/r300_render.c src/gallium/drivers/r300/r300_state_derived.c src/mesa/state_tracker/st_cb_bitmap.c src/mesa/state_tracker/st_cb_clear.c
2010-03-09ws/xlib: manage the GC internallyKeith Whitwell
No need for the user of this winsys to supply/manage the x11 gc for us.
2010-03-09Merge commit 'origin/master' into gallium-sw-api-2Keith Whitwell
Conflicts: src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/softpipe/sp_texture.c src/gallium/drivers/softpipe/sp_winsys.h src/gallium/state_trackers/egl/common/egl_g3d.c src/gallium/state_trackers/egl/x11/native_x11.c src/gallium/state_trackers/egl/x11/native_x11.h src/gallium/state_trackers/egl/x11/native_ximage.c
2010-03-09Squashed commit of gallium-no-texture-blanketKeith Whitwell
commit f90b3f01af82b9522067b1824e21709a6fb2d3af Author: Keith Whitwell <keithw@vmware.com> Date: Mon Mar 8 14:39:44 2010 +0000 gallium: remove p_screen::surface_buffer_create This isn't very useful without texture_blanket(), which has also been removed. Note that this function hasn't been removed from the old pipe_winsys (u_simple_screen) still used internally by some drivers (eg softpipe). commit 6c462de39a4b9980a5f034a95e580efdfcb8173b Author: Keith Whitwell <keithw@vmware.com> Date: Mon Mar 8 14:27:40 2010 +0000 egl/x11: disable texture_blanket usage commit b42da9160df9f47224e5b3291b972f41767aa6e5 Merge: 4be2436 3ca9336 Author: Keith Whitwell <keithw@vmware.com> Date: Mon Mar 8 14:27:24 2010 +0000 Merge commit 'origin/master' into gallium-no-texture-blanket Conflicts: src/gallium/drivers/svga/svga_screen_texture.c commit 4be2436316929e3dfc55bc34d810920c06556b66 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Mar 4 14:59:26 2010 +0000 gallium: remove texture blanket call No longer needed, except for nouveau and egl/xll/native_ximage.c. Fix for nouveau is to keep the call, but move it to an internal function within nouveau. Fix for that egl/x11 relies on gallium-sw-api branch or its successor. commit 69b6764330367d63c237d0bde9fb96435d0e0257 Author: Keith Whitwell <keithw@vmware.com> Date: Thu Mar 4 13:35:16 2010 +0000 drm_api: wrap comment
2010-03-09st/egl: Use xlib_sw_winsys in ximage backend.Chia-I Wu
2010-03-09st/egl: Fix KMS build error after winsys handle change.Chia-I Wu
2010-03-08vega: remove redundant DEFINES from .c.o ruleBrian Paul
2010-03-08gallium: remove xlib_driver::display_surfaceKeith Whitwell
Just use flush_frontbuffer directly. The flush_frontbuffer routine has been somewhat devalued recently, but it is actually just the right interface for our needs. It is in pipe_screen, meaning that any wrapping (eg trace module) will get properly unwrapped before we try and use the pipe_surface argument for real. If a particular co-state-tracker needs to implement this itself, it should organize a way to allow the winsys to call back up to its level, rather than hijacking the driver-supplied implementation.
2010-03-08gallium: introduce target directoryKeith Whitwell
Currently there are still at least two functions bundled up inside the winsys concept: a) that of a backend resource manager, sometimes capable of performing present() operations, b) the initialization code/routine for the whole driver stack. The inclusion of (b) makes it difficult to share implementations of (a) between different drivers. For instance, a clean xlib winsys could be of use for software-rasterized VG, GLES, EGL, etc, stacks. But that is only true as long as there is no dependency from the winsys to higher level code, as would be the case when we include (b) in this component. This change creates a new gallium/targets subtree, specifically for implementing the glue needed to build individual driver stacks, and moves that code out of a single example winsys, namely xlib. Other drivers continue to build unchanged, but hopefully can migrate to this structure over time.
2010-03-08Merge branch '7.8'Brian Paul
2010-03-08winsys/xlib: remove dependency on glx/x11 state trackerKeith Whitwell
Introduce xlib_drawable struct, pass this down to winsys instead of having it use the internal data structures from glx/x11
2010-03-08Merge commit 'origin/gallium-winsys-handle-rebased'Keith Whitwell
2010-03-08st/vega: Fix OpenVG demo segfaults.Chia-I Wu
When the paint is color, paint_bind_samplers binds a dummy sampler without a texture. It causes demos requiring a sampler (those use a mask or an image) to crash.