diff options
author | Brandon Jones <bajones@chromium.org> | 2014-08-22 15:11:23 -0700 |
---|---|---|
committer | Brandon Jones <bajones@chromium.org> | 2014-08-28 17:54:12 +0000 |
commit | d8d72434e51896c79b117229624ffed341da89a6 (patch) | |
tree | 212d18dd0b3d61be42b0b8319e764dd40a0cc1d0 /src | |
parent | 7162096ee6cfcb0fa797eb3503154f39ec53ef09 (diff) | |
download | angle-d8d72434e51896c79b117229624ffed341da89a6.tar.gz |
Moved DynamicHLSL into renderer/d3d
Obviously D3D-only class is obvious. :)
BUG=angle:731
Change-Id: Ide54e76a8b9bacb9b6834e2cb0a801140eecfe46
Reviewed-on: https://chromium-review.googlesource.com/213862
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/libGLESv2.gypi | 4 | ||||
-rw-r--r-- | src/libGLESv2/ProgramBinary.cpp | 8 | ||||
-rw-r--r-- | src/libGLESv2/ProgramBinary.h | 6 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/DynamicHLSL.cpp (renamed from src/libGLESv2/DynamicHLSL.cpp) | 6 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/DynamicHLSL.h (renamed from src/libGLESv2/DynamicHLSL.h) | 45 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/ShaderD3D.h | 11 |
6 files changed, 38 insertions, 42 deletions
diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi index dd4eb009..e9f397e5 100644 --- a/src/libGLESv2.gypi +++ b/src/libGLESv2.gypi @@ -48,8 +48,6 @@ 'libGLESv2/Caps.h', 'libGLESv2/Context.cpp', 'libGLESv2/Context.h', - 'libGLESv2/DynamicHLSL.cpp', - 'libGLESv2/DynamicHLSL.h', 'libGLESv2/Error.cpp', 'libGLESv2/Error.h', 'libGLESv2/Fence.cpp', @@ -145,6 +143,8 @@ [ 'libGLESv2/renderer/d3d/BufferD3D.cpp', 'libGLESv2/renderer/d3d/BufferD3D.h', + 'libGLESv2/renderer/d3d/DynamicHLSL.cpp', + 'libGLESv2/renderer/d3d/DynamicHLSL.h', 'libGLESv2/renderer/d3d/HLSLCompiler.cpp', 'libGLESv2/renderer/d3d/HLSLCompiler.h', 'libGLESv2/renderer/d3d/ImageD3D.cpp', diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp index 49c2a32e..1bef7aba 100644 --- a/src/libGLESv2/ProgramBinary.cpp +++ b/src/libGLESv2/ProgramBinary.cpp @@ -22,11 +22,11 @@ #include "libGLESv2/Shader.h" #include "libGLESv2/Program.h" #include "libGLESv2/renderer/Renderer.h" +#include "libGLESv2/renderer/d3d/DynamicHLSL.h" #include "libGLESv2/renderer/d3d/ShaderD3D.h" #include "libGLESv2/renderer/d3d/VertexDataManager.h" #include "libGLESv2/Context.h" #include "libGLESv2/Buffer.h" -#include "libGLESv2/DynamicHLSL.h" #include "common/blocklayout.h" #undef near @@ -212,7 +212,7 @@ ProgramBinary::ProgramBinary(rx::Renderer *renderer) mSamplersVS[index].active = false; } - mDynamicHLSL = new DynamicHLSL(renderer); + mDynamicHLSL = new rx::DynamicHLSL(renderer); } ProgramBinary::~ProgramBinary() @@ -1517,7 +1517,7 @@ bool ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GL stream.writeInt(mPixelShaderKey.size()); for (size_t pixelShaderKeyIndex = 0; pixelShaderKeyIndex < mPixelShaderKey.size(); pixelShaderKeyIndex++) { - const PixelShaderOuputVariable &variable = mPixelShaderKey[pixelShaderKeyIndex]; + const rx::PixelShaderOuputVariable &variable = mPixelShaderKey[pixelShaderKeyIndex]; stream.writeInt(variable.type); stream.writeString(variable.name); stream.writeString(variable.source); @@ -1633,7 +1633,7 @@ bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBin mVertexWorkarounds = vertexShaderD3D->getD3DWorkarounds(); // Map the varyings to the register file - VaryingPacking packing = { NULL }; + rx::VaryingPacking packing = { NULL }; int registers = mDynamicHLSL->packVaryings(infoLog, packing, fragmentShaderD3D, vertexShaderD3D, transformFeedbackVaryings); if (registers < 0) diff --git a/src/libGLESv2/ProgramBinary.h b/src/libGLESv2/ProgramBinary.h index a75d9c14..5a200e8e 100644 --- a/src/libGLESv2/ProgramBinary.h +++ b/src/libGLESv2/ProgramBinary.h @@ -22,7 +22,7 @@ #include "libGLESv2/Shader.h" #include "libGLESv2/Constants.h" #include "libGLESv2/renderer/d3d/VertexDataManager.h" -#include "libGLESv2/DynamicHLSL.h" +#include "libGLESv2/renderer/d3d/DynamicHLSL.h" namespace sh { @@ -274,7 +274,7 @@ class ProgramBinary : public RefCountObject }; rx::Renderer *const mRenderer; - DynamicHLSL *mDynamicHLSL; + rx::DynamicHLSL *mDynamicHLSL; std::string mVertexHLSL; rx::D3DWorkaroundType mVertexWorkarounds; @@ -283,7 +283,7 @@ class ProgramBinary : public RefCountObject std::string mPixelHLSL; rx::D3DWorkaroundType mPixelWorkarounds; bool mUsesFragDepth; - std::vector<PixelShaderOuputVariable> mPixelShaderKey; + std::vector<rx::PixelShaderOuputVariable> mPixelShaderKey; std::vector<PixelExecutable *> mPixelExecutables; rx::ShaderExecutable *mGeometryExecutable; diff --git a/src/libGLESv2/DynamicHLSL.cpp b/src/libGLESv2/renderer/d3d/DynamicHLSL.cpp index dc5da681..ba893fef 100644 --- a/src/libGLESv2/DynamicHLSL.cpp +++ b/src/libGLESv2/renderer/d3d/DynamicHLSL.cpp @@ -8,7 +8,7 @@ #include "libGLESv2/common_includes.h" -#include "libGLESv2/DynamicHLSL.h" +#include "libGLESv2/renderer/d3d/DynamicHLSL.h" #include "libGLESv2/Shader.h" #include "libGLESv2/Program.h" #include "libGLESv2/renderer/d3d/ShaderD3D.h" @@ -21,6 +21,8 @@ // For use with ArrayString, see angleutils.h META_ASSERT(GL_INVALID_INDEX == UINT_MAX); +using namespace gl; + namespace gl_d3d { @@ -71,7 +73,7 @@ std::string HLSLTypeString(GLenum type) } -namespace gl +namespace rx { const std::string VERTEX_ATTRIBUTE_STUB_STRING = "@@ VERTEX ATTRIBUTES @@"; diff --git a/src/libGLESv2/DynamicHLSL.h b/src/libGLESv2/renderer/d3d/DynamicHLSL.h index cbd6138d..494f6782 100644 --- a/src/libGLESv2/DynamicHLSL.h +++ b/src/libGLESv2/renderer/d3d/DynamicHLSL.h @@ -6,20 +6,12 @@ // DynamicHLSL.h: Interface for link and run-time HLSL generation // -#ifndef LIBGLESV2_DYNAMIC_HLSL_H_ -#define LIBGLESV2_DYNAMIC_HLSL_H_ +#ifndef LIBGLESV2_RENDERER_DYNAMIC_HLSL_H_ +#define LIBGLESV2_RENDERER_DYNAMIC_HLSL_H_ #include "common/angleutils.h" #include "libGLESv2/constants.h" -namespace rx -{ -class Renderer; -class ShaderD3D; -class VertexShaderD3D; -class FragmentShaderD3D; -} - namespace sh { struct Attribute; @@ -28,15 +20,22 @@ struct ShaderVariable; namespace gl { - class InfoLog; struct VariableLocation; struct LinkedVarying; struct VertexAttribute; struct VertexFormat; struct PackedVarying; +} + +namespace rx +{ +class Renderer; +class ShaderD3D; +class VertexShaderD3D; +class FragmentShaderD3D; -typedef const PackedVarying *VaryingPacking[IMPLEMENTATION_MAX_VARYING_VECTORS][4]; +typedef const gl::PackedVarying *VaryingPacking[gl::IMPLEMENTATION_MAX_VARYING_VECTORS][4]; struct PixelShaderOuputVariable { @@ -51,23 +50,23 @@ class DynamicHLSL public: explicit DynamicHLSL(rx::Renderer *const renderer); - int packVaryings(InfoLog &infoLog, VaryingPacking packing, rx::FragmentShaderD3D *fragmentShader, + int packVaryings(gl::InfoLog &infoLog, VaryingPacking packing, rx::FragmentShaderD3D *fragmentShader, rx::VertexShaderD3D *vertexShader, const std::vector<std::string>& transformFeedbackVaryings); - std::string generateVertexShaderForInputLayout(const std::string &sourceShader, const VertexFormat inputLayout[], + std::string generateVertexShaderForInputLayout(const std::string &sourceShader, const gl::VertexFormat inputLayout[], const sh::Attribute shaderAttributes[]) const; std::string generatePixelShaderForOutputSignature(const std::string &sourceShader, const std::vector<PixelShaderOuputVariable> &outputVariables, bool usesFragDepth, const std::vector<GLenum> &outputLayout) const; - bool generateShaderLinkHLSL(InfoLog &infoLog, int registers, const VaryingPacking packing, + bool generateShaderLinkHLSL(gl::InfoLog &infoLog, int registers, const VaryingPacking packing, std::string& pixelHLSL, std::string& vertexHLSL, rx::FragmentShaderD3D *fragmentShader, rx::VertexShaderD3D *vertexShader, const std::vector<std::string>& transformFeedbackVaryings, - std::vector<LinkedVarying> *linkedVaryings, - std::map<int, VariableLocation> *programOutputVars, + std::vector<gl::LinkedVarying> *linkedVaryings, + std::map<int, gl::VariableLocation> *programOutputVars, std::vector<PixelShaderOuputVariable> *outPixelShaderKey, bool *outUsesFragDepth) const; std::string generateGeometryShaderHLSL(int registers, rx::FragmentShaderD3D *fragmentShader, rx::VertexShaderD3D *vertexShader) const; - void getInputLayoutSignature(const VertexFormat inputLayout[], GLenum signature[]) const; + void getInputLayoutSignature(const gl::VertexFormat inputLayout[], GLenum signature[]) const; private: DISALLOW_COPY_AND_ASSIGN(DynamicHLSL); @@ -81,17 +80,17 @@ class DynamicHLSL bool pixelShader) const; std::string generateVaryingLinkHLSL(const SemanticInfo &info, const std::string &varyingHLSL) const; std::string generateVaryingHLSL(rx::VertexShaderD3D *shader) const; - void storeUserLinkedVaryings(const rx::VertexShaderD3D *vertexShader, std::vector<LinkedVarying> *linkedVaryings) const; - void storeBuiltinLinkedVaryings(const SemanticInfo &info, std::vector<LinkedVarying> *linkedVaryings) const; - void defineOutputVariables(rx::FragmentShaderD3D *fragmentShader, std::map<int, VariableLocation> *programOutputVars) const; + void storeUserLinkedVaryings(const rx::VertexShaderD3D *vertexShader, std::vector<gl::LinkedVarying> *linkedVaryings) const; + void storeBuiltinLinkedVaryings(const SemanticInfo &info, std::vector<gl::LinkedVarying> *linkedVaryings) const; + void defineOutputVariables(rx::FragmentShaderD3D *fragmentShader, std::map<int, gl::VariableLocation> *programOutputVars) const; std::string generatePointSpriteHLSL(int registers, rx::FragmentShaderD3D *fragmentShader, rx::VertexShaderD3D *vertexShader) const; // Prepend an underscore static std::string decorateVariable(const std::string &name); - std::string generateAttributeConversionHLSL(const VertexFormat &vertexFormat, const sh::ShaderVariable &shaderAttrib) const; + std::string generateAttributeConversionHLSL(const gl::VertexFormat &vertexFormat, const sh::ShaderVariable &shaderAttrib) const; }; } -#endif // LIBGLESV2_DYNAMIC_HLSL_H_ +#endif // LIBGLESV2_RENDERER_DYNAMIC_HLSL_H_ diff --git a/src/libGLESv2/renderer/d3d/ShaderD3D.h b/src/libGLESv2/renderer/d3d/ShaderD3D.h index ce856eac..cc0ef81a 100644 --- a/src/libGLESv2/renderer/d3d/ShaderD3D.h +++ b/src/libGLESv2/renderer/d3d/ShaderD3D.h @@ -12,18 +12,13 @@ #include "libGLESv2/Shader.h" #include "libGLESv2/renderer/ShaderImpl.h" -namespace gl -{ -class DynamicHLSL; -} - namespace rx { class Renderer; class ShaderD3D : public ShaderImpl { - friend class gl::DynamicHLSL; + friend class DynamicHLSL; public: ShaderD3D(rx::Renderer *renderer); @@ -95,7 +90,7 @@ class ShaderD3D : public ShaderImpl class VertexShaderD3D : public ShaderD3D { - friend class gl::DynamicHLSL; + friend class DynamicHLSL; public: VertexShaderD3D(rx::Renderer *renderer); @@ -120,7 +115,7 @@ class VertexShaderD3D : public ShaderD3D class FragmentShaderD3D : public ShaderD3D { - friend class gl::DynamicHLSL; + friend class DynamicHLSL; public: FragmentShaderD3D(rx::Renderer *renderer); |