Remove uses of DrawCallParams.

Packing and referencing this structure was causing unnecessary draw
call overhead. This improves performance on all the back-ends. Impacts
the GL back-end the most.

In total this patch series reduces overhead by up to 5%.

Bug: angleproject:2933
Change-Id: Ief416ab874e481baf960d02965978a311214a146
Reviewed-on: https://chromium-review.googlesource.com/c/1299477
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/ProgramVk.cpp b/src/libANGLE/renderer/vulkan/ProgramVk.cpp
index 2a26b97..705f634 100644
--- a/src/libANGLE/renderer/vulkan/ProgramVk.cpp
+++ b/src/libANGLE/renderer/vulkan/ProgramVk.cpp
@@ -131,10 +131,9 @@
     return angle::Result::Continue();
 }
 
-bool UseLineRaster(const ContextVk *contextVk, const gl::DrawCallParams &drawCallParams)
+bool UseLineRaster(const ContextVk *contextVk, gl::PrimitiveMode mode)
 {
-    return contextVk->getFeatures().basicGLLineRasterization &&
-           gl::IsLineMode(drawCallParams.mode());
+    return contextVk->getFeatures().basicGLLineRasterization && gl::IsLineMode(mode);
 }
 }  // anonymous namespace
 
@@ -742,12 +741,12 @@
 }
 
 angle::Result ProgramVk::initShaders(ContextVk *contextVk,
-                                     const gl::DrawCallParams &drawCallParams,
+                                     gl::PrimitiveMode mode,
                                      const vk::ShaderAndSerial **vertexShaderAndSerialOut,
                                      const vk::ShaderAndSerial **fragmentShaderAndSerialOut,
                                      const vk::PipelineLayout **pipelineLayoutOut)
 {
-    if (UseLineRaster(contextVk, drawCallParams))
+    if (UseLineRaster(contextVk, mode))
     {
         ANGLE_TRY(mLineRasterShaderInfo.getShaders(contextVk, mVertexSource, mFragmentSource, true,
                                                    vertexShaderAndSerialOut,
@@ -948,7 +947,6 @@
 }
 
 angle::Result ProgramVk::updateDescriptorSets(ContextVk *contextVk,
-                                              const gl::DrawCallParams &drawCallParams,
                                               vk::CommandBuffer *commandBuffer)
 {
     // Can probably use better dirty bits here.