Remove W_FlushCachedPatches

This commit is contained in:
Jaime Passos 2020-01-20 17:03:38 -03:00
parent f4a976f3be
commit 720695a6c4
9 changed files with 2 additions and 69 deletions

View File

@ -1615,10 +1615,7 @@ void CON_Drawer(void)
return; return;
if (needpatchrecache) if (needpatchrecache)
{
W_FlushCachedPatches();
HU_LoadGraphics(); HU_LoadGraphics();
}
if (con_recalc) if (con_recalc)
{ {

View File

@ -594,18 +594,10 @@ static void D_Display(void)
needpatchrecache = false; needpatchrecache = false;
} }
// Lactozilla: Check the renderer's state
// after a possible renderer switch.
void D_CheckRendererState(void) void D_CheckRendererState(void)
{ {
// flush all patches from memory
// (also frees memory tagged with PU_CACHE)
// (which are not necessarily patches but I don't care)
if (needpatchflush) if (needpatchflush)
Z_FlushCachedPatches(); Z_FlushCachedPatches();
// some patches have been freed,
// so cache them again
if (needpatchrecache) if (needpatchrecache)
R_ReloadHUDGraphics(); R_ReloadHUDGraphics();
} }

View File

@ -971,9 +971,6 @@ static void HWR_CacheTextureAsFlat(GLMipmap_t *grMipmap, INT32 texturenum)
UINT8 *converted; UINT8 *converted;
size_t size; size_t size;
if (needpatchflush)
W_FlushCachedPatches();
// setup the texture info // setup the texture info
#ifdef GLIDE_API_COMPATIBILITY #ifdef GLIDE_API_COMPATIBILITY
grMipmap->grInfo.smallLodLog2 = GR_LOD_LOG2_64; grMipmap->grInfo.smallLodLog2 = GR_LOD_LOG2_64;
@ -1000,9 +997,6 @@ void HWR_LiterallyGetFlat(lumpnum_t flatlumpnum)
if (flatlumpnum == LUMPERROR) if (flatlumpnum == LUMPERROR)
return; return;
if (needpatchflush)
W_FlushCachedPatches();
grmip = HWR_GetCachedGLPatch(flatlumpnum)->mipmap; grmip = HWR_GetCachedGLPatch(flatlumpnum)->mipmap;
if (!grmip->downloaded && !grmip->grInfo.data) if (!grmip->downloaded && !grmip->grInfo.data)
HWR_CacheFlat(grmip, flatlumpnum); HWR_CacheFlat(grmip, flatlumpnum);
@ -1133,9 +1127,6 @@ static void HWR_LoadMappedPatch(GLMipmap_t *grmip, GLPatch_t *gpatch)
// -----------------+ // -----------------+
void HWR_GetPatch(GLPatch_t *gpatch) void HWR_GetPatch(GLPatch_t *gpatch)
{ {
if (needpatchflush)
W_FlushCachedPatches();
// is it in hardware cache // is it in hardware cache
if (!gpatch->mipmap->downloaded && !gpatch->mipmap->grInfo.data) if (!gpatch->mipmap->downloaded && !gpatch->mipmap->grInfo.data)
{ {
@ -1166,9 +1157,6 @@ void HWR_GetMappedPatch(GLPatch_t *gpatch, const UINT8 *colormap)
{ {
GLMipmap_t *grmip, *newmip; GLMipmap_t *grmip, *newmip;
if (needpatchflush)
W_FlushCachedPatches();
if (colormap == colormaps || colormap == NULL) if (colormap == colormaps || colormap == NULL)
{ {
// Load the default (green) color in doom cache (temporary?) AND hardware cache // Load the default (green) color in doom cache (temporary?) AND hardware cache
@ -1292,13 +1280,7 @@ static void HWR_DrawPicInCache(UINT8 *block, INT32 pblockwidth, INT32 pblockheig
// -----------------+ // -----------------+
GLPatch_t *HWR_GetPic(lumpnum_t lumpnum) GLPatch_t *HWR_GetPic(lumpnum_t lumpnum)
{ {
GLPatch_t *grpatch; GLPatch_t *grpatch = HWR_GetCachedGLPatch(lumpnum);
if (needpatchflush)
W_FlushCachedPatches();
grpatch = HWR_GetCachedGLPatch(lumpnum);
if (!grpatch->mipmap->downloaded && !grpatch->mipmap->grInfo.data) if (!grpatch->mipmap->downloaded && !grpatch->mipmap->grInfo.data)
{ {
pic_t *pic; pic_t *pic;
@ -1481,13 +1463,7 @@ static void HWR_CacheFadeMask(GLMipmap_t *grMipmap, lumpnum_t fademasklumpnum)
void HWR_GetFadeMask(lumpnum_t fademasklumpnum) void HWR_GetFadeMask(lumpnum_t fademasklumpnum)
{ {
GLMipmap_t *grmip; GLMipmap_t *grmip = HWR_GetCachedGLPatch(fademasklumpnum)->mipmap;
if (needpatchflush)
W_FlushCachedPatches();
grmip = HWR_GetCachedGLPatch(fademasklumpnum)->mipmap;
if (!grmip->downloaded && !grmip->grInfo.data) if (!grmip->downloaded && !grmip->grInfo.data)
HWR_CacheFadeMask(grmip, fademasklumpnum); HWR_CacheFadeMask(grmip, fademasklumpnum);

View File

@ -2100,9 +2100,6 @@ static void HU_DrawDemoInfo(void)
// //
void HU_Drawer(void) void HU_Drawer(void)
{ {
if (needpatchrecache)
R_ReloadHUDGraphics();
#ifndef NONET #ifndef NONET
// draw chat string plus cursor // draw chat string plus cursor
if (chat_on) if (chat_on)

View File

@ -8641,8 +8641,6 @@ void M_ForceSaveSlotSelected(INT32 sslot)
// ================ // ================
// CHARACTER SELECT // CHARACTER SELECT
// ================ // ================
// lactozilla: sometimes the renderer changes and these patches don't exist anymore
static void M_CacheCharacterSelectEntry(INT32 i, INT32 skinnum) static void M_CacheCharacterSelectEntry(INT32 i, INT32 skinnum)
{ {
if (!(description[i].picname[0])) if (!(description[i].picname[0]))
@ -8874,7 +8872,6 @@ static void M_DrawSetupChoosePlayerMenu(void)
INT32 x, y; INT32 x, y;
INT32 w = (vid.width/vid.dupx); INT32 w = (vid.width/vid.dupx);
// lactozilla: the renderer changed so recache patches
if (needpatchrecache) if (needpatchrecache)
M_CacheCharacterSelect(); M_CacheCharacterSelect();

View File

@ -1176,7 +1176,6 @@ void R_RenderPlayerView(player_t *player)
free(masks); free(masks);
} }
// Lactozilla: Renderer switching
#ifdef HWRENDER #ifdef HWRENDER
void R_InitHardwareMode(void) void R_InitHardwareMode(void)
{ {
@ -1190,7 +1189,6 @@ void R_InitHardwareMode(void)
void R_ReloadHUDGraphics(void) void R_ReloadHUDGraphics(void)
{ {
CONS_Debug(DBG_RENDER, "R_ReloadHUDGraphics()...\n");
ST_LoadGraphics(); ST_LoadGraphics();
HU_LoadGraphics(); HU_LoadGraphics();
ST_ReloadSkinFaceGraphics(); ST_ReloadSkinFaceGraphics();

View File

@ -1465,21 +1465,6 @@ boolean W_IsPatchCached(lumpnum_t lumpnum, void *ptr)
return W_IsPatchCachedPWAD(WADFILENUM(lumpnum),LUMPNUM(lumpnum), ptr); return W_IsPatchCachedPWAD(WADFILENUM(lumpnum),LUMPNUM(lumpnum), ptr);
} }
void W_FlushCachedPatches(void)
{
if (needpatchflush)
{
Z_FreeTag(PU_CACHE);
Z_FreeTag(PU_PATCH);
Z_FreeTag(PU_HUDGFX);
Z_FreeTag(PU_HWRPATCHINFO);
Z_FreeTag(PU_HWRMODELTEXTURE);
Z_FreeTag(PU_HWRCACHE);
Z_FreeTags(PU_HWRCACHE_UNLOCKED, PU_HWRPATCHINFO_UNLOCKED);
}
needpatchflush = false;
}
// ========================================================================== // ==========================================================================
// W_CacheLumpName // W_CacheLumpName
// ========================================================================== // ==========================================================================
@ -1509,9 +1494,6 @@ void *W_CachePatchNumPwad(UINT16 wad, UINT16 lump, INT32 tag)
GLPatch_t *grPatch; GLPatch_t *grPatch;
#endif #endif
if (needpatchflush)
W_FlushCachedPatches();
if (!TestValidLump(wad, lump)) if (!TestValidLump(wad, lump))
return NULL; return NULL;

View File

@ -196,7 +196,6 @@ void *W_CachePatchNumPwad(UINT16 wad, UINT16 lump, INT32 tag); // return a patch
void *W_CachePatchNum(lumpnum_t lumpnum, INT32 tag); // return a patch_t void *W_CachePatchNum(lumpnum_t lumpnum, INT32 tag); // return a patch_t
void W_UnlockCachedPatch(void *patch); void W_UnlockCachedPatch(void *patch);
void W_FlushCachedPatches(void);
void W_VerifyFileMD5(UINT16 wadfilenum, const char *matchmd5); void W_VerifyFileMD5(UINT16 wadfilenum, const char *matchmd5);

View File

@ -498,13 +498,9 @@ void Z_FreeTags(INT32 lowtag, INT32 hightag)
// Utility functions // Utility functions
// ----------------- // -----------------
// for renderer switching, free a bunch of stuff
boolean needpatchflush = false; boolean needpatchflush = false;
boolean needpatchrecache = false; boolean needpatchrecache = false;
// flush all patches from memory
// (also frees memory tagged with PU_CACHE)
// (which are not necessarily patches but I don't care)
void Z_FlushCachedPatches(void) void Z_FlushCachedPatches(void)
{ {
CONS_Debug(DBG_RENDER, "Z_FlushCachedPatches()...\n"); CONS_Debug(DBG_RENDER, "Z_FlushCachedPatches()...\n");
@ -518,7 +514,6 @@ void Z_FlushCachedPatches(void)
Z_FreeTag(PU_HWRPATCHINFO_UNLOCKED); Z_FreeTag(PU_HWRPATCHINFO_UNLOCKED);
} }
// happens before a renderer switch
void Z_PreparePatchFlush(void) void Z_PreparePatchFlush(void)
{ {
CONS_Debug(DBG_RENDER, "Z_PreparePatchFlush()...\n"); CONS_Debug(DBG_RENDER, "Z_PreparePatchFlush()...\n");