mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-05 04:26:00 +01:00
renderer: cleanup old redundancies in CFramebuffer
This commit is contained in:
parent
77818e3457
commit
f61a714320
3 changed files with 13 additions and 17 deletions
|
@ -20,7 +20,7 @@ bool CFramebuffer::alloc(int w, int h) {
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (firstAlloc || m_Size != Vector2D(w, h)) {
|
if (firstAlloc || m_vSize != Vector2D(w, h)) {
|
||||||
glBindTexture(GL_TEXTURE_2D, m_cTex.m_iTexID);
|
glBindTexture(GL_TEXTURE_2D, m_cTex.m_iTexID);
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ bool CFramebuffer::alloc(int w, int h) {
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, g_pHyprOpenGL->m_iCurrentOutputFb);
|
glBindFramebuffer(GL_FRAMEBUFFER, g_pHyprOpenGL->m_iCurrentOutputFb);
|
||||||
|
|
||||||
m_Size = Vector2D(w, h);
|
m_vSize = Vector2D(w, h);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -73,7 +73,7 @@ void CFramebuffer::release() {
|
||||||
|
|
||||||
m_cTex.m_iTexID = 0;
|
m_cTex.m_iTexID = 0;
|
||||||
m_iFb = -1;
|
m_iFb = -1;
|
||||||
m_Size = Vector2D();
|
m_vSize = Vector2D();
|
||||||
}
|
}
|
||||||
|
|
||||||
CFramebuffer::~CFramebuffer() {
|
CFramebuffer::~CFramebuffer() {
|
||||||
|
|
|
@ -13,14 +13,10 @@ class CFramebuffer {
|
||||||
void reset();
|
void reset();
|
||||||
bool isAllocated();
|
bool isAllocated();
|
||||||
|
|
||||||
Vector2D m_Position;
|
Vector2D m_vSize;
|
||||||
Vector2D m_Size;
|
|
||||||
float m_fScale = 1;
|
|
||||||
|
|
||||||
CTexture m_cTex;
|
CTexture m_cTex;
|
||||||
GLuint m_iFb = -1;
|
GLuint m_iFb = -1;
|
||||||
|
|
||||||
CTexture* m_pStencilTex = nullptr;
|
CTexture* m_pStencilTex = nullptr;
|
||||||
|
|
||||||
wl_output_transform m_tTransform; // for saving state
|
|
||||||
};
|
};
|
|
@ -124,7 +124,7 @@ void CHyprOpenGLImpl::begin(CMonitor* pMonitor, CRegion* pDamage, bool fake) {
|
||||||
m_iWLROutputFb = m_iCurrentOutputFb;
|
m_iWLROutputFb = m_iCurrentOutputFb;
|
||||||
|
|
||||||
// ensure a framebuffer for the monitor exists
|
// ensure a framebuffer for the monitor exists
|
||||||
if (m_mMonitorRenderResources.find(pMonitor) == m_mMonitorRenderResources.end() || m_RenderData.pCurrentMonData->primaryFB.m_Size != pMonitor->vecPixelSize) {
|
if (m_mMonitorRenderResources.find(pMonitor) == m_mMonitorRenderResources.end() || m_RenderData.pCurrentMonData->primaryFB.m_vSize != pMonitor->vecPixelSize) {
|
||||||
m_RenderData.pCurrentMonData->stencilTex.allocate();
|
m_RenderData.pCurrentMonData->stencilTex.allocate();
|
||||||
|
|
||||||
m_RenderData.pCurrentMonData->primaryFB.m_pStencilTex = &m_RenderData.pCurrentMonData->stencilTex;
|
m_RenderData.pCurrentMonData->primaryFB.m_pStencilTex = &m_RenderData.pCurrentMonData->stencilTex;
|
||||||
|
|
Loading…
Reference in a new issue