summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorChad Versace <chad.versace@linux.intel.com>2012-11-14 08:53:34 -0800
committerChad Versace <chad.versace@linux.intel.com>2012-11-14 13:34:44 -0800
commit5d6bd95a70e4a34f33dcb359ff1f378a8fb93aef (patch)
treeeb0ff8f1518b0e8373f76417dd9078ef24494466 /man
parent65163eda4694d5d6631597dea55c050341d7ea5b (diff)
waffle: Change WAFFLE_CONTEXT_PROFILE behavior for GL
This patch changes the behavior of WAFFLE_CONTEXT_PROFILE when the requested api is WAFFLE_CONTEXT_OPENGL. At commit a40dec1~1 (Nov 12), the behavior was: - For GL < 3.2, require that the profile be WAFFLE_NONE, core, or compat. - For GL >= 3.2, require that the profile be core or compat. This is the behavior released in waffle-1.1. However, the waffle_config manpage documented requirements for WAFFLE_CONTEXT_PROFILE that differed from the implementation. The documented requirements imitated the EGL_KHR_create_context and GLX_ARB_create_context_profile specs. Commit a40dec1 (Nov 12) changed the behavior to match the manpage: - For GL < 3.2, completely ignore the profile value. - For GL >= 3.2, require that the profile be core or compat. This behavior had looser requirements than a40dec1~1 because the profile's value was not validated for GL < 3.2. No waffle release contains a40dec1. The GLX working group, though, can't decide on the exact behavior of profile bit. A later GLX extension, GLX_EXT_create_context_es_profile, is built on top of but breaks backwards compatibility with GLX_ARB_create_context_profile. According to GLX_EXT_create_context_es_profile, the profile *is* signficant for all versions of GL when its value is GLX_CONTEXT_PROFILE_ES_BIT_EXT. Rather than attempt to predict what the GLX working group will decide next regarding the profile bit, Waffle should be as restrictive as possible in its interpretation of WAFFLE_CONTEXT_PROFILE. Being restrictive decreases the possibility that Waffle will accept something that a later GLX extension will reject, a situation that would likely result in modifying the public interface or internal ugliness. This patch changes the behavior to be more sightly more restrictive than a40dec1~1: - For GL < 3.2, require that the profile be WAFFLE_NONE. - For GL >= 3.2, require that the profile be core or compat. It will be straightforward to later loosen these requirements if necessary in response to a new GLX or EGL extension. This patch also updates the waffle_config manpage and wcore_config_attrs unittests accordingly. Even though the current requirements are more restrictive than those released in waffle-1.1, I don't expect this to change to break any clients. The only clients I'm aware of are Piglit, which is not affected by this change, and some experimental unreleased apps. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Diffstat (limited to 'man')
-rw-r--r--man/waffle_config.3.xml16
1 files changed, 11 insertions, 5 deletions
diff --git a/man/waffle_config.3.xml b/man/waffle_config.3.xml
index a0f20e5..9f196a6 100644
--- a/man/waffle_config.3.xml
+++ b/man/waffle_config.3.xml
@@ -320,15 +320,21 @@ struct waffle_config;
</para>
<para>
- If the requested API is <constant>WAFFLE_CONTEXT_OPENGL</constant>,
+ If the requested API is <constant>WAFFLE_CONTEXT_OPENGL</constant>
- then default value is <constant>WAFFLE_CONTEXT_CORE_PROFILE</constant>.
+ and the requested version is less than 3.2,
+
+ then the default and only accepted value is <constant>WAFFLE_NONE</constant>.
+ </para>
+
+ <para>
+ If the requested API is <constant>WAFFLE_CONTEXT_OPENGL</constant>
- If the requested context version is less than 3.2,
+ and the requested version is at least 3.2,
- then the value of <constant>WAFFLE_CONTEXT_PROFILE</constant> is ignored.
+ then default value is <constant>WAFFLE_CONTEXT_CORE_PROFILE</constant>.
- If the requested context version is at least 3.2, then the set of accepted values is
+ The set of accepted values is
<constant>WAFFLE_CONTEXT_PROFILE_CORE</constant> and
<constant>WAFFLE_CONTEXT_PROFILE_COMPATIBILITY</constant>.