tree 99f193767235318d3797e6ecdc52ec921cd5c468
parent d94a77b304f4fcb503ea037be3e5d7f2a371c4b6
author Alexis Hetu <sugoi@google.com> 1601558477 -0400
committer swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com <swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com> 1607619699 +0000

Context refactor: from OpenGL-like state to Vulkan-like state

Overview of the changes:

The Context class has been split into more Vulkan related functional
elements:
- The IndexBuffer class, which contains the index buffer information
  and has been extended to also the functionality to support
  primitive restart. Should we need primitive restart related caching
  in the future, this would be the place to do it.
- The Attachments class, which contains information about render
  targets and depth and stencil buffers
- The Inputs class, which contains information about descriptor sets
  and input streams.
- The GraphicsState is a completely constant class which can only be
  modified in the constructor, which represents the state of a
  graphics pipeline, which never changes past construction. The
  GraphicsState can be combined with a DynamicState structure in
  order to create a complete state used by rendering.

Also to note:
- The DynamicState class in now in Context.hpp, in order for the
  GraphicsState to have functionality related to it.
- PushConstantStorage was moved to vk::Pipeline, as it is used by
  both the Graphics Pipeline and the Compute Pipeline.
- Viewport/scissor functionality is contained in the GraphicsState
  and was removed from the Renderer.
- All *Processor::update() functions now receive only the information
  that they require, rather that having access to the entire context.

Bug: b/132280877

Change-Id: I74f2582d34e45aa1e7b192dbd2b9b770e7af118d
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48830
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Commit-Queue: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
