Ian Romanick wrote:
> I'd like to propose a couple changes to our current GL and GLX extension
> policies.
> 
> GL
> ==
> 
> There are a few GL extensions that I believe should just be made
> mandatory.  Doing so would allow us to remove a ton of extension tests
> sprinkled throughout the code.  The proposed extensions all provide ways
> to expose the extension without requiring additional hardware
> functionality.  Enabling the extension just makes the API available.
> Here is my proposed list:
> 
> - GL_ARB_draw_buffers - We'd have to change the default MaxDrawBuffers
> to 1 in context.c.  Currently only the i965 driver enables this
> extension.  I believe that swrast should have this extension listed
> because it supports GL 2.0.
> 
> - GL_ARB_multisample - If the driver doesn't support multisampling, it
> can just not expose any multisample visuals.  Only swrast and unichrome
> do not export this extension.  I believe that swrast should have this
> extension listed because it supports GL 2.0.
> 
> - GL_ARB_vertex_buffer_object - The only driver that doesn't export this
> extension is swrast.  I believe that swrast should have this extension
> listed because it supports GL 1.4.
> 
> - GL_ARB_vertex_program - For hardware that uses software for TNL, Mesa
> does all the work.  For hardware that has only fixed-function TNL,
> vertex programs act like a TNL software fallback.  Only i810, mach64,
> r128, radeon, savage, and sis do not support this extension.  I believe
> that GL_NV_vertex_program and GL_NV_vertex_program1_1 should also be
> enabled.  The expose nearly the same feature set as the ARB extension.
> 
> - GL_ARB_texture_compression - Currently only mach64, swrast, and
> unichrome do not export this extension.  I believe that swrast should
> have this extension listed because it supports GL 1.3.
> 
> - GL_EXT_gpu_program_parameters - This convenience extension is handled
> completely in Mesa when GL_ARB_{vertex,fragment}_program is supported.
> The only drivers that do export this extension are mga, r300, and
> swrast.
> 
> - GL_{EXT,SUN}_multi_draw_arrays - This functionality is handled
> completely inside Mesa.  Currently, i810, mach64, r128, radeon, savage,
> sis, swrast, and unichrome do not export this extension.  I believe that
> swrast should have this extension listed because it supports GL 1.4.
> 
> - GL_IBM_multimode_draw_arrays - Same logic as above.  The only drivers
> that do export this extension are swrast and tdfx.
> 
> GLX
> ===
> 
> I believe that we should enable GLX_SGIX_pbuffer by default.  Drivers
> that do not support pbuffer rendering can just not export any fbconfigs
> with GLX_PBUFFER_BIT set.  We already do this for GLX_ARB_multisample
> and GLX_OML_swap_method.  This will allow drivers that already support
> GLX_SGIS_make_current_read to expose GLX 1.4.
> 
> I believe the we should also add the trivial support required for
> GLX_ARB_color_buffer_float (and the ATI & NV extensions).  Again,
> drivers that don't support floating point rendering (or don't have an
> appropriate license, I guess...I'm not a lawyer, and I'm not giving
> legal advice) just won't export any fbconfigs with the
> GLX_RGBA_FLOAT_BIT set.

This all sounds pretty good to me, Ian.  Though, I share Roland's 
concern about vertex program.  Perhaps we could make that change 
temporarily and see what issues pop up.

BTW, I was thinking of yanking out some older extensions such as 
SGIX_shadow, SGIX_shadow_ambient, SGIX_depth texture which are 
superceded by ARB extensions.  Sound good?

-Brian

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to