bug-14365: add dynamic state to PSO

This commit covers phase 2 of the removal of dynamic
state objects. Now, an application can include an array
of VK_DYNAMIC_STATE_* values that tell the driver
which PSO dynamic state elements to use.
I.e. if VK_DYNAMIC_STATE_LINE_WIDTH was specified in the
pDynamicState array then the ICD should use the lineWidth
defined at PSO create time and ignore any set using
vkCmdSetLineWidth.
To accomplish that the driver will make a copy of the
dynamic state specified in the PSO as well as a bitmask
of the affected state. When vkCmdSet* is called, the
driver will check if a PSO override is current and ignore
the call if so.
At PSO bind time the command buffer's dynamic state
will be updated and the PSO override bitmask set so that
any future vkCmdSet*'s will be appropriately ignored.
TODO: Validation layer should probably indicate a warning
if app tries to do vkCmdSet on state defined by the PSO.
diff --git a/icd/intel/state.h b/icd/intel/state.h
index bc4957a..85fd8b3 100644
--- a/icd/intel/state.h
+++ b/icd/intel/state.h
@@ -73,4 +73,34 @@
     /* TODO: enable back facing stencil state */
     struct intel_dynamic_stencil_face back;
 };
+
+struct intel_cmd;
+void intel_set_viewport(struct intel_cmd *cmd, uint32_t count, const VkViewport *viewports);
+void intel_set_scissor(struct intel_cmd *cmd, uint32_t count, const VkRect2D *scissors);
+void intel_set_line_width(struct intel_cmd *cmd, float line_width);
+void intel_set_depth_bias(
+    struct intel_cmd                   *cmd,
+    float                               depthBias,
+    float                               depthBiasClamp,
+    float                               slopeScaledDepthBias);
+void intel_set_blend_constants(
+    struct intel_cmd                   *cmd,
+    const float                         blendConst[4]);
+void intel_set_depth_bounds(
+    struct intel_cmd                   *cmd,
+    float                               minDepthBounds,
+    float                               maxDepthBounds);
+void intel_set_stencil_compare_mask(
+    struct intel_cmd                   *cmd,
+    VkStencilFaceFlags                  faceMask,
+    uint32_t                            stencilCompareMask);
+void intel_set_stencil_write_mask(
+    struct intel_cmd                   *cmd,
+    VkStencilFaceFlags                  faceMask,
+    uint32_t                            stencilWriteMask);
+void intel_set_stencil_reference(
+    struct intel_cmd                   *cmd,
+    VkStencilFaceFlags                  faceMask,
+    uint32_t                            stencilReference);
+
 #endif /* STATE_H */