Temporary commit to investigate build error

This commit is contained in:
Dynamitos
2020-08-11 21:23:20 +02:00
parent f27859a02c
commit 839be06f90
24 changed files with 107 additions and 54 deletions
@@ -33,6 +33,7 @@ struct WindowCreateInfo
int32 height;
const char *title;
bool bFullscreen;
Gfx::SeSampleCountFlags numSamples;
Gfx::SeFormat pixelFormat;
void *windowHandle;
};
+1 -1
View File
@@ -262,7 +262,7 @@ RenderTargetLayout::RenderTargetLayout(Array<PRenderTargetAttachment> inputAttac
}
Window::Window(const WindowCreateInfo &createInfo)
: sizeX(createInfo.width), sizeY(createInfo.height), bFullscreen(createInfo.bFullscreen), title(createInfo.title), pixelFormat(createInfo.pixelFormat)
: sizeX(createInfo.width), sizeY(createInfo.height), bFullscreen(createInfo.bFullscreen), title(createInfo.title), pixelFormat(createInfo.pixelFormat), samples(createInfo.numSamples)
{
}
+36 -1
View File
@@ -409,6 +409,11 @@ class Texture : public QueueOwnedResource
public:
Texture(PGraphics graphics, QueueType startQueueType);
virtual ~Texture();
virtual SeFormat getFormat() const = 0;
virtual uint32 getSizeX() const = 0;
virtual uint32 getSizeY() const = 0;
virtual SeSampleCountFlags getNumSamples() const = 0;
protected:
// Inherited via QueueOwnedResource
virtual void executeOwnershipBarrier(QueueType newOwner) = 0;
@@ -419,6 +424,11 @@ class Texture2D : public Texture
public:
Texture2D(PGraphics graphics, QueueType startQueueType);
virtual ~Texture2D();
virtual SeFormat getFormat() const = 0;
virtual uint32 getSizeX() const = 0;
virtual uint32 getSizeY() const = 0;
virtual SeSampleCountFlags getNumSamples() const = 0;
protected:
//Inherited via QueueOwnedResource
virtual void executeOwnershipBarrier(QueueType newOwner) = 0;
@@ -447,6 +457,14 @@ public:
virtual void endFrame() = 0;
virtual void onWindowCloseEvent() = 0;
virtual PTexture2D getBackBuffer() = 0;
SeFormat getSwapchainFormat() const
{
return pixelFormat;
}
SeSampleCountFlags getNumSamples() const
{
return samples;
}
protected:
uint32 sizeX;
@@ -454,6 +472,7 @@ protected:
bool bFullscreen;
const char *title;
SeFormat pixelFormat;
uint32 samples;
};
DEFINE_REF(Window);
@@ -496,6 +515,14 @@ public:
{
return texture;
}
virtual SeFormat getFormat() const
{
return texture->getFormat();
}
virtual SeSampleCountFlags getNumSamples() const
{
return texture->getNumSamples();
}
inline SeAttachmentLoadOp getLoadOp() const { return loadOp; }
inline SeAttachmentStoreOp getStoreOp() const { return storeOp; }
inline SeAttachmentLoadOp getStencilLoadOp() const { return stencilLoadOp; }
@@ -518,13 +545,21 @@ public:
SeAttachmentStoreOp storeOp = SE_ATTACHMENT_STORE_OP_STORE,
SeAttachmentLoadOp stencilLoadOp = SE_ATTACHMENT_LOAD_OP_DONT_CARE,
SeAttachmentStoreOp stencilStoreOp = SE_ATTACHMENT_STORE_OP_DONT_CARE)
: RenderTargetAttachment(owner->getBackBuffer(), loadOp, storeOp, stencilLoadOp, stencilStoreOp), owner(owner)
: RenderTargetAttachment(nullptr, loadOp, storeOp, stencilLoadOp, stencilStoreOp), owner(owner)
{
}
virtual PTexture2D getTexture() override
{
return owner->getBackBuffer();
}
virtual SeFormat getFormat() const override
{
return owner->getSwapchainFormat();
}
virtual SeSampleCountFlags getNumSamples() const override
{
return owner->getNumSamples();
}
private:
PWindow owner;
+2
View File
@@ -17,6 +17,8 @@ void Seele::RenderCore::init()
mainWindowInfo.width = 1280;
mainWindowInfo.height = 720;
mainWindowInfo.bFullscreen = false;
mainWindowInfo.numSamples = 1;
mainWindowInfo.pixelFormat = Gfx::SE_FORMAT_R8G8B8_UNORM;
auto window = windowManager->addWindow(mainWindowInfo);
ViewportCreateInfo sceneViewInfo;
sceneViewInfo.sizeX = 1280;
+1 -1
View File
@@ -20,7 +20,7 @@ void BasePassMeshProcessor::addMeshBatch(
const Gfx::PRenderPass renderPass,
int32 staticMeshId)
{
const PMaterialAsset material = batch.material;
const PMaterial material = batch.material;
const Gfx::MaterialShadingModel shadingModel = material->getShadingModel();
const PVertexShaderInput vertexInput = batch.vertexInput;
@@ -1,8 +1,8 @@
#include "VulkanDescriptorSets.h"
#include "VulkanGraphicsResources.h"
#include "VulkanGraphicsEnums.h"
#include "VulkanGraphics.h"
#include "VulkanInitializer.h"
#include "VulkanDescriptorSets.h"
using namespace Seele;
using namespace Seele::Vulkan;
@@ -1,3 +1,4 @@
#pragma once
#include "VulkanGraphicsResources.h"
namespace Seele
@@ -200,6 +200,10 @@ public:
{
return format;
}
inline Gfx::SeSampleCountFlags getNumSamples() const
{
return samples;
}
inline bool isDepthStencil() const
{
return aspect & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT);
@@ -249,18 +253,22 @@ class Texture2D : public TextureBase, public Gfx::Texture2D
public:
Texture2D(PGraphics graphics, const TextureCreateInfo& createInfo, VkImage existingImage = VK_NULL_HANDLE);
virtual ~Texture2D();
inline uint32 getSizeX() const
virtual uint32 getSizeX() const override
{
return textureHandle->sizeX;
}
inline uint32 getSizeY() const
virtual uint32 getSizeY() const override
{
return textureHandle->sizeY;
}
inline Gfx::SeFormat getFormat() const
virtual Gfx::SeFormat getFormat() const override
{
return textureHandle->format;
}
virtual Gfx::SeSampleCountFlags getNumSamples() const override
{
return textureHandle->getNumSamples();
}
inline VkImage getHandle() const
{
return textureHandle->image;
@@ -312,6 +320,7 @@ protected:
PGraphics graphics;
VkFormat pixelFormat;
VkSampleCountFlags numSamples;
VkPresentModeKHR presentMode;
VkSwapchainKHR swapchain;
VkSurfaceKHR surface;
@@ -19,7 +19,7 @@ RenderPass::RenderPass(PGraphics graphics, Gfx::PRenderTargetLayout layout)
for (auto inputAttachment : layout->inputAttachments)
{
PTexture2D image = inputAttachment->getTexture().cast<Texture2D>();
VkAttachmentDescription desc = attachments.add();
VkAttachmentDescription& desc = attachments.add();
desc.flags = 0;
desc.format = cast(image->getFormat());
desc.storeOp = cast(inputAttachment->getStoreOp());
@@ -36,10 +36,10 @@ RenderPass::RenderPass(PGraphics graphics, Gfx::PRenderTargetLayout layout)
}
for (auto colorAttachment : layout->colorAttachments)
{
PTexture2D image = colorAttachment->getTexture().cast<Texture2D>();
VkAttachmentDescription desc = attachments.add();
VkAttachmentDescription& desc = attachments.add();
desc.flags = 0;
desc.format = cast(image->getFormat());
desc.samples = (VkSampleCountFlagBits)colorAttachment->getNumSamples();
desc.format = cast(colorAttachment->getFormat());
desc.storeOp = cast(colorAttachment->getStoreOp());
desc.loadOp = cast(colorAttachment->getLoadOp());
desc.stencilStoreOp = cast(colorAttachment->getStencilStoreOp());
@@ -55,8 +55,9 @@ RenderPass::RenderPass(PGraphics graphics, Gfx::PRenderTargetLayout layout)
if (layout->depthAttachment != nullptr)
{
PTexture2D image = layout->depthAttachment->getTexture().cast<Texture2D>();
VkAttachmentDescription desc = attachments.add();
VkAttachmentDescription& desc = attachments.add();
desc.flags = 0;
desc.samples = (VkSampleCountFlagBits)image->getNumSamples();
desc.format = cast(image->getFormat());
desc.storeOp = cast(layout->depthAttachment->getStoreOp());
desc.loadOp = cast(layout->depthAttachment->getLoadOp());
@@ -1,3 +1,4 @@
#pragma once
#include "VulkanGraphicsResources.h"
namespace Seele
@@ -9,7 +9,7 @@ using namespace Seele;
using namespace Seele::Vulkan;
Window::Window(PGraphics graphics, const WindowCreateInfo &createInfo)
: Gfx::Window(createInfo), graphics(graphics), instance(graphics->getInstance()), swapchain(VK_NULL_HANDLE)
: Gfx::Window(createInfo), graphics(graphics), instance(graphics->getInstance()), swapchain(VK_NULL_HANDLE), numSamples(createInfo.numSamples), pixelFormat(cast(createInfo.pixelFormat))
{
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
GLFWwindow *handle = glfwCreateWindow(createInfo.width, createInfo.height, createInfo.title, createInfo.bFullscreen ? glfwGetPrimaryMonitor() : nullptr, nullptr);