From 6f85a369f611f87a80c9b27d4e1d3330a7307043 Mon Sep 17 00:00:00 2001 From: Caleb Cornett Date: Wed, 28 Dec 2022 21:10:39 -0500 Subject: [PATCH] add validation for BindVertexBuffers and AcquireSwapchainTexture --- src/Graphics/CommandBuffer.cs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/Graphics/CommandBuffer.cs b/src/Graphics/CommandBuffer.cs index 84e794b7..6cce4725 100644 --- a/src/Graphics/CommandBuffer.cs +++ b/src/Graphics/CommandBuffer.cs @@ -847,6 +847,10 @@ namespace MoonWorks.Graphics in BufferBinding bufferBinding, uint firstBinding = 0 ) { +#if DEBUG + AssertGraphicsPipelineBound(); +#endif + var bufferPtrs = stackalloc IntPtr[1]; var offsets = stackalloc ulong[1]; @@ -874,6 +878,10 @@ namespace MoonWorks.Graphics in BufferBinding bufferBindingTwo, uint firstBinding = 0 ) { +#if DEBUG + AssertGraphicsPipelineBound(); +#endif + var bufferPtrs = stackalloc IntPtr[2]; var offsets = stackalloc ulong[2]; @@ -906,6 +914,10 @@ namespace MoonWorks.Graphics in BufferBinding bufferBindingThree, uint firstBinding = 0 ) { +#if DEBUG + AssertGraphicsPipelineBound(); +#endif + var bufferPtrs = stackalloc IntPtr[3]; var offsets = stackalloc ulong[3]; @@ -942,6 +954,10 @@ namespace MoonWorks.Graphics in BufferBinding bufferBindingFour, uint firstBinding = 0 ) { +#if DEBUG + AssertGraphicsPipelineBound(); +#endif + var bufferPtrs = stackalloc IntPtr[4]; var offsets = stackalloc ulong[4]; @@ -974,6 +990,10 @@ namespace MoonWorks.Graphics in Span bufferBindings, uint firstBinding = 0 ) { +#if DEBUG + AssertGraphicsPipelineBound(); +#endif + var bufferPtrs = stackalloc IntPtr[bufferBindings.Length]; var offsets = stackalloc ulong[bufferBindings.Length]; @@ -1623,6 +1643,13 @@ namespace MoonWorks.Graphics public Texture AcquireSwapchainTexture( Window window ) { +#if DEBUG + if (!window.Claimed) + { + throw new System.InvalidOperationException("Cannot acquire swapchain texture, window has not been claimed!"); + } +#endif + var texturePtr = Refresh.Refresh_AcquireSwapchainTexture( Device.Handle, Handle,