Fix a lot of small bugs/warnings

This commit is contained in:
Jérôme Leclercq 2021-12-25 20:07:53 +01:00
parent 1080823c4d
commit b98fd65a01
26 changed files with 62 additions and 52 deletions

View File

@ -297,6 +297,12 @@ namespace Nz
To SafeCast(From value)
{
#if defined(NAZARA_DEBUG) && !defined(NDEBUG)
#ifdef NAZARA_COMPILER_MSVC
// Disable unreachable code warnings
#pragma warning(push)
#pragma warning(disable: 4702)
#endif
if constexpr (std::is_integral_v<To>)
{
if constexpr (std::is_enum_v<From>)
@ -368,6 +374,10 @@ namespace Nz
}
}
}
#ifdef NAZARA_COMPILER_MSVC
#pragma warning(pop)
#endif
#endif
return static_cast<To>(value);

View File

@ -11,6 +11,7 @@
#ifdef NAZARA_COMPILER_MSVC
// Bits tricks require us to disable some warnings under VS
#pragma warning(push)
#pragma warning(disable: 4146)
#pragma warning(disable: 4804)
#endif
@ -1665,8 +1666,7 @@ namespace std
#ifdef NAZARA_COMPILER_MSVC
// Reenable those warnings
#pragma warning(default: 4146)
#pragma warning(default: 4804)
#pragma warning(pop)
#endif
#include <Nazara/Core/DebugOff.hpp>

View File

@ -12,12 +12,12 @@ namespace Nz
m_renderTarget(nullptr),
m_clearColor(Color::Black),
m_fov(90.f),
m_renderOrder(0),
m_projectionType(projectionType),
m_targetRegion(0.f, 0.f, 1.f, 1.f),
m_viewport(0, 0, 0, 0),
m_renderMask(0xFFFFFFFF),
m_renderOrder(0),
m_size(-1.f, -1.f),
m_renderMask(0xFFFFFFFF),
m_zFar((projectionType == ProjectionType::Perspective) ? 1000.f : 1.f),
m_zNear((projectionType == ProjectionType::Perspective) ? 1.f : -1.f)
{
@ -28,12 +28,12 @@ namespace Nz
m_renderTarget(nullptr),
m_clearColor(camera.m_clearColor),
m_fov(camera.m_fov),
m_renderOrder(camera.m_renderOrder),
m_projectionType(camera.m_projectionType),
m_targetRegion(camera.m_targetRegion),
m_viewport(camera.m_viewport),
m_renderMask(camera.m_renderMask),
m_renderOrder(camera.m_renderOrder),
m_size(camera.m_size),
m_renderMask(camera.m_renderMask),
m_aspectRatio(camera.m_aspectRatio),
m_zFar(camera.m_zFar),
m_zNear(camera.m_zNear)
@ -45,12 +45,12 @@ namespace Nz
m_renderTarget(nullptr),
m_clearColor(camera.m_clearColor),
m_fov(camera.m_fov),
m_renderOrder(camera.m_renderOrder),
m_projectionType(camera.m_projectionType),
m_targetRegion(camera.m_targetRegion),
m_viewport(camera.m_viewport),
m_renderMask(camera.m_renderMask),
m_renderOrder(camera.m_renderOrder),
m_size(camera.m_size),
m_renderMask(camera.m_renderMask),
m_aspectRatio(camera.m_aspectRatio),
m_zFar(camera.m_zFar),
m_zNear(camera.m_zNear)

View File

@ -30,10 +30,10 @@ namespace Nz
SpriteChainRenderer(RenderDevice& device, std::size_t maxVertexBufferSize = 32 * 1024);
~SpriteChainRenderer() = default;
std::unique_ptr<ElementRendererData> InstanciateData();
void Prepare(const ViewerInstance& viewerInstance, ElementRendererData& rendererData, RenderFrame& currentFrame, const Pointer<const RenderElement>* elements, std::size_t elementCount);
std::unique_ptr<ElementRendererData> InstanciateData() override;
void Prepare(const ViewerInstance& viewerInstance, ElementRendererData& rendererData, RenderFrame& currentFrame, const Pointer<const RenderElement>* elements, std::size_t elementCount) override;
void Render(const ViewerInstance& viewerInstance, ElementRendererData& rendererData, CommandBufferBuilder& commandBuffer, const Pointer<const RenderElement>* elements, std::size_t elementCount) override;
void Reset(ElementRendererData& rendererData, RenderFrame& currentFrame);
void Reset(ElementRendererData& rendererData, RenderFrame& currentFrame) override;
private:
struct BufferCopy

View File

@ -298,7 +298,7 @@ namespace Nz::ShaderBuilder
swizzleNode->componentCount = swizzleComponents.size();
for (std::size_t i = 0; i < swizzleNode->componentCount; ++i)
{
assert(swizzleComponents[i] >= 0 && swizzleComponents[i] <= 4);
assert(swizzleComponents[i] <= 4);
swizzleNode->components[i] = swizzleComponents[i];
}

View File

@ -24,7 +24,7 @@ namespace Nz
LabelWidget(LabelWidget&&) = default;
~LabelWidget() = default;
void UpdateText(const AbstractTextDrawer& drawer, float scale = 1.f);
void UpdateText(const AbstractTextDrawer& drawer);
LabelWidget& operator=(const LabelWidget&) = delete;
LabelWidget& operator=(LabelWidget&&) = default;

View File

@ -121,7 +121,7 @@ std::shared_ptr<Animation> LoadAnimation(Stream& stream, const AnimationParams&
aiSetImportPropertyInteger(properties, AI_CONFIG_PP_LBW_MAX_WEIGHTS, 4);
aiSetImportPropertyInteger(properties, AI_CONFIG_PP_RVC_FLAGS, ~aiComponent_ANIMATIONS);
const aiScene* scene = aiImportFileExWithProperties(userdata.originalFilePath, 0, &fileIO, properties);
const aiScene* scene = aiImportFileExWithProperties(userdata.originalFilePath, postProcess, &fileIO, properties);
aiReleasePropertyStore(properties);
if (!scene)

View File

@ -15,9 +15,9 @@
namespace Nz
{
SpriteChainRenderer::SpriteChainRenderer(RenderDevice& device, std::size_t maxVertexBufferSize) :
m_device(device),
m_maxVertexBufferSize(maxVertexBufferSize),
m_maxVertexCount(m_maxVertexBufferSize / (2 * sizeof(float))) // Treat vec2 as the minimum declaration possible
m_maxVertexCount(m_maxVertexBufferSize / (2 * sizeof(float))), // Treat vec2 as the minimum declaration possible
m_device(device)
{
m_vertexBufferPool = std::make_shared<VertexBufferPool>();

View File

@ -419,7 +419,7 @@ namespace Nz
return static_cast<unsigned int>(result);
}
SocketState SocketImpl::PollConnection(SocketHandle handle, const IpAddress& address, UInt64 msTimeout, SocketError* error)
SocketState SocketImpl::PollConnection(SocketHandle handle, const IpAddress& /*address*/, UInt64 msTimeout, SocketError* error)
{
// Wait until socket is available for writing or an error occurs (ie when connection succeeds or fails)
pollfd descriptor;

View File

@ -63,9 +63,9 @@ namespace Nz
RigidBody3D::RigidBody3D(RigidBody3D&& object) noexcept :
m_geom(std::move(object.m_geom)),
m_body(std::move(object.m_body)),
m_forceAccumulator(std::move(object.m_forceAccumulator)),
m_torqueAccumulator(std::move(object.m_torqueAccumulator)),
m_body(std::move(object.m_body)),
m_world(object.m_world),
m_gravityFactor(object.m_gravityFactor),
m_mass(object.m_mass)

View File

@ -534,7 +534,7 @@ namespace Nz
}
}
}
catch (std::exception e)
catch (const std::exception& e)
{
NazaraError(e.what());
}

View File

@ -206,21 +206,6 @@ namespace Nz::ShaderAst
else if (IsPrimitiveType(exprType) || IsVectorType(exprType))
{
// Swizzle expression
PrimitiveType baseType;
std::size_t componentCount;
if (IsVectorType(exprType))
{
const VectorType& swizzledVec = std::get<VectorType>(exprType);
baseType = swizzledVec.type;
componentCount = swizzledVec.componentCount;
}
else
{
baseType = std::get<PrimitiveType>(exprType);
componentCount = 1;
}
std::size_t swizzleComponentCount = identifier.size();
if (swizzleComponentCount > 4)
throw AstError{ "cannot swizzle more than four elements" };
@ -239,6 +224,12 @@ namespace Nz::ShaderAst
// Use a Cast expression to replace swizzle
indexedExpr = CacheResult(std::move(indexedExpr)); //< Since we are going to use a value multiple times, cache it if required
PrimitiveType baseType;
if (IsVectorType(exprType))
baseType = std::get<VectorType>(exprType).type;
else
baseType = std::get<PrimitiveType>(exprType);
auto cast = std::make_unique<CastExpression>();
cast->targetType = VectorType{ swizzleComponentCount, baseType };
for (std::size_t j = 0; j < swizzleComponentCount; ++j)

View File

@ -1023,6 +1023,7 @@ namespace Nz
default:
break;
}
break;
}
case ShaderAst::UnaryType::Plus:

View File

@ -134,7 +134,9 @@ namespace Nz
const auto& expressionType = GetExpressionType(*node.expression);
assert(IsVectorType(expressionType));
SwizzledPointer swizzledPointer{ pointer };
SwizzledPointer swizzledPointer;
swizzledPointer.pointerId = pointer.pointerId;
swizzledPointer.storage = pointer.storage;
swizzledPointer.swizzledType = std::get<ShaderAst::VectorType>(expressionType);
swizzledPointer.componentCount = node.componentCount;
swizzledPointer.swizzleIndices = node.components;

View File

@ -72,8 +72,8 @@ namespace Nz
else
UnrecognizedLine();
#endif
break;
}
break;
}
case 'd':
@ -471,6 +471,7 @@ namespace Nz
UnrecognizedLine();
#endif
}
break;
}
default:

View File

@ -269,12 +269,14 @@ namespace Nz
}
}
VkInstanceCreateInfo instanceInfo = { VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO };
VkInstanceCreateInfo instanceInfo = {};
instanceInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
#ifdef NAZARA_DEBUG
// Handle VK_LAYER_KHRONOS_validation extended features
VkValidationFeaturesEXT features = { VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT };
VkValidationFeaturesEXT features = {};
features.sType = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT;
std::array<VkValidationFeatureEnableEXT, 1> enabledFeatures = {
//VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,

View File

@ -55,7 +55,8 @@ namespace Nz
}
}
VkRenderPassBeginInfo beginInfo = { VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO };
VkRenderPassBeginInfo beginInfo = {};
beginInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
beginInfo.renderPass = vkRenderPass.GetRenderPass();
beginInfo.framebuffer = vkFramebuffer.GetFramebuffer();
beginInfo.renderArea.offset.x = renderRect.x;
@ -190,15 +191,16 @@ namespace Nz
SafeCast<Int32>(fromBox.y),
SafeCast<Int32>(fromBox.z)
},
todo,
{
SafeCast<Int32>(toPos.x),
SafeCast<Int32>(toPos.y),
SafeCast<Int32>(toPos.z),
},
{
SafeCast<Int32>(fromBox.width),
SafeCast<Int32>(fromBox.height),
SafeCast<Int32>(fromBox.depth)
SafeCast<UInt32>(fromBox.width),
SafeCast<UInt32>(fromBox.height),
SafeCast<UInt32>(fromBox.depth)
}
};

View File

@ -27,7 +27,8 @@ namespace Nz
createInfo.tiling = VK_IMAGE_TILING_OPTIMAL;
createInfo.usage = ToVulkan(params.usageFlags);
VkImageViewCreateInfo createInfoView = { VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO };
VkImageViewCreateInfo createInfoView = {};
createInfoView.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
createInfoView.subresourceRange = {
ToVulkan(PixelFormatInfo::GetContent(params.pixelFormat)),
0,

View File

@ -13,7 +13,8 @@ namespace Nz
{
ValidateSamplerInfo(device, samplerInfo);
VkSamplerCreateInfo createInfo = { VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO };
VkSamplerCreateInfo createInfo = {};
createInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
createInfo.magFilter = ToVulkan(samplerInfo.magFilter);
createInfo.minFilter = ToVulkan(samplerInfo.minFilter);
createInfo.addressModeU = ToVulkan(samplerInfo.wrapModeU);

View File

@ -218,7 +218,8 @@ namespace Nz
return;
}
VkDebugUtilsMessengerCreateInfoEXT callbackCreateInfo = { VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT };
VkDebugUtilsMessengerCreateInfoEXT callbackCreateInfo = {};
callbackCreateInfo.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
callbackCreateInfo.messageSeverity = VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT;
callbackCreateInfo.messageType = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT;
callbackCreateInfo.pfnUserCallback = &DebugCallback;

View File

@ -11,12 +11,12 @@ namespace Nz
{
Canvas::Canvas(entt::registry& registry, Nz::EventHandler& eventHandler, Nz::CursorControllerHandle cursorController, UInt32 renderMask, int initialRenderLayer) :
BaseWidget(std::make_shared<DefaultWidgetTheme>()),
m_cursorController(cursorController),
m_renderMask(renderMask),
m_keyboardOwner(InvalidCanvasIndex),
m_hoveredWidget(InvalidCanvasIndex),
m_mouseOwner(InvalidCanvasIndex),
m_registry(registry),
m_cursorController(cursorController)
m_registry(registry)
{
m_canvas = this;
BaseWidget::m_registry = &m_registry;

View File

@ -22,7 +22,7 @@ namespace Nz
Layout();
}
void LabelWidget::UpdateText(const AbstractTextDrawer& drawer, float scale)
void LabelWidget::UpdateText(const AbstractTextDrawer& drawer)
{
m_style->UpdateText(drawer);

View File

@ -110,7 +110,7 @@ void TextureValue::BuildNodeEdition(QFormLayout* layout)
layout->addRow(tr("Texture"), textureSelection);
}
Nz::ShaderAst::NodePtr TextureValue::BuildNode(Nz::ShaderAst::ExpressionPtr* expressions, std::size_t count, std::size_t outputIndex) const
Nz::ShaderAst::NodePtr TextureValue::BuildNode(Nz::ShaderAst::ExpressionPtr* /*expressions*/, std::size_t count, std::size_t outputIndex) const
{
if (!m_currentTextureIndex)
throw std::runtime_error("invalid texture input");

View File

@ -96,7 +96,7 @@ void TextureEditor::OnTextureSelectionUpdate(int textureIndex)
m_currentTextureIndex.reset();
}
void TextureEditor::OnTextureListUpdate(ShaderGraph* graph)
void TextureEditor::OnTextureListUpdate(ShaderGraph* /*graph*/)
{
RefreshTextures();
}

View File

@ -296,7 +296,6 @@ void CheckRead(const char* title)
#define BitVal3 01101010
std::array<Nz::UInt8, 3> data = {{NazaraPrefixMacro(BitVal1, 0b), NazaraPrefixMacro(BitVal2, 0b), NazaraPrefixMacro(BitVal3, 0b)}};
const char result[] = NazaraStringifyMacro(BitVal3) NazaraStringifyMacro(BitVal2) NazaraStringifyMacro(BitVal1);
std::size_t resultLength = Nz::CountOf(result) - 1;
std::size_t bitCount = data.size() * 8;
#undef BitVal1
#undef BitVal2

View File

@ -11,7 +11,6 @@ SCENARIO("PrimitiveList", "[CORE][PRIMITIVELIST]")
{
float size = 1.f;
unsigned int subdivision = 1;
unsigned int recursionLevel = 1;
Nz::Matrix4f identity = Nz::Matrix4f::Identity();
primitiveList.AddCubicSphere(size, subdivision, identity);