Commit d8d72434 by Brandon Jones

Moved DynamicHLSL into renderer/d3d

Obviously D3D-only class is obvious. :) BUG=angle:731 Change-Id: Ide54e76a8b9bacb9b6834e2cb0a801140eecfe46 Reviewed-on: https://chromium-review.googlesource.com/213862Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Tested-by: 's avatarBrandon Jones <bajones@chromium.org>
parent 7162096e
...@@ -232,7 +232,6 @@ ...@@ -232,7 +232,6 @@
<ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"/> <ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"/>
<ClInclude Include="..\..\src\libGLESv2\Error.h"/> <ClInclude Include="..\..\src\libGLESv2\Error.h"/>
<ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/> <ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/>
<ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h"/>
<ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"/> <ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"/>
<ClInclude Include="..\..\src\libGLESv2\validationES2.h"/> <ClInclude Include="..\..\src\libGLESv2\validationES2.h"/>
<ClInclude Include="..\..\src\libGLESv2\Fence.h"/> <ClInclude Include="..\..\src\libGLESv2\Fence.h"/>
...@@ -263,6 +262,7 @@ ...@@ -263,6 +262,7 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\generatemip.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\generatemip.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\RenderTarget.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\RenderTarget.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.h"/>
...@@ -323,7 +323,6 @@ ...@@ -323,7 +323,6 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2d11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h"/>
...@@ -336,6 +335,7 @@ ...@@ -336,6 +335,7 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum2d11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3di11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3di11ps.h"/>
...@@ -396,7 +396,6 @@ ...@@ -396,7 +396,6 @@
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\src\libGLESv2\Error.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Error.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\validationES2.cpp"/> <ClCompile Include="..\..\src\libGLESv2\validationES2.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"/> <ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"/> <ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"/> <ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"/>
...@@ -432,6 +431,7 @@ ...@@ -432,6 +431,7 @@
<ClCompile Include="..\..\src\libGLESv2\renderer\Renderer.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\Renderer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.cpp"/>
......
...@@ -81,9 +81,6 @@ ...@@ -81,9 +81,6 @@
<ClInclude Include="..\..\src\libGLESv2\resource.h"> <ClInclude Include="..\..\src\libGLESv2\resource.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
<ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\Sampler.h"> <ClInclude Include="..\..\src\libGLESv2\Sampler.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
...@@ -201,9 +198,6 @@ ...@@ -201,9 +198,6 @@
<ClCompile Include="..\..\src\libGLESv2\Context.cpp"> <ClCompile Include="..\..\src\libGLESv2\Context.cpp">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClCompile> </ClCompile>
<ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"> <ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
...@@ -351,12 +345,18 @@ ...@@ -351,12 +345,18 @@
<None Include="..\..\src\libGLESv2\renderer\generatemip.inl"> <None Include="..\..\src\libGLESv2\renderer\generatemip.inl">
<Filter>src\libGLESv2\renderer</Filter> <Filter>src\libGLESv2\renderer</Filter>
</None> </None>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.h">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile> </ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude> </ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile> </ClCompile>
...@@ -621,9 +621,6 @@ ...@@ -621,9 +621,6 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h">
<Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
</ClInclude> </ClInclude>
...@@ -660,6 +657,9 @@ ...@@ -660,6 +657,9 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h">
<Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h">
<Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
</ClInclude> </ClInclude>
......
...@@ -224,7 +224,6 @@ ...@@ -224,7 +224,6 @@
<ClInclude Include="..\..\src\libGLESv2\Query.h"/> <ClInclude Include="..\..\src\libGLESv2\Query.h"/>
<ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/> <ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/>
<ClInclude Include="..\..\src\libGLESv2\Texture.h"/> <ClInclude Include="..\..\src\libGLESv2\Texture.h"/>
<ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h"/>
<ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"/> <ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"/>
<ClInclude Include="..\..\src\libGLESv2\validationES2.h"/> <ClInclude Include="..\..\src\libGLESv2\validationES2.h"/>
<ClInclude Include="..\..\src\libGLESv2\Fence.h"/> <ClInclude Include="..\..\src\libGLESv2\Fence.h"/>
...@@ -290,7 +289,6 @@ ...@@ -290,7 +289,6 @@
<ClCompile Include="..\..\src\libGLESv2\State.cpp"/> <ClCompile Include="..\..\src\libGLESv2\State.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Error.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Error.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\validationES2.cpp"/> <ClCompile Include="..\..\src\libGLESv2\validationES2.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"/> <ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"/> <ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp"/> <ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp"/>
......
...@@ -69,9 +69,6 @@ ...@@ -69,9 +69,6 @@
<ClInclude Include="..\..\src\libGLESv2\resource.h"> <ClInclude Include="..\..\src\libGLESv2\resource.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
<ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\queryconversions.h"> <ClInclude Include="..\..\src\libGLESv2\queryconversions.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
...@@ -129,9 +126,6 @@ ...@@ -129,9 +126,6 @@
<ClCompile Include="..\..\src\libGLESv2\Context.cpp"> <ClCompile Include="..\..\src\libGLESv2\Context.cpp">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClCompile> </ClCompile>
<ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\Fence.cpp"> <ClCompile Include="..\..\src\libGLESv2\Fence.cpp">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClCompile> </ClCompile>
......
...@@ -48,8 +48,6 @@ ...@@ -48,8 +48,6 @@
'libGLESv2/Caps.h', 'libGLESv2/Caps.h',
'libGLESv2/Context.cpp', 'libGLESv2/Context.cpp',
'libGLESv2/Context.h', 'libGLESv2/Context.h',
'libGLESv2/DynamicHLSL.cpp',
'libGLESv2/DynamicHLSL.h',
'libGLESv2/Error.cpp', 'libGLESv2/Error.cpp',
'libGLESv2/Error.h', 'libGLESv2/Error.h',
'libGLESv2/Fence.cpp', 'libGLESv2/Fence.cpp',
...@@ -145,6 +143,8 @@ ...@@ -145,6 +143,8 @@
[ [
'libGLESv2/renderer/d3d/BufferD3D.cpp', 'libGLESv2/renderer/d3d/BufferD3D.cpp',
'libGLESv2/renderer/d3d/BufferD3D.h', 'libGLESv2/renderer/d3d/BufferD3D.h',
'libGLESv2/renderer/d3d/DynamicHLSL.cpp',
'libGLESv2/renderer/d3d/DynamicHLSL.h',
'libGLESv2/renderer/d3d/HLSLCompiler.cpp', 'libGLESv2/renderer/d3d/HLSLCompiler.cpp',
'libGLESv2/renderer/d3d/HLSLCompiler.h', 'libGLESv2/renderer/d3d/HLSLCompiler.h',
'libGLESv2/renderer/d3d/ImageD3D.cpp', 'libGLESv2/renderer/d3d/ImageD3D.cpp',
......
...@@ -22,11 +22,11 @@ ...@@ -22,11 +22,11 @@
#include "libGLESv2/Shader.h" #include "libGLESv2/Shader.h"
#include "libGLESv2/Program.h" #include "libGLESv2/Program.h"
#include "libGLESv2/renderer/Renderer.h" #include "libGLESv2/renderer/Renderer.h"
#include "libGLESv2/renderer/d3d/DynamicHLSL.h"
#include "libGLESv2/renderer/d3d/ShaderD3D.h" #include "libGLESv2/renderer/d3d/ShaderD3D.h"
#include "libGLESv2/renderer/d3d/VertexDataManager.h" #include "libGLESv2/renderer/d3d/VertexDataManager.h"
#include "libGLESv2/Context.h" #include "libGLESv2/Context.h"
#include "libGLESv2/Buffer.h" #include "libGLESv2/Buffer.h"
#include "libGLESv2/DynamicHLSL.h"
#include "common/blocklayout.h" #include "common/blocklayout.h"
#undef near #undef near
...@@ -212,7 +212,7 @@ ProgramBinary::ProgramBinary(rx::Renderer *renderer) ...@@ -212,7 +212,7 @@ ProgramBinary::ProgramBinary(rx::Renderer *renderer)
mSamplersVS[index].active = false; mSamplersVS[index].active = false;
} }
mDynamicHLSL = new DynamicHLSL(renderer); mDynamicHLSL = new rx::DynamicHLSL(renderer);
} }
ProgramBinary::~ProgramBinary() ProgramBinary::~ProgramBinary()
...@@ -1517,7 +1517,7 @@ bool ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GL ...@@ -1517,7 +1517,7 @@ bool ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GL
stream.writeInt(mPixelShaderKey.size()); stream.writeInt(mPixelShaderKey.size());
for (size_t pixelShaderKeyIndex = 0; pixelShaderKeyIndex < mPixelShaderKey.size(); pixelShaderKeyIndex++) 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.writeInt(variable.type);
stream.writeString(variable.name); stream.writeString(variable.name);
stream.writeString(variable.source); stream.writeString(variable.source);
...@@ -1633,7 +1633,7 @@ bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBin ...@@ -1633,7 +1633,7 @@ bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBin
mVertexWorkarounds = vertexShaderD3D->getD3DWorkarounds(); mVertexWorkarounds = vertexShaderD3D->getD3DWorkarounds();
// Map the varyings to the register file // Map the varyings to the register file
VaryingPacking packing = { NULL }; rx::VaryingPacking packing = { NULL };
int registers = mDynamicHLSL->packVaryings(infoLog, packing, fragmentShaderD3D, vertexShaderD3D, transformFeedbackVaryings); int registers = mDynamicHLSL->packVaryings(infoLog, packing, fragmentShaderD3D, vertexShaderD3D, transformFeedbackVaryings);
if (registers < 0) if (registers < 0)
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include "libGLESv2/Shader.h" #include "libGLESv2/Shader.h"
#include "libGLESv2/Constants.h" #include "libGLESv2/Constants.h"
#include "libGLESv2/renderer/d3d/VertexDataManager.h" #include "libGLESv2/renderer/d3d/VertexDataManager.h"
#include "libGLESv2/DynamicHLSL.h" #include "libGLESv2/renderer/d3d/DynamicHLSL.h"
namespace sh namespace sh
{ {
...@@ -274,7 +274,7 @@ class ProgramBinary : public RefCountObject ...@@ -274,7 +274,7 @@ class ProgramBinary : public RefCountObject
}; };
rx::Renderer *const mRenderer; rx::Renderer *const mRenderer;
DynamicHLSL *mDynamicHLSL; rx::DynamicHLSL *mDynamicHLSL;
std::string mVertexHLSL; std::string mVertexHLSL;
rx::D3DWorkaroundType mVertexWorkarounds; rx::D3DWorkaroundType mVertexWorkarounds;
...@@ -283,7 +283,7 @@ class ProgramBinary : public RefCountObject ...@@ -283,7 +283,7 @@ class ProgramBinary : public RefCountObject
std::string mPixelHLSL; std::string mPixelHLSL;
rx::D3DWorkaroundType mPixelWorkarounds; rx::D3DWorkaroundType mPixelWorkarounds;
bool mUsesFragDepth; bool mUsesFragDepth;
std::vector<PixelShaderOuputVariable> mPixelShaderKey; std::vector<rx::PixelShaderOuputVariable> mPixelShaderKey;
std::vector<PixelExecutable *> mPixelExecutables; std::vector<PixelExecutable *> mPixelExecutables;
rx::ShaderExecutable *mGeometryExecutable; rx::ShaderExecutable *mGeometryExecutable;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include "libGLESv2/common_includes.h" #include "libGLESv2/common_includes.h"
#include "libGLESv2/DynamicHLSL.h" #include "libGLESv2/renderer/d3d/DynamicHLSL.h"
#include "libGLESv2/Shader.h" #include "libGLESv2/Shader.h"
#include "libGLESv2/Program.h" #include "libGLESv2/Program.h"
#include "libGLESv2/renderer/d3d/ShaderD3D.h" #include "libGLESv2/renderer/d3d/ShaderD3D.h"
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
// For use with ArrayString, see angleutils.h // For use with ArrayString, see angleutils.h
META_ASSERT(GL_INVALID_INDEX == UINT_MAX); META_ASSERT(GL_INVALID_INDEX == UINT_MAX);
using namespace gl;
namespace gl_d3d namespace gl_d3d
{ {
...@@ -71,7 +73,7 @@ std::string HLSLTypeString(GLenum type) ...@@ -71,7 +73,7 @@ std::string HLSLTypeString(GLenum type)
} }
namespace gl namespace rx
{ {
const std::string VERTEX_ATTRIBUTE_STUB_STRING = "@@ VERTEX ATTRIBUTES @@"; const std::string VERTEX_ATTRIBUTE_STUB_STRING = "@@ VERTEX ATTRIBUTES @@";
......
...@@ -6,20 +6,12 @@ ...@@ -6,20 +6,12 @@
// DynamicHLSL.h: Interface for link and run-time HLSL generation // DynamicHLSL.h: Interface for link and run-time HLSL generation
// //
#ifndef LIBGLESV2_DYNAMIC_HLSL_H_ #ifndef LIBGLESV2_RENDERER_DYNAMIC_HLSL_H_
#define LIBGLESV2_DYNAMIC_HLSL_H_ #define LIBGLESV2_RENDERER_DYNAMIC_HLSL_H_
#include "common/angleutils.h" #include "common/angleutils.h"
#include "libGLESv2/constants.h" #include "libGLESv2/constants.h"
namespace rx
{
class Renderer;
class ShaderD3D;
class VertexShaderD3D;
class FragmentShaderD3D;
}
namespace sh namespace sh
{ {
struct Attribute; struct Attribute;
...@@ -28,15 +20,22 @@ struct ShaderVariable; ...@@ -28,15 +20,22 @@ struct ShaderVariable;
namespace gl namespace gl
{ {
class InfoLog; class InfoLog;
struct VariableLocation; struct VariableLocation;
struct LinkedVarying; struct LinkedVarying;
struct VertexAttribute; struct VertexAttribute;
struct VertexFormat; struct VertexFormat;
struct PackedVarying; 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 struct PixelShaderOuputVariable
{ {
...@@ -51,23 +50,23 @@ class DynamicHLSL ...@@ -51,23 +50,23 @@ class DynamicHLSL
public: public:
explicit DynamicHLSL(rx::Renderer *const renderer); 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); 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; const sh::Attribute shaderAttributes[]) const;
std::string generatePixelShaderForOutputSignature(const std::string &sourceShader, const std::vector<PixelShaderOuputVariable> &outputVariables, std::string generatePixelShaderForOutputSignature(const std::string &sourceShader, const std::vector<PixelShaderOuputVariable> &outputVariables,
bool usesFragDepth, const std::vector<GLenum> &outputLayout) const; 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, std::string& pixelHLSL, std::string& vertexHLSL,
rx::FragmentShaderD3D *fragmentShader, rx::VertexShaderD3D *vertexShader, rx::FragmentShaderD3D *fragmentShader, rx::VertexShaderD3D *vertexShader,
const std::vector<std::string>& transformFeedbackVaryings, const std::vector<std::string>& transformFeedbackVaryings,
std::vector<LinkedVarying> *linkedVaryings, std::vector<gl::LinkedVarying> *linkedVaryings,
std::map<int, VariableLocation> *programOutputVars, std::map<int, gl::VariableLocation> *programOutputVars,
std::vector<PixelShaderOuputVariable> *outPixelShaderKey, std::vector<PixelShaderOuputVariable> *outPixelShaderKey,
bool *outUsesFragDepth) const; bool *outUsesFragDepth) const;
std::string generateGeometryShaderHLSL(int registers, rx::FragmentShaderD3D *fragmentShader, rx::VertexShaderD3D *vertexShader) 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: private:
DISALLOW_COPY_AND_ASSIGN(DynamicHLSL); DISALLOW_COPY_AND_ASSIGN(DynamicHLSL);
...@@ -81,17 +80,17 @@ class DynamicHLSL ...@@ -81,17 +80,17 @@ class DynamicHLSL
bool pixelShader) const; bool pixelShader) const;
std::string generateVaryingLinkHLSL(const SemanticInfo &info, const std::string &varyingHLSL) const; std::string generateVaryingLinkHLSL(const SemanticInfo &info, const std::string &varyingHLSL) const;
std::string generateVaryingHLSL(rx::VertexShaderD3D *shader) const; std::string generateVaryingHLSL(rx::VertexShaderD3D *shader) const;
void storeUserLinkedVaryings(const rx::VertexShaderD3D *vertexShader, std::vector<LinkedVarying> *linkedVaryings) const; void storeUserLinkedVaryings(const rx::VertexShaderD3D *vertexShader, std::vector<gl::LinkedVarying> *linkedVaryings) const;
void storeBuiltinLinkedVaryings(const SemanticInfo &info, std::vector<LinkedVarying> *linkedVaryings) const; void storeBuiltinLinkedVaryings(const SemanticInfo &info, std::vector<gl::LinkedVarying> *linkedVaryings) const;
void defineOutputVariables(rx::FragmentShaderD3D *fragmentShader, std::map<int, VariableLocation> *programOutputVars) 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; std::string generatePointSpriteHLSL(int registers, rx::FragmentShaderD3D *fragmentShader, rx::VertexShaderD3D *vertexShader) const;
// Prepend an underscore // Prepend an underscore
static std::string decorateVariable(const std::string &name); 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_
...@@ -12,18 +12,13 @@ ...@@ -12,18 +12,13 @@
#include "libGLESv2/Shader.h" #include "libGLESv2/Shader.h"
#include "libGLESv2/renderer/ShaderImpl.h" #include "libGLESv2/renderer/ShaderImpl.h"
namespace gl
{
class DynamicHLSL;
}
namespace rx namespace rx
{ {
class Renderer; class Renderer;
class ShaderD3D : public ShaderImpl class ShaderD3D : public ShaderImpl
{ {
friend class gl::DynamicHLSL; friend class DynamicHLSL;
public: public:
ShaderD3D(rx::Renderer *renderer); ShaderD3D(rx::Renderer *renderer);
...@@ -95,7 +90,7 @@ class ShaderD3D : public ShaderImpl ...@@ -95,7 +90,7 @@ class ShaderD3D : public ShaderImpl
class VertexShaderD3D : public ShaderD3D class VertexShaderD3D : public ShaderD3D
{ {
friend class gl::DynamicHLSL; friend class DynamicHLSL;
public: public:
VertexShaderD3D(rx::Renderer *renderer); VertexShaderD3D(rx::Renderer *renderer);
...@@ -120,7 +115,7 @@ class VertexShaderD3D : public ShaderD3D ...@@ -120,7 +115,7 @@ class VertexShaderD3D : public ShaderD3D
class FragmentShaderD3D : public ShaderD3D class FragmentShaderD3D : public ShaderD3D
{ {
friend class gl::DynamicHLSL; friend class DynamicHLSL;
public: public:
FragmentShaderD3D(rx::Renderer *renderer); FragmentShaderD3D(rx::Renderer *renderer);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment