From 9c09f2a847a1372c73cf67dc9e7e9ebe309b142e Mon Sep 17 00:00:00 2001 From: Vaxry Date: Fri, 1 Dec 2023 17:20:56 +0000 Subject: screencopy: fix shm exports with 10-bit fixes #4019 --- src/helpers/MiscFunctions.cpp | 10 ++++++++++ src/helpers/MiscFunctions.hpp | 1 + 2 files changed, 11 insertions(+) (limited to 'src/helpers') diff --git a/src/helpers/MiscFunctions.cpp b/src/helpers/MiscFunctions.cpp index 71263748..16650e1b 100644 --- a/src/helpers/MiscFunctions.cpp +++ b/src/helpers/MiscFunctions.cpp @@ -781,4 +781,14 @@ uint32_t drmFormatToGL(uint32_t drm) { } UNREACHABLE(); return GL_RGBA; +} + +uint32_t glFormatToType(uint32_t gl) { + return gl != 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; } \ No newline at end of file diff --git a/src/helpers/MiscFunctions.hpp b/src/helpers/MiscFunctions.hpp index 90479121..d8070c76 100644 --- a/src/helpers/MiscFunctions.hpp +++ b/src/helpers/MiscFunctions.hpp @@ -34,6 +34,7 @@ std::string replaceInString(std::string subject, const std: std::vector getBacktrace(); void throwError(const std::string& err); uint32_t drmFormatToGL(uint32_t drm); +uint32_t glFormatToType(uint32_t gl); template [[deprecated("use std::format instead")]] std::string getFormat(std::format_string fmt, Args&&... args) { -- cgit v1.2.3