mirror of
https://github.com/hyprwm/Hyprland
synced 2024-12-02 00:05:58 +01:00
renderer: fix legacy_renderer build (#3732)
In GLES2, `GL_RGB10_A2` and `GL_UNSIGNED_INT_2_10_10_10_REV` are defined as `GL_RGB10_A2_EXT` and `GL_UNSIGNED_INT_2_10_10_10_REV_EXT` respectively.
This commit is contained in:
parent
0f6e530798
commit
49fdffacea
2 changed files with 13 additions and 2 deletions
|
@ -757,7 +757,12 @@ uint32_t drmFormatToGL(uint32_t drm) {
|
||||||
case DRM_FORMAT_XRGB8888:
|
case DRM_FORMAT_XRGB8888:
|
||||||
case DRM_FORMAT_XBGR8888: return GL_RGBA; // doesn't matter, opengl is gucci in this case.
|
case DRM_FORMAT_XBGR8888: return GL_RGBA; // doesn't matter, opengl is gucci in this case.
|
||||||
case DRM_FORMAT_XRGB2101010:
|
case DRM_FORMAT_XRGB2101010:
|
||||||
case DRM_FORMAT_XBGR2101010: return GL_RGB10_A2;
|
case DRM_FORMAT_XBGR2101010:
|
||||||
|
#ifdef GLES2
|
||||||
|
return GL_RGB10_A2_EXT;
|
||||||
|
#else
|
||||||
|
return GL_RGB10_A2;
|
||||||
|
#endif
|
||||||
default: return GL_RGBA;
|
default: return GL_RGBA;
|
||||||
}
|
}
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
|
|
|
@ -6,7 +6,13 @@ bool CFramebuffer::alloc(int w, int h, uint32_t drmFormat) {
|
||||||
RASSERT((w > 1 && h > 1), "cannot alloc a FB with negative / zero size! (attempted {}x{})", w, h);
|
RASSERT((w > 1 && h > 1), "cannot alloc a FB with negative / zero size! (attempted {}x{})", w, h);
|
||||||
|
|
||||||
uint32_t glFormat = drmFormatToGL(drmFormat);
|
uint32_t glFormat = drmFormatToGL(drmFormat);
|
||||||
uint32_t glType = glFormat != GL_RGBA ? GL_UNSIGNED_INT_2_10_10_10_REV : GL_UNSIGNED_BYTE;
|
uint32_t glType = glFormat != GL_RGBA ?
|
||||||
|
#ifdef GLES2
|
||||||
|
GL_UNSIGNED_INT_2_10_10_10_REV_EXT :
|
||||||
|
#else
|
||||||
|
GL_UNSIGNED_INT_2_10_10_10_REV :
|
||||||
|
#endif
|
||||||
|
GL_UNSIGNED_BYTE;
|
||||||
|
|
||||||
if (m_iFb == (uint32_t)-1) {
|
if (m_iFb == (uint32_t)-1) {
|
||||||
firstAlloc = true;
|
firstAlloc = true;
|
||||||
|
|
Loading…
Reference in a new issue