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.
-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