1 //
2 // Copyright 2019 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 // DynamicImage2DHLSL.h: Interface for link and run-time HLSL generation
7 //
8 
9 #ifndef LIBANGLE_RENDERER_D3D_DYNAMICIMAGE2DHLSL_H_
10 #define LIBANGLE_RENDERER_D3D_DYNAMICIMAGE2DHLSL_H_
11 
12 #include "common/angleutils.h"
13 #include "libANGLE/renderer/d3d/RendererD3D.h"
14 
15 namespace rx
16 {
17 std::string generateShaderForImage2DBindSignature(
18     const d3d::Context *context,
19     ProgramD3D &programD3D,
20     const gl::ProgramState &programData,
21     gl::ShaderType shaderType,
22     std::vector<sh::ShaderVariable> &image2DUniforms,
23     const gl::ImageUnitTextureTypeMap &image2DBindLayout);
24 
GenerateComputeShaderForImage2DBindSignature(const d3d::Context * context,ProgramD3D & programD3D,const gl::ProgramState & programData,std::vector<sh::ShaderVariable> & image2DUniforms,const gl::ImageUnitTextureTypeMap & image2DBindLayout)25 inline std::string GenerateComputeShaderForImage2DBindSignature(
26     const d3d::Context *context,
27     ProgramD3D &programD3D,
28     const gl::ProgramState &programData,
29     std::vector<sh::ShaderVariable> &image2DUniforms,
30     const gl::ImageUnitTextureTypeMap &image2DBindLayout)
31 {
32     return generateShaderForImage2DBindSignature(context, programD3D, programData,
33                                                  gl::ShaderType::Compute, image2DUniforms,
34                                                  image2DBindLayout);
35 }
36 
37 }  // namespace rx
38 
39 #endif  // LIBANGLE_RENDERER_D3D_DYNAMICHLSL_H_
40