summaryrefslogtreecommitdiff
path: root/src/mesa/glapi/extension_helper.py
diff options
context:
space:
mode:
authorIan Romanick <idr@us.ibm.com>2006-08-11 23:56:37 +0000
committerIan Romanick <idr@us.ibm.com>2006-08-11 23:56:37 +0000
commit8fbe16d4dd0664f7766f5241c055efb582cc06e5 (patch)
tree8648d4740b823c3103ac66b90e9339a60b16862c /src/mesa/glapi/extension_helper.py
parent56f349515c75a93923255ba1eb7cdae67b432a53 (diff)
Fix long standing bug that prevented newer drivers from working with
older libGL. The data in extension_helper.h erroneous instructed drivers to expect all functions with establised offsets, even those not in the ABI, to have a specific offset allocated. This is just wrong. A function is either in the ABI and has a set offset or a function is not in the ABI and has a re-map offset.
Diffstat (limited to 'src/mesa/glapi/extension_helper.py')
-rw-r--r--src/mesa/glapi/extension_helper.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mesa/glapi/extension_helper.py b/src/mesa/glapi/extension_helper.py
index a2a16a8b36..f7fa90c390 100644
--- a/src/mesa/glapi/extension_helper.py
+++ b/src/mesa/glapi/extension_helper.py
@@ -211,12 +211,17 @@ class PrintGlExtensionGlue(gl_XML.gl_print_base):
print 'static const struct dri_extension_function %s_functions[] = {' % (category)
for f in category_list[ category ]:
+ # A function either has an offset that is
+ # assigned by the ABI, or it has a remap
+ # index.
if any_entrypoints_in_abi(f, abi, api):
index_name = "-1"
+ offset = f.offset
else:
index_name = "%s_remap_index" % (f.name)
+ offset = -1
- print ' { %s_names, %s, %d },' % (f.name, index_name, f.offset)
+ print ' { %s_names, %s, %d },' % (f.name, index_name, offset)
print ' { NULL, 0, 0 }'