forked from MoonsideGames/MoonWorks
				
			Compare commits
	
		
			2 Commits 
		
	
	
		
			05de9a4066
			...
			5b7c39efb6
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 5b7c39efb6 | |
|  | 88d9119830 | 
|  | @ -71,7 +71,7 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| #if DEBUG | #if DEBUG | ||||||
| 			renderPassActive = true; | 			renderPassActive = true; | ||||||
| 			currentSampleCount = colorAttachmentInfo.SampleCount; | 			currentSampleCount = colorAttachmentInfo.Texture.SampleCount; | ||||||
| 			colorFormatOne = colorAttachmentInfo.Texture.Format; | 			colorFormatOne = colorAttachmentInfo.Texture.Format; | ||||||
| #endif | #endif | ||||||
| 		} | 		} | ||||||
|  | @ -111,7 +111,7 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| #if DEBUG | #if DEBUG | ||||||
| 			renderPassActive = true; | 			renderPassActive = true; | ||||||
| 			currentSampleCount = colorAttachmentInfoOne.SampleCount; | 			currentSampleCount = colorAttachmentInfoOne.Texture.SampleCount; | ||||||
| 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | ||||||
| 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | ||||||
| #endif | #endif | ||||||
|  | @ -159,7 +159,7 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| #if DEBUG | #if DEBUG | ||||||
| 			renderPassActive = true; | 			renderPassActive = true; | ||||||
| 			currentSampleCount = colorAttachmentInfoOne.SampleCount; | 			currentSampleCount = colorAttachmentInfoOne.Texture.SampleCount; | ||||||
| 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | ||||||
| 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | ||||||
| 			colorFormatThree = colorAttachmentInfoThree.Texture.Format; | 			colorFormatThree = colorAttachmentInfoThree.Texture.Format; | ||||||
|  | @ -215,7 +215,7 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| #if DEBUG | #if DEBUG | ||||||
| 			renderPassActive = true; | 			renderPassActive = true; | ||||||
| 			currentSampleCount = colorAttachmentInfoOne.SampleCount; | 			currentSampleCount = colorAttachmentInfoOne.Texture.SampleCount; | ||||||
| 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | ||||||
| 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | ||||||
| 			colorFormatThree = colorAttachmentInfoThree.Texture.Format; | 			colorFormatThree = colorAttachmentInfoThree.Texture.Format; | ||||||
|  | @ -285,7 +285,7 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| #if DEBUG | #if DEBUG | ||||||
| 			renderPassActive = true; | 			renderPassActive = true; | ||||||
| 			currentSampleCount = colorAttachmentInfo.SampleCount; | 			currentSampleCount = colorAttachmentInfo.Texture.SampleCount; | ||||||
| 			colorFormatOne = colorAttachmentInfo.Texture.Format; | 			colorFormatOne = colorAttachmentInfo.Texture.Format; | ||||||
| 			depthStencilFormat = depthStencilAttachmentInfo.Texture.Format; | 			depthStencilFormat = depthStencilAttachmentInfo.Texture.Format; | ||||||
| #endif | #endif | ||||||
|  | @ -332,7 +332,7 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| #if DEBUG | #if DEBUG | ||||||
| 			renderPassActive = true; | 			renderPassActive = true; | ||||||
| 			currentSampleCount = colorAttachmentInfoOne.SampleCount; | 			currentSampleCount = colorAttachmentInfoOne.Texture.SampleCount; | ||||||
| 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | ||||||
| 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | ||||||
| 			depthStencilFormat = depthStencilAttachmentInfo.Texture.Format; | 			depthStencilFormat = depthStencilAttachmentInfo.Texture.Format; | ||||||
|  | @ -387,7 +387,7 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| #if DEBUG | #if DEBUG | ||||||
| 			renderPassActive = true; | 			renderPassActive = true; | ||||||
| 			currentSampleCount = colorAttachmentInfoOne.SampleCount; | 			currentSampleCount = colorAttachmentInfoOne.Texture.SampleCount; | ||||||
| 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | ||||||
| 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | ||||||
| 			colorFormatThree = colorAttachmentInfoThree.Texture.Format; | 			colorFormatThree = colorAttachmentInfoThree.Texture.Format; | ||||||
|  | @ -450,7 +450,7 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| #if DEBUG | #if DEBUG | ||||||
| 			renderPassActive = true; | 			renderPassActive = true; | ||||||
| 			currentSampleCount = colorAttachmentInfoOne.SampleCount; | 			currentSampleCount = colorAttachmentInfoOne.Texture.SampleCount; | ||||||
| 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | 			colorFormatOne = colorAttachmentInfoOne.Texture.Format; | ||||||
| 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | 			colorFormatTwo = colorAttachmentInfoTwo.Texture.Format; | ||||||
| 			colorFormatThree = colorAttachmentInfoThree.Texture.Format; | 			colorFormatThree = colorAttachmentInfoThree.Texture.Format; | ||||||
|  | @ -1489,7 +1489,6 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| 		/// <summary> | 		/// <summary> | ||||||
| 		/// Draws using instanced rendering. | 		/// Draws using instanced rendering. | ||||||
| 		/// It is an error to call this method unless two vertex buffers have been bound. |  | ||||||
| 		/// </summary> | 		/// </summary> | ||||||
| 		/// <param name="baseVertex">The starting index offset for the vertex buffer.</param> | 		/// <param name="baseVertex">The starting index offset for the vertex buffer.</param> | ||||||
| 		/// <param name="startIndex">The starting index offset for the index buffer.</param> | 		/// <param name="startIndex">The starting index offset for the index buffer.</param> | ||||||
|  | @ -2047,7 +2046,7 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| 		private void AssertSameSampleCount(ColorAttachmentInfo a, ColorAttachmentInfo b) | 		private void AssertSameSampleCount(ColorAttachmentInfo a, ColorAttachmentInfo b) | ||||||
| 		{ | 		{ | ||||||
| 			if (a.SampleCount != b.SampleCount) | 			if (a.Texture.SampleCount != b.Texture.SampleCount) | ||||||
| 			{ | 			{ | ||||||
| 				throw new System.ArgumentException("All color attachments in a render pass must have the same SampleCount!"); | 				throw new System.ArgumentException("All color attachments in a render pass must have the same SampleCount!"); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|  | @ -181,7 +181,6 @@ namespace MoonWorks.Graphics | ||||||
| 		public uint Depth; | 		public uint Depth; | ||||||
| 		public uint Layer; | 		public uint Layer; | ||||||
| 		public uint Level; | 		public uint Level; | ||||||
| 		public SampleCount SampleCount; |  | ||||||
| 		public Color ClearColor; | 		public Color ClearColor; | ||||||
| 		public LoadOp LoadOp; | 		public LoadOp LoadOp; | ||||||
| 		public StoreOp StoreOp; | 		public StoreOp StoreOp; | ||||||
|  | @ -189,15 +188,12 @@ namespace MoonWorks.Graphics | ||||||
| 		public ColorAttachmentInfo( | 		public ColorAttachmentInfo( | ||||||
| 			Texture texture, | 			Texture texture, | ||||||
| 			Color clearColor, | 			Color clearColor, | ||||||
| 			SampleCount sampleCount = SampleCount.One, |  | ||||||
| 			StoreOp storeOp = StoreOp.Store | 			StoreOp storeOp = StoreOp.Store | ||||||
| 		) | 		) { | ||||||
| 		{ |  | ||||||
| 			Texture = texture; | 			Texture = texture; | ||||||
| 			Depth = 0; | 			Depth = 0; | ||||||
| 			Layer = 0; | 			Layer = 0; | ||||||
| 			Level = 0; | 			Level = 0; | ||||||
| 			SampleCount = sampleCount; |  | ||||||
| 			ClearColor = clearColor; | 			ClearColor = clearColor; | ||||||
| 			LoadOp = LoadOp.Clear; | 			LoadOp = LoadOp.Clear; | ||||||
| 			StoreOp = storeOp; | 			StoreOp = storeOp; | ||||||
|  | @ -206,15 +202,12 @@ namespace MoonWorks.Graphics | ||||||
| 		public ColorAttachmentInfo( | 		public ColorAttachmentInfo( | ||||||
| 			Texture texture, | 			Texture texture, | ||||||
| 			LoadOp loadOp = LoadOp.DontCare, | 			LoadOp loadOp = LoadOp.DontCare, | ||||||
| 			SampleCount sampleCount = SampleCount.One, |  | ||||||
| 			StoreOp storeOp = StoreOp.Store | 			StoreOp storeOp = StoreOp.Store | ||||||
| 		) | 		) { | ||||||
| 		{ |  | ||||||
| 			Texture = texture; | 			Texture = texture; | ||||||
| 			Depth = 0; | 			Depth = 0; | ||||||
| 			Layer = 0; | 			Layer = 0; | ||||||
| 			Level = 0; | 			Level = 0; | ||||||
| 			SampleCount = sampleCount; |  | ||||||
| 			ClearColor = Color.White; | 			ClearColor = Color.White; | ||||||
| 			LoadOp = loadOp; | 			LoadOp = loadOp; | ||||||
| 			StoreOp = storeOp; | 			StoreOp = storeOp; | ||||||
|  | @ -228,7 +221,6 @@ namespace MoonWorks.Graphics | ||||||
| 				depth = Depth, | 				depth = Depth, | ||||||
| 				layer = Layer, | 				layer = Layer, | ||||||
| 				level = Level, | 				level = Level, | ||||||
| 				sampleCount = (Refresh.SampleCount) SampleCount, |  | ||||||
| 				clearColor = new Refresh.Vec4 | 				clearColor = new Refresh.Vec4 | ||||||
| 				{ | 				{ | ||||||
| 					x = ClearColor.R / 255f, | 					x = ClearColor.R / 255f, | ||||||
|  |  | ||||||
|  | @ -15,6 +15,7 @@ namespace MoonWorks.Graphics | ||||||
| 		public TextureFormat Format { get; internal set; } | 		public TextureFormat Format { get; internal set; } | ||||||
| 		public bool IsCube { get; } | 		public bool IsCube { get; } | ||||||
| 		public uint LevelCount { get; } | 		public uint LevelCount { get; } | ||||||
|  | 		public SampleCount SampleCount { get; } | ||||||
| 		public TextureUsageFlags UsageFlags { get; } | 		public TextureUsageFlags UsageFlags { get; } | ||||||
| 
 | 
 | ||||||
| 		// FIXME: this allocates a delegate instance | 		// FIXME: this allocates a delegate instance | ||||||
|  | @ -39,13 +40,14 @@ namespace MoonWorks.Graphics | ||||||
| 
 | 
 | ||||||
| 			var byteCount = (uint) (width * height * channels); | 			var byteCount = (uint) (width * height * channels); | ||||||
| 
 | 
 | ||||||
| 			TextureCreateInfo textureCreateInfo; | 			TextureCreateInfo textureCreateInfo = new TextureCreateInfo(); | ||||||
| 			textureCreateInfo.Width = (uint) width; | 			textureCreateInfo.Width = (uint) width; | ||||||
| 			textureCreateInfo.Height = (uint) height; | 			textureCreateInfo.Height = (uint) height; | ||||||
| 			textureCreateInfo.Depth = 1; | 			textureCreateInfo.Depth = 1; | ||||||
| 			textureCreateInfo.Format = TextureFormat.R8G8B8A8; | 			textureCreateInfo.Format = TextureFormat.R8G8B8A8; | ||||||
| 			textureCreateInfo.IsCube = false; | 			textureCreateInfo.IsCube = false; | ||||||
| 			textureCreateInfo.LevelCount = 1; | 			textureCreateInfo.LevelCount = 1; | ||||||
|  | 			textureCreateInfo.SampleCount = SampleCount.One; | ||||||
| 			textureCreateInfo.UsageFlags = TextureUsageFlags.Sampler; | 			textureCreateInfo.UsageFlags = TextureUsageFlags.Sampler; | ||||||
| 
 | 
 | ||||||
| 			var texture = new Texture(device, textureCreateInfo); | 			var texture = new Texture(device, textureCreateInfo); | ||||||
|  | @ -130,9 +132,9 @@ namespace MoonWorks.Graphics | ||||||
| 			uint height, | 			uint height, | ||||||
| 			TextureFormat format, | 			TextureFormat format, | ||||||
| 			TextureUsageFlags usageFlags, | 			TextureUsageFlags usageFlags, | ||||||
| 			uint levelCount = 1 | 			uint levelCount = 1, | ||||||
| 		) | 			SampleCount sampleCount = SampleCount.One | ||||||
| 		{ | 		) { | ||||||
| 			var textureCreateInfo = new TextureCreateInfo | 			var textureCreateInfo = new TextureCreateInfo | ||||||
| 			{ | 			{ | ||||||
| 				Width = width, | 				Width = width, | ||||||
|  | @ -140,6 +142,7 @@ namespace MoonWorks.Graphics | ||||||
| 				Depth = 1, | 				Depth = 1, | ||||||
| 				IsCube = false, | 				IsCube = false, | ||||||
| 				LevelCount = levelCount, | 				LevelCount = levelCount, | ||||||
|  | 				SampleCount = sampleCount, | ||||||
| 				Format = format, | 				Format = format, | ||||||
| 				UsageFlags = usageFlags | 				UsageFlags = usageFlags | ||||||
| 			}; | 			}; | ||||||
|  | @ -165,8 +168,7 @@ namespace MoonWorks.Graphics | ||||||
| 			TextureFormat format, | 			TextureFormat format, | ||||||
| 			TextureUsageFlags usageFlags, | 			TextureUsageFlags usageFlags, | ||||||
| 			uint levelCount = 1 | 			uint levelCount = 1 | ||||||
| 		) | 		) { | ||||||
| 		{ |  | ||||||
| 			var textureCreateInfo = new TextureCreateInfo | 			var textureCreateInfo = new TextureCreateInfo | ||||||
| 			{ | 			{ | ||||||
| 				Width = width, | 				Width = width, | ||||||
|  | @ -195,8 +197,7 @@ namespace MoonWorks.Graphics | ||||||
| 			TextureFormat format, | 			TextureFormat format, | ||||||
| 			TextureUsageFlags usageFlags, | 			TextureUsageFlags usageFlags, | ||||||
| 			uint levelCount = 1 | 			uint levelCount = 1 | ||||||
| 		) | 		) { | ||||||
| 		{ |  | ||||||
| 			var textureCreateInfo = new TextureCreateInfo | 			var textureCreateInfo = new TextureCreateInfo | ||||||
| 			{ | 			{ | ||||||
| 				Width = size, | 				Width = size, | ||||||
|  | @ -232,6 +233,7 @@ namespace MoonWorks.Graphics | ||||||
| 			Depth = textureCreateInfo.Depth; | 			Depth = textureCreateInfo.Depth; | ||||||
| 			IsCube = textureCreateInfo.IsCube; | 			IsCube = textureCreateInfo.IsCube; | ||||||
| 			LevelCount = textureCreateInfo.LevelCount; | 			LevelCount = textureCreateInfo.LevelCount; | ||||||
|  | 			SampleCount = textureCreateInfo.SampleCount; | ||||||
| 			UsageFlags = textureCreateInfo.UsageFlags; | 			UsageFlags = textureCreateInfo.UsageFlags; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -255,6 +257,7 @@ namespace MoonWorks.Graphics | ||||||
| 			Depth = 1; | 			Depth = 1; | ||||||
| 			IsCube = false; | 			IsCube = false; | ||||||
| 			LevelCount = 1; | 			LevelCount = 1; | ||||||
|  | 			SampleCount = SampleCount.One; | ||||||
| 			UsageFlags = TextureUsageFlags.ColorTarget; | 			UsageFlags = TextureUsageFlags.ColorTarget; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -9,6 +9,7 @@ namespace MoonWorks.Graphics | ||||||
| 		public uint Depth; | 		public uint Depth; | ||||||
| 		public bool IsCube; | 		public bool IsCube; | ||||||
| 		public uint LevelCount; | 		public uint LevelCount; | ||||||
|  | 		public SampleCount SampleCount; | ||||||
| 		public TextureFormat Format; | 		public TextureFormat Format; | ||||||
| 		public TextureUsageFlags UsageFlags; | 		public TextureUsageFlags UsageFlags; | ||||||
| 
 | 
 | ||||||
|  | @ -21,6 +22,7 @@ namespace MoonWorks.Graphics | ||||||
| 				depth = Depth, | 				depth = Depth, | ||||||
| 				isCube = Conversions.BoolToByte(IsCube), | 				isCube = Conversions.BoolToByte(IsCube), | ||||||
| 				levelCount = LevelCount, | 				levelCount = LevelCount, | ||||||
|  | 				sampleCount = (Refresh.SampleCount) SampleCount, | ||||||
| 				format = (Refresh.TextureFormat) Format, | 				format = (Refresh.TextureFormat) Format, | ||||||
| 				usageFlags = (Refresh.TextureUsageFlags) UsageFlags | 				usageFlags = (Refresh.TextureUsageFlags) UsageFlags | ||||||
| 			}; | 			}; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue