mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
glsl/pp: Remove sl_pp_get_extension_state().
Parse extension tokens to track current state of extension enables.
This commit is contained in:
parent
27a68bd14a
commit
cb66e9f2b4
3 changed files with 0 additions and 53 deletions
|
|
@ -43,16 +43,8 @@
|
|||
|
||||
#define SL_PP_MAX_PREDEFINED 16
|
||||
|
||||
enum sl_pp_extension_state {
|
||||
SL_PP_EXTENSION_STATE_ENABLED,
|
||||
SL_PP_EXTENSION_STATE_DISABLED,
|
||||
SL_PP_EXTENSION_STATE_WARN,
|
||||
SL_PP_EXTENSION_STATE_REQUIRE
|
||||
};
|
||||
|
||||
struct sl_pp_extension {
|
||||
int name; /*< GL_VENDOR_extension_name */
|
||||
enum sl_pp_extension_state state;
|
||||
};
|
||||
|
||||
struct sl_pp_predefined {
|
||||
|
|
|
|||
|
|
@ -53,8 +53,6 @@ sl_pp_context_add_extension(struct sl_pp_context *context,
|
|||
return -1;
|
||||
}
|
||||
|
||||
ext.state = SL_PP_EXTENSION_STATE_DISABLED;
|
||||
|
||||
context->extensions[context->num_extensions++] = ext;
|
||||
|
||||
assert(context->num_extensions <= sizeof(context->extensions));
|
||||
|
|
@ -63,23 +61,6 @@ sl_pp_context_add_extension(struct sl_pp_context *context,
|
|||
}
|
||||
|
||||
|
||||
enum sl_pp_extension_state
|
||||
sl_pp_get_extension_state(const struct sl_pp_context *context,
|
||||
int extension_name)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < context->num_extensions; i++) {
|
||||
if (extension_name == context->extensions[i].name) {
|
||||
return context->extensions[i].state;
|
||||
}
|
||||
}
|
||||
|
||||
assert(0 && "unknown extension");
|
||||
return SL_PP_EXTENSION_STATE_DISABLED;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Process a "#extension name: behavior" directive.
|
||||
*/
|
||||
|
|
@ -93,7 +74,6 @@ sl_pp_process_extension(struct sl_pp_context *context,
|
|||
int extension_name = -1;
|
||||
int behavior = -1;
|
||||
struct sl_pp_token_info out;
|
||||
struct sl_pp_extension *extension = NULL;
|
||||
|
||||
/* Grab the extension name. */
|
||||
if (first < last && input[first].token == SL_PP_IDENTIFIER) {
|
||||
|
|
@ -115,7 +95,6 @@ sl_pp_process_extension(struct sl_pp_context *context,
|
|||
for (i = 0; i < context->num_extensions; i++) {
|
||||
if (extension_name == context->extensions[i].name) {
|
||||
out.data.extension = extension_name;
|
||||
extension = &context->extensions[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -155,11 +134,6 @@ sl_pp_process_extension(struct sl_pp_context *context,
|
|||
return -1;
|
||||
}
|
||||
out.token = SL_PP_EXTENSION_REQUIRE;
|
||||
|
||||
if (extension_name != context->dict.all) {
|
||||
assert(extension);
|
||||
extension->state = SL_PP_EXTENSION_STATE_REQUIRE;
|
||||
}
|
||||
} else if (behavior == context->dict.enable) {
|
||||
if (out.data.extension == -1) {
|
||||
/* Warning: the extension cannot be enabled. */
|
||||
|
|
@ -170,33 +144,18 @@ sl_pp_process_extension(struct sl_pp_context *context,
|
|||
return -1;
|
||||
}
|
||||
out.token = SL_PP_EXTENSION_ENABLE;
|
||||
|
||||
if (extension_name != context->dict.all) {
|
||||
assert(extension);
|
||||
extension->state = SL_PP_EXTENSION_STATE_ENABLED;
|
||||
}
|
||||
} else if (behavior == context->dict.warn) {
|
||||
if (out.data.extension == -1) {
|
||||
/* Warning: the extension is not supported. */
|
||||
return 0;
|
||||
}
|
||||
out.token = SL_PP_EXTENSION_WARN;
|
||||
|
||||
if (extension_name != context->dict.all) {
|
||||
assert(extension);
|
||||
extension->state = SL_PP_EXTENSION_STATE_WARN;
|
||||
}
|
||||
} else if (behavior == context->dict.disable) {
|
||||
if (out.data.extension == -1) {
|
||||
/* Warning: the extension is not supported. */
|
||||
return 0;
|
||||
}
|
||||
out.token = SL_PP_EXTENSION_DISABLE;
|
||||
|
||||
if (extension_name != context->dict.all) {
|
||||
assert(extension);
|
||||
extension->state = SL_PP_EXTENSION_STATE_DISABLED;
|
||||
}
|
||||
} else {
|
||||
strcpy(context->error_msg, "unrecognised behavior name");
|
||||
return -1;
|
||||
|
|
|
|||
|
|
@ -55,10 +55,6 @@ int
|
|||
sl_pp_context_add_extension(struct sl_pp_context *context,
|
||||
const char *name);
|
||||
|
||||
enum sl_pp_extension_state
|
||||
sl_pp_get_extension_state(const struct sl_pp_context *context,
|
||||
int extension_name);
|
||||
|
||||
int
|
||||
sl_pp_context_add_predefined(struct sl_pp_context *context,
|
||||
const char *name,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue