And for a per-face, per-point, per-vertex setup, the limit is 8b indices.

What's the difference between a "point" and a "vertex" in this scenario?

Whatever the limitation preventing this, at least someone at AMD is thinking about this.

Given the specific way in which they define this functionality, odds are good that they simply have the ability to do a bit of configurable logic in their vertex fetch unit. So it's not so much that they're thinking about it but that someone realized that they could hack the hardware a bit to make a gimped version of the feature possible.

What's the difference between a "point" and a "vertex" in this scenario?

Points are shared in a mesh between adjacent triangles, whereas vertex data is unique per vertex/triangle pair. Our app allows users to set attribute data at four different levels - geometry (uniform), per-face, per-shared point, and per-vertex. This setup existed long before I came on the scene.

I currently model per-face and per-vertex attributes with a geometry shader and per-face/vertex indexing based on gl_PrimitiveIDIn. The alternative is promoting per-face and per-shared point attributes to per-vertex frequency, which can get very heavy and sluggish for large production models (in the 5M+ polygon range). Using multiple element buffers/indices might improve the performance of this case; at least I'd be interested to try.

Given the specific way in which they define this functionality, odds are good that they simply have the ability to do a bit of configurable logic in their vertex fetch unit. So it's not so much that they're thinking about it but that someone realized that they could hack the hardware a bit to make a gimped version of the feature possible

.

That was my suspicion as well. For example, the vertex cache is probably keyed off a single 32b uint. Still, these extensions have a way of morphing into useful features, so I remain hopeful

After I pass the datas of new arrays to buffers and just used the vertex indices for all as GL_ELEMENT_ARRAY_BUFFER I got the result I want.
Well, I got bored due to engaging in usage of OpenGL so I will create somethings from what I learnt by far to encourage myself by seeing nice results of my work.
Now, I will get rid of having to learn new things by finally adding knowledge of Joystick and Audio in order for creating a complete game or developing a new 2D/3D tool for a while. After becoming familiar to all I typed as needed, I will continue to learning more about 3.3 version of the API again.
Thanks everybody for all responds or struggle to help.

I fail to see how indexed rendering is related to the number of draw calls for "multiple different primitive layouts". If you change the vertex format, you need a new draw call, and indexed rendering isn't getting around that.

You're misunderstanding. What I'm talking about is a mesh that may be composed of multiple strips and fans, not changing the vertex format. That's a "my bad" though as using "primitive type (i.e the mode param to a typical draw command)" would have been clearer.