summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/dri/dri_drawable.c
AgeCommit message (Collapse)Author
2010-03-01dri: Rename pipe formats.José Fonseca
2010-02-27st/dri: Assert pointer is not null before dereferencing.Vinson Lee
2010-02-18Revert "st/mesa: Make the frontbuffer visible on st_flush(PIPE_FLUSH_FRAME)."Francisco Jerez
We probably don't want to propagate this condition to the pipe driver, this reverts commit f455ca6490fcb65781b21f81c7117bd923e250d1 and the dri_update_buffer flush altogether until an agreement is reached.
2010-02-17st/dri2: Flush FRAME instead of RENDER_CACHE on buffer invalidation.Francisco Jerez
2010-02-16st/dri2: Use event-driven buffer validation.Francisco Jerez
2010-02-12st/dri, st/xorg: fix buffers that have attachements of different depthZack Rusin
we actually need to specify the formats for different attachements, otherwise if the color buffer is 24bpp and the app asks for 16bpp depth buffer than we end up fetching the depth from the drawable which is 24bpp and end up creating the wrong depth buffer. use the new getBuffersWithFormat extension to pass the depth correctly.
2010-02-09dri_interface: Introduce DRI tokens for the texBuffer texture formatsKristian Høgsberg
This used to take GLX tokens, but the DRI interface can't depend on GLX defines. We fix this by introducing DRI tokens that have the same value as the GLX texture format tokens.
2010-02-04gallium: fix more missing includes from various placesDave Airlie
nouveau/ dri st / vmware
2010-01-28st/dri: Remove unnecessary headers.Vinson Lee
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-19st/dri: update dri2 drawables when viewport is changedBen Skeggs
Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-01-18st/dri: Add comment for intentional fallthrough in case statement.Vinson Lee
2010-01-18st/dri: Don't request a fake front if the server adds one automatically.Thomas Hellstrom
We use the presence of the getBuffersWithFormat extension function to detect whether the server automatically adds a front. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-01-14Merge branch 'mesa_7_7_branch'Jakob Bornecrantz
Conflicts: src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/util/Makefile src/gallium/drivers/r300/r300_state_derived.c
2010-01-13st/dri: Make sure we always request a fake front.Thomas Hellstrom
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 <thellstrom@vmware.com>
2010-01-11st/dri: update dri2 drawables when viewport is changedBen Skeggs
Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-01-11Revert "st/dri: no need to request fake front buffer, only handle it being ↵Thomas Hellstrom
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 <thellstrom@vmware.com>
2010-01-04Remove leftover __DRI{screen,drawable,context}Private referencesKristian Høgsberg
As part of the DRI driver interface rewrite I merged __DRIscreenPrivate and __DRIscreen, and likewise for __DRIdrawablePrivate and __DRIcontextPrivate. I left typedefs in place though, to avoid renaming all the *Private use internal to the driver. That was probably a mistake, and it turns out a one-line find+sed combo can do the mass rename. Better late than never.
2009-12-17Merge branch 'master' into pipe-format-simplifyMichal Krol
Conflicts: src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/auxiliary/draw/draw_pipe_pstipple.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/auxiliary/util/u_surface.c src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c src/gallium/drivers/cell/ppu/cell_texture.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/r300/r300_emit.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/softpipe/sp_texture.c src/gallium/drivers/softpipe/sp_tile_cache.c src/gallium/drivers/svga/svga_state_vs.c src/gallium/include/pipe/p_format.h src/gallium/state_trackers/dri/dri_drawable.c src/gallium/state_trackers/egl/egl_surface.c src/gallium/state_trackers/python/p_device.i src/gallium/state_trackers/python/st_softpipe_winsys.c src/gallium/state_trackers/vega/api_filters.c src/gallium/state_trackers/vega/image.c src/gallium/state_trackers/vega/mask.c src/gallium/state_trackers/vega/paint.c src/gallium/state_trackers/vega/renderer.c src/gallium/state_trackers/vega/vg_tracker.c src/gallium/state_trackers/xorg/xorg_crtc.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/gallium/state_trackers/xorg/xvmc/surface.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_buffer.c src/gallium/winsys/egl_xlib/sw_winsys.c src/gallium/winsys/g3dvl/xlib/xsp_winsys.c src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c src/gallium/winsys/gdi/gdi_softpipe_winsys.c src/gallium/winsys/xlib/xlib_cell.c src/gallium/winsys/xlib/xlib_llvmpipe.c src/gallium/winsys/xlib/xlib_softpipe.c src/mesa/state_tracker/st_cb_fbo.c src/mesa/state_tracker/st_cb_texture.c src/mesa/state_tracker/st_texture.c
2009-12-03Move pf_get_block() to u_format auxiliary module.Michal Krol
2009-11-30fixups for interface changes (mostly state trackers)Roland Scheidegger
2009-11-26gallium: fix more statetrackers/drivers for not using texture ↵Roland Scheidegger
width/height/depth arrays
2009-10-17gallium: Permit surface_copy and surface_fill to be NULL.Corbin Simpson
Uf. Lots of files touched. Would people with working vega, xorg, dri1, etc. please make sure you are not broken, and fix yourself up if you are. There were only two or three places where the code did not have painful fallbacks, so I would advise st maintainers to find less painful workarounds, or consider overhauling util_surface_copy and util_surface_fill. Per ymanton, darktama, and Dr_Jakob's suggestions, clear has been left as-is. I will not add PIPE_CAP_BLITTER unless it is deemed necessary.
2009-10-07st/dri: Add missing front buffer case in dri_get_buffers().Michel Dänzer
This seems to help for compiz at least with some drivers. Also add an assert(0) to catch unhandled cases in the future.
2009-10-05st/dri: avoid segfault if we can't get a pixmap's buffersBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-10-05st/dri: no need to request fake front buffer, only handle it being returnedBen Skeggs
The previous behaviour was incorrect, and resulted in EXT_tfp being broken for DDX drivers that implement the correct behaviour (intel/radeon/nouveau). In the cases where a fake front buffer is required, the X server will return one when requesting __DRI_BUFFER_FRONT_LEFT. The Xorg state tracker (aka modesetting_drv) is likely broken now until it's modified to match the other drivers. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-09-02st/dri: Slight consolidation of DRI2 buffer handling.Michel Dänzer
Always use / assume a combined depth/stencil buffer. Also update drawable formats from surfaces returned by the driver.
2009-08-28drm_api: Operate on textures instead of buffersJakob Bornecrantz
Most use cases just got the buffer from the texture and then called into one of the get_handle functions. Also with this patch it would be easier to move to a generic function for getting handles from textures and textures from handles, that is exposed via the screen.
2009-08-28st/dri: Fix some warningsJakob Bornecrantz
2009-08-28Revert "st/xorg/dri: Pass texture formats via the DRI2 protocol flags."Jakob Bornecrantz
This reverts commit a33e9ea3b9b7ac98d6e9bc385bbbe7eac2eb73d0. As this change breaks both radeon and nouveau
2009-08-27st/dri: Make sure the front left renderbuffer is there for texture-from-pixmap.Michel Dänzer
2009-08-27st/dri: Only ask for fake front buffer for single buffer visuals by default.Michel Dänzer
2009-08-27st/xorg/dri: Pass texture formats via the DRI2 protocol flags.Michel Dänzer
No need to guess.
2009-08-26st/dri: Add some debug codeJakob Bornecrantz
2009-08-26st/dri: Redo config generationJakob Bornecrantz
2009-08-22st/dri: Remove some debug printsJakob Bornecrantz
2009-08-22st/dri: Find out if the drawable is a pixmapJakob Bornecrantz
Part of this code is disabled since no performance gains where detected with it enabled. This code only detects if it is a pixmap that it is rendering to on the st/xorg DDX since it sets the fake front to the same handle as front.
2009-08-22st/dri: Fix frontbuffer rendering with DRI2Jakob Bornecrantz
2009-08-13st/dri: Add support for GLX_EXT_texture_from_pixmap with direct rendering.Michel Dänzer
2009-06-30drm/st: Return drm_api struct from a functionJakob Bornecrantz
2009-06-17gallium dri st: Probe the driver for supported surface formats.Thomas Hellstrom
This is done when constructing the fbconfigs, and the result is saved for window system framebuffer creation. Note: For dri2 the server needs to have an identical format selection logic. Otherwise the dri state-tracker and the xorg driver (state-tracker) will disagree on which format to use for the attachments. Some more work is needed in this area. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2009-06-11dri st: Don't require the PIPE_TEXTURE_USAGE_RENDER_TARGET property for ↵Thomas Hellstrom
depth- and stencil renderbuffers. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-05-18st/dri: Only create new textures if drawable has changedJakob Bornecrantz
2009-04-28gallium dri st: Use st_get_current() instead of GET_CURRENT_CONTEXT()Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-28gallium dri st: Fix up some comments and minor bugs.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-28gallium: indent and cleanfile the dri state-tracker.Thomas Hellstrom
2009-04-28gallium: Update the dri2 state tracker to support dri1.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-04-28gallium: Move the dri2 state tracker since we're about to extend it to dri1.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>