About primitive assembly - always in same block?

I’m reading chapter 3, and it says:

The important thing to keep in mind is that vertices belonging to the same geometrical shape (primitive) are always in the same block.

And a few sentences later:

The Metal API provides five primitive types:

And it lists them, including line strip and triangle strip, which look like they can contain an unbounded number of vertices.

Can anyone explain that? Maybe in the first quote, they meant just simple triangles and line segments? Maybe strips can be split up in different blocks? Or maybe there is a max size on the strips that isn’t that big?

What the Metal API considers a primitive and what the GPU considers a primitive are different. The hardware only knows about points, lines and triangles.

If the rasterizer needs to deal with a fan or a strip then it uses more blocks of the same unit primitive.

1 Like