Browse Source

Build: Fixing Clang build on Linux

Marko Pintera 7 years ago
parent
commit
7f236ff470

+ 1 - 1
Documentation/GitHub/compiling.md

@@ -45,7 +45,7 @@ You can choose to use a different *CMake* generator than those specified above,
     - MSVC++ 14.0 (Visual Studio 2015)
 	- MSVC++ 15.0 (Visual Studio 2017)
     - GCC 7.0 (or newer)
-    - Clang 4 (or newer)
+    - Clang 5.0 (or newer)
 
 ### <a name="dependencies"></a>Third party dependencies
 Banshee relies on a variety of third party dependencies. A set of pre-compiled dependencies are provided for every supported platform/compiler. These will be fetched automatically by the build process, but you may also download them manually or compile them from source:

+ 6 - 6
Source/BansheeCore/Private/Linux/BsLinuxPlatform.cpp

@@ -1261,21 +1261,21 @@ namespace bs
 		// For raw, relative mouse motion events, XInput2 extension is required
 		int firstEvent;
 		int firstError;
-		if (!XQueryExtension(mData->xDisplay, "XInputExtension", &mData->xInput2Opcode, &firstEvent, &firstError)) {
+		if (!XQueryExtension(mData->xDisplay, "XInputExtension", &mData->xInput2Opcode, &firstEvent, &firstError))
 			BS_EXCEPT(InternalErrorException, "X Server doesn't support the XInput extension");
-		}
 
 		int majorVersion = 2;
 		int minorVersion = 0;
-		if (XIQueryVersion(mData->xDisplay, &majorVersion, &minorVersion) != Success) {
+		if (XIQueryVersion(mData->xDisplay, &majorVersion, &minorVersion) != Success)
 			BS_EXCEPT(InternalErrorException, "X Server doesn't support at least the XInput 2.0 extension");
-		}
 
 		// Let XInput know we are interested in raw mouse movement events
+		constexpr int maskLen = XIMaskLen(XI_LASTEVENT);
 		XIEventMask mask;
 		mask.deviceid = XIAllDevices;
-		mask.mask_len = XIMaskLen(XI_LASTEVENT);
-		unsigned char maskBuffer[mask.mask_len] = {0};
+		mask.mask_len = maskLen;
+
+		unsigned char maskBuffer[maskLen] = {0};
 		mask.mask = maskBuffer;
 		XISetMask(mask.mask, XI_RawMotion);
 

+ 4 - 2
Source/BansheeCore/Renderer/BsRenderer.h

@@ -29,7 +29,8 @@ namespace bs
 	template<bool skinned, bool morph>
 	static const ShaderVariation& getVertexInputVariation()
 	{
-		static ShaderVariation variation = ShaderVariation({
+		static ShaderVariation variation = ShaderVariation(
+		Vector<ShaderVariation::Param>{
 			ShaderVariation::Param("SKINNED", skinned),
 			ShaderVariation::Param("MORPH", morph),
 		});
@@ -41,7 +42,8 @@ namespace bs
 	template<bool skinned, bool morph, bool clustered>
 	static const ShaderVariation& getForwardRenderingVariation()
 	{
-		static ShaderVariation variation = ShaderVariation({
+		static ShaderVariation variation = ShaderVariation(
+		Vector<ShaderVariation::Param>{
 			ShaderVariation::Param("SKINNED", skinned),
 			ShaderVariation::Param("MORPH", morph),
 			ShaderVariation::Param("CLUSTERED", clustered),

+ 2 - 1
Source/BansheeEngine/Debug/BsDebugDraw.h

@@ -194,7 +194,8 @@ namespace bs
 		template<bool solid, bool line, bool wire>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("SOLID", solid),
 				ShaderVariation::Param("LINE", line),
 				ShaderVariation::Param("WIRE", wire)

+ 2 - 1
Source/BansheeEngine/Renderer/BsRendererUtility.h

@@ -25,7 +25,8 @@ namespace bs { namespace ct
 		template<UINT32 msaa, bool color>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA_COUNT", msaa),
 				ShaderVariation::Param("COLOR", color),
 			});

+ 1 - 1
Source/Game/Main.cpp

@@ -154,7 +154,7 @@ void runApplication()
 			HSceneObject root = mainScene->instantiate();
 			HSceneObject oldRoot = gSceneManager().getRootNode();
 
-			gSceneManager()._setRootNode(root);
+			gSceneManager().setRootNode(root);
 			oldRoot->destroy();
 		}
 	}

+ 2 - 1
Source/RenderBeast/BsImageBasedLighting.h

@@ -144,7 +144,8 @@ namespace bs { namespace ct
 		template<UINT32 msaa>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA_COUNT", msaa)
 			});
 

+ 4 - 2
Source/RenderBeast/BsLightProbes.h

@@ -40,7 +40,8 @@ namespace bs { namespace ct
 		template<bool msaa, bool singleSampleMSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA", msaa),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA)
 			});
@@ -98,7 +99,8 @@ namespace bs { namespace ct
 		template<bool msaa, bool singleSampleMSAA, bool skyOnly>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA", msaa),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA),
 				ShaderVariation::Param("SKY_ONLY", skyOnly)

+ 2 - 1
Source/RenderBeast/BsLightRendering.h

@@ -169,7 +169,8 @@ namespace ct
 		template<UINT32 msaa>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA_COUNT", msaa)
 			});
 

+ 22 - 11
Source/RenderBeast/BsPostProcessing.h

@@ -32,7 +32,8 @@ namespace bs { namespace ct
 		template<UINT32 quality, bool MSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("QUALITY", quality),
 				ShaderVariation::Param("MSAA", MSAA)
 			});
@@ -246,7 +247,8 @@ namespace bs { namespace ct
 		template<bool is3D>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("VOLUME_LUT", is3D),
 			});
 
@@ -310,7 +312,8 @@ namespace bs { namespace ct
 		template<bool volumeLUT, bool gammaOnly, bool autoExposure, bool MSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("VOLUME_LUT", volumeLUT),
 				ShaderVariation::Param("GAMMA_ONLY", gammaOnly),
 				ShaderVariation::Param("AUTO_EXPOSURE", autoExposure),
@@ -407,7 +410,8 @@ namespace bs { namespace ct
 		template<bool near, bool far>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("NEAR", near),
 				ShaderVariation::Param("FAR", far)
 			});
@@ -470,7 +474,8 @@ namespace bs { namespace ct
 		template<bool near, bool far>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("NEAR", near),
 				ShaderVariation::Param("FAR", far),
 			});
@@ -617,7 +622,8 @@ namespace bs { namespace ct
 		template<bool upsample, bool finalPass, int quality>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MIX_WITH_UPSAMPLED", upsample),
 				ShaderVariation::Param("FINAL_AO", finalPass),
 				ShaderVariation::Param("QUALITY", quality)
@@ -716,7 +722,8 @@ namespace bs { namespace ct
 		template<bool horizontal>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("DIR_HORZ", horizontal)
 			});
 
@@ -761,7 +768,8 @@ namespace bs { namespace ct
 		template<bool msaa, bool singleSampleMSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA_COUNT", msaa ? 2 : 1),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA)
 			});
@@ -815,7 +823,8 @@ namespace bs { namespace ct
 		template<UINT32 quality, bool msaa, bool singleSampleMSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA_COUNT", msaa ? 2 : 1),
 				ShaderVariation::Param("QUALITY", quality),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA)
@@ -888,7 +897,8 @@ namespace bs { namespace ct
 		template<bool msaa>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA", msaa)
 			});
 
@@ -975,7 +985,8 @@ namespace bs { namespace ct
 		template<UINT32 msaa>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA_COUNT", msaa)
 			});
 

+ 4 - 2
Source/RenderBeast/BsRenderBeastIBLUtility.h

@@ -123,7 +123,8 @@ namespace bs { namespace ct
 		template<int shOrder>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("SH_ORDER", shOrder)
 			});
 
@@ -175,7 +176,8 @@ namespace bs { namespace ct
 		template<int shOrder>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("SH_ORDER", shOrder)
 			});
 

+ 2 - 1
Source/RenderBeast/BsRendererView.h

@@ -59,7 +59,8 @@ namespace bs { namespace ct
 		template<bool color>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("SOLID_COLOR", color)
 			});
 

+ 12 - 6
Source/RenderBeast/BsShadowRendering.h

@@ -41,7 +41,8 @@ namespace bs { namespace ct
 		template<bool skinned, bool morph>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("SKINNED", skinned),
 				ShaderVariation::Param("MORPH", morph)
 			});
@@ -76,7 +77,8 @@ namespace bs { namespace ct
 		template<bool skinned, bool morph>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("SKINNED", skinned),
 				ShaderVariation::Param("MORPH", morph)
 			});
@@ -122,7 +124,8 @@ namespace bs { namespace ct
 		template<bool skinned, bool morph>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("SKINNED", skinned),
 				ShaderVariation::Param("MORPH", morph)
 			});
@@ -163,7 +166,8 @@ namespace bs { namespace ct
 		template<bool directional, bool useZFailStencil>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("NEEDS_TRANSFORM", !directional),
 				ShaderVariation::Param("USE_ZFAIL_STENCIL", useZFailStencil)
 			});
@@ -236,7 +240,8 @@ namespace bs { namespace ct
 		template<UINT32 quality, bool directional, bool MSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("SHADOW_QUALITY", quality),
 				ShaderVariation::Param("CASCADING", directional),
 				ShaderVariation::Param("NEEDS_TRANSFORM", !directional),
@@ -288,7 +293,8 @@ namespace bs { namespace ct
 		template<UINT32 quality, bool inside, bool MSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("SHADOW_QUALITY", quality),
 				ShaderVariation::Param("VIEWER_INSIDE_VOLUME", inside),
 				ShaderVariation::Param("NEEDS_TRANSFORM", true),

+ 12 - 6
Source/RenderBeast/BsStandardDeferredLighting.h

@@ -32,7 +32,8 @@ namespace bs { namespace ct {
 		template<bool msaa, bool singleSampleMSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA", msaa),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA)
 			});
@@ -69,7 +70,8 @@ namespace bs { namespace ct {
 		template<bool inside, bool msaa, bool singleSampleMSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA", msaa),
 				ShaderVariation::Param("INSIDE_GEOMETRY", inside),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA)
@@ -124,7 +126,8 @@ namespace bs { namespace ct {
 		template<bool msaa, bool singleSampleMSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA", msaa),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA)
 			});
@@ -166,7 +169,8 @@ namespace bs { namespace ct {
 		template<bool inside, bool msaa, bool singleSampleMSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA", msaa),
 				ShaderVariation::Param("INSIDE_GEOMETRY", inside),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA)
@@ -211,7 +215,8 @@ namespace bs { namespace ct {
 		template<bool msaa, bool singleSampleMSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA", msaa),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA)
 			});
@@ -253,7 +258,8 @@ namespace bs { namespace ct {
 		template<bool msaa, bool singleSampleMSAA>
 		static const ShaderVariation& getVariation()
 		{
-			static ShaderVariation variation = ShaderVariation({
+			static ShaderVariation variation = ShaderVariation(
+			Vector<ShaderVariation::Param>{
 				ShaderVariation::Param("MSAA", msaa),
 				ShaderVariation::Param("MSAA_RESOLVE_0TH", singleSampleMSAA)
 			});