From 392c083377fca82ebfbdc559a6a0c6933df422db Mon Sep 17 00:00:00 2001
From: Erik Faye-Lund
The problem is a modern OpenGL driver will return a very long string
-for the glGetString(GL_EXTENSIONS) query and if the application
+for the
-The work-around is to set the MESA_EXTENSION_MAX_YEAR environment variable
-to the approximate release year of the game.
-This will cause the glGetString(GL_EXTENSIONS) query to only report extensions
-older than the given year.
+The work-around is to set the
diff --git a/docs/codingstyle.html b/docs/codingstyle.html
index e8832e7967c..aa1e09cba32 100644
--- a/docs/codingstyle.html
+++ b/docs/codingstyle.html
@@ -120,10 +120,11 @@ the opening brace goes on the next line by itself (see above.)
_mesa_foo_bar() - an internal non-static Mesa function
-glGetString(GL_EXTENSIONS)
query and if the application
naively copies the string into a fixed-size buffer it can overflow the
buffer and crash the application.
MESA_EXTENSION_MAX_YEAR
+environment variable to the approximate release year of the game.
+This will cause the glGetString(GL_EXTENSIONS)
query to only report
+extensions older than the given year.
ALL_UPPERCASE
, with _
+between words.
+localVarname
) while gallium typically uses underscores (Ex:
+local_var_name
).
bool
, true
, and
false
over GLboolean
, GL_TRUE
, and
GL_FALSE
. In C code, this may mean that
#include <stdbool.h>
needs to be added. The
-try_emit_
* methods in src/mesa/program/ir_to_mesa.cpp and
-src/mesa/state_tracker/st_glsl_to_tgsi.cpp can serve as examples.
+try_emit_
* methods in src/mesa/program/ir_to_mesa.cpp
+and src/mesa/state_tracker/st_glsl_to_tgsi.cpp
can serve as
+examples.
diff --git a/docs/debugging.html b/docs/debugging.html
index bd21e5cab4d..c6f69fe162d 100644
--- a/docs/debugging.html
+++ b/docs/debugging.html
@@ -20,9 +20,9 @@
Normally Mesa (and OpenGL) records but does not notify the user of
errors. It is up to the application to call
glGetError
to check for errors. Mesa supports an
- environment variable, MESA_DEBUG, to help with debugging. If
- MESA_DEBUG is defined, a message will be printed to stdout whenever
- an error occurs.
+ environment variable, MESA_DEBUG
, to help with debugging. If
+ MESA_DEBUG
is defined, a message will be printed to stdout
+ whenever an error occurs.
@@ -30,12 +30,12 @@
(--buildtype debug
for meson, build=debug
for scons).
- In your debugger you can set a breakpoint in _mesa_error() to trap Mesa
- errors.
+ In your debugger you can set a breakpoint in _mesa_error()
to trap
+ Mesa errors.
There is a display list printing/debugging facility. See the end of
- src/dlist.c for details.
+ src/dlist.c
for details.
glext.h
doesn't define the extension, edit
+ include/GL/gl.h
and add code like this:
#ifndef GL_EXT_the_extension_name #define GL_EXT_the_extension_name 1 @@ -41,18 +41,18 @@ To add a new GL extension to Mesa you have to do at least the following.
src/mapi/glapi/gen/
directory, add the new extension
+ functions and enums to the gl_API.xml
file.
Then, a bunch of source files must be regenerated by executing the
corresponding Python scripts.
gl_extensions
struct in mtypes.h
- if the extension requires driver capabilities not already exposed by
- another extension.
+ Add a new entry to the gl_extensions
struct in
+ mtypes.h
if the extension requires driver capabilities not
+ already exposed by another extension.
src/mesa/main/extensions_table.h
file.
_mesa_has_##name_str()
function
+ defined in src/mesa/main/extensions.h
.
dispatch_sanity.cpp
should be updated with details about the new extensions functions. These
- tests are run using 'meson test'
+ tests are run using meson test
.
-Be sure you're requesting a depth buffered-visual. If you set the MESA_DEBUG
-environment variable it will warn you about trying to enable depth testing
-when you don't have a depth buffer.
+Be sure you're requesting a depth buffered-visual. If you set the
+MESA_DEBUG
environment variable it will warn you about trying
+to enable depth testing when you don't have a depth buffer.
Specifically, make sure glutInitDisplayMode
is being called
with GLUT_DEPTH
or glXChooseVisual
is being
-called with a non-zero value for GLX_DEPTH_SIZE.
+called with a non-zero value for GLX_DEPTH_SIZE
.
This discussion applies to stencil buffers, accumulation buffers and alpha channels too.
-glGetString()
always return NULL
?
Be sure you have an active/current OpenGL rendering context before
-calling glGetString.
+calling glGetString
.
GL_POINTS
and GL_LINES
don't touch the
+right pixels
-If you're trying to draw a filled region by using GL_POINTS or GL_LINES
-and seeing holes or gaps it's because of a float-to-int rounding problem.
-But this is not a bug.
-See Appendix H of the OpenGL Programming Guide - "OpenGL Correctness Tips".
-Basically, applying a translation of (0.375, 0.375, 0.0) to your coordinates
-will fix the problem.
+If you're trying to draw a filled region by using GL_POINTS
or
+GL_LINES
and seeing holes or gaps it's because of a float-to-int
+rounding problem. But this is not a bug. See Appendix H of the OpenGL
+Programming Guide - "OpenGL Correctness Tips". Basically, applying a
+translation of (0.375, 0.375, 0.0) to your coordinates will fix the problem.
GL_EXT_texture_compression_s3tc
implemented in
+Mesa?Oh but it is! Prior to 2nd October 2017, the Mesa project did not include s3tc support due to intellectual property (IP) and/or patent issues around the s3tc diff --git a/docs/helpwanted.html b/docs/helpwanted.html index 44255902a72..5e0684bd6c0 100644 --- a/docs/helpwanted.html +++ b/docs/helpwanted.html @@ -48,7 +48,8 @@ You can find some further To-do lists here:
features.txt
- Status of OpenGL 3.x / 4.x features in
+ Mesa.
@@ -56,9 +57,9 @@ You can find some further To-do lists here:
r600g
- Driver for ATI/AMD R600 - Northern Island.
r300g
- Driver for ATI R300 - R500.
-- 2.30.2