Skip to content

Commit

Permalink
- removed all remnants of the softpoly renderer which was never used …
Browse files Browse the repository at this point in the history
…in Raze.
  • Loading branch information
coelckers committed Aug 3, 2022
1 parent 8de8e51 commit 89e8d7a
Show file tree
Hide file tree
Showing 49 changed files with 485 additions and 6,471 deletions.
37 changes: 5 additions & 32 deletions source/CMakeLists.txt
Expand Up @@ -471,7 +471,7 @@ set( PLAT_WIN32_SOURCES
common/platform/win32/base_sysfb.cpp
common/platform/win32/win32basevideo.cpp
common/platform/win32/win32glvideo.cpp
common/platform/win32/win32polyvideo.cpp)
)

if (HAVE_VULKAN)
set (PLAT_WIN32_SOURCES ${PLAT_WIN32_SOURCES} common/platform/win32/win32vulkanvideo.cpp )
Expand Down Expand Up @@ -643,10 +643,6 @@ file( GLOB HEADER_FILES
common/rendering/gl_load/*.h
common/rendering/hwrenderer/*.h
common/rendering/hwrenderer/data/*.h
common/rendering/polyrenderer/*.h
common/rendering/polyrenderer/math/*.h
common/rendering/polyrenderer/drawers/*.h
common/rendering/polyrenderer/backend/*.h
common/rendering/vulkan/*.h
common/rendering/vulkan/system/*.h
common/rendering/vulkan/renderer/*.h
Expand All @@ -673,14 +669,6 @@ file( GLOB HEADER_FILES
core/textures/formats/*.h
)

set( POLYRENDER_SOURCES
common/rendering/polyrenderer/drawers/poly_triangle.cpp
common/rendering/polyrenderer/drawers/poly_thread.cpp
common/rendering/polyrenderer/drawers/screen_triangle.cpp
common/rendering/polyrenderer/drawers/screen_scanline_setup.cpp
common/rendering/polyrenderer/drawers/screen_shader.cpp
common/rendering/polyrenderer/drawers/screen_blend.cpp
)

# These files will be flagged as "headers" so that they appear in project files
# without being compiled.
Expand Down Expand Up @@ -1004,12 +992,6 @@ if (HAVE_VULKAN)
set (FASTMATH_SOURCES ${FASTMATH_SOURCES} ${VULKAN_SOURCES})
endif()

set (POLYBACKEND_SOURCES
common/rendering/polyrenderer/backend/poly_framebuffer.cpp
common/rendering/polyrenderer/backend/poly_buffers.cpp
common/rendering/polyrenderer/backend/poly_hwtexture.cpp
common/rendering/polyrenderer/backend/poly_renderstate.cpp
)
set (FASTMATH_SOURCES ${FASTMATH_SOURCES})

set (PCH_SOURCES
Expand Down Expand Up @@ -1439,8 +1421,6 @@ include_directories(
common/rendering/gles/glad/include
common/rendering/gles/Mali_OpenGL_ES_Emulator/include
common/rendering/vulkan/thirdparty
common/rendering/polyrenderer/backend
common/rendering/polyrenderer/drawers
common/scripting/vm
common/scripting/jit
common/scripting/core
Expand Down Expand Up @@ -1518,14 +1498,10 @@ if( CMAKE_COMPILER_IS_GNUCXX )
endif()
if( DEM_CMAKE_COMPILER_IS_GNUCXX_COMPATIBLE )
# Need to enable intrinsics for these files.
if( SSE_MATTERS )
set_property( SOURCE
common/rendering/polyrenderer/poly_all.cpp
rendering/swrenderer/r_all.cpp
utility/palette.cpp
utility/x86.cpp
APPEND_STRING PROPERTY COMPILE_FLAGS " -msse2 -mmmx" )
endif()
set_property( SOURCE
common/utility/palette.cpp
common/utility/x86.cpp
APPEND_STRING PROPERTY COMPILE_FLAGS " ${SSE2_ENABLE}" )
endif()

if( APPLE )
Expand Down Expand Up @@ -1618,9 +1594,6 @@ source_group("Common\\Rendering\\Vulkan Renderer\\Textures" REGULAR_EXPRESSION "
source_group("Common\\Rendering\\Vulkan Renderer\\Third Party" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/common/rendering/vulkan/thirdparty/.+")
source_group("Common\\Rendering\\Vulkan Renderer\\Third Party\\Volk" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/common/rendering/vulkan/thirdparty/volk/.+")
source_group("Common\\Rendering\\Vulkan Renderer\\Third Party\\Vk_Mem_Alloc" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/common/rendering/vulkan/thirdparty/vk_mem_alloc.+")
source_group("Common\\Rendering\\Poly Renderer" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/common/rendering/polyrenderer/.+")
source_group("Common\\Rendering\\Poly Renderer\\Drawers" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/common/rendering/polyrenderer/drawers/.+")
source_group("Common\\Rendering\\Poly Renderer\\Backend" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/common/rendering/polyrenderer/backend/.+")
source_group("Common\\Models" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/common/models/.+")
source_group("Common\\Textures" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/common/textures/.+")
source_group("Common\\Textures\\Hires" REGULAR_EXPRESSION "^${CMAKE_CURRENT_SOURCE_DIR}/common/textures/hires/.+")
Expand Down
50 changes: 49 additions & 1 deletion source/common/2d/v_2ddrawer.cpp
Expand Up @@ -41,14 +41,17 @@
#include "v_draw.h"
#include "v_video.h"
#include "fcolormap.h"
#include "texturemanager.h"

static F2DDrawer drawer;
static F2DDrawer drawer = F2DDrawer();
F2DDrawer* twod = &drawer;

EXTERN_CVAR(Float, transsouls)
CVAR(Float, classic_scaling_factor, 1.0, CVAR_ARCHIVE)
CVAR(Float, classic_scaling_pixelaspect, 1.2f, CVAR_ARCHIVE)

IMPLEMENT_CLASS(FCanvas, false, false)

IMPLEMENT_CLASS(DShape2DTransform, false, false)

static void Shape2DTransform_Clear(DShape2DTransform* self)
Expand Down Expand Up @@ -1226,3 +1229,48 @@ F2DVertexBuffer::F2DVertexBuffer()
};
mVertexBuffer->SetFormat(1, 3, sizeof(F2DDrawer::TwoDVertex), format);
}

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

TArray<FCanvas*> AllCanvases;

class InitTextureCanvasGC
{
public:
InitTextureCanvasGC()
{
GC::AddMarkerFunc([]() {
for (auto canvas : AllCanvases)
GC::Mark(canvas);
});
}
};

FCanvas* GetTextureCanvas(const FString& texturename)
{
FTextureID textureid = TexMan.CheckForTexture(texturename, ETextureType::Wall, FTextureManager::TEXMAN_Overridable);
if (textureid.isValid())
{
// Only proceed if the texture is a canvas texture.
auto tex = TexMan.GetGameTexture(textureid);
if (tex && tex->GetTexture()->isCanvas())
{
FCanvasTexture* canvasTex = static_cast<FCanvasTexture*>(tex->GetTexture());
if (!canvasTex->Canvas)
{
static InitTextureCanvasGC initCanvasGC; // Does the common code have a natural init function this could be moved to?

canvasTex->Canvas = Create<FCanvas>();
canvasTex->Canvas->Tex = canvasTex;
canvasTex->Canvas->Drawer.SetSize(tex->GetTexelWidth(), tex->GetTexelHeight());
AllCanvases.Push(canvasTex->Canvas);
}
return canvasTex->Canvas;
}
}
return nullptr;
}
9 changes: 9 additions & 0 deletions source/common/2d/v_2ddrawer.h
Expand Up @@ -274,6 +274,15 @@ class F2DDrawer
bool mIsFirstPass = true;
};

// DCanvas is already taken so using FCanvas instead.
class FCanvas : public DObject
{
DECLARE_CLASS(FCanvas, DObject)
public:
F2DDrawer Drawer;
FCanvasTexture* Tex = nullptr;
};

struct DShape2DBufferInfo : RefCountedBase
{
TArray<F2DVertexBuffer> buffers;
Expand Down

0 comments on commit 89e8d7a

Please sign in to comment.