mirror of
https://github.com/hyprwm/Hyprland
synced 2024-12-22 21:29:48 +01:00
parent
758cf90ea1
commit
80b9b21f9f
2 changed files with 9 additions and 5 deletions
|
@ -35,6 +35,8 @@ CHyprOpenGLImpl::CHyprOpenGLImpl() {
|
|||
loadGLProc(&m_sProc.glEGLImageTargetRenderbufferStorageOES, "glEGLImageTargetRenderbufferStorageOES");
|
||||
loadGLProc(&m_sProc.eglDestroyImageKHR, "eglDestroyImageKHR");
|
||||
|
||||
m_sExts.EXT_read_format_bgra = m_szExtensions.contains("GL_EXT_read_format_bgra");
|
||||
|
||||
#ifdef USE_TRACY_GPU
|
||||
|
||||
loadGLProc(&glQueryCounter, "glQueryCounterEXT");
|
||||
|
@ -2067,12 +2069,10 @@ void CHyprOpenGLImpl::setMonitorTransformEnabled(bool enabled) {
|
|||
|
||||
uint32_t CHyprOpenGLImpl::getPreferredReadFormat(CMonitor* pMonitor) {
|
||||
if (g_pHyprRenderer->isNvidia())
|
||||
return DRM_FORMAT_XRGB8888;
|
||||
|
||||
if (pMonitor->drmFormat == DRM_FORMAT_XRGB8888)
|
||||
return DRM_FORMAT_XBGR8888;
|
||||
if (pMonitor->drmFormat == DRM_FORMAT_XBGR8888)
|
||||
return DRM_FORMAT_XRGB8888;
|
||||
|
||||
if (pMonitor->drmFormat == DRM_FORMAT_XRGB8888 || pMonitor->drmFormat == DRM_FORMAT_XBGR8888)
|
||||
return DRM_FORMAT_XBGR8888;
|
||||
if (pMonitor->drmFormat == DRM_FORMAT_XRGB2101010 || pMonitor->drmFormat == DRM_FORMAT_XBGR2101010)
|
||||
return DRM_FORMAT_XBGR2101010;
|
||||
return DRM_FORMAT_INVALID;
|
||||
|
|
|
@ -179,6 +179,10 @@ class CHyprOpenGLImpl {
|
|||
PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR = nullptr;
|
||||
} m_sProc;
|
||||
|
||||
struct {
|
||||
bool EXT_read_format_bgra = false;
|
||||
} m_sExts;
|
||||
|
||||
private:
|
||||
std::list<GLuint> m_lBuffers;
|
||||
std::list<GLuint> m_lTextures;
|
||||
|
|
Loading…
Reference in a new issue