mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-23 18:32:50 +00:00
kinfocenter: check if drmIsKMS() is available
available since libdrm v2.4.105, for reference: https://lore.kernel.org/amd-gfx/20210407142642.11485-1-leo.liu@amd.com/T/ Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
045dee4615
commit
33cfcefcac
6 changed files with 33 additions and 14 deletions
|
@ -3,10 +3,34 @@ include(CheckCXXSymbolExists)
|
||||||
include_directories( ${KDE4_INCLUDES} )
|
include_directories( ${KDE4_INCLUDES} )
|
||||||
add_definitions( -DKDE_DEFAULT_DEBUG_AREA=1208 )
|
add_definitions( -DKDE_DEFAULT_DEBUG_AREA=1208 )
|
||||||
|
|
||||||
|
# info_fbsd.cpp
|
||||||
|
check_include_files(devinfo.h HAVE_DEVINFO_H)
|
||||||
|
|
||||||
|
# opengl.cpp
|
||||||
|
if(LIBDRM_FOUND)
|
||||||
|
cmake_reset_check_state()
|
||||||
|
set(CMAKE_REQUIRED_INCLUDES ${LIBDRM_INCLUDE_DIR})
|
||||||
|
set(CMAKE_REQUIRED_LIBRARIES ${LIBDRM_LIBRARIES})
|
||||||
|
check_symbol_exists(drmIsKMS "xf86drmMode.h" HAVE_DRMISKMS)
|
||||||
|
cmake_reset_check_state()
|
||||||
|
else()
|
||||||
|
set(HAVE_DRMISKMS FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
configure_file (
|
||||||
|
config-infocenter.h.cmake
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/config-infocenter.h
|
||||||
|
)
|
||||||
|
include_directories(
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
add_subdirectory( Categories )
|
add_subdirectory( Categories )
|
||||||
add_subdirectory( Modules )
|
add_subdirectory( Modules )
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES( ToolTips )
|
include_directories(
|
||||||
|
ToolTips
|
||||||
|
)
|
||||||
|
|
||||||
set( kinfocenter_SRCS
|
set( kinfocenter_SRCS
|
||||||
infocenter.cpp
|
infocenter.cpp
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
check_include_files(devinfo.h HAVE_DEVINFO_H) # info_fbsd.cpp
|
|
||||||
|
|
||||||
configure_file (
|
|
||||||
../base/config-infocenter.h.cmake
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/config-infocenter.h
|
|
||||||
)
|
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
# OS Base includes
|
# OS Base includes
|
||||||
include(../base/CMakeLists.txt)
|
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../base
|
${CMAKE_CURRENT_SOURCE_DIR}/../base
|
||||||
)
|
)
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "config-infocenter.h" // HAVE_DRMISKMS
|
||||||
#include "opengl.h"
|
#include "opengl.h"
|
||||||
|
|
||||||
#include <KPluginFactory>
|
#include <KPluginFactory>
|
||||||
|
@ -219,7 +220,9 @@ static QTreeWidgetItem *print_drm_info(QTreeWidgetItem *l1, QTreeWidgetItem *aft
|
||||||
QString dri_description = QString::fromLatin1(driVer->desc, driVer->desc_len);
|
QString dri_description = QString::fromLatin1(driVer->desc, driVer->desc_len);
|
||||||
QString dri_version = QString::fromLatin1("%1.%2.%3").arg(driVer->version_major).arg(driVer->version_minor).arg(driVer->version_patchlevel);
|
QString dri_version = QString::fromLatin1("%1.%2.%3").arg(driVer->version_major).arg(driVer->version_minor).arg(driVer->version_patchlevel);
|
||||||
QString dri_bus = QString::fromLatin1(driBus);
|
QString dri_bus = QString::fromLatin1(driBus);
|
||||||
|
#ifdef HAVE_DRMISKMS
|
||||||
bool dri_kms = (drmIsKMS(driFd) == 1);
|
bool dri_kms = (drmIsKMS(driFd) == 1);
|
||||||
|
#endif
|
||||||
|
|
||||||
drmFreeBusid(driBus);
|
drmFreeBusid(driBus);
|
||||||
drmFreeVersion(driVer);
|
drmFreeVersion(driVer);
|
||||||
|
@ -231,7 +234,9 @@ static QTreeWidgetItem *print_drm_info(QTreeWidgetItem *l1, QTreeWidgetItem *aft
|
||||||
l3 = newItem(l2, l3, i18n("Description"), dri_description);
|
l3 = newItem(l2, l3, i18n("Description"), dri_description);
|
||||||
l3 = newItem(l2, l3, i18n("Version"), dri_version);
|
l3 = newItem(l2, l3, i18n("Version"), dri_version);
|
||||||
l3 = newItem(l2, l3, i18n("Bus"), dri_bus);
|
l3 = newItem(l2, l3, i18n("Bus"), dri_bus);
|
||||||
|
#ifdef HAVE_DRMISKMS
|
||||||
l3 = newItem(l2, l3, i18n("Kernel mode-setting"), dri_kms ? i18n("Yes") : i18n("No"));
|
l3 = newItem(l2, l3, i18n("Kernel mode-setting"), dri_kms ? i18n("Yes") : i18n("No"));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef UNDEFINE_MAX3
|
#ifdef UNDEFINE_MAX3
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
# OS Base includes
|
# OS Base includes
|
||||||
include(../base/CMakeLists.txt)
|
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../base
|
${CMAKE_CURRENT_SOURCE_DIR}/../base
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Defines if you have libdevinfo of Solaris 7 or later */
|
|
||||||
#undef HAVE_LIBDEVINFO_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <devinfo.h> header file. */
|
/* Define to 1 if you have the <devinfo.h> header file. */
|
||||||
#cmakedefine HAVE_DEVINFO_H 1
|
#cmakedefine HAVE_DEVINFO_H 1
|
||||||
|
|
||||||
|
/* Defines if you have drmIsKMS() */
|
||||||
|
#cmakedefine HAVE_DRMISKMS 1
|
Loading…
Add table
Reference in a new issue