From 6ffb11ef1a88e9d07276f1d3cef55ed8c39d3c8d Mon Sep 17 00:00:00 2001 From: Masterkatze Date: Mon, 21 Aug 2023 02:57:41 +0300 Subject: [PATCH] Fix build warnings in src/Layers --- src/Layers/xrRender/AnimationKeyCalculate.h | 4 +- src/Layers/xrRender/Blender_Recorder.cpp | 8 ++-- src/Layers/xrRender/Blender_Recorder_R2.cpp | 2 +- src/Layers/xrRender/DetailManager_CACHE.cpp | 4 +- src/Layers/xrRender/R_Backend_DBG.cpp | 2 +- src/Layers/xrRender/ShaderResourceTraits.h | 47 ------------------- src/Layers/xrRender/light.cpp | 4 +- src/Layers/xrRender/occRasterizer.cpp | 1 - src/Layers/xrRender/r__dsgraph_build.cpp | 19 +++----- src/Layers/xrRender/r__pixel_calculator.cpp | 2 +- src/Layers/xrRender/r__sector.cpp | 6 +-- src/Layers/xrRenderGL/glBufferUtils.cpp | 2 +- .../glResourceManager_Resources.cpp | 47 +++++++++++++++++++ src/Layers/xrRenderGL/glTexture.cpp | 1 - src/Layers/xrRenderGL/glTextureUtils.cpp | 2 +- src/Layers/xrRenderPC_GL/CMakeLists.txt | 4 ++ src/Layers/xrRenderPC_GL/rgl_shaders.cpp | 2 +- src/Layers/xrRender_R2/r2.cpp | 2 +- src/Layers/xrRender_R2/r2_R_sun_support.h | 6 ++- src/Layers/xrRender_R2/r2_loader.cpp | 2 +- src/Layers/xrRender_R2/render_phase_sun.cpp | 6 +-- 21 files changed, 86 insertions(+), 87 deletions(-) diff --git a/src/Layers/xrRender/AnimationKeyCalculate.h b/src/Layers/xrRender/AnimationKeyCalculate.h index 04dfeb3ccb3..32a60987d26 100644 --- a/src/Layers/xrRender/AnimationKeyCalculate.h +++ b/src/Layers/xrRender/AnimationKeyCalculate.h @@ -178,7 +178,7 @@ IC void Dequantize(CKey& K, const CBlend& BD, const CMotion& M) } } -IC void MixInterlerp(CKey& Result, const CKey* R, const CBlend* const BA[MAX_BLENDED], int b_count) +IC void MixInterlerp(CKey& Result, const CKey* R, const CBlend* const BA[MAX_BLENDED], u16 b_count) { VERIFY(MAX_BLENDED >= b_count); switch (b_count) @@ -394,7 +394,7 @@ IC void MixAdd(CKey& Result, const CKey* R, const float* BA, int b_count) MixinAdd(Result, R, BA, b_count); } IC void process_single_channel( - CKey& Result, const animation::channel_def& /*ch*/, const CKey* R, const CBlend* const BA[MAX_BLENDED], int b_count) + CKey& Result, const animation::channel_def& /*ch*/, const CKey* R, const CBlend* const BA[MAX_BLENDED], u16 b_count) { MixInterlerp(Result, R, BA, b_count); VERIFY(_valid(Result.T)); diff --git a/src/Layers/xrRender/Blender_Recorder.cpp b/src/Layers/xrRender/Blender_Recorder.cpp index 8849573af25..7ecb5043bcc 100644 --- a/src/Layers/xrRender/Blender_Recorder.cpp +++ b/src/Layers/xrRender/Blender_Recorder.cpp @@ -251,16 +251,16 @@ void CBlender_Compile::PassSET_ablend_mode(BOOL bABlend, u32 abSRC, u32 abDST) if (bABlend && D3DBLEND_ONE == abSRC && D3DBLEND_ZERO == abDST) bABlend = FALSE; RS.SetRS(D3DRS_ALPHABLENDENABLE, BC(bABlend)); - RS.SetRS(D3DRS_SRCBLEND, bABlend ? abSRC : D3DBLEND_ONE); - RS.SetRS(D3DRS_DESTBLEND, bABlend ? abDST : D3DBLEND_ZERO); + RS.SetRS(D3DRS_SRCBLEND, bABlend ? abSRC : static_cast(D3DBLEND_ONE)); + RS.SetRS(D3DRS_DESTBLEND, bABlend ? abDST : static_cast(D3DBLEND_ZERO)); #if defined(USE_DX11) || defined(USE_OGL) // Since in our engine D3DRS_SEPARATEALPHABLENDENABLE state is // always set to false and in DirectX 10 blend functions for // color and alpha are always independent, assign blend options for // alpha in DX11 identical to color. - RS.SetRS(D3DRS_SRCBLENDALPHA, bABlend ? abSRC : D3DBLEND_ONE); - RS.SetRS(D3DRS_DESTBLENDALPHA, bABlend ? abDST : D3DBLEND_ZERO); + RS.SetRS(D3DRS_SRCBLENDALPHA, bABlend ? abSRC : static_cast(D3DBLEND_ONE)); + RS.SetRS(D3DRS_DESTBLENDALPHA, bABlend ? abDST : static_cast(D3DBLEND_ZERO)); #endif // !USE_DX9 } void CBlender_Compile::PassSET_ablend_aref(BOOL bATest, u32 aRef) diff --git a/src/Layers/xrRender/Blender_Recorder_R2.cpp b/src/Layers/xrRender/Blender_Recorder_R2.cpp index 00e7b12cd13..9b9f30be742 100644 --- a/src/Layers/xrRender/Blender_Recorder_R2.cpp +++ b/src/Layers/xrRender/Blender_Recorder_R2.cpp @@ -88,7 +88,7 @@ u32 CBlender_Compile::i_Sampler(LPCSTR _name) const fix_texture_name(name); // Find index - ref_constant C = ctable.get(name, ctable.dx9compatibility ? RC_sampler : u16(-1)); + ref_constant C = ctable.get(name, ctable.dx9compatibility ? static_cast(RC_sampler) : u16(-1)); if (!C) return u32(-1); diff --git a/src/Layers/xrRender/DetailManager_CACHE.cpp b/src/Layers/xrRender/DetailManager_CACHE.cpp index 10b831b7217..9e60b130a44 100644 --- a/src/Layers/xrRender/DetailManager_CACHE.cpp +++ b/src/Layers/xrRender/DetailManager_CACHE.cpp @@ -37,9 +37,9 @@ void CDetailManager::cache_Initialize() CDetailManager::Slot* CDetailManager::cache_Query(int r_x, int r_z) { int gx = w2cg_X(r_x + cache_cx); - VERIFY(gx >= 0 && gx < dm_cache_line); + VERIFY(gx >= 0 && gx < static_cast(dm_cache_line)); int gz = w2cg_Z(r_z + cache_cz); - VERIFY(gz >= 0 && gz < dm_cache_line); + VERIFY(gz >= 0 && gz < static_cast(dm_cache_line)); return cache[gz][gx]; } diff --git a/src/Layers/xrRender/R_Backend_DBG.cpp b/src/Layers/xrRender/R_Backend_DBG.cpp index 4d117f569f0..5a55d375c7a 100644 --- a/src/Layers/xrRender/R_Backend_DBG.cpp +++ b/src/Layers/xrRender/R_Backend_DBG.cpp @@ -41,7 +41,7 @@ void CBackend::dbg_Draw(D3DPRIMITIVETYPE T, FVF::L* pVerts, int vcnt, u16* pIdx, u32 vBase; { FVF::L* pv = (FVF::L*)RImplementation.Vertex.Lock(vcnt, vs_L->vb_stride, vBase); - for (size_t i = 0; i < vcnt; i++) + for (int i = 0; i < vcnt; i++) { pv[i] = pVerts[i]; } diff --git a/src/Layers/xrRender/ShaderResourceTraits.h b/src/Layers/xrRender/ShaderResourceTraits.h index c2db29805d8..772c5594a5e 100644 --- a/src/Layers/xrRender/ShaderResourceTraits.h +++ b/src/Layers/xrRender/ShaderResourceTraits.h @@ -113,53 +113,6 @@ inline std::pair GLUseBinary(pcstr* buffer, size_t size, const GLe return { 'p', program }; } - -static GLuint GLLinkMonolithicProgram(pcstr name, GLuint ps, GLuint vs, GLuint gs) -{ - const GLuint program = glCreateProgram(); - R_ASSERT(program); - if (GLEW_VERSION_4_3) - CHK_GL(glObjectLabel(GL_PROGRAM, program, -1, name)); - // XXX: support caching for monolithic programs - //if (HW.ShaderBinarySupported) - // CHK_GL(glProgramParameteri(program, GL_PROGRAM_BINARY_RETRIEVABLE_HINT, (GLint)GL_TRUE)); - - CHK_GL(glAttachShader(program, ps)); - CHK_GL(glAttachShader(program, vs)); - if (gs) - CHK_GL(glAttachShader(program, gs)); - CHK_GL(glBindFragDataLocation(program, 0, "SV_Target")); - CHK_GL(glBindFragDataLocation(program, 0, "SV_Target0")); - CHK_GL(glBindFragDataLocation(program, 1, "SV_Target1")); - CHK_GL(glBindFragDataLocation(program, 2, "SV_Target2")); - CHK_GL(glLinkProgram(program)); - CHK_GL(glDetachShader(program, ps)); - CHK_GL(glDetachShader(program, vs)); - if (gs) - CHK_GL(glDetachShader(program, gs)); - - GLint status{}; - CHK_GL(glGetProgramiv(program, GL_LINK_STATUS, &status)); - if (GLboolean(status) == GL_FALSE) - { - show_compile_errors(name, program, 0); - CHK_GL(glDeleteProgram(program)); - return 0; // 0 means error - } - return program; -} - -static GLuint GLGeneratePipeline(pcstr name, GLuint ps, GLuint vs, GLuint gs) -{ - GLuint pp; - CHK_GL(glGenProgramPipelines(1, &pp)); - R_ASSERT(pp); - CHK_GL(glUseProgramStages(pp, GL_FRAGMENT_SHADER_BIT, ps)); - CHK_GL(glUseProgramStages(pp, GL_VERTEX_SHADER_BIT, vs)); - CHK_GL(glUseProgramStages(pp, GL_GEOMETRY_SHADER_BIT, gs)); - CHK_GL(glValidateProgramPipeline(pp)); - return pp; -} #endif template diff --git a/src/Layers/xrRender/light.cpp b/src/Layers/xrRender/light.cpp index 46974edf519..871dc88eb71 100644 --- a/src/Layers/xrRender/light.cpp +++ b/src/Layers/xrRender/light.cpp @@ -36,7 +36,7 @@ light::light() : SpatialBase(g_SpatialSpace) vis.query_order = 0; vis.visible = true; vis.pending = false; - for (int id = 0; id < R__NUM_CONTEXTS; ++id) + for (auto id = 0u; id < R__NUM_CONTEXTS; ++id) svis[id].id = id; #endif // (RENDER==R_R2) || (RENDER==R_R3) || (RENDER==R_R4) || (RENDER==R_GL) } @@ -212,7 +212,7 @@ void light::spatial_move() #if (RENDER == R_R2) || (RENDER == R_R3) || (RENDER == R_R4) || (RENDER == R_GL) if (flags.bActive) gi_generate(); - for (int id = 0; id < R__NUM_CONTEXTS; ++id) + for (auto id = 0u; id < R__NUM_CONTEXTS; ++id) svis[id].invalidate(); #endif // (RENDER==R_R2) || (RENDER==R_R3) || (RENDER==R_R4) || (RENDER == R_GL) } diff --git a/src/Layers/xrRender/occRasterizer.cpp b/src/Layers/xrRender/occRasterizer.cpp index 84243d96d21..e62d6c773cb 100644 --- a/src/Layers/xrRender/occRasterizer.cpp +++ b/src/Layers/xrRender/occRasterizer.cpp @@ -139,7 +139,6 @@ void occRasterizer::on_dbg_render() { Fvector quad, left_top, right_bottom, box_center, box_r; quad.set((float)j - occ_dim_0 / 2.f, -((float)i - occ_dim_0 / 2.f), (float)bufDepth_0[i][j] / occQ_s32); - Device.mProject; float z = -Device.mProject._43 / (float)(Device.mProject._33 - quad.z); left_top.set(quad.x * z / Device.mProject._11 / (occ_dim_0 / 2.f), diff --git a/src/Layers/xrRender/r__dsgraph_build.cpp b/src/Layers/xrRender/r__dsgraph_build.cpp index cab7ef74b43..6c680c7e5cc 100644 --- a/src/Layers/xrRender/r__dsgraph_build.cpp +++ b/src/Layers/xrRender/r__dsgraph_build.cpp @@ -37,14 +37,12 @@ ICF float CalcSSA(float& distSQ, Fvector& C, float R) void R_dsgraph_structure::insert_dynamic(IRenderable* root, dxRender_Visual* pVisual, Fmatrix& xform, Fvector& Center) { - CRender& RI = RImplementation; - if (pVisual->vis.marker[context_id] == marker) return; pVisual->vis.marker[context_id] = marker; #if RENDER == R_R1 - if (RI.o.vis_intersect && (pVisual->vis.accept_frame != Device.dwFrame)) + if (RImplementation.o.vis_intersect && (pVisual->vis.accept_frame != Device.dwFrame)) return; pVisual->vis.accept_frame = Device.dwFrame; #endif @@ -90,7 +88,7 @@ void R_dsgraph_structure::insert_dynamic(IRenderable* root, dxRender_Visual* pVi // Shadows registering #if RENDER == R_R1 - RI.L_Shadows->add_element(_MatrixItem{ SSA, root, pVisual, xform }); + RImplementation.L_Shadows->add_element(_MatrixItem{ SSA, root, pVisual, xform }); #endif if (root && root->renderable_Invisible()) return; @@ -148,14 +146,12 @@ void R_dsgraph_structure::insert_dynamic(IRenderable* root, dxRender_Visual* pVi void R_dsgraph_structure::insert_static(dxRender_Visual* pVisual) { - CRender& RI = RImplementation; - if (pVisual->vis.marker[context_id] == marker) return; pVisual->vis.marker[context_id] = marker; #if RENDER == R_R1 - if (RI.o.vis_intersect && (pVisual->vis.accept_frame != Device.dwFrame)) + if (RImplementation.o.vis_intersect && (pVisual->vis.accept_frame != Device.dwFrame)) return; pVisual->vis.accept_frame = Device.dwFrame; #endif @@ -655,13 +651,13 @@ void R_dsgraph_structure::load(const xr_vector& se Sectors.resize(sectors_count); Portals.resize(portals_count); - for (int idx = 0; idx < portals_count; ++idx) + for (auto idx = 0u; idx < portals_count; ++idx) { auto* portal = xr_new(); Portals[idx] = portal; } - for (int idx = 0; idx < sectors_count; ++idx) + for (auto idx = 0u; idx < sectors_count; ++idx) { auto* sector = xr_new(); @@ -670,7 +666,7 @@ void R_dsgraph_structure::load(const xr_vector& se Sectors[idx] = sector; } - for (int idx = 0; idx < portals_count; ++idx) + for (auto idx = 0u; idx < portals_count; ++idx) { auto* portal = static_cast(Portals[idx]); @@ -732,11 +728,10 @@ void R_dsgraph_structure::build_subspace() dxRender_Visual* root = sector->root(); //VERIFY(root->getType() == MT_HIERRARHY); - const auto &children = static_cast(root)->children; - for (u32 v_it = 0; v_it < sector->r_frustums.size(); v_it++) { #if 0 + const auto &children = static_cast(root)->children; const auto traverse_children = [&, this](const TaskRange& range) { for (size_t id = range.cbegin(); id != range.cend(); ++id) diff --git a/src/Layers/xrRender/r__pixel_calculator.cpp b/src/Layers/xrRender/r__pixel_calculator.cpp index 0f93e9f2321..11174c16c71 100644 --- a/src/Layers/xrRender/r__pixel_calculator.cpp +++ b/src/Layers/xrRender/r__pixel_calculator.cpp @@ -46,7 +46,7 @@ r_aabb_ssa r_pixel_calculator::calculate(dxRender_Visual* V) #if defined(USE_DX9) || defined(USE_DX11) using namespace DirectX; - r_aabb_ssa result = {0}; + r_aabb_ssa result = {}; float area = float(_sqr(rt_dimensions)); auto& dsgraph = RImplementation.get_imm_context(); diff --git a/src/Layers/xrRender/r__sector.cpp b/src/Layers/xrRender/r__sector.cpp index 7adf2b10297..4f372eee9b2 100644 --- a/src/Layers/xrRender/r__sector.cpp +++ b/src/Layers/xrRender/r__sector.cpp @@ -97,7 +97,7 @@ void CPortal::setup(const level_portal_data_t& data, const xr_vector& // calc sphere Fbox BB; BB.invalidate(); - for (int v = 0; v < vcnt; v++) + for (auto v = 0u; v < vcnt; v++) BB.modify(V[v]); BB.getsphere(S.P, S.R); @@ -112,7 +112,7 @@ void CPortal::setup(const level_portal_data_t& data, const xr_vector& FPU::m64r(); u32 _cnt = 0; - for (int i = 2; i < vcnt; i++) + for (auto i = 2u; i < vcnt; i++) { T.mknormal_non_normalized(poly[0], poly[i - 1], poly[i]); float m = T.magnitude(); @@ -138,7 +138,7 @@ void CSector::setup(const level_sector_data_t& data, const xr_vector & // Assign portal polygons const auto num_portals = data.portals_id.size(); m_portals.resize(num_portals); - for (int idx = 0; idx < num_portals; ++idx) + for (auto idx = 0u; idx < num_portals; ++idx) { const auto ID = data.portals_id[idx]; m_portals[idx] = portals[ID]; diff --git a/src/Layers/xrRenderGL/glBufferUtils.cpp b/src/Layers/xrRenderGL/glBufferUtils.cpp index e02a9612651..edcf1e09e83 100644 --- a/src/Layers/xrRenderGL/glBufferUtils.cpp +++ b/src/Layers/xrRenderGL/glBufferUtils.cpp @@ -157,7 +157,7 @@ void IterVertexDeclaration(const VertexElement* dxdecl, F&& callback) if (desc.Stream == 0xFF) break; - GLuint location = VertexUsageList[desc.Usage]; + GLint location = VertexUsageList[desc.Usage]; GLint size = VertexSizeList[desc.Type]; GLenum type = VertexTypeList[desc.Type]; GLboolean normalized = VertexNormalizedList[desc.Type]; diff --git a/src/Layers/xrRenderGL/glResourceManager_Resources.cpp b/src/Layers/xrRenderGL/glResourceManager_Resources.cpp index d069dd6edbd..6e87929a8f3 100644 --- a/src/Layers/xrRenderGL/glResourceManager_Resources.cpp +++ b/src/Layers/xrRenderGL/glResourceManager_Resources.cpp @@ -119,6 +119,53 @@ SPP* CResourceManager::_CreatePP(pcstr vs, pcstr ps, pcstr gs, pcstr hs, pcstr d return pp; } +static GLuint GLGeneratePipeline(pcstr name, GLuint ps, GLuint vs, GLuint gs) +{ + GLuint pp; + CHK_GL(glGenProgramPipelines(1, &pp)); + R_ASSERT(pp); + CHK_GL(glUseProgramStages(pp, GL_FRAGMENT_SHADER_BIT, ps)); + CHK_GL(glUseProgramStages(pp, GL_VERTEX_SHADER_BIT, vs)); + CHK_GL(glUseProgramStages(pp, GL_GEOMETRY_SHADER_BIT, gs)); + CHK_GL(glValidateProgramPipeline(pp)); + return pp; +} + +static GLuint GLLinkMonolithicProgram(pcstr name, GLuint ps, GLuint vs, GLuint gs) +{ + const GLuint program = glCreateProgram(); + R_ASSERT(program); + if (GLEW_VERSION_4_3) + CHK_GL(glObjectLabel(GL_PROGRAM, program, -1, name)); + // XXX: support caching for monolithic programs + //if (HW.ShaderBinarySupported) + // CHK_GL(glProgramParameteri(program, GL_PROGRAM_BINARY_RETRIEVABLE_HINT, (GLint)GL_TRUE)); + + CHK_GL(glAttachShader(program, ps)); + CHK_GL(glAttachShader(program, vs)); + if (gs) + CHK_GL(glAttachShader(program, gs)); + CHK_GL(glBindFragDataLocation(program, 0, "SV_Target")); + CHK_GL(glBindFragDataLocation(program, 0, "SV_Target0")); + CHK_GL(glBindFragDataLocation(program, 1, "SV_Target1")); + CHK_GL(glBindFragDataLocation(program, 2, "SV_Target2")); + CHK_GL(glLinkProgram(program)); + CHK_GL(glDetachShader(program, ps)); + CHK_GL(glDetachShader(program, vs)); + if (gs) + CHK_GL(glDetachShader(program, gs)); + + GLint status{}; + CHK_GL(glGetProgramiv(program, GL_LINK_STATUS, &status)); + if (GLboolean(status) == GL_FALSE) + { + show_compile_errors(name, program, 0); + CHK_GL(glDeleteProgram(program)); + return 0; // 0 means error + } + return program; +} + bool CResourceManager::_LinkPP(SPass& pass) { auto& pp = *pass.pp; diff --git a/src/Layers/xrRenderGL/glTexture.cpp b/src/Layers/xrRenderGL/glTexture.cpp index a3a1e76fb46..8a8d7036b51 100644 --- a/src/Layers/xrRenderGL/glTexture.cpp +++ b/src/Layers/xrRenderGL/glTexture.cpp @@ -64,7 +64,6 @@ GLuint CRender::texture_load(LPCSTR fRName, u32& ret_msize, GLenum& ret_desc) string_path fn; size_t img_size = 0; int img_loaded_lod = 0; - gli::gl::format fmt; u32 mip_cnt = u32(-1); // validation R_ASSERT(fRName); diff --git a/src/Layers/xrRenderGL/glTextureUtils.cpp b/src/Layers/xrRenderGL/glTextureUtils.cpp index 3d2aad10d93..00b2678457f 100644 --- a/src/Layers/xrRenderGL/glTextureUtils.cpp +++ b/src/Layers/xrRenderGL/glTextureUtils.cpp @@ -100,7 +100,7 @@ TextureFormatPairs TextureFormatList[] = GLenum ConvertTextureFormat(D3DFORMAT dx9FMT) { constexpr size_t arrayLength = sizeof(TextureFormatList) / sizeof(TextureFormatList[0]); - for (int i = 0; i < arrayLength; ++i) + for (auto i = 0u; i < arrayLength; ++i) { if (TextureFormatList[i].m_dx9FMT == dx9FMT) return TextureFormatList[i].m_glFMT; diff --git a/src/Layers/xrRenderPC_GL/CMakeLists.txt b/src/Layers/xrRenderPC_GL/CMakeLists.txt index 80fa61183e0..147fa8373c3 100644 --- a/src/Layers/xrRenderPC_GL/CMakeLists.txt +++ b/src/Layers/xrRenderPC_GL/CMakeLists.txt @@ -395,6 +395,10 @@ target_include_directories(${PROJECT_NAME} ${CMAKE_SOURCE_DIR}/src/Layers/xrRender ${CMAKE_SOURCE_DIR}/src/Include/xrRender ${CMAKE_SOURCE_DIR}/src/Layers/xrRender_R2 +) + +target_include_directories(${PROJECT_NAME} + SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/Externals/luabind ${CMAKE_SOURCE_DIR}/Externals/gli ${CMAKE_SOURCE_DIR}/Externals/gli/external diff --git a/src/Layers/xrRenderPC_GL/rgl_shaders.cpp b/src/Layers/xrRenderPC_GL/rgl_shaders.cpp index 92951dd8038..b8c47d4487e 100644 --- a/src/Layers/xrRenderPC_GL/rgl_shaders.cpp +++ b/src/Layers/xrRenderPC_GL/rgl_shaders.cpp @@ -148,7 +148,7 @@ class shader_sources_manager // TODO: OGL: make ignore commented includes void load_includes(IReader* file) { - cpcstr sourceData = static_cast(file->pointer()); + const auto sourceData = const_cast(static_cast(file->pointer())); const size_t dataLength = file->length(); // Copy source file data into a null-terminated buffer diff --git a/src/Layers/xrRender_R2/r2.cpp b/src/Layers/xrRender_R2/r2.cpp index 5937e0e0661..b3cd6b3e04b 100644 --- a/src/Layers/xrRender_R2/r2.cpp +++ b/src/Layers/xrRender_R2/r2.cpp @@ -161,7 +161,7 @@ static bool must_enable_old_cascades() R_ASSERT3(accumSunNear, "Can't open shader", "accum_sun_near.ps"); do { - xr_string str(static_cast(accumSunNear->pointer()), accumSunNear->length()); + xr_string str(static_cast(accumSunNear->pointer()), accumSunNear->length()); pcstr begin = strstr(str.c_str(), "float4"); if (!begin) diff --git a/src/Layers/xrRender_R2/r2_R_sun_support.h b/src/Layers/xrRender_R2/r2_R_sun_support.h index a5a016c523c..c3b78940e97 100644 --- a/src/Layers/xrRender_R2/r2_R_sun_support.h +++ b/src/Layers/xrRender_R2/r2_R_sun_support.h @@ -20,13 +20,15 @@ using namespace DirectX; #include "glm/gtc/matrix_transform.hpp" #include "glm/gtc/matrix_access.hpp" -static void XRVec3TransformCoordArray(glm::vec3* out, const glm::vec3* in, const glm::mat4& matrix, unsigned int elements) +[[maybe_unused]] +inline void XRVec3TransformCoordArray(glm::vec3* out, const glm::vec3* in, const glm::mat4& matrix, unsigned int elements) { for (unsigned int i = 0; i < elements; ++i) out[i] = glm::vec3(glm::translate(matrix, in[i]) * glm::vec4(1.f,1.f,1.f,1.f)); } -static void XRMatrixOrthoOffCenterLH(Fmatrix* pout, float l, float r, float b, float t, float zn, float zf) +[[maybe_unused]] +inline void XRMatrixOrthoOffCenterLH(Fmatrix* pout, float l, float r, float b, float t, float zn, float zf) { pout->identity(); pout->m[0][0] = 2.0f / (r - l); diff --git a/src/Layers/xrRender_R2/r2_loader.cpp b/src/Layers/xrRender_R2/r2_loader.cpp index 8a9083154d8..b452bb2930f 100644 --- a/src/Layers/xrRender_R2/r2_loader.cpp +++ b/src/Layers/xrRender_R2/r2_loader.cpp @@ -411,7 +411,7 @@ void CRender::LoadSectors(IReader* fs) rmPortals = nullptr; } - for (int id = 0; id < R__NUM_PARALLEL_CONTEXTS; ++id) + for (auto id = 0u; id < R__NUM_PARALLEL_CONTEXTS; ++id) { auto& dsgraph = contexts_pool[id]; dsgraph.reset(); diff --git a/src/Layers/xrRender_R2/render_phase_sun.cpp b/src/Layers/xrRender_R2/render_phase_sun.cpp index 8354a73420a..fdefbf65237 100644 --- a/src/Layers/xrRender_R2/render_phase_sun.cpp +++ b/src/Layers/xrRender_R2/render_phase_sun.cpp @@ -34,7 +34,7 @@ void render_sun::init() return; // pre-allocate contexts - for (int i = 0; i < R__NUM_SUN_CASCADES; ++i) + for (auto i = 0u; i < R__NUM_SUN_CASCADES; ++i) { contexts_ids[i] = RImplementation.alloc_context(); VERIFY(contexts_ids[i] != R_dsgraph_structure::INVALID_CONTEXT_ID); @@ -97,7 +97,7 @@ void render_sun::calculate() Fvector3 cull_COP[R__NUM_SUN_CASCADES]; Fmatrix cull_xform[R__NUM_SUN_CASCADES]; - for (int cascade_ind = 0; cascade_ind < R__NUM_SUN_CASCADES; ++cascade_ind) + for (auto cascade_ind = 0u; cascade_ind < R__NUM_SUN_CASCADES; ++cascade_ind) { cull_planes.clear(); @@ -354,7 +354,7 @@ void render_sun::flush() if (RImplementation.o.support_rt_arrays) { - for (int cascade_ind = 0; cascade_ind < R__NUM_SUN_CASCADES; ++cascade_ind) + for (auto cascade_ind = 0u; cascade_ind < R__NUM_SUN_CASCADES; ++cascade_ind) { accumulate_cascade(cascade_ind); }