Minor and forgotten stuff
This commit is contained in:
parent
1dc0ed8e94
commit
15b95ca4a1
|
|
@ -9,12 +9,12 @@
|
||||||
|
|
||||||
#include <Nazara/Prerequisites.hpp>
|
#include <Nazara/Prerequisites.hpp>
|
||||||
#include <Nazara/Core/ParameterList.hpp>
|
#include <Nazara/Core/ParameterList.hpp>
|
||||||
#include <Nazara/Core/String.hpp>
|
|
||||||
#include <Nazara/Renderer/Config.hpp>
|
#include <Nazara/Renderer/Config.hpp>
|
||||||
#include <Nazara/Renderer/Enums.hpp>
|
#include <Nazara/Renderer/Enums.hpp>
|
||||||
#include <Nazara/Renderer/RenderDeviceInfo.hpp>
|
#include <Nazara/Renderer/RenderDeviceInfo.hpp>
|
||||||
#include <Nazara/Utility/AbstractBuffer.hpp>
|
#include <Nazara/Utility/AbstractBuffer.hpp>
|
||||||
#include <Nazara/Utility/Enums.hpp>
|
#include <Nazara/Utility/Enums.hpp>
|
||||||
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Nz
|
namespace Nz
|
||||||
|
|
@ -41,7 +41,7 @@ namespace Nz
|
||||||
virtual bool IsBetterThan(const RendererImpl* other) const = 0;
|
virtual bool IsBetterThan(const RendererImpl* other) const = 0;
|
||||||
|
|
||||||
virtual RenderAPI QueryAPI() const = 0;
|
virtual RenderAPI QueryAPI() const = 0;
|
||||||
virtual String QueryAPIString() const = 0;
|
virtual std::string QueryAPIString() const = 0;
|
||||||
virtual UInt32 QueryAPIVersion() const = 0;
|
virtual UInt32 QueryAPIVersion() const = 0;
|
||||||
|
|
||||||
virtual std::vector<RenderDeviceInfo> QueryRenderDevices() const = 0;
|
virtual std::vector<RenderDeviceInfo> QueryRenderDevices() const = 0;
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ namespace Nz
|
||||||
bool IsBetterThan(const RendererImpl* other) const override;
|
bool IsBetterThan(const RendererImpl* other) const override;
|
||||||
|
|
||||||
RenderAPI QueryAPI() const override;
|
RenderAPI QueryAPI() const override;
|
||||||
String QueryAPIString() const override;
|
std::string QueryAPIString() const override;
|
||||||
UInt32 QueryAPIVersion() const override;
|
UInt32 QueryAPIVersion() const override;
|
||||||
std::vector<RenderDeviceInfo> QueryRenderDevices() const override;
|
std::vector<RenderDeviceInfo> QueryRenderDevices() const override;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ namespace Nz
|
||||||
inline void ClearDepthStencilImage(VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue& depthStencil, UInt32 rangeCount, const VkImageSubresourceRange* ranges);
|
inline void ClearDepthStencilImage(VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue& depthStencil, UInt32 rangeCount, const VkImageSubresourceRange* ranges);
|
||||||
|
|
||||||
inline void CopyBuffer(VkBuffer source, VkBuffer target, UInt32 size, UInt32 sourceOffset = 0, UInt32 targetOffset = 0);
|
inline void CopyBuffer(VkBuffer source, VkBuffer target, UInt32 size, UInt32 sourceOffset = 0, UInt32 targetOffset = 0);
|
||||||
inline void CopyBufferToImage(VkBuffer source, VkImage target, VkImageLayout targetLayout, UInt32 width, UInt32 height);
|
inline void CopyBufferToImage(VkBuffer source, VkImage target, VkImageLayout targetLayout, UInt32 width, UInt32 height, UInt32 depth = 1);
|
||||||
|
|
||||||
inline void Draw(UInt32 vertexCount, UInt32 instanceCount = 1, UInt32 firstVertex = 0, UInt32 firstInstance = 0);
|
inline void Draw(UInt32 vertexCount, UInt32 instanceCount = 1, UInt32 firstVertex = 0, UInt32 firstInstance = 0);
|
||||||
inline void DrawIndexed(UInt32 indexCount, UInt32 instanceCount = 1, UInt32 firstVertex = 0, Int32 vertexOffset = 0, UInt32 firstInstance = 0);
|
inline void DrawIndexed(UInt32 indexCount, UInt32 instanceCount = 1, UInt32 firstVertex = 0, Int32 vertexOffset = 0, UInt32 firstInstance = 0);
|
||||||
|
|
@ -64,8 +64,10 @@ namespace Nz
|
||||||
|
|
||||||
inline void Free();
|
inline void Free();
|
||||||
|
|
||||||
|
inline void MemoryBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask);
|
||||||
|
|
||||||
inline void PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, const VkImageMemoryBarrier& imageMemoryBarrier);
|
inline void PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, const VkImageMemoryBarrier& imageMemoryBarrier);
|
||||||
inline void PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, const VkMemoryBarrier& memoryBarrier, const VkBufferMemoryBarrier& bufferMemoryBarrier, const VkImageMemoryBarrier& imageMemoryBarrier);
|
inline void PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, const VkMemoryBarrier& memoryBarrier);
|
||||||
inline void PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, UInt32 memoryBarrierCount, const VkMemoryBarrier* memoryBarriers, UInt32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* bufferMemoryBarriers, UInt32 imageMemoryBarrierCount, const VkImageMemoryBarrier* imageMemoryBarriers);
|
inline void PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, UInt32 memoryBarrierCount, const VkMemoryBarrier* memoryBarriers, UInt32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* bufferMemoryBarriers, UInt32 imageMemoryBarrierCount, const VkImageMemoryBarrier* imageMemoryBarriers);
|
||||||
|
|
||||||
inline void SetScissor(const Recti& scissorRegion);
|
inline void SetScissor(const Recti& scissorRegion);
|
||||||
|
|
|
||||||
|
|
@ -198,7 +198,7 @@ namespace Nz
|
||||||
return m_pool->GetDevice()->vkCmdCopyBuffer(m_handle, source, target, 1, ®ion);
|
return m_pool->GetDevice()->vkCmdCopyBuffer(m_handle, source, target, 1, ®ion);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void CommandBuffer::CopyBufferToImage(VkBuffer source, VkImage target, VkImageLayout targetLayout, UInt32 width, UInt32 height)
|
inline void CommandBuffer::CopyBufferToImage(VkBuffer source, VkImage target, VkImageLayout targetLayout, UInt32 width, UInt32 height, UInt32 depth)
|
||||||
{
|
{
|
||||||
VkBufferImageCopy region = {
|
VkBufferImageCopy region = {
|
||||||
0,
|
0,
|
||||||
|
|
@ -214,7 +214,7 @@ namespace Nz
|
||||||
0, 0, 0
|
0, 0, 0
|
||||||
},
|
},
|
||||||
{ // imageExtent
|
{ // imageExtent
|
||||||
width, height, 1U
|
width, height, depth
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -257,14 +257,26 @@ namespace Nz
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void CommandBuffer::MemoryBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask)
|
||||||
|
{
|
||||||
|
VkMemoryBarrier memoryBarrier = {
|
||||||
|
VK_STRUCTURE_TYPE_MEMORY_BARRIER,
|
||||||
|
nullptr,
|
||||||
|
srcAccessMask,
|
||||||
|
dstAccessMask
|
||||||
|
};
|
||||||
|
|
||||||
|
return PipelineBarrier(srcStageMask, dstStageMask, 0U, memoryBarrier);
|
||||||
|
}
|
||||||
|
|
||||||
inline void CommandBuffer::PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, const VkImageMemoryBarrier& imageMemoryBarrier)
|
inline void CommandBuffer::PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, const VkImageMemoryBarrier& imageMemoryBarrier)
|
||||||
{
|
{
|
||||||
return PipelineBarrier(srcStageMask, dstStageMask, dependencyFlags, 0, nullptr, 0, nullptr, 1, &imageMemoryBarrier);
|
return PipelineBarrier(srcStageMask, dstStageMask, dependencyFlags, 0, nullptr, 0, nullptr, 1, &imageMemoryBarrier);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void CommandBuffer::PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, const VkMemoryBarrier& memoryBarrier, const VkBufferMemoryBarrier& bufferMemoryBarrier, const VkImageMemoryBarrier& imageMemoryBarrier)
|
inline void CommandBuffer::PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, const VkMemoryBarrier& memoryBarrier)
|
||||||
{
|
{
|
||||||
return PipelineBarrier(srcStageMask, dstStageMask, dependencyFlags, 1, &memoryBarrier, 1, &bufferMemoryBarrier, 1, &imageMemoryBarrier);
|
return PipelineBarrier(srcStageMask, dstStageMask, dependencyFlags, 1, &memoryBarrier, 0, nullptr, 0, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void CommandBuffer::PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, UInt32 memoryBarrierCount, const VkMemoryBarrier* memoryBarriers, UInt32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* bufferMemoryBarriers, UInt32 imageMemoryBarrierCount, const VkImageMemoryBarrier* imageMemoryBarriers)
|
inline void CommandBuffer::PipelineBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, UInt32 memoryBarrierCount, const VkMemoryBarrier* memoryBarriers, UInt32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* bufferMemoryBarriers, UInt32 imageMemoryBarrierCount, const VkImageMemoryBarrier* imageMemoryBarriers)
|
||||||
|
|
|
||||||
|
|
@ -320,7 +320,7 @@ MeshRef LoadMesh(Stream& stream, const MeshParams& parameters)
|
||||||
if (normalTangentMatrix.HasScale())
|
if (normalTangentMatrix.HasScale())
|
||||||
normalTangentMatrix.ApplyScale(1.f / normalTangentMatrix.GetScale());
|
normalTangentMatrix.ApplyScale(1.f / normalTangentMatrix.GetScale());
|
||||||
|
|
||||||
VertexBufferRef vertexBuffer = VertexBuffer::New(VertexDeclaration::Get(VertexLayout_XYZ_Normal_UV_Tangent_Skinning), vertexCount, parameters.storage, parameters.vertexBufferFlags | BufferUsage_Dynamic);
|
VertexBufferRef vertexBuffer = VertexBuffer::New(VertexDeclaration::Get(VertexLayout_XYZ_Normal_UV_Tangent_Skinning), vertexCount, parameters.storage, parameters.vertexBufferFlags);
|
||||||
BufferMapper<VertexBuffer> vertexMapper(vertexBuffer, BufferAccess_ReadWrite);
|
BufferMapper<VertexBuffer> vertexMapper(vertexBuffer, BufferAccess_ReadWrite);
|
||||||
SkeletalMeshVertex* vertices = static_cast<SkeletalMeshVertex*>(vertexMapper.GetPointer());
|
SkeletalMeshVertex* vertices = static_cast<SkeletalMeshVertex*>(vertexMapper.GetPointer());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,7 @@ namespace Nz
|
||||||
}
|
}
|
||||||
|
|
||||||
std::filesystem::path path = pluginPath;
|
std::filesystem::path path = pluginPath;
|
||||||
if (appendExtension && path.extension() == NAZARA_DYNLIB_EXTENSION)
|
if (appendExtension && path.extension() != NAZARA_DYNLIB_EXTENSION)
|
||||||
path += NAZARA_DYNLIB_EXTENSION;
|
path += NAZARA_DYNLIB_EXTENSION;
|
||||||
|
|
||||||
bool exists = false;
|
bool exists = false;
|
||||||
|
|
@ -159,7 +159,7 @@ namespace Nz
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::filesystem::path canonicalPath = std::filesystem::canonical(pluginPath);
|
std::filesystem::path canonicalPath = std::filesystem::canonical(path);
|
||||||
s_plugins[canonicalPath] = std::move(library);
|
s_plugins[canonicalPath] = std::move(library);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
#include <Nazara/VulkanRenderer/VkRenderWindow.hpp>
|
#include <Nazara/VulkanRenderer/VkRenderWindow.hpp>
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/Loader.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/Loader.hpp>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
#include <sstream>
|
||||||
#include <Nazara/VulkanRenderer/Debug.hpp>
|
#include <Nazara/VulkanRenderer/Debug.hpp>
|
||||||
|
|
||||||
namespace Nz
|
namespace Nz
|
||||||
|
|
@ -53,12 +54,12 @@ namespace Nz
|
||||||
return RenderAPI::Vulkan;
|
return RenderAPI::Vulkan;
|
||||||
}
|
}
|
||||||
|
|
||||||
String VulkanRenderer::QueryAPIString() const
|
std::string VulkanRenderer::QueryAPIString() const
|
||||||
{
|
{
|
||||||
StringStream ss;
|
std::ostringstream ss;
|
||||||
ss << "Vulkan renderer " << VK_VERSION_MAJOR(APIVersion) << '.' << VK_VERSION_MINOR(APIVersion) << '.' << VK_VERSION_PATCH(APIVersion);
|
ss << "Vulkan renderer " << VK_VERSION_MAJOR(APIVersion) << '.' << VK_VERSION_MINOR(APIVersion) << '.' << VK_VERSION_PATCH(APIVersion);
|
||||||
|
|
||||||
return ss;
|
return ss.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
UInt32 VulkanRenderer::QueryAPIVersion() const
|
UInt32 VulkanRenderer::QueryAPIVersion() const
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue