[Mesa-dev] [PATCH] docs: Document spec quoting practices
Ian Romanick
idr at freedesktop.org
Wed May 18 20:12:29 UTC 2016
From: Ian Romanick <ian.d.romanick at intel.com>
v2: Remove extra "ES" from "GLSL ES ES". Noticed by Chris Forbes.
v3: Many updates based on (very old) feedback from Paul Berry and (more
recent) observation of what is most commonly done in the code base.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: Brian Paul <brianp at vmware.com>
---
docs/devinfo.html | 84 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 76 insertions(+), 8 deletions(-)
diff --git a/docs/devinfo.html b/docs/devinfo.html
index 8ebf80f..fc0001b 100644
--- a/docs/devinfo.html
+++ b/docs/devinfo.html
@@ -81,18 +81,86 @@ Multi-line comment:
* never used before, allocate a buffer object now.
*/
</pre>
-We try to quote the OpenGL specification where prudent:
+
+<p id="spec_quotes">
+It is often useful to quote sections from relevant specifications near code
+that implements part of the spec. In order to make it easier to find such
+quotations in the code (via grep and friends) and to find the quoted text in
+the specifications, use one of the following formats.
+</p>
+
+<p>
+Text quoted from the core OpenGL, OpenGL ES, GLSL, GLSL ES, GLX, or EGL
+specifications should be formatted as:
+</p>
+
+<pre>
+ /* Section ##.##.## (Section Name) of the OpenGL #.# spec says:
+ *
+ * "Some quoted text from the specificiation. More quoted text. Yet
+ * more quoted text."
+ */
+</pre>
+
+<p>
+Quotations from the GLSL or GLSL ES specifications should be attributed to
+"GLSL" or "GLSL ES", respectively (i.e., <em>not</em> the full name "OpenGL
+Shading Language" or "OpenGL ES Shading Language"). Note: There are a total
+of 5 spaces between the <tt>*</tt> and the <tt>"</tt> starting the quotation.
+</p>
+
+<p>
+The practice used to be to include the page number in the quotation. This
+posed several problems. First, the page number printed on the page and the
+page number in the specification PDF never match. For this reason both page
+numbers were quoted, and it was very annoying. Second, from version to
+version of the specification the page number could change quite
+significantly. This made it difficult to detect when the specification had
+changed. Differences between the Core Profile and Compatibility Profile
+specifications made this issue even worse.
+</p>
+
+<p>
+Spec quotations from OpenGL 3.2 or later should also include the Profile being
+quoted. For example, a quote from the Core Profile spec would read:
+</p>
+
+<pre>
+ /* Section ##.##.## (Section Name) of the OpenGL #.# (Core Profile) spec
+ * says:
+ *
+ * "Some quoted text from the specificiation. More quoted text. Yet
+ * more quoted text."
+ */
+</pre>
+
+<p>
+Text quoted from an extension specifications:
+</p>
+
+<pre>
+ /* The EXT_foo_bar spec says:
+ *
+ * "Some quoted text from the specificiation"
+ */
+</pre>
+
+<p>
+Since extension specifications are generally small, it is usually easy enough
+to find the quoted text without including a section number. One exception to
+that is the issues section. Even careful spec readers may miss things in the
+issues section, so it is helpful to draw attention to quotations from the
+issues.
+</p>
+
<pre>
- /* Page 38 of the PDF of the OpenGL ES 3.0 spec says:
+ /* The EXT_foo_bar spec says:
*
- * "An INVALID_OPERATION error is generated for any of the following
- * conditions:
+ * "Issues:
*
- * * <length> is zero."
+ * (#) Got an issue?
*
- * Additionally, page 94 of the PDF of the OpenGL 4.5 core spec
- * (30.10.2014) also says this, so it's no longer allowed for desktop GL,
- * either.
+ * RESOLVED: Have a tissue."
*/
</pre>
Function comment example:
--
2.5.5
More information about the mesa-dev
mailing list