summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/common
AgeCommit message (Collapse)Author
2007-10-11Move GLX_MESA_swap_frame_usage DRI entry points to the new mechanism.Kristian Høgsberg
2007-10-10Move swap_interval to new extension mechanism.Kristian Høgsberg
2007-10-10Move the copySubBuffer extension over to the new mechanism.Kristian Høgsberg
2007-10-10Implement new screen extension API.Kristian Høgsberg
This new API lets the loader examine DRI level extensions provided by the driver in a forward compatible manner. Much of the churn in the DRI interface is adding support for new extensions or removing old, unused extensions. This new extension mechanism lets the loader query the extensions provided by the driver and implement the extensions it knows about. Deprecating extensions is done by not exporting that extension in the list, which doesn't require keeping old function pointers around to preserve ABI.
2007-10-10Stop passing in unused fbconfigs to createNewScreen.Kristian Høgsberg
2007-10-10Pull createNewScreen entry point into dri_util.c.Kristian Høgsberg
This pulls the top level createNewScreen entry point out of the drivers and rewrites __driUtilCreateNewScreen in dri_util.c to be the new entry point. The change moves more logic into the common/ layer and changes the createNewScreen entry point to only be defined in one place.
2007-10-10Replace open-coded major, minor, and patch version fields with __DRIversionRec.Kristian Høgsberg
2007-10-10Convert all DRI entrypoints to take pointers to __DRI* types.Kristian Høgsberg
The entrypoints take a mix of __DRIscreen * and void * (screen private) arguments (similarly for contexts and drawables). This patch does away with passing the private void pointer and always only passes the fully typed __DRIscreen pointer and always as the first argument. This makes the interface more consistent and increases type safety, and catches a bug where we would pass a screen private to DRIdrawable::getSBC.
2007-10-10Drop createContext and destroyContext from DRIinterfaceMethods.Kristian Høgsberg
As for createDrawable and destroyDrawable, these functions immediately upon entry to driCreateNewContext and immediately before exit from driDestroyContext. Instead of passing function pointers back and forth just obtain the drm_context_t prior to calling DRIscreen::createNewContext and pass it as a parameter. This change also lets us keep the DRI context XID in the libGL loader only.
2007-10-10Drop createDrawable and destroyDrawable fron DRIinterfaceMethods.Kristian Høgsberg
All the DRI driver did was call the createDrawable callback immediately upon entry to DRIscreen::createNewDrawable to get the drm_drawable_t. We can just call that before calling into the DRI driver and pass the returned drm_drawable_t as an argument to the DRI entry point. Likewise for destroyDrawable. Also, DRIdrawablePrivate::draw isn't used anywhere, and since the driver no longer needs the XID of the drawable we can now drop that.
2007-10-10Drop __DRInativeDisplay and pass in __DRIscreen pointers instead.Kristian Høgsberg
Many DRI entry points took a __DRInativeDisplay pointer and a screen index as arguments. The only use for the native display pointer was to pass it back to the loader when looking up the __DRIscreen for the given screen index. Instead, let's just pass in the __DRIscreen pointer directly, which let's drop the __DRInativeDisplay type and the getScreen function. The assumption is now that the loader will be able to retrieve context from the __DRIscreen pointer when necessary.
2007-10-05Remove XIDs from DRI interface (see #5714).Kristian Høgsberg
2007-09-25drm: update bufmgr code to reflect changes in drm interfaceDave Airlie
2007-09-21Fix buffer/fence reference counting due to Destroy vs Unreference difference.Eric Anholt
While here, remove the unnecessary fence type saving for the wait ioctl, as a 0 argument for type means "use your other saved copy".
2007-09-20Add disabled-by-default tracing of TTM bufmgr operations.Eric Anholt
2007-09-20Fix flipped sign to strerror.Eric Anholt
2007-09-20Merge branch 'master' into i915-unificationEric Anholt
Conflicts: src/mesa/drivers/dri/common/dri_drmpool.c src/mesa/drivers/dri/i915tex/i915_vtbl.c src/mesa/drivers/dri/i915tex/intel_batchbuffer.c src/mesa/drivers/dri/i915tex/intel_context.c
2007-09-18Add some error reporting and a couple of assertions to TTM bufmgr.Eric Anholt
2007-08-16Convert TTM code to require the server provide buffers for front/back/depth.Eric Anholt
This removes the use of fake buffers from the driver, such that it could probably be removed from the interface. It also should assist in proper synchronization of access.
2007-08-16Fix bad printf on TTM fence_wait failure.Eric Anholt
2007-08-16Don't forget to update buffer offset after validation.Eric Anholt
2007-08-12fix spantmp2 READ_RGBA inline asm (#11931)Dan Torop
2007-08-02Don't try to use kernel BO flags in dri_bufmgr_fake internals.Eric Anholt
2007-08-01fix mem leak (bug 11793)Brian
2007-07-31bufmgr_fake: eliminate the referenced list, which is now just on_hardware.Eric Anholt
2007-07-25Add notes about bufmgr initialization failures.Eric Anholt
2007-07-10Clear pointers to freed cliprects.Michel Dänzer
Not doing this could lead to double frees under rare circumstances.
2007-07-06bufmgr_ttm: hook up destroy function, track buffer names.Eric Anholt
2007-07-05bufmgr_fake: Keep the bufmgr lock held while freeing a block.Eric Anholt
2007-07-05Merge branch 'i915-unification' of ↵Eric Anholt
git+ssh://people.freedesktop.org/~anholt/mesa into i915-unification
2007-06-28Add a few missing GL 2.0 entrypoints, regenerate related files.Brian
Specifically: glVertexAttrib4bv glVertexAttrib4iv glVertexAttrib4ubv glVertexAttrib4uiv glVertexAttrib4usv
2007-06-21Improve fake bufmgr debugging, and don't try to migrate static buffers.Eric Anholt
2007-06-18Fix TTM static allocation flags.Eric Anholt
2007-06-18Test for TTM presence initially rather than test for lack of classic aperture.Eric Anholt
2007-05-31Add buffer manager destroy function.Eric Anholt
2007-05-24Replace the flags/hint arguments to bo_alloc{,_static} with a location mask.Eric Anholt
Now, allocations only take locations, rather than a variety of unused flags. The only interesting flag before was the no_move/no_evict pair for scanout and similar buffers, which the DRI drivers don't use. That will be readded when we get to using this code for display buffer allocation, by adding a pin/unpin call (dynamic pinning/unpinning may be useful for VT switching and root window resizing). This commit changes one instance of DRM_BO_FLAG_MEM_LOCAL with DRM_BO_FLAG_MEM_TT, which appeared to have been unintentional.
2007-05-24Merge branch 'master' into i915-unificationEric Anholt
Conflicts: src/mesa/drivers/dri/i915tex/i830_texstate.c src/mesa/drivers/dri/i915tex/i915_texstate.c
2007-05-22Add interfaces for overriding texture images with driver specific 'offsets'.Michel Dänzer
To be used by AIGLX for GLX_EXT_texture_from_pixmap without several additional data copies.
2007-05-18Merge branch 'master' into i915-unificationEric Anholt
Conflicts: src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_drmpool.c src/mesa/drivers/dri/i915tex/intel_batchpool.c src/mesa/drivers/dri/i915tex/intel_buffer_objects.c src/mesa/drivers/dri/i915tex/intel_regions.c src/mesa/drivers/dri/i915tex/intel_screen.c src/mesa/drivers/dri/i915tex/intel_screen.h
2007-05-18Fix another mis-calling of _fence_wait_internal.Eric Anholt
2007-05-18Allow unreference with a NULL argument.Eric Anholt
2007-05-18Fix double-counting of low_offset in block->virtual.Eric Anholt
2007-05-18Zero out bufmgr_fake on alloc.Eric Anholt
2007-05-18Dead code elimination and fix bufmgr_fake_wait_idle.Eric Anholt
2007-05-18Fix some use-before-initialize in bufmgr_fake.Eric Anholt
2007-05-17Convert i915tex to the new interface and make it compile.Eric Anholt
2007-05-16Initial implementation of MESA_texture_arrayIan Romanick
Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
2007-05-16WIP: Replace TTM buffer pool manager with a simplified interface.Eric Anholt
The interface is not solid yet (some simplification to do still, and adjustment for 0-copy), and the drivers are not converted. However, the new interface allows using the same calls to support either a TTM or a classic static allocation backend, with the static backend allowing a more limited feature set.
2007-04-16Make sure we are locked when creating drm buffer objects.Thomas Hellstrom
Don't place buffer objects on unfenced list when newly created. Fix a buffer object wait-for-idle deadlock.
2007-04-08driUpdateFramebufferSize: Use ctx->Driver.ResizeBuffers.Michel Dänzer