ShaderDataDefinitions or an array of ShaderDataDefinitions as returned from makeShaderDataDefinitions. If an array of more than 1 definition it's assumed the vertex shader is in the first and the fragment shader in the second.
A PipelineDescriptor. You should be able to pass in the same object you would pass
to createRenderPipeline
or createComputePipeline
. In particular, you need
the vertex
/ fragment
or compute
properties with or without entryPoints.
The existence of the property means this shader type exists in the pipeline. If
no entry point is specified the default entry point will be used, which, like
WebGPU, defaults to the only entry point of that type. If there is more than one
it's an error and you must specify an entry point.
An array of GPUBindGroupLayoutDescriptors which you can pass, one at a time, to
createBindGroupLayout
. Note: the array will be sparse if there are gaps in group
numbers. Note: Each GPUBindGroupLayoutDescriptor.entries will be sorted by binding.
Gets GPUBindGroupLayoutDescriptors for the given pipeline.
Important: Assumes your pipeline is valid (it doesn't check for errors).
Note: In WebGPU some layouts must be specified manually. For example an unfiltered-float sampler can not be derived since it is unknown at compile time pipeline creation time which texture you'll use.