summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-07-06intel: fixup for handle interfacesprimeDave Airlie1-5/+9
2012-07-05intel: fixup capsDave Airlie1-2/+1
2012-07-04intel: drop provider createDave Airlie1-14/+2
2012-07-02fix apiDave Airlie1-1/+1
2012-06-26spare Y tilingDave Airlie3-3/+8
2012-06-26WIP drvmodevl3Dave Airlie15-141/+432
dirty pixmap tracking intel: WIP use Y tiling for pcopy engine Revert "use Y tiling for pcopy engine" This reverts commit ad7a7905195aaa1895bea1a67e34b4a8a9a41724. new X api new provider api intel: port to new pixmap tracking intel: damage drawable on pageflipt drop unusued code rename slave->scanout intel_dri: drop code that shouldn't be here add set front pixmap for dri2 intel: create a new backing bo for a pixmap that is tiled intel drop front pixmap experiment intel: fixup for new dri2 interfaces
2012-05-03i965: switch to new APIDave Airlie1-7/+7
2012-04-20sna: Always clear the mmapped domains when reusing partial upload buffersChris Wilson2-11/+31
As we need to make sure that we do invalidate the caches appropriately on reuse. Mildly paranoid, but strictly required by the spec. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-19sna: Discard proxy upload buffer if we choose to render to itChris Wilson1-0/+7
Even if we try to avoid treating an upload buffer as a real GPU target, we may still choose to migrate the buffer to the GPU in order to keep other buffers on the GPU. In that case, we do want to create a real GPU bo. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-19sna: Don't consider upload proxies as being on the GPU for render targetsChris Wilson1-1/+1
The upload proxy is a fake buffer that we do not want to render to as then the damage tracking become extremely confused and the buffer it self is not optimised for persistent rendering. We assert that we do not use it as a render target, and this patch adds the check so that we avoid treating the proxy as a valid target when choosing the render path. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-18sna: Increase the render target alignment to 4 pixels on gen4+ as wellChris Wilson1-9/+4
Repoerted-and-tested-by: Toralf Förster <toralf.foerster@gmx.de Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48865 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-17sna/dri: Decouple the frame event info after attaching along error pathsChris Wilson1-16/+13
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-17Don't issue a scanline wait while VT switchedChris Wilson3-2/+7
Be paranoid and check that we own the VT before emitting a scanline wait. If we attempt to wait on a fb/pipe that we do not own, we may issue an illegal command and cause a lockup. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-16sna: Don't assert exported buffers are not busyChris Wilson1-9/+10
As we do not fully control these buffers, we cannot truly say when they are idle, we can only trust that the split between us and the compositor doesn't lead to much corruption. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-14uxa: Fix leak of glyph mask for unhandled glyph compositionChris Wilson1-1/+3
==1401== 7,344 bytes in 34 blocks are possibly lost in loss record 570 of 587 ==1401== at 0x4027034: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==1401== by 0x8BE5150: drm_intel_gem_bo_alloc_internal (intel_bufmgr_gem.c:689) ==1401== by 0x899FC04: intel_uxa_create_pixmap (intel_uxa.c:1077) ==1401== by 0x89C2C41: uxa_glyphs (uxa-glyphs.c:254) ==1401== by 0x21F05E: damageGlyphs (damage.c:647) ==1401== by 0x218E06: ProcRenderCompositeGlyphs (render.c:1434) ==1401== by 0x15AA40: Dispatch (dispatch.c:439) ==1401== by 0x1499E9: main (main.c:287) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-14sna: Avoid leaking the plane resources when determining sprite planesChris Wilson1-8/+6
Fixes the tiny, one-off leak: ==1407== 8 bytes in 1 blocks are definitely lost in loss record 48 of 527 ==1407== at 0x402894D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==1407== by 0x8580BE8: drmMalloc (xf86drm.c:147) ==1407== by 0x8583D54: drmAllocCpy (xf86drmMode.c:73) ==1407== by 0x8585265: drmModeGetPlaneResources (xf86drmMode.c:955) ==1407== by 0x8A1BCE9: sna_video_sprite_setup (sna_video_sprite.c:367) ==1407== by 0x8A1A0A3: sna_video_init (sna_video.c:523) ==1407== by 0x89FD4E0: sna_screen_init (sna_driver.c:935) ==1407== by 0x15AD80: AddScreen (dispatch.c:3909) ==1407== by 0x19A2DB: InitOutput (xf86Init.c:817) ==1407== by 0x14981C: main (main.c:204) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-14sna: Align texture subsurfaces to 2x2 texture samplesChris Wilson1-1/+8
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-14sna: Align redirect subsurfaces to 2x2 or 4x4 render spansChris Wilson1-1/+16
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-14sna: Align render target sizes on gen2/3 to 4x4 render spansChris Wilson2-15/+13
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-13sna: Avoid using TILING_Y for large objects on gen2/3Chris Wilson1-0/+10
References: https://bugs.freedesktop.org/show_bug.cgi?id=48636 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-13sna: Relax bogus assertionChris Wilson1-1/+1
The bo may be considered unmappable due to being bound to outside the mappable region, which we are attempting to rectify through mapping into the GTT domain. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-13sna: Limit the buffer reuse for mappable uploads to only those with mmapsChris Wilson1-2/+5
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-13sna: Remove the conflicting assertion during GTT mapChris Wilson1-1/+1
Reported-by: Clemens Eisserer <linuxhippy@gmail.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=48636 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-13sna: Don't use miSpan code for wide-spans by default, too expensiveChris Wilson1-1/+1
Only use the fall-forward miSpans code when it prevents a readback. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-13sna: Draw dashed PolyLines twice, once for the fgPixel, once for the bgPixelChris Wilson1-27/+109
As the fast paths only setup state upfront, we were missing the state changes required between dash-on/off. Take advantage of that each pixel is only drawn once to batch the state changes and run the miZeroDashLines twice. A future task would be to use a custom line drawing routine... Fixes regression from ec1267df746512c2e262ef0bd9e9527bc5efe6f4. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-12sna: Restore CPU domain for vmapped buffers when reusingChris Wilson1-0/+4
For a vmapped upload buffer, we need to notify the kernel (and thereby the GPU) to invalidate the sampler and flush its caches when we reuse an idle buffer. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-12sna: Revert use of mmap64()Chris Wilson1-1/+1
As this just causes mayhem on a 64-bit platform. Doomed if you, doomed if you don't. :( Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-12sna: Declare AC_SYS_LARGEFILE for mmap64Chris Wilson2-1/+2
In order to use the full 32-bits of mmap address space on small platforms we need to use mmap64(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-10sna: Check ioctl return from set-domainChris Wilson1-12/+16
Let's not assume it succeeds and so avoid altering our bookkeeping along failure paths. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-10sna: Fix shadowed variableChris Wilson1-5/+5
sna_accel.c: In function 'sna_pixmap_move_area_to_gpu': sna_accel.c:1751:12: warning: declaration of 'flags' shadows a parameter [-Wshadow] sna_accel.c:1731:72: warning: shadowed declaration is here [-Wshadow] Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-10sna: Fix typo and use the right pointer for kgem_bo_destroyChris Wilson1-2/+3
Useless warnings in xorg headers ftl. References: https://bugs.freedesktop.org/show_bug.cgi?id=48400 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-10sna: Add missing alloc failure check for creating tile sourceChris Wilson1-0/+3
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-10sna: Release the freed bo cache upon expireChris Wilson1-0/+6
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-10sna: Check for an inactive partial buffer to reuse after retiring requestsChris Wilson1-2/+2
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-10sna: Release partial buffers during cache expirationChris Wilson1-0/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-10sna: Repeat expire whilst there remaining outstanding requestsChris Wilson1-2/+2
Do not allow the cache expiration to finish if we are still running requests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-10sna: Only move the bo into the read domain for readbackChris Wilson1-14/+5
And mark it as currently in no domain afterwards, so that if we reuse it, it will be appropriately moved later. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-09sna: Add assertions around proxy list handlingChris Wilson1-2/+3
References: https://bugs.freedesktop.org/show_bug.cgi?id=48400 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-09sna/traps: Use a temporary variable for the write pointerChris Wilson1-18/+24
To avoid accumulating the write offset for wide spans, we need to reset the destination pointer between spans. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48332 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-09sna/traps: Assert that the inplace row is contained before writingChris Wilson1-0/+1
References: https://bugs.freedesktop.org/show_bug.cgi?id=48332 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-08sna: Add some assertions for misuse of proxiesChris Wilson2-1/+8
References: https://bugs.freedesktop.org/show_bug.cgi?id=48400 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-08sna: Compress adjoining spans during FillSpansChris Wilson1-3/+15
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-08sna: Remove the duplicated check for use-bo? in PolySegmentsChris Wilson1-60/+58
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-08sna: Correct partial-write flag for PolySegments fallbackChris Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-08sna/gen3: Reset accumulated constants for each compositeChris Wilson1-1/+3
In particular the glyph routines require the composite setup to reinitialise state between glyph runs. This affects anything trying to use glyphs without a mask with a gradient source, for example. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-08sna: Release cached upload buffers when reusing a write buffer for readbackChris Wilson1-15/+23
References: https://bugs.freedesktop.org/show_bug.cgi?id=48400 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-07sna/gradient: Compute the absolute delta between color stopsChris Wilson1-5/+14
Otherwise we do not detect gradients that start from white! Reported-by: Clemens Eisserer <linuxhippy@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48407 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-06sna/video: Only wait upon the scanout pixmapChris Wilson1-1/+2
Caught by the addition of the assertion. Reported-by: Jiri Slaby <jirislaby@gmail.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=47597 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-06sna: Correct the damage offset for redirected renderingChris Wilson2-7/+5
Reported-by: Clemens Eisserer <linuxhippy@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48385 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-04-06sna/glyphs: Prefer a temporary upload mask for large glyph masksChris Wilson1-1/+9
If the required temporary mask is larger than the 3D pipeline can handle, just render to a CPU buffer rather than redirect every glyph composition. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>