Make PackedVarying a D3D-only type.
The register assignment stuff only applies to the D3D back-end.
Cleans up the GL back-ends use of PackedVarying, and will lead
to future cleanups relating to packing varyings.
BUG=angleproject:1123
Change-Id: Iaaa5fc03577e5b61ea6ae76ee1e15ad608037f34
Reviewed-on: https://chromium-review.googlesource.com/295190
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/ProgramD3D.cpp b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
index bc5f971..daa7779 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -131,19 +131,19 @@
ShaderD3D *vertexShaderD3D,
ShaderD3D *fragmentShaderD3D)
{
- for (gl::PackedVarying &input : fragmentShaderD3D->getVaryings())
+ for (PackedVarying &input : fragmentShaderD3D->getPackedVaryings())
{
bool matched = false;
// Built-in varyings obey special rules
- if (input.isBuiltIn())
+ if (input.varying->isBuiltIn())
{
continue;
}
- for (gl::PackedVarying &output : vertexShaderD3D->getVaryings())
+ for (PackedVarying &output : vertexShaderD3D->getPackedVaryings())
{
- if (output.name == input.name)
+ if (output.varying->name == input.varying->name)
{
output.registerIndex = input.registerIndex;
output.columnIndex = input.columnIndex;
@@ -154,7 +154,7 @@
}
// We permit unmatched, unreferenced varyings
- ASSERT(matched || !input.staticUse);
+ ASSERT(matched || !input.varying->staticUse);
}
return true;
@@ -1137,8 +1137,7 @@
}
// Map the varyings to the register file
- VaryingPacking packing = {};
- int registers = mDynamicHLSL->packVaryings(infoLog, packing, fragmentShaderD3D, vertexShaderD3D,
+ int registers = mDynamicHLSL->packVaryings(infoLog, fragmentShaderD3D, vertexShaderD3D,
mData.getTransformFeedbackVaryingNames());
if (registers < 0)
@@ -1149,7 +1148,7 @@
LinkVaryingRegisters(infoLog, vertexShaderD3D, fragmentShaderD3D);
std::vector<gl::LinkedVarying> linkedVaryings;
- if (!mDynamicHLSL->generateShaderLinkHLSL(data, mData, infoLog, registers, packing, mPixelHLSL,
+ if (!mDynamicHLSL->generateShaderLinkHLSL(data, mData, infoLog, registers, mPixelHLSL,
mVertexHLSL, &linkedVaryings, &mPixelShaderKey,
&mUsesFragDepth))
{