summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel
AgeCommit message (Collapse)Author
2008-03-05[intel] Add a driconf option to cache freed buffer objects for reuse.Eric Anholt
This is defaulted off as it has potentially large memory costs for a modest performance gain. Ideally we will improve DRM performance to the point where this optimization is not worth the memory cost in any case, or find some middle ground in caching only limited numbers of certain buffers. For now, this provides a modest 4% improvement in openarena on GM965 and 10% in openarena on GM945.
2008-03-03[intel] Silence unused variable warning when compiling for i965.Kristian Høgsberg
2008-02-29Use __DRIextension mechanism providing loader functionality to the driver.Kristian Høgsberg
Instead of passing in a fixed struct, the loader now passes in a list of __DRIextension structs, to advertise the functionality it can provide to the driver. Each extension is individually versioned and can be extended or phased out as the interface develops.
2008-02-29Reduce the versioning madness required to create a DRI2 screen.Kristian Høgsberg
Right now the DRI2 screen constructor takes 3 different versions: DRI, DDX and DRM. This is mostly useless, though: DRI: The DRI driver doesn't actually care about the DRI protocol, it only talks to the loader, which in turn speaks DRI protocol. Thus, the DRI protocol version is of not interest to the DRI driver, but it needs to know what functionality the loader provides. At this point that's reflected in the __DRIinterfaceMethods struct and the internal_version integer. DDX: The DDX version number is essentially used to track extensions to the SAREA. With DRI2 the SAREA consists of a number of versioned, self-describing blocks, so the DDX version is no longer interesting. DRM: We have the fd, lets just ask the kernel ourselves.
2008-02-29intel: Set the lock flag early to avoid deadlock.Kristian Høgsberg
Another regression from the intel_context.c merge.
2008-02-28[intel] Bug #14575: Unmap buffers when deleting/dataing as required.Eric Anholt
Otherwise, we would assertion error when doing the final unreference of the buffer with an outstanding map (catching the memory leak).
2008-02-28[intel] fix compressed image heightZou Nan hai
2008-02-27intel: Always use intelInitExtensions() for initializing extensions.Kristian Høgsberg
2008-02-26 [i915] fix texture size exceed limit case when running celestiaZou Nan hai
2008-02-26[intel] Handle -EAGAINs correctly in execbuffer.Thomas Hellstrom
Dont stop on fence creation errors.
2008-02-25Change GetCompressedTexImage in dd_function_table to not take const pointers.Kristian Høgsberg
They're changed by the intel driver implementation and thus not const. Fixes compilation warning.
2008-02-25Remove GetMSC DriverAPI function.Kristian Høgsberg
The DriverAPI is internal to the DRI drivers and GetDrawableMSC obsoletes GetMSC. Also, since the DRI driver interface has not yet been released, just drop the getMSC function from the DRI interface instead using the ABI preserving version mechanism. Finally, using void pointer privates in the DRI interface is not allowed, always pass the actual types around (__DRIdrawable in this case) to enhance type safety and readability of the code.
2008-02-25Remove now unused setTexOffset from __DriverAPIRec.Kristian Høgsberg
2008-02-25intel: Only enable GL_ARB_occlusion_query on i965.Kristian Høgsberg
2008-02-25 [intel] fix random ut2004 crash on some machine, for cubemap textures,Zou Nan hai
image offset is already considered when map, add it again in StoreImage may lead to wrong result and crash.
2008-02-22intel: Merge intel_context.c from i915 and i965.Kristian Høgsberg
2008-02-22Merge {i915,i965}/intel_context.h as intel/intel_context.hKristian Høgsberg
2008-02-22Use drm_i915_sarea instead of drmI830Sarea and remove i830_common.hAlan Hourihane
2008-02-15[intel] Allow attIndex to be negative to avoid defeating the >= 0 check.Eric Anholt
Otherwise, we would go wildly out of bounds if passed -1 (no renderbuffer), such as while doing LOCK_HARDWARE with glDrawBuffer(GL_NONE).
2008-02-15[915] Don't attempt our accelerated drawpixels if no color buffer is attached.Eric Anholt
Otherwise, glDrawBuffer(GL_NONE); glDrawPixels() results in a segfault when we try to emit the color buffer state during setup.
2008-02-15[915] Revert broken context creation change from IS_915 commit.Eric Anholt
The IS_945 case was left to fall through to the 830 case, along with the not-recognized-at-all case, making that dead code.
2008-02-15Fix build on ia64.Adam Jackson
2008-02-15Add IS_915(), simplify IS_9XX() a bit.Adam Jackson
2008-02-15[intel] Bug #13636: Allow recursive buffer mapping in bufmgr_ttm.Eric Anholt
2008-02-15Add E7221 variant to i915.Adam Jackson
2008-02-14Add TTM buffer object based texture from pixmap implementation.Kristian Høgsberg
Currently only implemented for intel hw.
2008-02-14Hook up i915 driver to new DRI2 infrastructure.Kristian Høgsberg
2008-02-13[965] Fix ARB_occlusion_query from intel_screen.c merge.Eric Anholt
It wasn't being initialized at screen setup, so we were getting stub entrypoints even though it was exposed as enabled. Fixes arbocclude mesa demo.
2008-02-13[intel] Fix 965 rendering with non-TTM by merging intel_ioctl between 915/965.Eric Anholt
The 965 path wasn't setting pClipRects for batch submission since it didn't want kernel cliprect handling before. The 915 path also grew the INTEL_NO_HW=1 option for testing just driver overhead.
2008-02-12[intel] Remove cached reloc data buffer now that it's not a BO.Eric Anholt
It's not worth the extra effort to avoid a free/malloc, and we'd rather auto-size the reloc data buffer at some point so we don't need to have max_relocs.
2008-02-12[intel] Fix type of some more flags variables for uint64_t flags.Eric Anholt
Harmless since we don't yet have any bits above 31 for flags.
2008-02-12[intel] Note when BO map/unmap fail with TTM.Eric Anholt
2008-02-12[intel] Fix INTEL_DEBUG=bufmgr after relocation interface fixups.Eric Anholt
2008-02-05[965] Bug 14314: assertion failure with with !AIGLX and depth=24 visual.Eric Anholt
2008-02-05[965] Fix TTM relocation caching overzealousness.Eric Anholt
The failure mode that was a available was: reloc 1 -> target_buf exec: PRESUMED_OFFSET wrong, buffer migrates, r1 entry updated. reloc 2 -> target_buf exec: suppose buffer migrates again. PRESUMED_OFFSET wrong. r2 entry updated. reloc 1 -> target_buf exec: suppose buffer doesn't migrate. PRESUMED_OFFSET right. no relocations performed. r1 has stale pointer at original location. Failures were reported with OGLconform's VBO test and SPECviewperf90, though I haven't confirmed that this fixes it.
2008-02-04Replace usage of DRM_BO_FLAG_MEM_TT in intel_regions.c with local/cached.Eric Anholt
In addition to potentially binding when it was about to be mapped anyway, failure to use CACHED_MAPPED means eating a full wbinvd on validate. Thanks to airlied for catching this.
2008-02-01Revert "intel: don't apply the relocation optimization if a target"Eric Anholt
This reverts commit e2cb905bc6e23eaafaeeb2abdc9480e70959ee3f. It was a reversion of an optimization hidden as otherwise. pre_target_buf_handle was always NULL, so the optimization was never enabled, rather than fixing the important optimization (resulting in 25-50% performance loss).
2008-02-01 [intel] fix for previous fixZou Nan hai
2008-02-01 [intel] use _mesa_copy_rect for upload compressed texture,Zou Nan hai
this fix bad texture issue in some games(UT and quake).
2008-01-31intel: don't apply the relocation optimization if a targetXiang, Haihao
buffer is used for a relocatee in the former relocation process then another target buffer is used for this relocatee at the same offset in the current relocation process.
2008-01-29i965: new integrated graphics chipset supportXiang, Haihao
2008-01-24Bufmgr cleanup from intel-batchbuffer branch of 2d driver.Eric Anholt
2008-01-24Clean up comments/dead code from relocation buffer change.Eric Anholt
2008-01-24i915: move to using copy from user for relocationsDave Airlie
2008-01-22[intel] Clean up references to screen buffer metrics.Kristian Høgsberg
The screen wide info such as pitch and cpp are obsoleted by the FBO changes, so clean up the last few references to those, except for setting up the legacy screen regions.
2008-01-18[intel] Use a static array for the validation list instead of a linked list.Eric Anholt
Around 10% of a CPU was being wasted to create the linked list which we threw out immediately after passing it to the kernel.
2008-01-17[intel] Make the no_rast option be standard driconf instead of INTEL_NO_RAST.Eric Anholt
2008-01-17[i915] Fix driver from cliprects changes, and clean up state emission.Eric Anholt
The fix for pageflipping with cliprects ended up causing a batch flush at an inopportune time, which is fixed by moving it up. Additionally, the recovery code for handling batch wraps at bad times is replaced by just checking for the space up front, and using a no_batch_wrap assert like on 965 to make sure that we weren't wrong about how much space that was.
2008-01-15[965] Increase max relocation count, fixing assertions by blender.Eric Anholt
2008-01-15[i915] Prevent recursive batchbuffer flushing.Kristian Høgsberg
Workaround for recursive batchbuffer flushing: If the window is moved, we can get into a case where we try to flush during a flush. What happens is that when we try to grab the lock for the first flush, we detect that the window moved which then causes another flush (from the intel_draw_buffer() call in intelUpdatePageFlipping()). To work around this we reset the batchbuffer tail pointer before trying to get the lock. This prevent the nested buffer flush, but a better fix would be to avoid that in the first place.