summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
Commit message (Collapse)AuthorAgeFilesLines
* st/egl_g3d: Rename to st/egl.Chia-I Wu2010-01-2217-0/+0
| | | | Simply the name to egl.
* st/egl: Remove the egl state tracker.Chia-I Wu2010-01-226-1119/+0
| | | | | | The egl_g3d state tracker has support for KMS, and the support is based on the egl state tracker. As egl_g3d provides more features, it should be better to keep only egl_g3d to unify the efforts.
* st/egl_g3d: Use glxinit.c from egl_xdri.Chia-I Wu2010-01-224-590/+10
| | | | | It is used to fetch the GLX visuals/fbconfigs. Use egl_xdri's version to avoid duplication. It might be better to rewrite that part though.
* st/egl_g3d: Add support for driver probe.Chia-I Wu2010-01-202-11/+108
| | | | | Hook the drv->Probe callback to allow the drivers to probe displays. The loading of state trackers is delayed to avoid unnecessary loading.
* st/egl_g3d: Add support for probe to native displays.Chia-I Wu2010-01-205-7/+146
| | | | | | The functions can be used to check if a display is supported without creating a struct native_display. It uses a probe object that can be shared across drivers.
* st/egl_g3d: Do not reuse the pipe transfer in ximage.Chia-I Wu2010-01-201-18/+22
| | | | | A pipe transfer is supposed to be temporary. It should be created before X*PutImage and destroyed afterwards.
* Merge remote branch 'origin/opengl-es-v2'Chia-I Wu2010-01-205-3/+95
|\
| * st/es: Clean up install target.Chia-I Wu2010-01-121-7/+7
| | | | | | | | | | | | Use DESTDIR and MINSTALL. Signed-off-by: Chia-I Wu <[email protected]>
| * st/es: Fix build issue after merge.Chia-I Wu2010-01-123-20/+20
| | | | | | | | | | | | | | | | In c847a13d38d4e8c5f4c386d060dcc8ec09e491a3, auxiliaries becomes a single library; In e388d62b4712bcd75cecad53f5ca20a2bb6f89b1, the default build is changed to have -fvisibility=hidden. Signed-off-by: Chia-I Wu <[email protected]>
| * Merge branch 'master' into opengl-es-v2Chia-I Wu2010-01-12147-1749/+8612
| |\ | | | | | | | | | | | | Conflicts: src/mesa/main/dd.h
| * | st/egl: Allow APIs other than OpenGL.Chia-I Wu2009-11-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | This is done by stopping linking to libmesagallium.a and removing DRI related stuff. The state tracker an application links to decides the API supported. Signed-off-by: Chia-I Wu <[email protected]>
| * | gallium: Allow state trackers to install files.Chia-I Wu2009-11-061-1/+5
| | | | | | | | | | | | | | | | | | State trackers like es or vega need to install their libraries. Signed-off-by: Chia-I Wu <[email protected]>
| * | st/es: Add OpenGL ES state trackers.Chia-I Wu2009-11-053-0/+90
| | | | | | | | | | | | Signed-off-by: Chia-I Wu <[email protected]>
* | | st/egl_g3d: Clean up for x11_drawable_get_depth.Chia-I Wu2010-01-182-2/+1
| | | | | | | | | | | | Fix a wrong comment and remove an unnecessary #include.
* | | dri: Add an MSAA-enabled factor to DRI configs.Corbin Simpson2010-01-181-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | 4 samples should be enough for GLUT to be satisfied, and I think most of the HW that does any MSAA, can do it. Note that any pipe that doesn't multisample can just ignore the corresponding flag in pipe_rasterizer_state.
* | | dri: Properly calculate number of modes for MSAA.Corbin Simpson2010-01-181-3/+5
| | | | | | | | | | | | Split from the next patch for bisection purposes only.
* | | st/egl_g3d: Add support for eglCopyBuffers.Chia-I Wu2010-01-181-0/+97
| | | | | | | | | | | | | | | | | | | | | It uses a slow path to copy the render buffer of the surface to the target pixmap. We might be able to create a pipe context for EGLDisplay's use and use a blitter context for the purpose. It is left for a future consideration.
* | | st/egl_g3d: Add is_pixmap_supported to native display interface.Chia-I Wu2010-01-185-0/+96
| | | | | | | | | | | | | | | The function may be used to support, for example, EGL_MATCH_NATIVE_PIXMAP and EGL_KHR_image_pixmap.
* | | st/egl_g3d: Update validate to use an attachment mask.Chia-I Wu2010-01-186-129/+116
| | | | | | | | | | | | | | | | | | | | | A validate call asks for the buffers of a native surface. Using a mask to represent the interested buffers is more intuitive. It also rules out corner cases such as a single attachment being listed multiple times.
* | | st/vega: Fix window resizing with egl_g3d.Chia-I Wu2010-01-182-5/+8
| | | | | | | | | | | | | | | | | | | | | egl_g3d calls st_set_framebuffer_surface on window resize. It updates the renderbuffer's geometry and makes st_resize_framebuffer a no-op. This commit improves the no-op check a little bit. It can do better after gallium-fb-dimensions is merged.
* | | st/vega: Call screen->update_buffer instead of winsys->update_buffer.Chia-I Wu2010-01-181-3/+2
| | | | | | | | | | | | This removes the last reference to winsys and is per mesa/st.
* | | softpipe: Move st/python's malloc winsys to softpipeJakob Bornecrantz2010-01-171-217/+2
| | | | | | | | | | | | | | | | | | | | | Users of softpipe can still specify thier own winsys but now there is a default one also that uses malloc. This allows the malloc winsys to be shared with other users of softpipe.
* | | st/xlib: Make glXGetProcAddressARB visibleJakob Bornecrantz2010-01-171-1/+1
| | |
* | | gallium: Fix uninitialized instance divisor and index.Chia-I Wu2010-01-161-0/+1
| | |
* | | regress: Add .gitgnore for *.png files.Michal Krol2010-01-152-0/+2
| | |
* | | Merge branch 'gallium-noconstbuf'Roland Scheidegger2010-01-1511-73/+70
|\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c src/mesa/state_tracker/st_draw_feedback.c
| * | | gallium: adapt state trackers etc. to pipe_constant_buffer removalRoland Scheidegger2009-12-2311-73/+70
| | | |
* | | | st/egl_g3d: Avoid validation upon buffer swap or flush frontbuffer.Chia-I Wu2010-01-151-5/+4
| | | | | | | | | | | | | | | | | | | | With screen->update_buffer being hooked, leave the job to the state trackers.
* | | | st/egl_g3d: Hook to update_buffer of the pipe screen.Chia-I Wu2010-01-152-1/+19
| | | | | | | | | | | | | | | | | | | | It is a notification from the client APIs that the surface size might have changed.
* | | | st/egl_g3d: Always override flush_frontbuffer.Chia-I Wu2010-01-157-78/+23
| | | | | | | | | | | | | | | | | | | | | | | | Instead of letting the native displays install their own version of flush_frontbuffer, always override the callback with a version that calls the flush_frontbuffer of the native surface.
* | | | Merge branch 'mesa_7_7_branch'Jakob Bornecrantz2010-01-142-3/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/util/Makefile src/gallium/drivers/r300/r300_state_derived.c
| * | | | st/dri: Make sure we always request a fake front.Thomas Hellstrom2010-01-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should be the correct, but sub-optimal way to handle things on pre-1.7 servers. For servers that automatically adds a fake front we should never request the fake front and handle the reply differently. Signed-off-by: Thomas Hellstrom <[email protected]>
| * | | | st/xorg: move exaMoveInPixmap before trying to fetch itZack Rusin2010-01-111-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as Michel suggested, this is a cleaner way of fixing crashes caused by exaGetPixmapDriverPrivate returning null since the data hasn't been moved yet.
| * | | | st/xorg: fix a rare video crashZack Rusin2010-01-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | sometimes dst isn't present if a window is in a middle of a resize, stop crashing in those cases and just ignore a frame.
| * | | | Revert "st/dri: no need to request fake front buffer, only handle it being ↵Thomas Hellstrom2010-01-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | returned" This reverts commit 1336989ec60fff7bd590fefd28945a0e5dc536e3. The commit breaks frontbuffer rendering and the possibility to do on-demand frontbuffer requests on all Xservers prior to 1.7. The commit should be conditioned on a dri2 version check. I've submitted a patch to Xserver to bump dri2 minor, and it's acked by Ian. To be able to check the version from within the state tracker, we will probably need another dri2 extension function that returns the server version. The protocol has support for it. Signed-off-by: Thomas Hellstrom <[email protected]>
* | | | | egl_g3d: Check if the creation of pipe or st context fails.Chia-I Wu2010-01-141-2/+12
| | | | | | | | | | | | | | | | | | | | It should not return an incomplete EGLContext to the users.
* | | | | st/egl_g3d: Use a sequence number to decide if validation is required.Chia-I Wu2010-01-147-21/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is not safe to assume that the native surface has not changed since the last validation by checking the geometry alone. Add a sequence number to "validate" callback for that purpose. This is inspired by Luca Barbieri's work.
* | | | | st/egl_g3d: Get the stapi from the driver.Chia-I Wu2010-01-121-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | egl_g3d_get_st was called because the driver argument was not given before. It can be fixed now.
* | | | | egl: Add _EGLDriver as the first argument to GetProcAddress.Chia-I Wu2010-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The rest of the driver API has it as the first argument. It should be there so that a driver has access to itself.
* | | | | st/egl_g3d: Improve comments to the native display interface.Chia-I Wu2010-01-121-2/+12
| |_|_|/ |/| | | | | | | | | | | | | | | Document the future of __GLcontextModes. Improve the description of surface validation and native_flush_frontbuffer.
* | | | st/egl_g3d: Add support for KMS native display.Chia-I Wu2010-01-122-0/+1004
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The KMS native display implements the modeset interface using DRM modesetting. Signed-off-by: Chia-I Wu <[email protected]>
* | | | st/egl_g3d: Add support for EGL_MESA_screen_surface.Chia-I Wu2010-01-122-1/+202
| | | | | | | | | | | | | | | | | | | | | | | | This is implemented through the modeset interface. Signed-off-by: Chia-I Wu <[email protected]>
* | | | st/egl_g3d: Update the native display interface for modesetting.Chia-I Wu2010-01-121-13/+56
| | | | | | | | | | | | | | | | | | | | | | | | The new interface can be used to implement EGL_MESA_screen_surface. Signed-off-by: Chia-I Wu <[email protected]>
* | | | st/egl_g3d: New EGL state tracker that uses Gallium.Chia-I Wu2010-01-1217-0/+4344
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new (intermediate) EGL state tracker is the base work for EGL drivers that uses Gallium. It makes it easier to support new window systems. Currently, there is support only for X11. This driver supports multiple APIs (OpenVG, OpenGL, ...) and supports hardware acceleration through winsys/drm. Signed-off-by: Chia-I Wu <[email protected]>
* | | | st/vega: Make it compatible with st_public.h.Chia-I Wu2010-01-122-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It missed a stub for st_get_proc_address, and st_make_current should return a boolean. Signed-off-by: Chia-I Wu <[email protected]>
* | | | st/vega: Advertise OpenVG support.Chia-I Wu2010-01-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Define st_api_OpenVG to advertise OpenVG support. Signed-off-by: Chia-I Wu <[email protected]>
* | | | st/xlib: Mark GLX functions as public.Chia-I Wu2010-01-113-77/+80
| | | | | | | | | | | | | | | | | | | | | | | | Mark all functions start with glX as public. Signed-off-by: Chia-I Wu <[email protected]>
* | | | st: Mark functions in st_public.h and vg_tracker.h as public.Chia-I Wu2010-01-111-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These functions are the API of Gallium state tracker, and are used by EGL. Signed-off-by: Chia-I Wu <[email protected]>
* | | | python: Integrate with llvmpipe if possible.José Fonseca2010-01-112-7/+168
| | | | | | | | | | | | | | | | | | | | Temporary. We should soon have the ability to integrate with any driver via glx extensions.
* | | | python: Mask out PIPE_TEXTURE_USAGE_DISPLAY_TARGET usage.José Fonseca2010-01-111-0/+10
| | | | | | | | | | | | | | | | | | | | As displaying surfaces directly isn't supported by the python state tracker.