summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/common
AgeCommit message (Collapse)Author
2008-11-10mesa: restore glapi/ prefix on #includeBrian Paul
2008-11-10GLX: fix out-of-bounds memory issue in indirect glAreTexturesResident()Brian Paul
See bug 18445. When getting array results, __glXReadReply() always reads a multiple of four bytes. This can cause writing to invalid memory when 'n' is not a multiple of four. Special-case the glAreTexturesResident() functions now. To fix the bug, we use a temporary buffer that's a multiple of four bytes in length. NOTE: this commit also reverts part of commit 919ec22ecf72aa163e1b97d8c7381002131ed32c (glx/x11: Added some #ifdef GLX_DIRECT_RENDERING protection) which directly edited the indirect.c file rather than the python generator! I'm not repairing that issue at this time.
2008-11-10dri: alloc __DRIscreen object with calloc()Brian Paul
2008-09-21Remove CVS keywords.Keith Whitwell
Cherry-picked from gallium-0.1 Conflicts: src/glu/sgi/libnurbs/interface/bezierEval.h src/glu/sgi/libnurbs/interface/bezierPatch.h src/glu/sgi/libnurbs/interface/bezierPatchMesh.h src/glu/sgi/libnurbs/internals/dataTransform.h src/glu/sgi/libnurbs/internals/displaymode.h src/glu/sgi/libnurbs/internals/sorter.h src/glu/sgi/libnurbs/nurbtess/definitions.h src/glu/sgi/libnurbs/nurbtess/directedLine.h src/glu/sgi/libnurbs/nurbtess/gridWrap.h src/glu/sgi/libnurbs/nurbtess/monoChain.h src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h src/glu/sgi/libnurbs/nurbtess/partitionX.h src/glu/sgi/libnurbs/nurbtess/partitionY.h src/glu/sgi/libnurbs/nurbtess/polyDBG.h src/glu/sgi/libnurbs/nurbtess/polyUtil.h src/glu/sgi/libnurbs/nurbtess/primitiveStream.h src/glu/sgi/libnurbs/nurbtess/quicksort.h src/glu/sgi/libnurbs/nurbtess/rectBlock.h src/glu/sgi/libnurbs/nurbtess/sampleComp.h src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h src/glu/sgi/libnurbs/nurbtess/sampledLine.h src/glu/sgi/libnurbs/nurbtess/searchTree.h src/glu/sgi/libnurbs/nurbtess/zlassert.h src/glu/sgi/libutil/error.c src/glu/sgi/libutil/glue.c src/glu/sgi/libutil/gluint.h src/glu/sgi/libutil/project.c src/glu/sgi/libutil/registry.c src/glx/x11/glxclient.h src/glx/x11/glxext.c src/mesa/drivers/dri/ffb/ffb_dd.h src/mesa/drivers/dri/ffb/ffb_points.h src/mesa/drivers/dri/gamma/gamma_context.h src/mesa/drivers/dri/gamma/gamma_macros.h src/mesa/drivers/dri/i810/i810context.h src/mesa/drivers/dri/r128/r128_dd.h src/mesa/drivers/dri/tdfx/tdfx_dd.h
2008-09-21mesa: standardize on C99's uint*_t instead of u_int*_tKeith Whitwell
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-09-01Fix build by removing #include of removed dri_sarea.h.Michel Dänzer
Thanks to JohnFlux on IRC for pointing out the problem.
2008-08-29DRI2: Drop sarea, implement swap buffers in the X server.Kristian Høgsberg
2008-08-24Revert "Revert "Merge branch 'drm-gem'""Dave Airlie
This reverts commit 7c81124d7c4a4d1da9f48cbf7e82ab1a3a970a7a.
2008-08-24Revert "Merge branch 'drm-gem'"Dave Airlie
This reverts commit 53675e5c05c0598b7ea206d5c27dbcae786a2c03. Conflicts: src/mesa/drivers/dri/i965/brw_wm_surface_state.c
2008-08-21Report damage before modifying the area, not after.Peter Hutterer
If we copy the area before reporting the damage in this area, the server may restore buffered data over the new data, leading to artefacts on the screen. Reproducable with two cursors (second of which is SW rendered) and moving windows around in compiz. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16384 .
2008-08-09dri: fix crash in driGetConfigAttribIndexDave Miller
Accessing a GLboolean via an int pointer on big-endian == bad.
2008-08-08Merge branch 'drm-gem'Eric Anholt
Conflicts: src/mesa/drivers/dri/intel/intel_span.c src/mesa/main/fbobject.c This converts the i915 driver to use the GEM interfaces for object management.
2008-08-05dri: Fix write/read depth buffer issue under 16bpp mode. See bug #16646Xiang, Haihao
2008-07-25Merge branch 'master' into drm-gemIan Romanick
Conflicts: src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/i965/brw_wm_surface_state.c
2008-07-23intel-gem: Use pread/pwrite for span access.Eric Anholt
This will avoid clflushing entire buffers for small acesses, such as those commonly used by regression tests.
2008-07-15intel-gem: Disable spantmp sse/mmx functions when tile swizzling.Eric Anholt
Those functions rely on being able to treat the GET_PTR returned value as an array indexed by x, but that's not the case for our tiling. Bug #16387
2008-07-02VBO: Regenerate files based on recent changes to gl_API.xmlIan Romanick
Since GL_ARB_vertex_buffer_object protocol isn't supported yet, these changes are innocuous.
2008-07-01dri: drop asserts to make build against stable libdrmDave Airlie
These asserts are of questionable use at the moment with things in flux.
2008-07-01dri: Take the base image size into account when computingXiang, Haihao
first level of the mipmap. fix #16210
2008-06-26Check in SwapBuffers for any new pending dri2 eventsAlan Hourihane
2008-06-24Merge commit 'origin/master' into drm-gemEric Anholt
2008-06-21replace __inline and __inline__ with INLINE macroBrian Paul
2008-06-21Solaris port of Mesa 7.1 with autoconf supportAlan Coopersmith
Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
2008-06-18Merge commit 'origin/master' into drm-gemEric Anholt
2008-06-11remove obsoleted doxygen \param commentsBrian Paul
Someone changed the function parameters but didn't bother to update the comments. Also, whitespace changes, clean-ups.
2008-06-09Check for NULL pointerAlan Hourihane
2008-06-03Merge commit 'origin/master' into drm-gemKeith Packard
Conflicts: src/mesa/drivers/dri/common/dri_bufmgr.h src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h src/mesa/drivers/dri/intel/intel_ioctl.c
2008-06-04mesa/drm/ttm: allow build against non-TTM aware libdrmDave Airlie
I'll release a libdrm 2.3.1 without TTM apis included from a special drm branch that should allow mesa 7.1 to build against it. I've had to turn off DRI2 stuff.
2008-06-03[intel] Convert drivers to using libdrm bufmgr code.Eric Anholt
2008-05-29Report correct damage rectangle in CopySubBuffer.Dennis Kasprzyk
2008-05-24dri: vblank_mode warningTormod Volden
From what I can see the environment variables LIBGL_THROTTLE_REFRESH and LIBGL_SYNC_REFRESH were taken out like 3 years ago, but this warning was never updated.
2008-05-23dri/swrast: cosmetic, mainly generic vs. xorg terminologyGeorge Sapountzis
2008-05-23dri: add support for generating 3_3_2 configsGeorge Sapountzis
2008-05-22Add back a mostly-correct glFinish for GEM and fake.Eric Anholt
The right solution would probably be keeping a list of regions which have been rendered to.
2008-05-20Make utils.h self-contained.George Sapountzis
Move stuff with drm dependencies to dri_util.h, and move a couple of types without drm dependencies to utils.h.
2008-05-11[intel] update GEM api. Add bo_subdata and bo_get_subdata driver hooks.Keith Packard
Track DRM GEM name changes. Add driver hooks for bo_subdata and bo_get_subdata so that GEM can use pread and pwrite.
2008-05-07GEM: Make dri_emit_reloc take GEM domain flags instead of TTM flags.Eric Anholt
The GEM flags are much more descriptive for what we need. Since this makes bufmgr_fake rather device-specific, move it to the intel common directory. We've wanted to do device-specific stuff to it before.
2008-05-07Never fail `make clean'Dan Nicholson
Mostly some pedantic changes such that `make clean' always ignores errors. Also changed the top clean target to do the `touch configs/current' dance instead of realclean.
2008-05-02[intel] Fix build for GEM. TTM is now disabled, and fencing is gone.Eric Anholt
Fencing was used in two places: ensuring that we didn't get too many frames ahead of ourselves, and glFinish. glFinish will be satisfied by waiting on buffers like we would do for CPU access on them. The "don't get too far ahead" is now the responsibility of the execution manager (kernel).
2008-05-02Add intel_bufmgr_gem for new graphics execution manager.Eric Anholt
2008-04-28build fix for xorg driverAlan Hourihane
2008-04-25silence warningAlan Hourihane
2008-04-18i965: initial attempt at fixing the aperture overflowDave Airlie
Makes state emission into a 2 phase, prepare sets things up and accounts the size of all referenced buffer objects. The emit stage then actually does the batchbuffer touching for emitting the objects. There is an assert in dri_emit_reloc if a reloc occurs for a buffer that hasn't been accounted yet.
2008-04-16bufmgr_fake: disable debugging againDave Airlie
2008-04-16intel/fake_bufmgr: Attempt to restrict references to objects in a ↵Dave Airlie
batchbuffer > aperture size. So with compiz on Intel hw with fake bufmgr, opening 4 firefox windows at 1680x1050 and hitting alt-tab, could cause the batchbuffer to try and reference more than the 32MB of RAM allocated. Fix 1: Fix 1 is to pre-verify the list of buffers against the current batchbuffer and if it can't possibly fit in the aperture to flush the batchbuffer to the hardware and try again. If the buffers still can't fit well then you are hosed as I'm not sure there is a nice way to tell anyone. Fix 2: Next problem was that even with a simple check for total < aperture, we ran into fragmentation issues, this meant that half way down a set of buffers, we would fail as no blocks were available. Fix this by nuking the memory manager from orbit and letting it start again and relayout the blocks in a manner that fits. Fix 3: Finally the initial problem we were seeing was a memcpy to a NULL backing store. We seem to end up with a texture at some point that never gets mapped but ends up with data in it. compiz al-tab icons have this property. So I created a card dirty bit that memcpy's any buffer that is !static and is written to back to memory. This probably is wrong but it makes compiz work for now. Caveats: 965 support is still fail.
2008-04-02Initialize GLX_EXT_texture_from_pixmap attributes correctly.Kristian Høgsberg
2008-03-31DRI interface changes and DRI2 direct rendering support.Kristian Høgsberg
Add DRI2 direct rendering support to libGL and add DRI2 client side protocol code. Extend the GLX 1.3 create drawable functions in glx_pbuffer.c to call into the DRI driver when possible. Introduce __DRIconfig, opaque struct that represents a DRI driver configuration. Get's rid of the open coded __GLcontextModes in the DRI driver interface and the context modes create and destroy functions that the loader was requires to provide. glcore.h is no longer part of the DRI driver interface. The DRI config is GL binding agnostic, that is, not specific to GLX, EGL or other bindings. The core API is now also an extension, and the driver exports a list of extensions as the symbol __driDriverExtensions, which the loader must dlsym() for. The list of extension will always include the DRI core extension, which allows creating and manipulating DRI screens, drawables and contexts. The DRI legacy extension, when available, provides alternative entry points for creating the DRI objects that work with the XF86DRI infrastructure. Change DRI2 client code to not use drm drawables or contexts. We never used drm_drawable_t's and the only use for drm_context_t was as a unique identifier when taking the lock. We now just allocate a unique lock ID out of the DRILock sarea block. Once we get rid of the lock entirely, we can drop this hack. Change the interface between dri_util.c and the drivers, so that the drivers now export the DriverAPI struct as driDriverAPI instead of the InitScreen entry point. This lets us avoid dlsym()'ing for the DRI2 init screen function to see if DRI2 is supported by the driver.
2008-03-21intel: Use _mesa_ffs wrapper, and fix a use-after-free with INTEL_DEBUG=buf.Michal Wajdeczko
2008-03-09DRI2: Drop DriverAPI.UpdateBuffer.Kristian Høgsberg
__dri2ParseEvents() would determine the kind of event, but then call UpdateBuffer() in either case, and UpdateBuffer() would then have to figure that out again to dispatch to HandleBufferAttach() or HandleDrawableConfig(). Pretty pointless.