mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-05-19 08:30:22 -07:00
opengl: publicize shader creation/usage functions (#10378)
Allows plugins to create and use shaders again
This commit is contained in:
parent
04124988e8
commit
da3583fd5e
@ -240,6 +240,11 @@ class CHyprOpenGLImpl {
|
|||||||
EGLImageKHR createEGLImage(const Aquamarine::SDMABUFAttrs& attrs);
|
EGLImageKHR createEGLImage(const Aquamarine::SDMABUFAttrs& attrs);
|
||||||
|
|
||||||
bool initShaders();
|
bool initShaders();
|
||||||
|
|
||||||
|
GLuint createProgram(const std::string&, const std::string&, bool dynamic = false, bool silent = false);
|
||||||
|
GLuint compileShader(const GLuint&, std::string, bool dynamic = false, bool silent = false);
|
||||||
|
void useProgram(GLuint prog);
|
||||||
|
|
||||||
bool m_shadersInitialized = false;
|
bool m_shadersInitialized = false;
|
||||||
SP<SPreparedShaders> m_shaders;
|
SP<SPreparedShaders> m_shaders;
|
||||||
|
|
||||||
@ -321,15 +326,12 @@ class CHyprOpenGLImpl {
|
|||||||
SP<CTexture> m_lockTtyTextTexture; // TODO: don't always load lock
|
SP<CTexture> m_lockTtyTextTexture; // TODO: don't always load lock
|
||||||
|
|
||||||
void logShaderError(const GLuint&, bool program = false, bool silent = false);
|
void logShaderError(const GLuint&, bool program = false, bool silent = false);
|
||||||
GLuint createProgram(const std::string&, const std::string&, bool dynamic = false, bool silent = false);
|
|
||||||
GLuint compileShader(const GLuint&, std::string, bool dynamic = false, bool silent = false);
|
|
||||||
void createBGTextureForMonitor(PHLMONITOR);
|
void createBGTextureForMonitor(PHLMONITOR);
|
||||||
void initDRMFormats();
|
void initDRMFormats();
|
||||||
void initEGL(bool gbm);
|
void initEGL(bool gbm);
|
||||||
EGLDeviceEXT eglDeviceFromDRMFD(int drmFD);
|
EGLDeviceEXT eglDeviceFromDRMFD(int drmFD);
|
||||||
void initAssets();
|
void initAssets();
|
||||||
void initMissingAssetTexture();
|
void initMissingAssetTexture();
|
||||||
void useProgram(GLuint prog);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
std::optional<std::vector<uint64_t>> getModsForFormat(EGLint format);
|
std::optional<std::vector<uint64_t>> getModsForFormat(EGLint format);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user