3 #if SILICONSTUDIO_PARADOX_GRAPHICS_API_DIRECT3D
5 using System.Diagnostics;
6 using System.Runtime.InteropServices;
8 using SharpDX.Direct3D;
9 using SharpDX.Direct3D11;
12 using SiliconStudio.Core;
14 namespace SiliconStudio.
Paradox.Graphics
19 public abstract partial class GraphicsResource
24 protected override void OnNameChanged()
27 if (GraphicsDevice != null && GraphicsDevice.IsDebugMode)
29 if (this.nativeShaderResourceView != null)
31 nativeShaderResourceView.DebugName = Name == null ? null : String.Format(
"{0} SRV", Name);
34 if (this.unorderedAccessView != null)
36 unorderedAccessView.DebugName = Name == null ? null : String.Format(
"{0} UAV", Name);
46 protected internal SharpDX.Direct3D11.ShaderResourceView NativeShaderResourceView
50 return nativeShaderResourceView;
54 Debug.Assert(nativeShaderResourceView == null);
55 nativeShaderResourceView = value;
57 if (nativeShaderResourceView != null)
60 SetDebugName(GraphicsDevice, nativeShaderResourceView,
"SRV " + Name);
73 return unorderedAccessView;
77 Debug.Assert(unorderedAccessView == null);
78 unorderedAccessView = value;
80 if (unorderedAccessView != null)
83 SetDebugName(GraphicsDevice, unorderedAccessView,
"UAV " + Name);
88 protected override void DestroyImpl()
90 if (nativeShaderResourceView != null)
92 ((IUnknown)nativeShaderResourceView).Release();
93 nativeShaderResourceView = null;
96 if (unorderedAccessView != null)
98 ((IUnknown)unorderedAccessView).Release();
99 unorderedAccessView = null;