summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-10Remove screenConfigs from __DRIscreen.Kristian Høgsberg
The screenConfigs field of __DRIscreen points back to the containing __GLXscreenConfigs struct. This is a serious abstraction violation; it assumes that the loader is libGL and that there *is* a __GLXscreenConfigs type in the loader. Using the containerOf macro, we can get from the __DRIscreen pointer to the containing __GLXscreenConfigs struct, at a place in the stack where the above is a valid assumption. Besides, the __DRI* structs shouldn't hold state other than the private pointer.
2007-10-10Drop mostly unused __DRIid typedef.Kristian Høgsberg
2007-10-10Avoid deadlock in GarbageCollectDRIDrawables.Kristian Høgsberg
__glXinitialize() can't be called with the GLX lock held. Just pass in the __GLXscreenConfigs pointer so we don't have to look it up in __GLXdisplayPrivate.
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-10Key drm_i915_flip_t typedef off of the ioctl #define instead.Kristian Høgsberg
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-10fix force_s3tc_enable optionMrc Gran
2007-10-09Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesaBrian
2007-10-09 Non Square MatrixZou Nan hai
2007-10-09 fix for prev commitZou Nan hai
2007-10-09 INT supportZou Nan hai
2007-10-09 shadow sampler fix.Zou Nan hai
1. spec requite result (0, 0, 0, 1) instead of (0, 0, 0, 0) 2. support shadow sampler in simd8
2007-10-09i915: workout max relocs from batch buffer sizeDave Airlie
2007-10-09i915: fixup up bufmgr to pass num buffers to kernelDave Airlie
remove unneeded entry points
2007-10-08i915: Fix undefined ALIGN symbol from 77e0523fb7769df4bf43747e136b1653b2421b97.Sergio Monteiro Basto
2007-10-08 Only vertex program fix, bypass tnl vertex programZou Nan hai
2007-10-07r300: fragprog tex instruction now take writemask into acount.Jerome Glisse
2007-10-06nouveau: move nv10 clear command, for usage by other gpuPatrice Mandin
2007-10-05i915: drop complex list handling for nowDave Airlie
If this proves a win later we can add it back but at the moment I don't think it's required yet
2007-10-05i915: clean up lists on teardownDave Airlie
also fix a use of uninitialised pointer
2007-10-05Add macros to generate CreateNewScreen entrypoint.Kristian Høgsberg
2007-10-05Remove XIDs from DRI interface (see #5714).Kristian Høgsberg
2007-10-05Pull in the drm hash.Kristian Høgsberg
2007-10-05i915: add copyrights to new filesDave Airlie
2007-10-05i915: increase batchbuffer back to 16kDave Airlie
2007-10-04[965] Replace various alignment code with a shared ALIGN() macro.Eric Anholt
In the process, fix some alignment issues: - Scratch space allocation was aligned into units of 1KB, while the allocation wanted units of bytes, so we never allocated enough space for scratch. - GRF register count was programmed as ALIGN(val - 1, 16) / 16 instead of ALIGN(val, 16) / 16 - 1, which overcounted for val != 16n+1.
2007-10-04Replace bmBufferOffset usage in batchbuffer setup with OUT_RELOC.Eric Anholt
This is in preparation for 965 TTM.
2007-10-04Replace duplicated intel_reg.h with a shared header.Eric Anholt
2007-10-04Replace some structure-based batch preparation with plain OUT_BATCH.Eric Anholt
OUT_BATCH is far more amenable to the upcoming relocations being done for TTM support.
2007-10-04nouveau: Replace removed device classes with their proper labels.Maarten Maathuis
2007-10-04i915: add superioctl support to the ttm codepaths.Dave Airlie
gears now runs for about 10-15 seconds with some artifacts before falling over.
2007-10-03minor fog calc cleanupRoland Scheidegger
2007-10-03i915: Only align texture pitch to 64 bytes when textures can be render targets.Michel Dänzer
2007-10-03i915: Work around texture pitch related performance drops on i915 at least.Michel Dänzer
2007-10-03i915: add superioctl initial support inside bufmgr ttmDave Airlie
2007-10-03i915/drmbuf: attempt to push relocations into buffer managerDave Airlie
This moves the relocations into the buffer manager in prepration for a superioctl move.
2007-10-02fix comment: s/branch/kill/Brian
2007-09-30 fragment shader function call fix, gl_FragCoord fixZou Nan hai
2007-09-29fix VBO-split infinite loop (bug 12164)Brian
2007-09-29r200: Implement SetTexOffset hook.Chris Rankin
Implementation guidance by Michel Dänzer, final testing by Timo Aaltonen.
2007-09-29 support continue, fix conditionalZou Nan hai
2007-09-28add support for LDFLAGS env varDan Nicholson
2007-09-28Remove test for EXT_blend_logic_op in glGetString when determining GL version.Brian
EXT_blend_logic_op is slightly different from GL 1.1's RGBA logicop mode and does not have to be supported. Per conversation with Roland.