private void CreateBackends(Options opts) { List <IBackend> backends = new List <IBackend>(); try { ID3DCompiler fxc = m_Wrapper.CreateD3DCompiler(opts.D3DCompilerPath); backends.Add(new D3DCompilerBackend(fxc)); try { IAMDDriver driver = m_Wrapper.CreateAMDDriver(opts.DXXDriverPath); backends.Add(new AMDDriverBackend(driver, fxc)); } catch (System.Exception ex) { MessageBox.Show(ex.Message); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } backends.Add(new CodeXLBackend(opts.CodeXLPath, opts.D3DCompilerPath, opts.TempPath)); backends.Add(new GLSlangBackend(m_Wrapper)); backends.Add(new GLSLOptimizerBackend(m_Wrapper)); backends.Add(new PowerVRBackend(opts.PowerVRCompilerPath, opts.TempPath)); backends.Add(new MaliSCBackend(opts.MaliSCRoot, opts.TempPath)); m_Backends = backends; }
public Device(ID3D11Device device, ID3D11RenderTargetView renderTarget, ID3D11DepthStencilView depthStencilView, ID3DCompiler compiler) { _device = device ?? throw new ArgumentNullException(nameof(device)); _renderTarget = renderTarget ?? throw new ArgumentNullException(nameof(renderTarget)); _depthStencilView = depthStencilView ?? throw new ArgumentNullException(nameof(depthStencilView)); ImmediateContext = new DeviceContext(device.Context, false); BackBuffer = new RenderTarget(renderTarget); DepthStencil = new DepthStencil(depthStencilView); TEMPORARYCompiler = compiler; }
public bool Compile(ID3DCompiler compiler) { IDXShaderBlob blob; string msg; HasError = !compiler.Compile(this.Code, this.CompileOptions, out blob, out msg); WasCompiled = true; Messages = msg; CompiledBlob = blob; return(!HasError); }
public AMDDriverBackend( IAMDDriver driver, ID3DCompiler fxc ) { m_FXC = fxc; m_Driver = driver; if (m_Driver != null) { foreach (IAMDAsic asic in m_Driver.Asics) { m_SupportedAsics.Add(asic.Name); } } }
public AMDDriverBackend(IAMDDriver driver, ID3DCompiler fxc) { m_FXC = fxc; m_Driver = driver; if (m_Driver != null) { foreach (IAMDAsic asic in m_Driver.Asics) { m_SupportedAsics.Add(asic.Name); } } }
public RenderMeshPass(IDevice device, ID3DCompiler compiler) { using var vertexShaderBlob = new Blob(compiler.CompileShaderFromFile(@"F:\Git\GameDev\src\Titan.D3D11.Bindings\VertexShader.hlsl", "main", "vs_5_0")); using var pixelShaderBlob = new Blob(compiler.CompileShaderFromFile(@"F:\Git\GameDev\src\Titan.D3D11.Bindings\PixelShader.hlsl", "main", "ps_5_0")); _vertexShader = device.CreateVertexShader(vertexShaderBlob); _pixelShader = device.CreatePixelShader(pixelShaderBlob); _inputLayout = device.CreateInputLayout(new VertexLayout(4).Append("Position", VertexLayoutTypes.Position3D).Append("Normal", VertexLayoutTypes.Position3D).Append("Texture", VertexLayoutTypes.Texture2D).Append("Color", VertexLayoutTypes.Float4Color), vertexShaderBlob); _perFrameConstantBuffer = device.CreateConstantBuffer <PerFrameContantBuffer>(BufferUsage.Dynamic, BufferAccessFlags.Write); _lightsConstantBuffer = device.CreateConstantBuffer <LightsConstantBuffer>(BufferUsage.Dynamic, BufferAccessFlags.Write); _perObjectConstantBuffer = device.CreateConstantBuffer <PerObjectContantBuffer>(BufferUsage.Dynamic, BufferAccessFlags.Write); _sampler = device.CreateSampler(); }
public RenderToBackbufferPass(IDevice device, ID3DCompiler compiler) { _backBuffer = device.BackBuffer; _depthStencil = device.DepthStencil; _indexBuffer = device.CreateIndexBuffer(new int[] { 0, 3, 1, 3, 2, 1 }); _vertexBuffer = device.CreateVertexBuffer(CreateCube()); using var pixelShaderBlob = new Blob(compiler.CompileShaderFromFile(@"F:\Git\GameDev\resources\shaders\BackBufferPixelShader.hlsl", "main", "ps_5_0")); _pixelShader = device.CreatePixelShader(pixelShaderBlob); using var vertexShaderBlob = new Blob(compiler.CompileShaderFromFile(@"F:\Git\GameDev\resources\shaders\BackBufferVertexShader.hlsl", "main", "vs_5_0")); _vertexShader = device.CreateVertexShader(vertexShaderBlob); _inputLayout = device.CreateInputLayout(new VertexLayout(2).Append("POSITION", VertexLayoutTypes.Position2D).Append("TEXCOORD", VertexLayoutTypes.Position2D), vertexShaderBlob); _sampler = device.CreateSampler(); }
public bool Compile(ID3DCompiler compiler, IDXILCompiler dxil) { if (CompileOptions.Target.ToString()[3] == '6') { if (dxil == null) { return(false); } IDXILShaderBlob blob; string msg; HasError = !dxil.Compile(this.Code, this.CompileOptions, this.SourceFilePath, out blob, out msg); WasCompiled = true; Messages = msg; CompiledBlob = blob; } else { if (compiler == null) { return(false); } IDXBCShaderBlob blob; string msg; HasError = !compiler.Compile(this.Code, this.CompileOptions, this.SourceFilePath, out blob, out msg); WasCompiled = true; Messages = msg; CompiledBlob = blob; } // check for embedded root signature and pull it out if there is one if (CompiledBlob != null) { IDXBlob rs = CompiledBlob.ExtractRootSignature(); if (rs != null) { RootSigWasCompiled = true; RootSigHasError = false; CompiledRootSig = rs; } } return(!HasError); }
private void CreateBackends(Options opts) { List <IBackend> backends = new List <IBackend>(); IIncludeHandler handler = new IncludeHandler(opts.IncludePaths); try { ID3DCompiler fxc = m_Wrapper.CreateD3DCompiler(opts.D3DCompilerPath, handler); IDXILCompiler dxil = m_Wrapper.CreateDXILCompiler(opts.DXILCompilerPath, handler); backends.Add(new D3DCompilerBackend(fxc, dxil)); try { IAMDDriver driver = m_Wrapper.CreateAMDDriver(opts.DXXDriverPath); backends.Add(new AMDDriverBackend(driver, fxc)); } catch (System.Exception ex) { MessageBox.Show(ex.Message); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } backends.Add(new CodeXLBackend(opts.CodeXLPath, opts.D3DCompilerPath, opts.TempPath)); backends.Add(new GLSlangBackend(m_Wrapper, handler)); backends.Add(new GLSLOptimizerBackend(m_Wrapper)); backends.Add(new PowerVRBackend(opts.PowerVRCompilerPath, opts.TempPath)); backends.Add(new MaliSCBackend(opts.MaliSCRoot, opts.TempPath)); backends.Add(new RGABackend(opts.RGAPath, opts.TempPath, m_Wrapper, handler)); if (File.Exists(opts.IntelShaderAnalyzerPath)) { backends.Add(new IntelShaderAnalyzerBackend(opts)); } m_Backends = backends; }
public D3DCompilerBackend(ID3DCompiler comp) { m_Compiler = comp; }
public D3DCompilerBackend( ID3DCompiler comp ) { m_Compiler = comp; }
public AMDDriverBackend( IAMDDriver driver, ID3DCompiler fxc ) { m_FXC = fxc; m_Driver = driver; }
public bool Compile( ID3DCompiler compiler ) { IDXShaderBlob blob; string msg; HasError = !compiler.Compile(this.Code, this.CompileOptions, out blob, out msg); WasCompiled = true; Messages = msg; CompiledBlob = blob; return !HasError; }
public D3DCompilerBackend(ID3DCompiler comp, IDXILCompiler dxil) { m_Compiler = comp; m_DXIL = dxil; }
public DisplayFactory(IWindowCreator windowCreator, ID3D11DeviceFactory d3D11DeviceFactory, ID3DCompiler compiler) { _windowCreator = windowCreator; _d3D11DeviceFactory = d3D11DeviceFactory; _compiler = compiler; }