glsl/pp: Remove sl_pp_get_extension_state().

Parse extension tokens to track current state of extension enables.
This commit is contained in:
Michal Krol 2010-02-17 11:18:03 +01:00
parent 27a68bd14a
commit cb66e9f2b4
3 changed files with 0 additions and 53 deletions

View file

@ -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 {

View file

@ -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;

View file

@ -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,