diff options
author | Jordan Justen <jordan.l.justen@intel.com> | 2014-05-04 09:37:02 -0700 |
---|---|---|
committer | Jordan Justen <jordan.l.justen@intel.com> | 2014-05-09 00:24:29 -0700 |
commit | b71374f38e7e82b807e199076a213eff19d60715 (patch) | |
tree | e48b57a4a5419f7ec31b3b63d781b191c362ae8f /src | |
parent | bc909f55b5c74bc0ada5cfe36c040dfcdaf6e317 (diff) | |
download | waffle-b71374f38e7e82b807e199076a213eff19d60715.tar.gz |
core: Add helper functions for attrs versions
These functions make it easier to compare against known OpenGL and
OpenGLES versions since all known and expected future versions have a
minor version <= 9.
For example, to check that the attrs struct has a version >= 3.2, use
wcore_config_attrs_version_ge(attrs, 32)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/waffle/core/wcore_config_attrs.c | 48 | ||||
-rw-r--r-- | src/waffle/core/wcore_config_attrs.h | 25 |
2 files changed, 73 insertions, 0 deletions
diff --git a/src/waffle/core/wcore_config_attrs.c b/src/waffle/core/wcore_config_attrs.c index c4b37d9..da80c38 100644 --- a/src/waffle/core/wcore_config_attrs.c +++ b/src/waffle/core/wcore_config_attrs.c @@ -511,3 +511,51 @@ wcore_config_attrs_parse( return true; } + +bool +wcore_config_attrs_version_eq( + const struct wcore_config_attrs *attrs, + int merged_version) +{ + return + attrs->context_major_version == (merged_version / 10) && + attrs->context_minor_version == (merged_version % 10); +} + +bool +wcore_config_attrs_version_gt( + const struct wcore_config_attrs *attrs, + int merged_version) +{ + return + attrs->context_major_version > (merged_version / 10) || + (attrs->context_major_version == (merged_version / 10) && + attrs->context_minor_version > (merged_version % 10)); +} + +bool +wcore_config_attrs_version_ge( + const struct wcore_config_attrs *attrs, + int merged_version) +{ + return + attrs->context_major_version > (merged_version / 10) || + (attrs->context_major_version == (merged_version / 10) && + attrs->context_minor_version >= (merged_version % 10)); +} + +bool +wcore_config_attrs_version_lt( + const struct wcore_config_attrs *attrs, + int merged_version) +{ + return !wcore_config_attrs_version_ge(attrs, merged_version); +} + +bool +wcore_config_attrs_version_le( + const struct wcore_config_attrs *attrs, + int merged_version) +{ + return !wcore_config_attrs_version_gt(attrs, merged_version); +} diff --git a/src/waffle/core/wcore_config_attrs.h b/src/waffle/core/wcore_config_attrs.h index 4021115..4ec2a1d 100644 --- a/src/waffle/core/wcore_config_attrs.h +++ b/src/waffle/core/wcore_config_attrs.h @@ -60,3 +60,28 @@ bool wcore_config_attrs_parse( const int32_t waffle_attrib_list[], struct wcore_config_attrs *attrs); + +bool +wcore_config_attrs_version_eq( + const struct wcore_config_attrs *attrs, + int merged_version); + +bool +wcore_config_attrs_version_gt( + const struct wcore_config_attrs *attrs, + int merged_version); + +bool +wcore_config_attrs_version_ge( + const struct wcore_config_attrs *attrs, + int merged_version); + +bool +wcore_config_attrs_version_lt( + const struct wcore_config_attrs *attrs, + int merged_version); + +bool +wcore_config_attrs_version_le( + const struct wcore_config_attrs *attrs, + int merged_version); |