mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 22:45:59 +01:00
screencopy: use new isNvidia() for format
This commit is contained in:
parent
15b282ee0c
commit
b281d8647a
3 changed files with 5 additions and 5 deletions
|
@ -210,7 +210,7 @@ void CScreencopyProtocolManager::captureOutput(wl_client* client, wl_resource* r
|
||||||
PFRAME->client = PCLIENT;
|
PFRAME->client = PCLIENT;
|
||||||
PCLIENT->ref++;
|
PCLIENT->ref++;
|
||||||
|
|
||||||
PFRAME->shmFormat = wlr_output_preferred_read_format(PFRAME->pMonitor->output);
|
PFRAME->shmFormat = g_pHyprRenderer->isNvidia() ? DRM_FORMAT_XRGB8888 : wlr_output_preferred_read_format(PFRAME->pMonitor->output);
|
||||||
if (PFRAME->shmFormat == DRM_FORMAT_INVALID) {
|
if (PFRAME->shmFormat == DRM_FORMAT_INVALID) {
|
||||||
Debug::log(ERR, "No format supported by renderer in capture output");
|
Debug::log(ERR, "No format supported by renderer in capture output");
|
||||||
zwlr_screencopy_frame_v1_send_failed(PFRAME->resource);
|
zwlr_screencopy_frame_v1_send_failed(PFRAME->resource);
|
||||||
|
|
|
@ -177,7 +177,7 @@ void CToplevelExportProtocolManager::captureToplevel(wl_client* client, wl_resou
|
||||||
|
|
||||||
const auto PMONITOR = g_pCompositor->getMonitorFromID(PFRAME->pWindow->m_iMonitorID);
|
const auto PMONITOR = g_pCompositor->getMonitorFromID(PFRAME->pWindow->m_iMonitorID);
|
||||||
|
|
||||||
PFRAME->shmFormat = wlr_output_preferred_read_format(PMONITOR->output);
|
PFRAME->shmFormat = g_pHyprRenderer->isNvidia() ? DRM_FORMAT_XRGB8888 : wlr_output_preferred_read_format(PMONITOR->output);
|
||||||
if (PFRAME->shmFormat == DRM_FORMAT_INVALID) {
|
if (PFRAME->shmFormat == DRM_FORMAT_INVALID) {
|
||||||
Debug::log(ERR, "No format supported by renderer in capture toplevel");
|
Debug::log(ERR, "No format supported by renderer in capture toplevel");
|
||||||
hyprland_toplevel_export_frame_v1_send_failed(resource);
|
hyprland_toplevel_export_frame_v1_send_failed(resource);
|
||||||
|
|
|
@ -16,7 +16,7 @@ CHyprRenderer::CHyprRenderer() {
|
||||||
|
|
||||||
if (g_pCompositor->m_sWLRSession) {
|
if (g_pCompositor->m_sWLRSession) {
|
||||||
wlr_device* dev;
|
wlr_device* dev;
|
||||||
wl_list_for_each(dev, &g_pCompositor->m_sWLRSession->devices, link) {
|
wl_list_for_each(dev, &g_pCompositor->m_sWLRSession->devices, link) {
|
||||||
const auto DRMV = drmGetVersion(dev->fd);
|
const auto DRMV = drmGetVersion(dev->fd);
|
||||||
|
|
||||||
std::string name = std::string{DRMV->name, DRMV->name_len};
|
std::string name = std::string{DRMV->name, DRMV->name_len};
|
||||||
|
@ -26,7 +26,7 @@ CHyprRenderer::CHyprRenderer() {
|
||||||
m_bNvidia = true;
|
m_bNvidia = true;
|
||||||
|
|
||||||
Debug::log(LOG, "DRM driver information: {} v{}.{}.{} from {} description {}", name, DRMV->version_major, DRMV->version_minor, DRMV->version_patchlevel,
|
Debug::log(LOG, "DRM driver information: {} v{}.{}.{} from {} description {}", name, DRMV->version_major, DRMV->version_minor, DRMV->version_patchlevel,
|
||||||
std::string{DRMV->date, DRMV->date_len}, std::string{DRMV->desc, DRMV->desc_len});
|
std::string{DRMV->date, DRMV->date_len}, std::string{DRMV->desc, DRMV->desc_len});
|
||||||
|
|
||||||
drmFreeVersion(DRMV);
|
drmFreeVersion(DRMV);
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ CHyprRenderer::CHyprRenderer() {
|
||||||
m_bNvidia = true;
|
m_bNvidia = true;
|
||||||
|
|
||||||
Debug::log(LOG, "Primary DRM driver information: {} v{}.{}.{} from {} description {}", name, DRMV->version_major, DRMV->version_minor, DRMV->version_patchlevel,
|
Debug::log(LOG, "Primary DRM driver information: {} v{}.{}.{} from {} description {}", name, DRMV->version_major, DRMV->version_minor, DRMV->version_patchlevel,
|
||||||
std::string{DRMV->date, DRMV->date_len}, std::string{DRMV->desc, DRMV->desc_len});
|
std::string{DRMV->date, DRMV->date_len}, std::string{DRMV->desc, DRMV->desc_len});
|
||||||
|
|
||||||
drmFreeVersion(DRMV);
|
drmFreeVersion(DRMV);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue