summaryrefslogtreecommitdiff
path: root/src/i830_accel.c
AgeCommit message (Collapse)Author
2010-06-08xp:trapezoidsChris Wilson
2010-02-20Remove dead i830_ring.h.Eric Anholt
2009-12-07batch: Ensure we send a MI_FLUSH in the block handler for TFPChris Wilson
This should restore the previous level of synchronisation between textures and pixmaps, but *does not* guarantee that a texture will be flushed before use. tfp should be fixed so that the ddx can submit the batch if required to flush the pixmap. A side-effect of this patch is to rename intel_batch_flush() to intel_batch_submit() to reduce the confusion of executing a batch buffer with that of emitting a MI_FLUSH. Should fix the remaining rendering corruption involving tfp [inc compiz]: Bug 25431 [i915 bisected] piglit/texturing_tfp regressed http://bugs.freedesktop.org/show_bug.cgi?id=25431 Bug 25481 Wrong cursor format and cursor blink rate with compiz enabled http://bugs.freedesktop.org/show_bug.cgi?id=25481 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02Remove flush parameter from intel_batch_flush()Chris Wilson
There is only a single caller that wishes to forcibly append a flush into the batch: intel_sync(). So move the logic there. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02Rename I830Sync() to intel_sync()Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02batch: Avoid flushing a NULL batchChris Wilson
During shutdown from a FatalError during batchbuffer submission, it is possible for the batch_ptr to be NULL, so we must be careful not to append a flush on this error path. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-12-02Review use of errno after libdrm callChris Wilson
Since drm may not actually set the appropriate errno after a failure, we must use the return code instead when determining the cause of failure. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30debug: Don't always flush the batch when emitting a debugging flushChris Wilson
I incorrectly changed the logic in 285f286 and caused the batch to always be flushed when debugging, instead of merely inserting a MI_FLUSH between operations. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-29batch: Track pixmap domains.Chris Wilson
In order to detect when we require cache flushes we need to track which domains the pixmap currently belongs to. So to do so we create a device private structure to hold the extra information and hook it up. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-14debug: Enable cache flushing after every operationChris Wilson
If DEBUG_FLUSH_CACHES is enabled then emit a MI_FLUSH after every rendering operation. This is intended to 'fix' cases where we are missing a required flush in the middle of a sequence of operations, such as switching between 2D to 3D and render to sampler. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-14conf: Add debugging flush optionsChris Wilson
Make the following options available via xorg.conf: Section "Driver" Option "DebugFlushBatches" "1" # Flush the batch buffer after every # single operation; Option "DebugFlushCaches" "1" # Include a MI_FLUSH at the end of every # batch buffer to force data to be # flushed out of cache and into memory # before the completion of the batch. Option "DebugWait" "1" # Wait for the completion of every batch buffer # before continuing, i.e. perform synchronous # rendering. EndSection Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-08Rename the xv pPriv to adaptor_priv to reflect whose private it is.Eric Anholt
2009-10-08Call pPixmaps plain old pixmaps.Eric Anholt
2009-10-08Rename the xf86 screen private from pScrn to scrn.Eric Anholt
2009-10-08Rename the screen private from I830Ptr pI830 to intel_screen_private *intel.Eric Anholt
This is the beginning of the campaign to remove some of the absurd use of Hungarian in the driver. Not that I don't like Hungarian, but I don't need to know that pI830 is a pPointer.
2009-10-06Remove the reg_dumper code, now that it's been moved to intel_gpu_tools.Eric Anholt
2009-10-06Move to kernel coding style.Eric Anholt
We've talked about doing this since the start of the project, putting it off until "some convenient time". Just after removing a third of the driver seems like a convenient time, when backporting's probably not happening much anyway.
2009-10-06Remove UMS support.Eric Anholt
At this point, the only remaining feature regressions should be the lack of overlay support (about to land), and the need to update the XVMC code to work in the presence of KMS. Acked-by: Keith Packard <keithp@keithp.com> (in principle) Acked-by: Carl Worth <cworth@cworth.org> (in principle)
2009-10-05Remove error state dumping code.Eric Anholt
This is replaced by intel_gpu_dump, and would no longer be used once UMS is gone.
2009-07-22Only align DRI2 tiled pixmaps to the DRI2 tiled pixmap alignment requirement.Eric Anholt
This should save significant amounts of memory for glyph and other small pixmap storage. Bug #21387
2009-07-10Remove NoAccel supportKeith Packard
This removes yet another 'debugging' option that hasn't seen real use in a long time, and wasn't supported under KMS in any case. Signed-off-by: Keith Packard <keithp@keithp.com>
2009-04-28Remove a handful of pointless commentsKristian Høgsberg
CVS keywords, comments about how the source was once reformatted, and the ad-hoc changelog comment in in i830_driver.c
2009-04-27Replace I830Sync's irq emit/wait code with bufmgr use.Eric Anholt
This pre-GEM code was all sorts of broken -- see intel_bufmgr_fake.c for the hoops that must be jumped to use that kernel interface successfully. Yet we continued to use it even with KMS/DRI2/UXA, which may account for some hangs.
2009-04-27unifdef I830_USE_UXA.Eric Anholt
We only have on acceleration architecture now, and you can always build it if you're building the driver.
2009-04-27Remove EXA support.Eric Anholt
UXA has completely replaced EXA at this point. UXA is the same rendering core as EXA, but relying on kernel memory management or a fake bufmgr instead of trying to manage memory in the X Server.
2009-04-27Remove XAA support.Eric Anholt
While EXA/UXA aren't completely good replacements (see bugzilla for performance and stability problems), we are pretty sure at this point that it's the right way to go and that having multiple acceleration architectures is getting in the way of producing a stable codebase.
2009-04-27Remove DRI1 support.Eric Anholt
This was blocked on wide distribution of X Server 1.6 (now in the current or next version of major distributions) and solutions for a couple of significant architectural problems (vblank sync and frontbuffer rendering, which we now have code or good plans for). This includes disabling XVMC which is DRI1-only currently.
2009-04-27Don't try to do anything for I830Sync when VT switched.Eric Anholt
Fixes a crash with fake bufmgr and UXA.
2009-04-21Replace a bunch of #ifdef debug flushing/syncing with a single function.Eric Anholt
This removes it from a callsite where it would have just resulted in a fatalerror.
2009-03-06intel: Nuke shared-entity support (zaphod mode).Eric Anholt
It's been broken for years now, and KMS offers a much better chance of getting this working sensibly without making a mess of the 2D driver.
2009-01-20Remove triple-buffering supportOwain G. Ainsworth
It never worked with any upstream linux kernel, and is quite heavily deprecated. A new solution based around DRI2 will probably be forthcoming. Pageflipping itself is next.
2009-01-14Fix ioctl type.Owain G. Ainsworth
I915_EMIT_IRQ is a read/write ioctl, not a write only. Found by OpenBSd's kernel code which checks these things a long more strongly than Linux.
2008-12-03Enable tiling for DRI2 back/depth buffers.Eric Anholt
This results in allocation overhead for small (8x8-128x128 or so) pixmaps with DRI2, but we're interested in looking at tiling them in general in the near future, anyway.
2008-11-17Merge commit 'origin/master' into dri2Kristian Høgsberg
Conflicts: src/i830_dri.c src/i830_driver.c src/i830_memory.c
2008-10-19Reduce incidence of MI_FLUSH usage.Keith Packard
This tracks whether the last command in each batch is an MI_FLUSH command and avoids appending another MI_FLUSH in the non-GEM cases. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-10-17Handle differently tiled front/back/depth/third in DRI window managementKeith Packard
When moving or clearing the extra buffer contents associated with DRI windows, the XAA code needs to see which buffer is being manipulated in the Setup functions to program the tiling values correctly. Calling I830SelectBuffer and not then calling I830Setup... would result in mis-tiled rendering. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Eric Anholt <eric@anholt.net>
2008-10-14Update to DRI2 changes.dri2Kristian Høgsberg
Implement DRI2CopyRegion and provide drm device filename to DRI2 module.
2008-10-14Merge commit 'origin/master' into HEADKristian Høgsberg
2008-10-06Fix driver build against server 1.4.2.Eric Anholt
This disables UXA and DRM modesetting pre-1.5, due to privates handling issues.
2008-09-04DRI2: Move pixmap pitch alignment for use with depth to pixmap create.Eric Anholt
The previous location for pitch fixup would have only worked when depth was used with the backbuffer, and no page flipping or other adventures occurred.
2008-08-29Add DRI2 support.Kristian Høgsberg
2008-08-12Don't wait for ring if kernel mode setting is activeJesse Barnes
We won't have the ring mapped.
2008-08-05Use dri_bo for all object allocations, including pixmaps under uxaKeith Packard
2008-08-05Make EXA functions work for UXA as wellKeith Packard
EXA and UXA have the same acceleration interface, but UXA doesn't provide pixmap stride information as it doesn't manage pixmaps. Move all of that into the driver structure so that the acceleration functions needn't reference the EXA structure.
2008-08-05Add UXA - the unified memory acceleration architecture.Keith Packard
This eliminates the cost of EXA migration management while providing full pixmap allocation control to the driver. The goal is to make something useful for UMA drivers.
2008-06-10[gem] Don't set up the ring in GEM mode, as that'll be handled by the kernel.Eric Anholt
2008-06-10Use batchbuffers instead of ring emits for general commands.Eric Anholt
The batchbuffers are managed using libdrm and bufmgr_fake, and dispatched from the ring from userland.
2008-06-05Replace a couple of wait-for-ring-idles with a single function to do so.Eric Anholt
2008-04-17Make the binding table and surface state be arrays to reduce syncing.Eric Anholt
2008-04-10Keep static copies of the 965 render programs in video memory.Eric Anholt
This reduces the CPU overhead of memcpying them in every time, for a speedup in aa24text of around 30%. This is based on work by Carl Worth which is in the intel-batchbuffer branch.