Skip to content

Commit

Permalink
- don't route calls to FMaterial::FlushAll through the framebuffer in…
Browse files Browse the repository at this point in the history
…terface.
  • Loading branch information
coelckers committed Jun 20, 2018
1 parent eb277cc commit b106f72
Show file tree
Hide file tree
Showing 10 changed files with 12 additions and 31 deletions.
19 changes: 4 additions & 15 deletions src/gl/renderer/gl_renderer.cpp
Expand Up @@ -236,17 +236,6 @@ void FGLRenderer::SetupLevel()
//
//===========================================================================

void FGLRenderer::FlushTextures()
{
FMaterial::FlushAll();
}

//===========================================================================
//
//
//
//===========================================================================

bool FGLRenderer::StartOffscreen()
{
bool firstBind = (mFBID == 0);
Expand Down Expand Up @@ -372,7 +361,7 @@ void FGLRenderer::WriteSavePic (player_t *player, FileWriter *file, int width, i
bounds.width = width;
bounds.height = height;

// if GLRenderer->mVBO is persistently mapped we must be sure the GPU finished reading from it before we fill it with new data.
// if mVBO is persistently mapped we must be sure the GPU finished reading from it before we fill it with new data.
glFinish();

// Switch to render buffers dimensioned for the savepic
Expand Down Expand Up @@ -411,9 +400,9 @@ void FGLRenderer::WriteSavePic (player_t *player, FileWriter *file, int width, i

void FGLRenderer::BeginFrame()
{
buffersActive = GLRenderer->mScreenBuffers->Setup(screen->mScreenViewport.width, screen->mScreenViewport.height, screen->mSceneViewport.width, screen->mSceneViewport.height);
buffersActive = mScreenBuffers->Setup(screen->mScreenViewport.width, screen->mScreenViewport.height, screen->mSceneViewport.width, screen->mSceneViewport.height);
if (buffersActive)
buffersActive = GLRenderer->mSaveBuffers->Setup(SAVEPICWIDTH, SAVEPICHEIGHT, SAVEPICWIDTH, SAVEPICHEIGHT);
buffersActive = mSaveBuffers->Setup(SAVEPICWIDTH, SAVEPICHEIGHT, SAVEPICWIDTH, SAVEPICHEIGHT);
}

//===========================================================================
Expand Down Expand Up @@ -606,7 +595,7 @@ void FGLRenderer::Draw2D(F2DDrawer *drawer)
}
glDisable(GL_SCISSOR_TEST);

gl_RenderState.SetVertexBuffer(GLRenderer->mVBO);
gl_RenderState.SetVertexBuffer(mVBO);
gl_RenderState.EnableTexture(true);
gl_RenderState.EnableBrightmap(true);
gl_RenderState.SetTextureMode(TM_MODULATE);
Expand Down
1 change: 0 additions & 1 deletion src/gl/renderer/gl_renderer.h
Expand Up @@ -123,7 +123,6 @@ class FGLRenderer

void ClearBorders();

void FlushTextures();
void SetupLevel();
void ResetSWScene();

Expand Down
5 changes: 0 additions & 5 deletions src/gl/system/gl_framebuffer.cpp
Expand Up @@ -361,11 +361,6 @@ void OpenGLFrameBuffer::UnbindTexUnit(int no)
FHardwareTexture::Unbind(no);
}

void OpenGLFrameBuffer::FlushTextures()
{
if (GLRenderer) GLRenderer->FlushTextures();
}

void OpenGLFrameBuffer::TextureFilterChanged()
{
if (GLRenderer != NULL && GLRenderer->mSamplerManager != NULL) GLRenderer->mSamplerManager->SetTextureFilterMode();
Expand Down
1 change: 0 additions & 1 deletion src/gl/system/gl_framebuffer.h
Expand Up @@ -37,7 +37,6 @@ class OpenGLFrameBuffer : public SystemFrameBuffer
IHardwareTexture *CreateHardwareTexture(FTexture *tex) override;
FModelRenderer *CreateModelRenderer(int mli) override;
void UnbindTexUnit(int no) override;
void FlushTextures() override;
void TextureFilterChanged() override;
void BeginFrame() override;
void SetViewportRects(IntRect *bounds) override;
Expand Down
5 changes: 3 additions & 2 deletions src/hwrenderer/utility/hw_cvars.cpp
Expand Up @@ -25,6 +25,7 @@
#include "c_dispatch.h"
#include "v_video.h"
#include "hw_cvars.h"
#include "hwrenderer/textures/hw_material.h"
#include "menu/menu.h"


Expand Down Expand Up @@ -91,7 +92,7 @@ CUSTOM_CVAR(Float,gl_texture_filter_anisotropic,8.0f,CVAR_ARCHIVE|CVAR_GLOBALCON

CCMD(gl_flush)
{
screen->FlushTextures();
FMaterial::FlushAll();
}

CUSTOM_CVAR(Int, gl_texture_filter, 4, CVAR_ARCHIVE|CVAR_GLOBALCONFIG|CVAR_NOINITCALL)
Expand All @@ -102,7 +103,7 @@ CUSTOM_CVAR(Int, gl_texture_filter, 4, CVAR_ARCHIVE|CVAR_GLOBALCONFIG|CVAR_NOINI

CUSTOM_CVAR(Bool, gl_texture_usehires, true, CVAR_ARCHIVE|CVAR_NOINITCALL)
{
screen->FlushTextures();
FMaterial::FlushAll();
}

CVAR(Bool, gl_precache, false, CVAR_ARCHIVE)
Expand Down
1 change: 0 additions & 1 deletion src/posix/sdl/sdlglvideo.cpp
Expand Up @@ -111,7 +111,6 @@ SDLGLVideo::SDLGLVideo (int parm)

SDLGLVideo::~SDLGLVideo ()
{
if (GLRenderer != NULL) GLRenderer->FlushTextures();
}

DFrameBuffer *SDLGLVideo::CreateFrameBuffer ()
Expand Down
2 changes: 1 addition & 1 deletion src/r_utility.cpp
Expand Up @@ -1030,7 +1030,7 @@ void R_SetupFrame (FRenderViewpoint &viewpoint, FViewWindow &viewwindow, AActor
double angx = cos(radPitch);
double angy = sin(radPitch) * level.info->pixelstretch;
double alen = sqrt(angx*angx + angy*angy);
viewpoint.HWAngles.Pitch = (float)RAD2DEG(asin(angy / alen));
viewpoint.HWAngles.Pitch = RAD2DEG((float)asin(angy / alen));

viewpoint.HWAngles.Roll.Degrees = viewpoint.Angles.Roll.Degrees; // copied for convenience.

Expand Down
7 changes: 4 additions & 3 deletions src/textures/hires/hqresize.cpp
Expand Up @@ -43,6 +43,7 @@
#include "xbr/xbrz.h"
#include "xbr/xbrz_old.h"
#include "parallel_for.h"
#include "hwrenderer/textures/hw_material.h"

CUSTOM_CVAR(Int, gl_texture_hqresize, 0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_NOINITCALL)
{
Expand All @@ -56,18 +57,18 @@ CUSTOM_CVAR(Int, gl_texture_hqresize, 0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR
if (self == 8) self = 10;
if (self == 9) self = 6;
#endif
screen->FlushTextures();
FMaterial::FlushAll();
}

CUSTOM_CVAR(Int, gl_texture_hqresize_maxinputsize, 512, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_NOINITCALL)
{
if (self > 1024) self = 1024;
screen->FlushTextures();
FMaterial::FlushAll();
}

CUSTOM_CVAR(Int, gl_texture_hqresize_targets, 7, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_NOINITCALL)
{
screen->FlushTextures();
FMaterial::FlushAll();
}

CVAR (Flag, gl_texture_hqresize_textures, gl_texture_hqresize_targets, 1);
Expand Down
1 change: 0 additions & 1 deletion src/v_video.h
Expand Up @@ -419,7 +419,6 @@ class DFrameBuffer
virtual IHardwareTexture *CreateHardwareTexture(FTexture *tex) { return nullptr; }
virtual FModelRenderer *CreateModelRenderer(int mli) { return nullptr; }
virtual void UnbindTexUnit(int no) {}
virtual void FlushTextures() {}
virtual void TextureFilterChanged() {}
virtual void BeginFrame() {}

Expand Down
1 change: 0 additions & 1 deletion src/win32/win32gliface.cpp
Expand Up @@ -155,7 +155,6 @@ Win32GLVideo::Win32GLVideo(int parm)

Win32GLVideo::~Win32GLVideo()
{
if (GLRenderer != NULL) GLRenderer->FlushTextures();
}

//==========================================================================
Expand Down

0 comments on commit b106f72

Please sign in to comment.