summaryrefslogtreecommitdiff
path: root/src/radeon_glamor.c
AgeCommit message (Collapse)Author
2016-03-24Require xserver 1.9 or newerMichel Dänzer
1.9.0 was released in August 2010. We were already unintentionally relying on things not available in 1.8 for at least a year, and nobody has complained. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2016-02-17glamor: Return NullPixmap on failure to create shareable pixmapjimqu
If we were asked to create a shareable pixmap, it doesn't make sense to return a pixmap which isn't shareable. Doing so caused trouble down the line such as a crash with older versions of glamor when trying to use GLX pixmaps of bpp < 32 via DRI2. Signed-off-by: JimQu <jim.qu@amd.com> (ported from amdgpu commit 2fcb7dadd3c71cd405cbbaafc777697538ca9c29) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2016-02-17Move radeon_glamor_destroy_pixmap before radeon_glamor_create_pixmapjimqu
The next commit will call the former from the latter. No functional change. Signed-off-by: JimQu <jim.qu@amd.com> (ported from amdgpu commit 5269a2228bff6023c1a7f3e8534027e1d7addc25) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-11-17glamor: Deal with glamor_egl_destroy_textured_pixmap being removedMichel Dänzer
When it's not available, it's safe to call down to the glamor DestroyPixmap hook instead. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-11-17glamor: Restore all ScreenRec hooks during CloseScreenMichel Dänzer
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-15glamor: Deal with glamor_glyphs_init being removed from xserverMichel Dänzer
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-04-27Don't call radeon_get_pixmap_private() when using EXAMichel Dänzer
It only works when using glamor. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90169 Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-04-03glamor: Remove the stride member of struct radeon_pixmapMichel Dänzer
Its value was always the same as that of the PixmapRec devKind member. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-04-03glamor: Add Option "ShadowPrimary" v2Michel Dänzer
When this option is enabled, most pixmaps (including the screen pixmap) are allocated in system RAM and mostly accessed by the CPU. Changed areas of the screen pixmap are copied to dedicated per-CRTC scanout pixmaps regularly, triggered by the vblank interrupt. v2: * Set region data pointer to NULL for keeping only the extents * Move pRegion and pBox local variable declarations closer to their uses in drmmode_set_mode_major()
2015-04-03glamor: Add radeon_pixmap parameter to radeon_glamor_create_textured_pixmapMichel Dänzer
2015-04-03glamor: Remove unused function radeon_glamor_pixmap_is_offscreenMichel Dänzer
2015-03-30glamor: Handle GLAMOR_* flags removed from xserverMichel Dänzer
The behaviour is the same as when the removed flags were passed in. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-03-17Handle tiling in radeon_set_shared_pixmap_backingDavid Heidelberger
[ Michel Dänzer: Fixups for glamor ] Signed-off-by: David Heidelberger <david.heidelberger@ixit.cz> Signed-off-by: Axel Davy <axel.davy@ens.fr> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-03-17Fold radeon_glamor_flush into radeon_cs_flush_indirectMichel Dänzer
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-03-17Move #include "radeon_glamor.h" from radeon.h to where it's neededMichel Dänzer
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2014-08-20Revert "glamor: Set environment variable RADEON_THREAD=0"Michel Dänzer
This reverts commit 4b5060f357a3cb248c9359c92c1e9c42ef6434c8. Further testing shows that disabling the thread is only a moderate win in some cases, but a much bigger loss in some other cases. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2014-07-30glamor: Set environment variable RADEON_THREAD=0Michel Dänzer
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-05-15Don't disable acceleration on >= SI on attempts to force EXAMichel Dänzer
Also make this case clear in the log file: (WW) RADEON(0): EXA not supported, using glamor Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2014-04-14glamor: Fix test for creating shared pixmapsMichel Dänzer
The pixmap usage hint is not a bitmask in general. The test for CREATE_PIXMAP_USAGE_SHARED was incorrectly triggering for a glamor internal usage hint being added in the xserver tree. Tested-by: Ed Tomlinson <edtoml@gmail.com>
2014-03-13Build against glamor in the xserver tree if availableMichel Dänzer
2014-03-11Allow enabling glamor on R500 (and R300) class 3D engines as well.Michel Dänzer
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75709 Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2014-01-22Don't require the glamoregl module to be pre-loaded with xserver >= 1.15Michel Dänzer
The issues with loading it on demand have been fixed in xserver 1.15. Inspired by Jérôme Glisse on IRC.
2013-09-30radeon: use glamor Xv support if present.Dave Airlie
This creates adaptors using glamor if possible. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-22radeon: disallow glamor on pre-R600 asicsAlex Deucher
I'm not sure they can handle the shaders properly, especially only older parts like r300. This will avoid display corruption problems reported by people using glamor on older asics by falling back to EXA if they try and enable glamor. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2013-04-26glamor: Fix build against xserver < 1.13Michel Dänzer
Those didn't define CREATE_PIXMAP_USAGE_SHARED.
2013-03-27glamor: Only enable for depth >= 24Michel Dänzer
It can't handle lower depths yet. Reported-by: Igor Vagulin <igor.vagulin@gmail.com>
2013-03-25glamor: Enable by default on SIMichel Dänzer
We should now handle its major initialization failure cases gracefully. Reviewed-by: Jerome Glisse <jglisse@redhat.com>
2013-03-22glamor: Initial PRIME pixmap sharing hooks.Michel Dänzer
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57200 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Tested-by: Christoph Haag <haagch.christoph@googlemail.com> Tested-by: linedot <linedot@xcpp.org>
2013-03-18glamor: Bail if the glamoregl module wasn't loaded earlyMichel Dänzer
Trying to initialize glamor in that case crashes. Reviewed-by: Jerome Glisse <jglisse@redhat.com>
2013-01-11Make CRTC shadow pixmaps usable by glamor.Michel Dänzer
Fixes rotation with glamor. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2012-12-27glamor: Enable full 2D acceleration for SI as well.Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2012-09-13glamor: Force acceleration for DRI2 copies.Michel Dänzer
Improves performance of non-pageflipped 3D apps on SI. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2012-07-13Deal more gracefully with DRI2 being unavailable at build or run time.Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2012-07-10Initial SI support.Michel Dänzer
Defaults to shadowfb. 3D acceleration is available with glamor. 2D acceleration is disabled until the radeonsi driver can handle glamor's shaders. v2: add chip flags (Alex Deucher) Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2012-07-10Initial glamor support.Michel Dänzer
Enable at build time with --enable-glamor and runtime with Option "AccelMethod" "glamor" The most notable lack of functionality is XVideo. Use something like VDPAU for now. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>