În ziua de Mie 25 Iun 2014, la 10:50:49, Henri Verbeet a scris:
Please avoid C99 features like // comments.
So I suppose C11 features are out of the question? Do you have any suggestion for an alternative to _Static_assert?
- if (gl_info->limits.textures > 1)
return 6;
That's "fragment_caps.MaxSimultaneousTextures".
Right, that makes more sense.
It probably makes sense to reorganize things a bit. For example, the gl_info parameter to the select_card() callbacks in struct gl_vendor_selection is really only used by select_card_nvidia_binary() and select_card_amd_binary() to call d3d_level_from_gl_info(), but I don't think anything of value would be lost if those used a plain table like e.g. select_card_amd_mesa(). (At which point you wouldn't need a callback there anymore either.) d3d_level_from_gl_info() should probably get the shader and fragment caps passed as parameters, and be renamed. It probably makes sense to make it return some kind of enum instead of a plain number, so you can e.g. distinguish between D3D9 SM2 and D3D9 SM3. That would also allow the fallback card selection code to use plain tables instead of callbacks.
Ok, I think I understand what you mean, I'll give it a try.