public ShaderD3D11(DeviceD3D11 device, ShaderBytecode bytecode) : base(device, bytecode) { switch (bytecode.Stage) { case ShaderStages.Vertex: Bytecode = (byte[])bytecode.Data.Clone(); D3D11Shader = device.D3D11Device.CreateVertexShader(bytecode.Data); break; case ShaderStages.Hull: D3D11Shader = device.D3D11Device.CreateHullShader(bytecode.Data); break; case ShaderStages.Domain: D3D11Shader = device.D3D11Device.CreateDomainShader(bytecode.Data); break; case ShaderStages.Geometry: D3D11Shader = device.D3D11Device.CreateGeometryShader(bytecode.Data); break; case ShaderStages.Pixel: D3D11Shader = device.D3D11Device.CreatePixelShader(bytecode.Data); break; case ShaderStages.Compute: D3D11Shader = device.D3D11Device.CreateComputeShader(bytecode.Data); break; } }
public static void SetDebugObjectName(this ID3D11DeviceChild child, string name) { if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentException(null, nameof(name)); } using (var mem = new ComMemory(name)) { child.SetPrivateData(WKPDID_D3DDebugObjectNameW, (uint)(name.Length * 2), mem.Pointer).ThrowOnError(); } }
public static void SetDebugObjectName(this ID3D11DeviceChild child, string name) { if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentException(null, nameof(name)); } using (var mem = new ComMemory(name)) { #pragma warning disable CA1062 // Validate arguments of public methods _ = child.SetPrivateData(WKPDID_D3DDebugObjectNameW, (uint)(name.Length * 2), mem.Pointer).ThrowOnError(); #pragma warning restore CA1062 // Validate arguments of public methods } }