The feature levels in the attached table don't apply exactly to all hardware.
For instance: 1. Two sided stencil is supported from NV30/GeForce FX 2. Triangle fans and point sprites are supported in hardware on NV50 (according to Nouveau registers) 3. Alpha-to-coverage should be supported on R300 and NV30 4. Non-POT mipmapped textures and non-POT cubemaps are probably supported earlier than in the table in actual cards Shaders also have card specific extensions such as vertex shader texturing on NV40 and added instruction predication support (see the GL_NV_* extensions). Thus the attached patch as-is will disable functionality that the hardware actually supports (not having two sided stencil in particular would hurt). Also, the feature levels seem set mostly wrong: +static const enum pipe_feature_level +nv40_screen_feature_level(struct pipe_screen *screen) +{ + return PIPE_FEATURE_LEVEL_2; +} +static const enum pipe_feature_level +nv50_screen_feature_level(struct pipe_screen *screen) +{ + return PIPE_FEATURE_LEVEL_2; +} NV40 is feature level 4 and NV50 is at least 5. How about keeping the caps, but adding helper functions that the drivers can use for the various API levels, so they need less cases in their get_param switches? The feature level are likely at least somewhat API-specific anyway, so maybe it would be better for each API to determine them itself from the separate caps exposed by the drivers. Anyway, there are only 3 companies with significant market share, so one may as well directly use the nVidia/ATI/Intel architecture version as the feature level (which is what most commercial games probably do anyway). ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev