summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarta Lofstedt <[email protected]>2015-07-23 16:38:32 +0200
committerTapani Pälli <[email protected]>2015-07-29 09:59:44 +0300
commitd1bb3b4910e6c02344550b8982aa8442cd7efd29 (patch)
treebfa582490e38841f3a30dd10d7fb32f36415db55
parentc00d093c8f247c41f9122143c49ffa93865a0ded (diff)
mesa/es3.1: Add ES 3.1 handling to get.c and get_hash_generator.py
Signed-off-by: Marta Lofstedt <[email protected]> Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
-rw-r--r--src/mesa/main/get.c5
-rw-r--r--src/mesa/main/get_hash_generator.py12
2 files changed, 12 insertions, 5 deletions
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index ce786915508..ec7eb718ef8 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -1232,10 +1232,13 @@ find_value(const char *func, GLenum pname, void **p, union value *v)
* value since it's compatible with GLES2 its entry in table_set[] is at the
* end.
*/
- STATIC_ASSERT(ARRAY_SIZE(table_set) == API_OPENGL_LAST + 2);
+ STATIC_ASSERT(ARRAY_SIZE(table_set) == API_OPENGL_LAST + 3);
if (_mesa_is_gles3(ctx)) {
api = API_OPENGL_LAST + 1;
}
+ if (_mesa_is_gles31(ctx)) {
+ api = API_OPENGL_LAST + 2;
+ }
mask = ARRAY_SIZE(table(api)) - 1;
hash = (pname * prime_factor);
while (1) {
diff --git a/src/mesa/main/get_hash_generator.py b/src/mesa/main/get_hash_generator.py
index b200d197341..c777b782442 100644
--- a/src/mesa/main/get_hash_generator.py
+++ b/src/mesa/main/get_hash_generator.py
@@ -44,7 +44,7 @@ prime_factor = 89
prime_step = 281
hash_table_size = 1024
-gl_apis=set(["GL", "GL_CORE", "GLES", "GLES2", "GLES3"])
+gl_apis=set(["GL", "GL_CORE", "GLES", "GLES2", "GLES3", "GLES31"])
def print_header():
print "typedef const unsigned short table_t[%d];\n" % (hash_table_size)
@@ -68,6 +68,7 @@ api_enum = [
'GLES2',
'GL_CORE',
'GLES3', # Not in gl_api enum in mtypes.h
+ 'GLES31', # Not in gl_api enum in mtypes.h
]
def api_index(api):
@@ -167,10 +168,13 @@ def generate_hash_tables(enum_list, enabled_apis, param_descriptors):
for api in valid_apis:
add_to_hash_table(tables[api], hash_val, len(params))
- # Also add GLES2 items to the GLES3 hash table
+ # Also add GLES2 items to the GLES3 and GLES31 hash table
if api == "GLES2":
add_to_hash_table(tables["GLES3"], hash_val, len(params))
-
+ add_to_hash_table(tables["GLES31"], hash_val, len(params))
+ # Also add GLES3 items to the GLES31 hash table
+ if api == "GLES3":
+ add_to_hash_table(tables["GLES31"], hash_val, len(params))
params.append(["GL_" + enum_name, param[1]])
sorted_tables={}
@@ -206,7 +210,7 @@ if __name__ == '__main__':
die("missing descriptor file (-f)\n")
# generate the code for all APIs
- enabled_apis = set(["GLES", "GLES2", "GLES3", "GL", "GL_CORE"])
+ enabled_apis = set(["GLES", "GLES2", "GLES3", "GLES31", "GL", "GL_CORE"])
try:
api_desc = gl_XML.parse_GL_API(api_desc_file)