mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-03 13:00:37 +01:00
mesa/extensions: Create _mesa_extension_supported()
Create a function which determines if an extension is supported in the
current context.
v2: Use common variable names (Emil)
Insert new line between variables and return statement (Chad)
Rename api_set variable to api_bit (Chad)
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
This commit is contained in:
parent
f47df8f729
commit
f6a818e76d
1 changed files with 18 additions and 0 deletions
|
|
@ -425,6 +425,24 @@ _mesa_init_extensions(struct gl_extensions *extensions)
|
|||
typedef unsigned short extension_index;
|
||||
|
||||
|
||||
/**
|
||||
* Given an extension enum, return whether or not the extension is supported
|
||||
* dependent on the following factors:
|
||||
* There's driver support and the OpenGL/ES version is at least that
|
||||
* specified in the extension_table.
|
||||
*/
|
||||
static inline bool
|
||||
_mesa_extension_supported(const struct gl_context *ctx, extension_index i)
|
||||
{
|
||||
const bool *base = (bool *) &ctx->Extensions;
|
||||
const struct extension *ext = extension_table + i;
|
||||
const uint8_t api_bit = 1 << ctx->API;
|
||||
|
||||
return (ext->api_set & api_bit) &&
|
||||
(ctx->Version >= ext->version[ctx->API]) &&
|
||||
base[ext->offset];
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare two entries of the extensions table. Sorts first by year,
|
||||
* then by name.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue