On 03/10/2014 02:39 PM, Brian Paul wrote: > On 03/10/2014 03:09 PM, Ian Romanick wrote: >> On 03/10/2014 02:06 PM, Ian Romanick wrote: >>> No way. This will break existing applications on Linux. > > How so? Before, for example, we had glCompileShaderARB(GLhandleARB) and > glCompileShader(GLuint) libGL entrypoints and GLhandleARB=GLuint. After > these changes it's the same story. No change. > > >> This also breaks the libGL <-> DRI driver ABI. These function entry >> points have been aliased for... a decade? I can't understand why we'd >> break our own ABI because of something silly that Apple did. This feels >> like madness. > > Hmm, I forgot about the libGL / DRI ABI. Crap. I guess it's the case > of using a new libGL with an old DRI driver that would break. Have we > even been testing ABI interoperability lately? I'm not sure how > libglapi factors into this either.
Can we just hack around this for MacOS? For that platform, we could have stub ARB functions that call the GL 2.0 functions. What glapi modes are used on MacOS? > -Brian > >>> On 03/08/2014 05:10 PM, Brian Paul wrote: >>>> For example, we now we have separate dispatch functions for >>>> glCompileShader(GLuint) and glCompileShaderARB(GLhandleARB). >>>> >>>> With this change and the previous ones we should be able to build/run >>>> on MacOS again (where GLhandleARB is a void pointer, not a GLuint). >>>> >>>> Bugzilla: >>>> https://urldefense.proofpoint.com/v1/url?u=https://bugs.freedesktop.org/show_bug.cgi?id%3D66346&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=lGQMzzTgII0I7jefp2FHq7WtZ%2BTLs8wadB%2BiIj9xpBY%3D%0A&m=NyRHLDQ9XXRXOlj0yttIEHC63yEthyZwjJtNe73pLek%3D%0A&s=e6ecc573de2698ab60e5e674c626b101c0b2b190a5902ace55ef5368b597daf7 >>>> >>>> --- >>>> src/mapi/glapi/gen/gl_API.xml | 28 +++++++++++++++------------- >>>> src/mesa/main/dlist.c | 2 +- >>>> 2 files changed, 16 insertions(+), 14 deletions(-) >>>> >>>> diff --git a/src/mapi/glapi/gen/gl_API.xml >>>> b/src/mapi/glapi/gen/gl_API.xml >>>> index 7e1946e..76f56c4 100644 >>>> --- a/src/mapi/glapi/gen/gl_API.xml >>>> +++ b/src/mapi/glapi/gen/gl_API.xml >>>> @@ -7829,14 +7829,14 @@ >>>> <glx ignore="true"/> >>>> </function> >>>> >>>> - <function name="ShaderSourceARB" alias="ShaderSource"> >>>> + <function name="ShaderSourceARB" offset="assign"> >>>> <param name="shader" type="GLhandleARB"/> >>>> <param name="count" type="GLsizei"/> >>>> <param name="string" type="const GLcharARB **"/> >>>> <param name="length" type="const GLint *"/> >>>> </function> >>>> >>>> - <function name="CompileShaderARB" alias="CompileShader"> >>>> + <function name="CompileShaderARB" offset="assign"> >>>> <param name="shader" type="GLhandleARB"/> >>>> </function> >>>> >>>> @@ -7851,15 +7851,17 @@ >>>> <glx ignore="true"/> >>>> </function> >>>> >>>> - <function name="LinkProgramARB" alias="LinkProgram"> >>>> + <function name="LinkProgramARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> </function> >>>> >>>> - <function name="UseProgramObjectARB" alias="UseProgram"> >>>> + <function name="UseProgramObjectARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> + <glx ignore="true"/> >>>> + <glx ignore="true"/> >>>> </function> >>>> >>>> - <function name="ValidateProgramARB" alias="ValidateProgram"> >>>> + <function name="ValidateProgramARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> </function> >>>> >>>> @@ -8014,13 +8016,13 @@ >>>> <glx ignore="true"/> >>>> </function> >>>> >>>> - <function name="GetUniformLocationARB" alias="GetUniformLocation"> >>>> + <function name="GetUniformLocationARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> <param name="name" type="const GLcharARB *"/> >>>> <return type="GLint"/> >>>> </function> >>>> >>>> - <function name="GetActiveUniformARB" alias="GetActiveUniform"> >>>> + <function name="GetActiveUniformARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> <param name="index" type="GLuint"/> >>>> <param name="bufSize" type="GLsizei"/> >>>> @@ -8030,19 +8032,19 @@ >>>> <param name="name" type="GLcharARB *"/> >>>> </function> >>>> >>>> - <function name="GetUniformfvARB" alias="GetUniformfv"> >>>> + <function name="GetUniformfvARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> <param name="location" type="GLint"/> >>>> <param name="params" type="GLfloat *"/> >>>> </function> >>>> >>>> - <function name="GetUniformivARB" alias="GetUniformiv"> >>>> + <function name="GetUniformivARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> <param name="location" type="GLint"/> >>>> <param name="params" type="GLint *"/> >>>> </function> >>>> >>>> - <function name="GetShaderSourceARB" alias="GetShaderSource"> >>>> + <function name="GetShaderSourceARB" offset="assign"> >>>> <param name="shader" type="GLhandleARB"/> >>>> <param name="bufSize" type="GLsizei"/> >>>> <param name="length" type="GLsizei *"/> >>>> @@ -8059,13 +8061,13 @@ >>>> <enum name="OBJECT_ACTIVE_ATTRIBUTES_ARB" >>>> value="0x8B89"/> >>>> <enum name="OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB" >>>> value="0x8B8A"/> >>>> >>>> - <function name="BindAttribLocationARB" alias="BindAttribLocation"> >>>> + <function name="BindAttribLocationARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> <param name="index" type="GLuint"/> >>>> <param name="name" type="const GLcharARB *"/> >>>> </function> >>>> >>>> - <function name="GetActiveAttribARB" alias="GetActiveAttrib"> >>>> + <function name="GetActiveAttribARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> <param name="index" type="GLuint"/> >>>> <param name="bufSize" type="GLsizei"/> >>>> @@ -8075,7 +8077,7 @@ >>>> <param name="name" type="GLcharARB *"/> >>>> </function> >>>> >>>> - <function name="GetAttribLocationARB" alias="GetAttribLocation"> >>>> + <function name="GetAttribLocationARB" offset="assign"> >>>> <param name="program" type="GLhandleARB"/> >>>> <param name="name" type="const GLcharARB *"/> >>>> <return type="GLint"/> >>>> diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c >>>> index 6035ec0..b29b440 100644 >>>> --- a/src/mesa/main/dlist.c >>>> +++ b/src/mesa/main/dlist.c >>>> @@ -8728,7 +8728,7 @@ _mesa_initialize_save_table(const struct >>>> gl_context *ctx) >>>> SET_BlitFramebuffer(table, save_BlitFramebufferEXT); >>>> >>>> SET_UseProgram(table, save_UseProgram); >>>> -// SET_UseProgramObjectARB(table, save_UseProgramObjectARB); >>>> + SET_UseProgramObjectARB(table, save_UseProgramObjectARB); >>>> SET_Uniform1f(table, save_Uniform1fARB); >>>> SET_Uniform2f(table, save_Uniform2fARB); >>>> SET_Uniform3f(table, save_Uniform3fARB); >>>> >>> > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev