EXTRA_API_ES2,
EXTRA_API_ES3,
EXTRA_API_ES31,
+ EXTRA_API_ES32,
EXTRA_NEW_BUFFERS,
EXTRA_NEW_FRAG_CLAMP,
EXTRA_VALID_DRAW_BUFFER,
EXTRA_END
};
+static const int extra_ES32[] = {
+ EXT(ARB_ES3_2_compatibility),
+ EXTRA_API_ES32,
+ EXTRA_END
+};
+
EXTRA_EXT(ARB_texture_cube_map);
EXTRA_EXT(EXT_texture_array);
EXTRA_EXT(NV_fog_distance);
if (_mesa_is_gles31(ctx))
api_found = GL_TRUE;
break;
+ case EXTRA_API_ES32:
+ api_check = GL_TRUE;
+ if (_mesa_is_gles32(ctx))
+ api_found = GL_TRUE;
+ break;
case EXTRA_API_GL:
api_check = GL_TRUE;
if (_mesa_is_desktop_gl(ctx))
* 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 + 3);
- if (_mesa_is_gles3(ctx)) {
- api = API_OPENGL_LAST + 1;
- }
- if (_mesa_is_gles31(ctx)) {
- api = API_OPENGL_LAST + 2;
+ STATIC_ASSERT(ARRAY_SIZE(table_set) == API_OPENGL_LAST + 4);
+ if (ctx->API == API_OPENGLES2) {
+ if (ctx->Version >= 32)
+ api = API_OPENGL_LAST + 3;
+ else if (ctx->Version >= 31)
+ api = API_OPENGL_LAST + 2;
+ else if (ctx->Version >= 30)
+ api = API_OPENGL_LAST + 1;
}
mask = ARRAY_SIZE(table(api)) - 1;
hash = (pname * prime_factor);
prime_step = 281
hash_table_size = 1024
-gl_apis=set(["GL", "GL_CORE", "GLES", "GLES2", "GLES3", "GLES31"])
+gl_apis=set(["GL", "GL_CORE", "GLES", "GLES2", "GLES3", "GLES31", "GLES32"])
def print_header():
print "typedef const unsigned short table_t[%d];\n" % (hash_table_size)
'GL_CORE',
'GLES3', # Not in gl_api enum in mtypes.h
'GLES31', # Not in gl_api enum in mtypes.h
+ 'GLES32', # Not in gl_api enum in mtypes.h
]
def api_index(api):
for api in valid_apis:
add_to_hash_table(tables[api], hash_val, len(params))
- # Also add GLES2 items to the GLES3 and GLES31 hash table
+ # Also add GLES2 items to the GLES3+ hash tables
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
+ add_to_hash_table(tables["GLES32"], hash_val, len(params))
+ # Also add GLES3 items to the GLES31+ hash tables
if api == "GLES3":
add_to_hash_table(tables["GLES31"], hash_val, len(params))
+ add_to_hash_table(tables["GLES32"], hash_val, len(params))
+ # Also add GLES31 items to the GLES32+ hash tables
+ if api == "GLES31":
+ add_to_hash_table(tables["GLES32"], hash_val, len(params))
params.append(["GL_" + enum_name, param[1]])
sorted_tables={}
die("missing descriptor file (-f)\n")
# generate the code for all APIs
- enabled_apis = set(["GLES", "GLES2", "GLES3", "GLES31", "GL", "GL_CORE"])
+ enabled_apis = set(["GLES", "GLES2", "GLES3", "GLES31", "GLES32",
+ "GL", "GL_CORE"])
try:
api_desc = gl_XML.parse_GL_API(api_desc_file)
[ "PRIMITIVE_BOUNDING_BOX_ARB", "CONTEXT_FLOAT8(PrimitiveBoundingBox), extra_OES_primitive_bounding_box" ],
]},
+{ "apis": ["GL_CORE", "GLES32"], "params": [
+ [ "MULTISAMPLE_LINE_WIDTH_RANGE_ARB", "CONTEXT_FLOAT2(Const.MinLineWidthAA), extra_ES32" ],
+ [ "MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB", "CONTEXT_FLOAT(Const.LineWidthGranularity), extra_ES32" ],
+]},
+
# Remaining enums are only in OpenGL
{ "apis": ["GL", "GL_CORE"], "params": [
[ "ACCUM_RED_BITS", "BUFFER_INT(Visual.accumRedBits), NO_EXTRA" ],