summaryrefslogtreecommitdiff
path: root/src/sna/sna.h
AgeCommit message (Collapse)Author
2013-07-11sna: Remove the duplicated open-coding of SetScreenPixmapChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-02sna: Simplify validation of active CRTCsChris Wilson
Atter a modeset or KMS takeover, we do a quick readback of the kernel state in order to verify that it matches our expectations. If we find that a foreign framebuffer is attached, or no mode if set on the output, we then turn off that connection and release any resources associated with that pipe. This patch tries to reduce the number of superfluous requests to turn off a connection. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-01sna: Experiment with cpu mappings for migrationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-06-30sna: Store the path used to open the device and pass to DRIChris Wilson
Avoid having to search the device tree once again in order to simply recover the path we used to open the device. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-06-21sna: Determine swizzling once during initialisation and choose memcpy_to_tiled_xChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-06-10sna: Move the GTT dirty tracking from the pixmap to the boChris Wilson
This allows us to more accurately track when the GTT is dirty. However, the only danger is that we may prematurely flush the scanout and clear the dirty bit and not preserve the flush timer. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-06-07sna: Track when we write directly to bo through the GTTChris Wilson
In the future, we may need to explicitly flush GTT writes to the scanout, so add the infrastructure to do so now. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-05-21sna/video: Convert to a pure Xv backendChris Wilson
This is to enable feature work which requires access to Client state. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-05-21sna: Undo a few more overwritten operations upon a boChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-05-17sna: Undo the clone when replacing the DRI pixmapChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-05-17sna: Avoid replacing pinned bo when undoing a cloneChris Wilson
Otherwise we end up cloning the scanout only to leave it dangling if the client copies the from the front-buffer and then writes to it. Reported-by: Nick Bowler <nbowler@draconx.ca> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64675 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-05-14sna: Basic copy-on-write support for cloning pixmapsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-17Revert "xgvevent"Chris Wilson
This reverts commit ddd75d6539dcf692cb76747cd63d1f301180f18a. This is a WIP patch, not ready for upstream. The danger of mixing topic branches.
2013-04-16xgveventChris Wilson
2013-04-10sna: Align uploads to start on page boundariesChris Wilson
This reduces the number of loops and restarts required in the kernel. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-04-10sna: Suppress hotplug events whilst VT switched awayChris Wilson
Whilst we are not DRM master, not only is another server in control of the outputs and responding to the udev event, we ourselves cannot change modes and just cause contention upon the DRM device. Instead inform userspace of the change as soon as we are DRM master again and back in control. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-18sna: Skip processing an all-clipped-out glyphChris Wilson
Along the slow path, skip all processing of glyphs that are not visible. This is important as the slow path handles the per-glyph redirection case, which is much more expensive. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-07sna: Remove the unused output and crtc listsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-07sna: Supply a fake pipe to run completely headlessChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-01sna: Track number of pixmaps allocated whilst counting bo leaksChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-26sna: Ignore SSE4a - not an Intel ISA!Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-26sna: Print detected CPU featuresChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-25sna: Detect available instruction sets at runtimeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna: Fix inaccurate use of __attribute__((const))Chris Wilson
'const' is only allowed to use the function parameters and not allowed to access global memory - that includes not allowed to deference its arguments... Thanks to Jiri Slaby for spotting my mistake. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-11sna/dri: Tighten the assertions that we have one DRI2Buffer per PixmapChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-10sna: Backport to squeeze - Xorg-1.6, pixman-0.16, libdrm-2.4.21Chris Wilson
The principle change is to switch to the old Privates API and undo the Region renames. The downside is that this ignores the critical bugfixes made to the xserver since xorg-1.6 - but I assume that whoever wants to run the latest hardware on the old xservers is also backporting those stability fixes... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-02-08sna/gen4: Split the have_render flag in separate prefer_gpu hintsChris Wilson
The idea is to implement more fine-grained checks as we may want different heuristics for desktops with GT1s than for mobile GT2s, etc. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-29sna: Only migrate the sample box if using the BLT engine for a compositeChris Wilson
Modify the presumption that if we are using a core operation on a shadow pixmap, then we are likely to continue migrating that pixmap back and forth. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-27sna: Begin sketching out a threaded rasteriser for spansChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-24sna: Use threads for simple mask generationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-24sna: Refactor to use a common fbComposite fallbackChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-24sna: Experiment with a threaded renderer for fallback compositingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-20sna: Make DEBUG_SYNC a configure optionChris Wilson
As it is advisable to combined the synchronous rendering debug option with other debugging options, it is more convenient to make it into a configure option: --enable-debug=sync Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-17sna: Remove the confusion of the pixmap->undamagedChris Wilson
This was to track a pixmap that had been used for migration (i.e had in the past been used for mixed rendering). It is no longer used so remove it. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-16sna: Revert use of a separate CAN_CREATE_SMALL flagChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-14sna: Apply PutImage optimisations to move-to-cpuChris Wilson
We can replace the custom heuristics for PutImage by applying them to the common path, where hopefully they are equally valid. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-02sna/gen2+: Precompute the affine transformation scale factorsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-01sna: Remove some obsolete OptionsChris Wilson
Throttling and delayed-flush are now redundant. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-28sna/gen4+: Tidy emit_spans_affine()Chris Wilson
gcc produced abysmal code for the inlined emission, so hand unroll it for sanity. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-21sna: Refactor test for a rotation matrixChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-16intel: Support debugging through AccelMethodChris Wilson
Ease debugging by allowing all acceleration or render acceleration to be disabled through AccelMethod: Option "AccelMethod" "off" -> disable all acceleration Option "AccelMethod" "blt" -> disable render acceleration (only use BLT) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-15sna/dri: Honour TripleBuffer OptionChris Wilson
In case anyone ever wants to disable the default. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-11-30sna: Prevent gen4 from rendering to I915_TILING_YChris Wilson
It always seems to end up in a hang... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-11-26sna: Disable shadow tracking upon regenChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=56608 References: https://bugs.freedesktop.org/show_bug.cgi?id=52255 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-11-12sna: Compile against ancient libdrmChris Wilson
We need to trim the sprite video overlays if the prototypes are not known. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-10-31sna: Clamp the drawable box to prevent int16 overflowChris Wilson
And assert that the box is valid when migrating. References: https://bugs.freedesktop.org/show_bug.cgi?id=56591 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-10-22sna: Update DRI buffer if attached to the framebuffer for TearFree flipsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-10-21sna: Remove the unused inactive evictionChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-25sna: Accommodate changes to the Damage extension not unwrapping the GCChris Wilson
commit 4dc2a76740d921c824a4d8193f39dd373475f02a Author: Adam Jackson <ajax@redhat.com> Date: Thu Sep 20 17:57:00 2012 -0400 miext/damage: Only wrap into the GC ops chain if there's a listener (v3) leaves the GC->funcs still pointing to the damage layer as it calls into the driver functions, so we need to be careful to restore the correct function table after we manipulate the GC for fallbacks. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-21sna: Use inplace X tiling for LLC uploadsChris Wilson
Based on a suggestion by Chad Versace (taken from a patch for mesa). This allows for a faster upload of pixel data through a ShmImage, or for complete replacement of a GPU bo. Using a modified version of x11perf to upload to a pixmap rather than scanout on an IVB i7-3720qm: Before: 40000000 trep @ 0.0007 msec (1410000.0/sec): ShmPutImage 10x10 square 4000000 trep @ 0.0110 msec ( 90700.0/sec): ShmPutImage 100x100 square 160000 trep @ 0.1689 msec ( 5920.0/sec): ShmPutImage 500x500 square After: 40000000 trep @ 0.0007 msec (1450000.0/sec): ShmPutImage 10x10 square 6000000 trep @ 0.0061 msec ( 164000.0/sec): ShmPutImage 100x100 square 400000 trep @ 0.1126 msec ( 8880.0/sec): ShmPutImage 500x500 square However, the real takeaway from this is that the overheads for ShmPutImage are substantial, only hitting around 70% expected efficiency, and overshadowed by PutImage, which for reference is 60000000 trep @ 0.0006 msec (1800000.0/sec): PutImage 10x10 square Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>