summaryrefslogtreecommitdiff
path: root/src/i830_driver.c
AgeCommit message (Collapse)Author
2010-06-25Rename common infrastructure to the intel namespace.Chris Wilson
After splitting out the i810 driver into its own legacy directory, we can identify the common routines not as i830 but as intel. This clarifies the code which *is* i830 specific. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-25i810: Move into a legacy directory.Chris Wilson
The driver is still built but is no longer under active development so move it and supporting files to a new directory. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-21i965: Compile fix.Chris Wilson
Oops, I spent more time discussing these flushing bugs than I spent paying attention to what I was actually doing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-21Also submit any pending flush for *this* batch in the BlockHander.Chris Wilson
We still need to submit an additional flush if we have further writes since the last flush. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-21Emit the flush after a potential draw from the BlockHandler.Chris Wilson
As the batch submit may not trigger further drawing through flushing the vertices, pass the requirement to emit the flush down to the submission routine so that the flush can be appended after the final commands. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-09Revert "xp:trapezoids"Chris Wilson
This reverts commit f429fb9d872950705e11171d0e7407fb7673c786. An experimental patch I forgot was on my main branch as I was bugfixing. ARGH!
2010-06-08xp:trapezoidsChris Wilson
2010-06-07Allocate a correctly sized framebuffer when tiling by using libdrm's support.Eric Anholt
When I made libdrm stop overallocating so much memory for the purpose of bo caching, things started scribbling on the bottom of my frontbuffer (and vice versa, leading to GPU hangs). We had the usual mistake of size = tiled_pitch * height instead of size = tiled_pitch * tile_aligned_height.
2010-06-07uxa: Setup acceleration functions prior to the damage layerChris Wilson
We need to install the acceleration functions so that they are wrapped by the Damage layer. This fixes the corruption under a compositing WM introduced in commit 8700673157fdd3a87ad5150f2f30823261fec519. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reported-and-tested-by: Arkadiusz Miƛkiewicz <arekm@maven.pl>
2010-06-07Adapt glyphs for changes in devPrivates APIChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-06Use libc instead of deprecated libc wrappers for malloc/calloc/free.Eric Anholt
2010-05-23i915: amalgamate composite into a single primitive listChris Wilson
Combine all the calls to composite between prepare_composite and done_composite into a single primitive list, rather than a primitive call per composite(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-04-15uxa: Reuse in-flight boChris Wilson
When we need to allocate a new bo for use as a gpu target, first check if we can reuse a pixmap that has already been relocated into the aperture as a temporary target, for instance a glyph mask or a clip mask. Before: backend test min(s) median(s) stddev. xlib firefox-planet-gnome 50.568 50.873 0.30% xcb firefox-planet-gnome 49.686 53.003 3.92% xlib evolution 40.115 40.131 0.86% xcb evolution 28.241 28.285 0.18% After: backend test min(s) median(s) stddev. xlib firefox-planet-gnome 47.759 48.233 0.80% xcb firefox-planet-gnome 48.611 48.657 0.87% xlib evolution 38.954 38.991 0.05% xcb evolution 26.561 26.654 0.19% And even more dramatic improvements when using a font size larger than the maximum size of the glyph cache: xcb firefox-36-20090611: 1.79x speedup xlib firefox-36-20090611: 1.74x speedup xcb firefox-36-20090609: 1.62x speedup xlib firefox-36-20090609: 1.59x speedup Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-04-13render: tell the kernel explicitly when fences are neededDaniel Vetter
This slighlty improves xrender performance on fence reg starved i8xx hw. I've also changed a few function calls to the new names from the compat ones while looking at the code. The i915 textured video path is not converted because atm the xv code does not use tiled surfaces. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-10Review i830_pad_drawable_width()Chris Wilson
We appear to have a confusion of stride in terms of pixels, pitch in terms of bytes and the actual width of the surface. i830_pad_drawable_width() appears to be operating aligning *pixels* to a 64 pixel boundary and has never used the chars-per-pixel causing considerable confusion in its callers. Remove the parameter and ensure that the callers are expecting a value in pixels returned, multiplying by cpp where necessary to get the pitch. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-04-08XvMC: unify PutImage handlingDaniel Vetter
Both xvmc are handing in the bo in the exact same way. So move the code to src/i830_video.c and kill this great oeuvre of spaghetti-code. The xvmc driver ini and fini also lost their last use, kill them, too. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-03-18intel: free bus id in error path after printing it out.Dave Airlie
the error message prints out a freed string, spotted during code reappropriation to radeon driver. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-03-04Remove remaining fbOffset setting.Eric Anholt
In the long long ago, fbOffset was used for DGA. The server now has only one reference to fbOffset, a leftover setting of it in fbdevhw. We can safely ignore it now, which is good since we weren't updating it in other places where the front buffer offset could change.
2010-03-04Remove a piece of fbOffset cruft from non-DRM support.Eric Anholt
2010-03-04Remove i830_allocate_2d_memory() now that it only called one function.Eric Anholt
2010-03-04Init CRTC cursors with CRTC setup instead of i830_memory.Eric Anholt
2010-03-04Remove intel_sync() at teardown time.Eric Anholt
The kernel's still running after we're gone. This didn't matter.
2010-03-04Remove 3D state clobber on EnterVT, and always clobber at batch start.Eric Anholt
We know that it's clobbered at each batchbuffer, anyway. And even if this server isn't running DRI2, it can still be clobbered at batch start in the KMS world.
2010-03-04Remove pre-2.6.29 error message handling since we require KMS.Eric Anholt
2010-03-04Move batch and 965 render state setup/teardown to screen init/close.Eric Anholt
Whether we're VT switched or not shouldn't impact rendering.
2010-03-04i830_memory: switch frontbuffer to drm_intel_boDaniel Vetter
Yet another user of i830_memory gone for good. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
2010-03-04i830_memory: rename i830_bind_all_memory to reflect code realityDaniel Vetter
It doesn't bind anything anymore, but does a few random things. Give it a hopefully vague enough name to cover all cases ;) Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
2010-03-04i830_memory: rip out the old video memory allocatorDaniel Vetter
Besides the debug stuff the went away in the previous patch, this stuff was totally unused ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
2010-03-04i830_memory: kill i830_desribe_allocationsDaniel Vetter
Totally useless debug function from the pre-gem era. No point to occasionally spam Xorg.log with a bogus "No memory allocations" message. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
2010-03-04i830_memory: rip out field "offset"Daniel Vetter
Use the one in the drm bo instead. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Eric Anholt <eric@anholt.net>
2010-02-20Remove dead i830_display.h.Eric Anholt
2010-02-20Remove dead i830_bios.h.Eric Anholt
2010-02-20Fix an unused variable warning for !INTEL_XVMC.Eric Anholt
2010-02-20Remove dead assignments noticed by clang.Eric Anholt
2010-02-20Remove stale junk in VideoRam setup, noticed by clang.Eric Anholt
2010-02-20Remove dead UMS CRTC resize code.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-04intel: And remember to flush the batch...Chris Wilson
In commit 98e11210 Remove flush parameter from intel_batch_flush() Maxi spotted that I had broken screen updating. It appears in my haste to eliminate the extra parameter I removed a call to intel_batch_flush() when throttling, i.e. when pushing the updates to the screen before idling. Should fix: Bug 25409 [bisected] rendering corruption since a938673e https://bugs.freedesktop.org/show_bug.cgi?id=25409 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-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-11-29Cleanup a few compiler warnings.Chris Wilson
Simple warnings for unused variables and C99-style declarations. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-10Check that batch buffers are atomic.Chris Wilson
Since batch buffers are rarely emitted by themselves but as part of a sequence of state and vertices, the whole sequence is emitted atomically. Here we just enforce that batches are marked as being part of an atomic sequence as appropriate. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-15Enable XVMC by default on gen4.Eric Anholt
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-13Drop frontbuffer from crtc in I830CloseScreenAlbert Damen
By dropping the frontbuffer from the crtc, the new frontbuffer can be properly added to the crtc when the xserver is reset. Signed-off-by: Albert Damen <albrt@gmx.net>
2009-10-08Rename pScreen to screen.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