Le Mon, 26 Jan 2009 12:30:21 -0700 Brian Paul <[email protected]> a écrit:
> Keith Whitwell wrote: > > On Mon, 2009-01-26 at 10:10 -0800, Patrice Mandin wrote: > >> Hello, > >> > >> [Excuse me if it's not the right place to talk about Gallium, is > >> dri-devel a better place?] > >> > >> Last week I fixed a bug in nv30 gallium backend for nouveau, related to > >> GL_EXT_blend_equation_separate (and not GL_EXT_blend_func_separate as I > >> wrote in my commit), which seems to be a requirement for gallium > >> drivers, as visible in gallium-0.2 branch, > >> src/gallium/state_trackers/glx/dri/dri_extensions.c > >> > >> NV30 gpus (Geforce FX class) don't support it, so I would need to > >> remove it from the extension list; and maybe make it a PIPE_CAP_??? > >> like some other OpenGL stuff. > >> > >> My question are: is the current list of extensions for Gallium backend > >> fixed (specific requirements from some shader engines?), and must all > >> backend support said extensions? > >> > > > > This is a bit of a missing chunk of functionality. > > > > There are some queries that the pipe_screen interface exposes, and these > > could/should be used by the Mesa state tracker to figure out which > > extensions to turn on and off for a particular driver... but currently, > > we've just got some ugly bit of legacy code in each winsys which turns > > on a fairly arbitary list. > > > > Until the state tracker starts using queries to build the extension > > list, this type of bug will be common. > > > > If you're interested in figuring out how to do this, I think it'd be a > > great contribution to Gallium. I think this ties into but is not > > necessarily dependent on the code I've got in state_trackers/glx/dri > > which is a start on hoisting out a bunch of duplicated code from all the > > dri winsys's. > > Note that src/mesa/state_tracker/st_extensions.c has code which queries > the gallium screen to determine which GL extensions can be supported. > Perhaps that can be refactored and shared if the same thing is needed in > the GLX state tracker. > > Feel free to add something like PIPE_CAP_SEPARATE_BLEND_EQUATION if you > need it, Patrice. I just found some time to look at it again. If I undefine stuff related to GL_EXT_blend_equation_separate in src/gallium/state_trackers/dri/dri_extensions.c this is not enough. When including src/mesa/drivers/dri/common/extension_helper.h GL_EXT_blend_equation_separate extension is still defined because need_GL_VERSION_2_0 is defined in dri_extensions.c gallium file. In both 2.0 and 2.1 spec file I did not find anything saying GL_EXT_blend_equation_separate was promoted to the core for 2.0, and with Nvidia proprietary driver it's not defined also (version string is 2.1.2 in this case) as nv30 do not support it. I don't know why enabling 2.0 stuff automatically enable GL_EXT_blend_equation_separate, I guess there was a good reason, but I don't think it should. -- Patrice Mandin WWW: http://pmandin.atari.org/ Programmeur Linux, Atari Spécialité: Développement, jeux ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
