glfw/CONTRIBUTING.md

83 lines
3.0 KiB
Markdown
Raw Normal View History

2015-07-06 16:17:19 +00:00
# Contribution Guide
This file is a work in progress and you can report errors or submit patches for
it the same as any other file.
## Reporting a bug
If GLFW is behaving unexpectedly, make sure you have set an error callback.
GLFW will often tell you the cause of an issue via this callback.
If GLFW is crashing or triggering asserts, make sure that all your object
handles and other pointers are valid.
Always include the __operating system name and version__ (i.e. `Windows
7 64-bit`). If you are using an official release of GLFW, include the __GLFW
release version__ (i.e. `3.1.2`), otherwise include the __GLFW commit ID__ (i.e.
`3795d78b14ef06008889cc422a1fb8d642597751`) from Git. If possible, please also
include the __GLFW version string__ (`"3.2.0 X11 EGL clock_gettime /dev/js XI
Xf86vm"`), as returned by glfwGetVersionString.
### Reporting a compile or link bug
In addition to the information above, always include the complete build log.
Issue posts are editable so it can always be shortened later.
### Reporting a context creation bug
__Note:__ Windows ships with graphics drivers that do not support OpenGL. If
GLFW says that your machine lacks support for OpenGL, it very likely does.
__Note:__ AMD only supports OpenGL ES on Windows via EGL, which is not enabled
in GLFW by default. You need to enable EGL when compiling GLFW to use this.
The `glfwinfo` tool lets you request any kind of context and framebuffer format
supported by the GLFW API without having to recompile. If context creation
fails in your application, please verify that it also fails with this tool
before reporting it as a bug.
In addition to the information above, always include the __GPU model and driver
version__ (i.e. `GeForce GTX660 with 352.79`) when reporting this kind of bug.
### Reporting a monitor or video mode bug
__Note:__ On headless systems on some platforms, no monitors are reported. This
causes glfwGetPrimaryMonitor to return `NULL`, which not all applications are
prepared for.
The `monitors` tool lists all information about connected monitors made
available by GLFW.
In addition to the information above, if possible please also include the output
of the `monitors` tool when reporting this kind of bug.
### Reporting a window event bug
The `events` tool prints all information provided to every callback supported by
GLFW as events occur. Each event is listed with the time and a unique number
to make discussions about event logs easier. The tool has command-line options
for creating multiple windows and full screen windows.
### Reporting a documentation bug
If you found the error in the generated documentation then it's fine to just
link to that webpage. You don't need to figure out which documentation source
file the text comes from.
## Contributing a bug fix
There should be text here, but there isn't.
## Contributing a feature
This is not (yet) the text you are looking for.