aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/common
Commit message (Collapse)AuthorAgeFilesLines
...
* intel: Implement DRI image extensionKristian Høgsberg2010-02-242-0/+3
|
* Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg2010-02-193-25/+25
|
* intel: Implement the DRI2 invalidate function properlyKristian Høgsberg2010-02-172-0/+7
| | | | | | | | | | | | | | | | | | | This uses a stamp mechanisms to mark the DRI drawable as invalid. Instead of immediately updating the buffers we just bump the drawable stamp and call out to DRI2GetBuffers "later". "Later" used to be at LOCK_HARDWARE time, and this patch brings back callouts at the points where we used to call LOCK_HARDWARE. A new function, intel_prepare_render(), is called where we used to call LOCK_HARDWARE, and if the buffers are invalid, we call out to DRI2GetBuffers there. This lets us invalidate buffers only when notified instead of on every glViewport() call. If the loader calls the DRI invalidate entrypoint, we disable viewport triggered buffer invalidation. Additionally, we can clean up the old viewport mechanism a bit, since we can just invalidate the buffers and not worry about reentrancy and whatnot.
* dri2: Event driven buffer validation.Francisco Jerez2010-02-162-4/+15
| | | | | | | | | | | | | | | | | | When a buffer invalidation event is received from the X server, the "invalidate" hook of the DRI2 flush extension is executed: A generic implementation (dri2InvalidateDrawable) is provided that just bumps the "pStamp" sequence number in __DRIdrawableRec. For old servers not supporting buffer invalidation events, the invalidate hook will be called before flushing the fake front/back buffer (that's typically once per frame -- not a lot worse than the situation we were in before). No effort has been made on preserving backwards compatibility with version 2 of the flush extension, but I think it's acceptable because AFAIK no released stack is making use of it. Signed-off-by: Kristian Høgsberg <[email protected]>
* dri2: Allocate cliprect as part of the __DRIdrawableRecKristian Høgsberg2010-02-162-4/+8
|
* dri: Remove unnecessary headers.Vinson Lee2010-02-123-16/+0
|
* dri: Store the loader private passed in at dri context creationKristian Høgsberg2010-02-122-1/+7
| | | | We just threw it away before, but we haven't had a use for it yet.
* dri: Allow selective generation of accum. buffer configsIan Romanick2010-02-102-3/+5
| | | | | | | | | | | Modify the interface to driCreateConfigs allowing drivers to not expose configs with an accumuation buffer. All of the drivers calling function have been updated to pass true for the accumulation selector. This maintains the current behavior. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Corbin Simpson <[email protected]>
* Merge branch 'mesa_7_7_branch'Brian Paul2010-01-221-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Fix PowerPC related typo in spantmp2.hRuediger Oertel2010-01-221-1/+1
| | | | | | | | | | Signed-off-by: Matthias Hopf <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* | dri: Remove unnecessary glapi headers.Chia-I Wu2010-01-211-1/+0
| | | | | | | | They are not used at all.
* | Merge branch 'master' of ssh://people.freedesktop.org/~jbarnes/mesaJesse Barnes2010-01-112-0/+3
|\ \ | | | | | | | | | | | | | | | Conflicts due to DRI1 removal: src/mesa/drivers/dri/intel/intel_context.c src/mesa/drivers/dri/intel/intel_screen.c
| * | DRI2: add SwapBuffers supportJesse Barnes2010-01-082-0/+3
| |/ | | | | | | | | | | | | | | | | | | Support the new DRI2 protocol request, DRI2SwapBuffers, in both direct and indirect rendering context. This request allows the display server to optimize back->front swaps (e.g. through page flipping) and allows us to more easily support other GLX features like swap interval and the OML sync extension in DRI2. Signed-off-by: Jesse Barnes <[email protected]>
* | Push __driDriverExtensions out of dri_util.c and into the driversKristian Høgsberg2010-01-042-9/+2
| | | | | | | | | | | | | | | | | | This lets the individual drivers select which extensions to advertise. Specifically, most drivers (tdfx, sis, savage etc) don't support DRI2 but the shared extension list in dri_util.c does list the DRI2 extension. Pushing the list into the drivers, lets us avoid listing the DRI2 extension for drivers that don't support it.
* | Remove leftover __DRI{screen,drawable,context}Private referencesKristian Høgsberg2010-01-046-41/+36
|/ | | | | | | | | 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.
* Merge branch 'mesa_7_6_branch' into mesa_7_7_branchIan Romanick2009-12-161-1/+1
|\ | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/unichrome/via_ioctl.c src/mesa/drivers/dri/unichrome/via_screen.c src/mesa/main/version.h src/mesa/state_tracker/st_atom.c
| * dri: Initialize variable in driBindContext.Vinson Lee2009-12-151-1/+1
| |
| * dri: Fix potential null pointer dereference in driBindContext.Vinson Lee2009-12-061-1/+2
| | | | | | | | (cherry picked from commit 919898e92fa23ff71a59d86a46ff0886a6f34e4d)
| * dri: Fix potential null pointer deference in dri_put_drawable.Vinson Lee2009-12-061-4/+4
| | | | | | | | (cherry picked from commit 364070b1f2b08d43fb205ec198894a35bec6b2f3)
* | spantmp2: Add support for GL_BGR / GL_UNSIGNED_INT_8_8_8_8_REVIan Romanick2009-12-101-0/+57
| | | | | | | | | | This is really for MESA_FORMAT_XRGB8888. Clearly spantmp2.h needs some re-work. Any volunteers?
* | dri: Fix potential null pointer dereference in driBindContext.Vinson Lee2009-11-281-1/+2
| |
* | dri: Fix potential null pointer deference in dri_put_drawable.Vinson Lee2009-11-241-4/+4
| |
* | Remove unconditional use of glibc specific bswap_16() macro.Michel Dänzer2009-11-171-2/+4
| | | | | | | | Fixes unresolved symbol bswap_16 on non-glibc or little endian glibc platforms.
* | radeon: Fix software fallbacks with KMS on big endian.Michel Dänzer2009-11-171-0/+152
| |
* | Merge branch 'texformat-rework'Brian Paul2009-10-284-86/+74
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/radeon/radeon_fbo.c src/mesa/drivers/dri/s3v/s3v_tex.c src/mesa/drivers/dri/s3v/s3v_xmesa.c src/mesa/drivers/dri/trident/trident_context.c src/mesa/main/debug.c src/mesa/main/mipmap.c src/mesa/main/texformat.c src/mesa/main/texgetimage.c
| * | dri/drivers: update driNewRenderbuffer() to take a gl_formatBrian Paul2009-10-222-31/+33
| | | | | | | | | | | | | | | | | | | | | | | | Now pass a specific MESA_FORMAT_x token to indicate the renderbuffer's format. This is better than passing a GLenum and having to guess the specific format. I'm unable to test all the drivers, but any issues should be easy to fix.
| * | dri/common: updated #includesBrian Paul2009-10-151-6/+2
| | |
| * | dri/common: use _mesa_little_endian() and update commentsBrian Paul2009-10-151-7/+5
| | |
| * | dri/common: fix broken _dri_texformat_* initializationsBrian Paul2009-10-151-4/+4
| | |
| * | mesa: remove a bunch of gl_renderbuffer fieldsBrian Paul2009-10-081-16/+7
| | | | | | | | | | | | | | | | | | _ActualFormat is replaced by Format (MESA_FORMAT_x). ColorEncoding, ComponentType, RedBits, GreenBits, BlueBits, etc. are all replaced by MESA_FORMAT_x queries.
| * | mesa: replace gl_texture_format with gl_formatBrian Paul2009-09-302-32/+33
| | | | | | | | | | | | | | | | | | Now gl_texture_image::TexFormat is a simple MESA_FORMAT_x enum. ctx->Driver.ChooseTexture format also returns a MESA_FORMAT_x. gl_texture_format will go away next.
* | | mesa/dri: Remove extension_helper.h.Chia-I Wu2009-10-231-6647/+0
| | | | | | | | | | | | Signed-off-by: Chia-I Wu <[email protected]>
* | | mesa: Enable remap table in core.Chia-I Wu2009-10-232-105/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables the remap table in core. driInitExtensions is adapted to use the remap table. All uses of extension_helper.h are replaced by remap_helper.h. The chicken-egg problem of the DRI drivers is also solved. It is now also possible to pass NULL extensions to driInitExtensions. It will cause driInitExtensions to map all known functions. This functionality is used by software drivers and EGL_i915. Signed-off-by: Chia-I Wu <[email protected]>
* | | Nuke s3v.Corbin Simpson2009-10-221-1/+1
|/ / | | | | | | As per FDO #17889.
* | glapi: regenerated filesBrian Paul2009-09-191-1/+9
| |
* | glapi: Add ARB_draw_elements_base_vertexEric Anholt2009-09-081-14/+44
|/
* Eliminate trailing whitespace in extension_helper.cIan Romanick2009-09-031-673/+673
|
* ARB sync: Regenerate files from previous commitIan Romanick2009-09-031-0/+62
|
* dri: remove unused meta_clear_tris()Brian Paul2009-09-012-266/+2
|
* Revert "glx: Make drawables persistent untill they are changed by ↵Pauli Nieminen2009-08-251-80/+41
| | | | | | | | | glXMakeCurrent" This commit was not mean to end in to master yet. It is still queston if this right design to fix the problem. This reverts commit 45e3be3c07f543f3f2869ba7750ba4695cd25122.
* glx: Make drawables persistent untill they are changed by glXMakeCurrentPauli Nieminen2009-08-211-41/+80
| | | | | | | | | | | | | | | This fixes bug that xdemos/manywin would segfault if it was run with command ./manywin 2. Demo is tring to call glXSwapBuffers while another context was bind using glXMakeCurrent. Fix is simple makes drawable and readable persistent untill they change or context is destroyed. I found a logic error when same dri context is used for multiple drawables which caused readable and drawable to fall out of sync in special case. Fix is simple just updating drawables more often than in original patch. Signed-off-by: Pauli Nieminen <[email protected]>
* mesa/glapi: regenerated files from gl_API.xmlBrian Paul2009-08-111-15/+59
|
* intel: Fix googleearth by avoiding GL_VIEWPORT_BIT in meta clear push/popEric Anholt2009-08-071-2/+5
| | | | | | I have no idea why this fixes things, but being more efficient sounds good anyway. Fixes regression in 99d07d0f91ddd37926d08f4e7f10d55cac28d9a7 where most of the lit half of the world was not drawn.
* dri: Fix problems with unitialized values in dri screen object.Pauli Nieminen2009-08-071-1/+1
| | | | | | This fixes crash in r200 KMS driver when pSAREA was set to 1 randomly because of memory wasn't cleared. Signed-off-by: Pauli Nieminen <[email protected]>
* mesa: IgnoresJakob Bornecrantz2009-08-061-0/+1
| | | | Got tired of seeing these files in git status all the time
* mesa: regenerated fileBrian Paul2009-07-271-15/+15
|
* intel/radeon: add common metaops code.Dave Airlie2009-07-152-0/+640
| | | | | Move all the metaops to a dri_metaops file and port radeon/intel to use the new common meta ops code.
* glx: death to RCS tagRALOVICH, Kristóf2009-07-081-1/+0
|
* mesa: regenerated files related to GL_ARB_vertex_array_objectBrian Paul2009-06-191-19/+45
|
* Merge branch 'ext-provoking-vertex'Brian Paul2009-06-191-0/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S