Pipeline objects open questions

Hey all,

While what goes into pipeline objects is mostly clear (see this doc
<https://github.com/gpuweb/gpuweb/blob/master/design/Pipelines.md>), there
is still a bunch of open questions:

   - How do we take advantage of the pipeline caching present in D3D12 and
   Vulkan? Do we expose it to the application or is it done magically in the
   WebGPU implementation?
   - Should the type of the indices be set in RenderPipelineDescriptor? If
   not, how is the D3D12 IBStripCutValue chosen?
   - Should the vertex attributes somehow be included in the PipelineLayout
   so vertex buffers are treated as other resources and changed in bulk with
   them?
   - Does the sample count of the pipeline state come from the RenderPass
   too?
   - Should enablement of independent attachment blend state be explicit
   like in D3D12 or explicit? Should alpha to coverage be part of the
   multisample state or the blend state?
   - About Vulkan’s
   VkPipelineDepthStencilStateCreateInfo::depthBoundTestEnable and D3D12's
   D3D12_DEPTH_STENCIL_DESC1::DepthBoundsTestEnable? Should “depth test
   enable” be implicit or explicit?

What do you all think about these?

Corentin

Received on Friday, 8 September 2017 19:25:02 UTC