diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2018-01-08 05:41:34 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2018-01-08 05:41:34 +0000 |
commit | c00801de923e125863aaf8180439d59d610b2517 (patch) | |
tree | e2896aa2785f3cf2151aeeb3c95fb5cc09a2fe02 /lib/mesa/docs/codingstyle.html | |
parent | be30e6efb92db21299b936c0e068e7088941e9c9 (diff) |
Revert to Mesa 13.0.6 again.
Corruption has again been reported on Intel hardware running Xorg with
the modesetting driver (which uses OpenGL based acceleration instead of
SNA acceleration the intel driver defaults to).
Reported in various forms on Sandy Bridge (X220), Ivy Bridge (X230) and
Haswell (X240). Confirmed to not occur with the intel driver but the
xserver was changed to default to the modesetting driver on >= gen4
hardware (except Ironlake).
One means of triggering this is to open a large pdf with xpdf on an
idle machine and highlight a section of the document.
There have been reports of gpu hangs on gen4 intel hardware
(T500 with GM45, X61 with 965GM) when starting Xorg as well.
Diffstat (limited to 'lib/mesa/docs/codingstyle.html')
-rw-r--r-- | lib/mesa/docs/codingstyle.html | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/lib/mesa/docs/codingstyle.html b/lib/mesa/docs/codingstyle.html deleted file mode 100644 index 7e9f470a1..000000000 --- a/lib/mesa/docs/codingstyle.html +++ /dev/null @@ -1,142 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html lang="en"> -<head> - <meta http-equiv="content-type" content="text/html; charset=utf-8"> - <title>Coding Style</title> - <link rel="stylesheet" type="text/css" href="mesa.css"> -</head> -<body> - -<div class="header"> - <h1>The Mesa 3D Graphics Library</h1> -</div> - -<iframe src="contents.html"></iframe> -<div class="content"> - -<h1>Coding Style</h1> - -<p> -Mesa is over 20 years old and the coding style has evolved over time. -Some old parts use a style that's a bit out of date. - -Different sections of mesa can use different coding style as set in the local -EditorConfig (.editorconfig) and/or Emacs (.dir-locals.el) file. - -Alternatively the following is applicable. - -If the guidelines below don't cover something, try following the format of -existing, neighboring code. -</p> - -<p> -Basic formatting guidelines -</p> - -<ul> -<li>3-space indentation, no tabs. -<li>Limit lines to 78 or fewer characters. The idea is to prevent line -wrapping in 80-column editors and terminals. There are exceptions, such -as if you're defining a large, static table of information. -<li>Opening braces go on the same line as the if/for/while statement. -For example: -<pre> - if (condition) { - foo; - } else { - bar; - } -</pre> - -<li>Put a space before/after operators. For example, <tt>a = b + c;</tt> -and not <tt>a=b+c;</tt> - -<li>This GNU indent command generally does the right thing for formatting: -<pre> - indent -br -i3 -npcs --no-tabs infile.c -o outfile.c -</pre> - -<li>Use comments wherever you think it would be helpful for other developers. -Several specific cases and style examples follow. Note that we roughly -follow <a href="https://www.stack.nl/~dimitri/doxygen/">Doxygen</a> conventions. -<br> -<br> -Single-line comments: -<pre> - /* null-out pointer to prevent dangling reference below */ - bufferObj = NULL; -</pre> -Or, -<pre> - bufferObj = NULL; /* prevent dangling reference below */ -</pre> -Multi-line comment: -<pre> - /* If this is a new buffer object id, or one which was generated but - * never used before, allocate a buffer object now. - */ -</pre> -We try to quote the OpenGL specification where prudent: -<pre> - /* Page 38 of the PDF of the OpenGL ES 3.0 spec says: - * - * "An INVALID_OPERATION error is generated for any of the following - * conditions: - * - * * <length> is zero." - * - * 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. - */ -</pre> -Function comment example: -<pre> - /** - * Create and initialize a new buffer object. Called via the - * ctx->Driver.CreateObject() driver callback function. - * \param name integer name of the object - * \param type one of GL_FOO, GL_BAR, etc. - * \return pointer to new object or NULL if error - */ - struct gl_object * - _mesa_create_object(GLuint name, GLenum type) - { - /* function body */ - } -</pre> - -<li>Put the function return type and qualifiers on one line and the function -name and parameters on the next, as seen above. This makes it easy to use -<code>grep ^function_name dir/*</code> to find function definitions. Also, -the opening brace goes on the next line by itself (see above.) - -<li>Function names follow various conventions depending on the type of function: -<pre> - glFooBar() - a public GL entry point (in glapi_dispatch.c) - _mesa_FooBar() - the internal immediate mode function - save_FooBar() - retained mode (display list) function in dlist.c - foo_bar() - a static (private) function - _mesa_foo_bar() - an internal non-static Mesa function -</pre> - -<li>Constants, macros and enum names are ALL_UPPERCASE, with _ between -words. -<li>Mesa usually uses camel case for local variables (Ex: "localVarname") -while gallium typically uses underscores (Ex: "local_var_name"). -<li>Global variables are almost never used because Mesa should be thread-safe. - -<li>Booleans. Places that are not directly visible to the GL API -should prefer the use of <tt>bool</tt>, <tt>true</tt>, and -<tt>false</tt> over <tt>GLboolean</tt>, <tt>GL_TRUE</tt>, and -<tt>GL_FALSE</tt>. In C code, this may mean that -<tt>#include <stdbool.h></tt> needs to be added. The -<tt>try_emit_</tt>* methods in src/mesa/program/ir_to_mesa.cpp and -src/mesa/state_tracker/st_glsl_to_tgsi.cpp can serve as examples. - -</ul> -</p> - -</div> -</body> -</html> |