Browse Source

Making vulkan compile

Panagiotis Christopoulos Charitos 9 years ago
parent
commit
e9c081aaac

+ 1 - 1
CMakeLists.txt

@@ -90,7 +90,7 @@ set(ANKI_EXTRA_LIB_DIRS CACHE STRING "Some extra lib paths (Needed for some weir
 # Valgrind
 option(ANKI_VALGRIND_HAPPY "Make valgrind happy" OFF)
 
-set(ANKI_GR_BACKEND "GL" CACHE STRING "The graphics API (GL or vulkan)")
+set(ANKI_GR_BACKEND "GL" CACHE STRING "The graphics API (GL or VK)")
 
 if(${ANKI_GR_BACKEND} STREQUAL "GL")
 	set(GL TRUE)

+ 3 - 1
include/anki/gr/vulkan/BufferImpl.h

@@ -22,7 +22,9 @@ public:
 	{
 	}
 
-	~BufferImpl();
+	~BufferImpl()
+	{
+	}
 };
 /// @}
 

+ 3 - 1
include/anki/gr/vulkan/CommandBufferImpl.h

@@ -23,7 +23,9 @@ public:
 	{
 	}
 
-	~CommandBufferImpl();
+	~CommandBufferImpl()
+	{
+	}
 };
 /// @}
 

+ 8 - 1
include/anki/gr/vulkan/GrManagerImpl.h

@@ -31,13 +31,20 @@ public:
 		ANKI_ASSERT(manager);
 	}
 
-	~GrManagerImpl();
+	~GrManagerImpl()
+	{
+	}
 
 	ANKI_USE_RESULT Error init();
 
 	/// Get or create a compatible render pass for a pipeline.
 	VkRenderPass getOrCreateCompatibleRenderPass(const PipelineInitInfo& init);
 
+	GrAllocator<U8> getAllocator() const
+	{
+		return m_alloc;
+	}
+
 private:
 	GrManager* m_manager = nullptr;
 	GrAllocator<U8> m_alloc;

+ 3 - 1
include/anki/gr/vulkan/OcclusionQueryImpl.h

@@ -22,7 +22,9 @@ public:
 	{
 	}
 
-	~OcclusionQueryImpl();
+	~OcclusionQueryImpl()
+	{
+	}
 };
 /// @}
 

+ 3 - 1
include/anki/gr/vulkan/ResourceGroupImpl.h

@@ -22,7 +22,9 @@ public:
 	{
 	}
 
-	~ResourceGroupImpl();
+	~ResourceGroupImpl()
+	{
+	}
 };
 /// @}
 

+ 3 - 1
include/anki/gr/vulkan/TextureImpl.h

@@ -22,7 +22,9 @@ public:
 	{
 	}
 
-	~TextureImpl();
+	~TextureImpl()
+	{
+	}
 };
 /// @}
 

+ 32 - 0
src/gr/vulkan/Buffer.cpp

@@ -4,3 +4,35 @@
 // http://www.anki3d.org/LICENSE
 
 #include <anki/gr/Buffer.h>
+#include <anki/gr/vulkan/BufferImpl.h>
+
+namespace anki
+{
+
+//==============================================================================
+Buffer::Buffer(GrManager* manager, U64 hash)
+	: GrObject(manager, CLASS_TYPE, hash)
+{
+}
+
+//==============================================================================
+Buffer::~Buffer()
+{
+}
+
+//==============================================================================
+void Buffer::init(PtrSize size, BufferUsageBit usage, BufferAccessBit access)
+{
+}
+
+//==============================================================================
+void* Buffer::map(PtrSize offset, PtrSize range, BufferAccessBit access)
+{
+}
+
+//==============================================================================
+void Buffer::unmap()
+{
+}
+
+} // end namespace anki

+ 173 - 0
src/gr/vulkan/CommandBuffer.cpp

@@ -4,3 +4,176 @@
 // http://www.anki3d.org/LICENSE
 
 #include <anki/gr/CommandBuffer.h>
+#include <anki/gr/vulkan/CommandBufferImpl.h>
+
+namespace anki
+{
+
+//==============================================================================
+CommandBuffer::CommandBuffer(GrManager* manager, U64 hash)
+	: GrObject(manager, CLASS_TYPE, hash)
+{
+}
+
+//==============================================================================
+CommandBuffer::~CommandBuffer()
+{
+}
+
+//==============================================================================
+void CommandBuffer::init(CommandBufferInitInfo& inf)
+{
+}
+
+//==============================================================================
+CommandBufferInitHints CommandBuffer::computeInitHints() const
+{
+}
+
+//==============================================================================
+void CommandBuffer::flush()
+{
+}
+
+//==============================================================================
+void CommandBuffer::finish()
+{
+}
+
+//==============================================================================
+void CommandBuffer::setViewport(U16 minx, U16 miny, U16 maxx, U16 maxy)
+{
+}
+
+//==============================================================================
+void CommandBuffer::setPolygonOffset(F32 offset, F32 units)
+{
+}
+
+//==============================================================================
+void CommandBuffer::bindPipeline(PipelinePtr ppline)
+{
+}
+
+//==============================================================================
+void CommandBuffer::beginRenderPass(FramebufferPtr fb)
+{
+}
+
+//==============================================================================
+void CommandBuffer::endRenderPass()
+{
+}
+
+//==============================================================================
+void CommandBuffer::bindResourceGroup(
+	ResourceGroupPtr rc, U slot, const TransientMemoryInfo* dynInfo)
+{
+}
+
+//==============================================================================
+void CommandBuffer::drawElements(U32 count,
+	U32 instanceCount,
+	U32 firstIndex,
+	U32 baseVertex,
+	U32 baseInstance)
+{
+}
+
+//==============================================================================
+void CommandBuffer::drawArrays(
+	U32 count, U32 instanceCount, U32 first, U32 baseInstance)
+{
+}
+
+//==============================================================================
+void CommandBuffer::drawElementsConditional(OcclusionQueryPtr query,
+	U32 count,
+	U32 instanceCount,
+	U32 firstIndex,
+	U32 baseVertex,
+	U32 baseInstance)
+{
+}
+
+//==============================================================================
+void CommandBuffer::drawArraysConditional(OcclusionQueryPtr query,
+	U32 count,
+	U32 instanceCount,
+	U32 first,
+	U32 baseInstance)
+{
+}
+
+//==============================================================================
+void CommandBuffer::dispatchCompute(
+	U32 groupCountX, U32 groupCountY, U32 groupCountZ)
+{
+}
+
+//==============================================================================
+void CommandBuffer::generateMipmaps(TexturePtr tex, U depth, U face)
+{
+}
+
+//==============================================================================
+void CommandBuffer::copyTextureToTexture(TexturePtr src,
+	const TextureSurfaceInfo& srcSurf,
+	TexturePtr dest,
+	const TextureSurfaceInfo& destSurf)
+{
+}
+
+//==============================================================================
+void CommandBuffer::clearTexture(TexturePtr tex,
+	const TextureSurfaceInfo& surf,
+	const ClearValue& clearValue)
+{
+}
+
+//==============================================================================
+void CommandBuffer::uploadTextureSurface(TexturePtr tex,
+	const TextureSurfaceInfo& surf,
+	const TransientMemoryToken& token)
+{
+}
+
+//==============================================================================
+void CommandBuffer::uploadBuffer(
+	BufferPtr buff, PtrSize offset, const TransientMemoryToken& token)
+{
+}
+
+//==============================================================================
+void CommandBuffer::setPipelineBarrier(
+	PipelineStageBit src, PipelineStageBit dst)
+{
+}
+
+//==============================================================================
+void CommandBuffer::setBufferMemoryBarrier(
+	BufferPtr buff, ResourceAccessBit src, ResourceAccessBit dst)
+{
+}
+
+//==============================================================================
+void CommandBuffer::beginOcclusionQuery(OcclusionQueryPtr query)
+{
+}
+
+//==============================================================================
+void CommandBuffer::endOcclusionQuery(OcclusionQueryPtr query)
+{
+}
+
+//==============================================================================
+void CommandBuffer::pushSecondLevelCommandBuffer(CommandBufferPtr cmdb)
+{
+}
+
+//==============================================================================
+Bool CommandBuffer::isEmpty() const
+{
+}
+
+} // end namespace anki

+ 22 - 0
src/gr/vulkan/Framebuffer.cpp

@@ -4,3 +4,25 @@
 // http://www.anki3d.org/LICENSE
 
 #include <anki/gr/Framebuffer.h>
+#include <anki/gr/vulkan/FramebufferImpl.h>
+
+namespace anki
+{
+
+//==============================================================================
+Framebuffer::Framebuffer(GrManager* manager, U64 hash)
+    : GrObject(manager, CLASS_TYPE, hash)
+{
+}
+
+//==============================================================================
+Framebuffer::~Framebuffer()
+{
+}
+
+//==============================================================================
+void Framebuffer::init(const FramebufferInitInfo& init)
+{
+}
+
+} // end namespace anki

+ 39 - 0
src/gr/vulkan/GrManager.cpp

@@ -4,3 +4,42 @@
 // http://www.anki3d.org/LICENSE
 
 #include <anki/gr/GrManager.h>
+#include <anki/gr/vulkan/GrManagerImpl.h>
+
+namespace anki
+{
+
+//==============================================================================
+GrManager::GrManager()
+{
+}
+
+//==============================================================================
+GrManager::~GrManager()
+{
+}
+
+//==============================================================================
+Error GrManager::init(GrManagerInitInfo& init)
+{
+}
+
+//==============================================================================
+void GrManager::swapBuffers()
+{
+}
+
+//==============================================================================
+void GrManager::finish()
+{
+}
+
+//==============================================================================
+void* GrManager::allocateFrameTransientMemory(PtrSize size,
+	BufferUsage usage,
+	TransientMemoryToken& token,
+	Error* err)
+{
+}
+	
+} // end namespace anki

+ 22 - 0
src/gr/vulkan/OcclusionQuery.cpp

@@ -4,3 +4,25 @@
 // http://www.anki3d.org/LICENSE
 
 #include <anki/gr/OcclusionQuery.h>
+#include <anki/gr/vulkan/OcclusionQueryImpl.h>
+
+namespace anki
+{
+
+//==============================================================================
+OcclusionQuery::OcclusionQuery(GrManager* manager, U64 hash)
+    : GrObject(manager, CLASS_TYPE, hash)
+{
+}
+
+//==============================================================================
+OcclusionQuery::~OcclusionQuery()
+{
+}
+
+//==============================================================================
+void OcclusionQuery::init(OcclusionQueryResultBit condRenderingBit)
+{
+}
+
+} // end namespace anki

+ 22 - 0
src/gr/vulkan/ResourceGroup.cpp

@@ -4,3 +4,25 @@
 // http://www.anki3d.org/LICENSE
 
 #include <anki/gr/ResourceGroup.h>
+#include <anki/gr/vulkan/ResourceGroupImpl.h>
+
+namespace anki
+{
+
+//==============================================================================
+ResourceGroup::ResourceGroup(GrManager* manager, U64 hash)
+    : GrObject(manager, CLASS_TYPE, hash)
+{
+}
+
+//==============================================================================
+ResourceGroup::~ResourceGroup()
+{
+}
+
+//==============================================================================
+void ResourceGroup::init(const ResourceGroupInitInfo& init)
+{
+}
+
+} // end namespace anki

+ 22 - 0
src/gr/vulkan/Sampler.cpp

@@ -4,3 +4,25 @@
 // http://www.anki3d.org/LICENSE
 
 #include <anki/gr/Sampler.h>
+#include <anki/gr/vulkan/SamplerImpl.h>
+
+namespace anki
+{
+
+//==============================================================================
+Sampler::Sampler(GrManager* manager, U64 hash)
+    : GrObject(manager, CLASS_TYPE, hash)
+{
+}
+
+//==============================================================================
+Sampler::~Sampler()
+{
+}
+
+//==============================================================================
+void Sampler::init(const SamplerInitInfo& init)
+{
+}
+
+} // end namespace anki

+ 28 - 0
src/gr/vulkan/Shader.cpp

@@ -0,0 +1,28 @@
+// Copyright (C) 2009-2016, Panagiotis Christopoulos Charitos and contributors.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
+#include <anki/gr/Shader.h>
+#include <anki/gr/vulkan/ShaderImpl.h>
+
+namespace anki
+{
+
+//==============================================================================
+Shader::Shader(GrManager* manager, U64 hash)
+    : GrObject(manager, CLASS_TYPE, hash)
+{
+}
+
+//==============================================================================
+Shader::~Shader()
+{
+}
+
+//==============================================================================
+void Shader::init(ShaderType shaderType, const void* source, PtrSize sourceSize)
+{
+}
+
+} // end namespace anki

+ 22 - 0
src/gr/vulkan/Texture.cpp

@@ -4,3 +4,25 @@
 // http://www.anki3d.org/LICENSE
 
 #include <anki/gr/Texture.h>
+#include <anki/gr/vulkan/TextureImpl.h>
+
+namespace anki
+{
+
+//==============================================================================
+Texture::Texture(GrManager* manager, U64 hash)
+    : GrObject(manager, CLASS_TYPE, hash)
+{
+}
+
+//==============================================================================
+Texture::~Texture()
+{
+}
+
+//==============================================================================
+void Texture::init(const TextureInitInfo& init)
+{
+}
+
+} // end namespace anki

+ 6 - 0
src/gr/vulkan/VulkanObject.cpp

@@ -16,6 +16,12 @@ VkDevice VulkanObject::getDevice() const
 	return m_manager->getImplementation().m_device;
 }
 
+//==============================================================================
+GrAllocator<U8> VulkanObject::getAllocator() const
+{
+	return m_manager->getAllocator();
+}
+
 //==============================================================================
 GrManagerImpl& VulkanObject::getGrManagerImpl()
 {

+ 3 - 2
tests/framework/Framework.h

@@ -5,7 +5,8 @@
 
 #pragma once
 
-#include "anki/util/Singleton.h"
+#include <anki/util/Singleton.h>
+#include <anki/Math.h>
 #include <stdexcept>
 #include <vector>
 #include <string>
@@ -20,7 +21,7 @@ class Test;
 class Tester;
 
 /// The actual test
-typedef void (*TestCallback)(Test&);
+using TestCallback = void (*)(Test&);
 
 /// Test suite
 class TestSuite