respectively, (or later) should work. On Windows with MinGW, install
Flex and Bison with:
- ::
+ .. code-block:: console
mingw-get install msys-flex msys-bison
Here are some common ways to retrieve most/all of the dependencies based
on the packaging tool used by your distro.
-::
+.. code-block:: console
zypper source-install --build-deps-only Mesa # openSUSE/SLED/SLES
yum-builddep mesa # yum Fedora, OpenSuse(?)
The general approach is:
-::
+.. code-block:: console
meson builddir/
ninja -C builddir/
On Windows you can also use the Visual Studio backend
-::
+.. code-block:: console
meson builddir --backend=vs
cd builddir
``lib64/``) directory. You'll see a set of library files similar to
this:
-::
+.. code-block:: console
lrwxrwxrwx 1 brian users 10 Mar 26 07:53 libGL.so -> libGL.so.1*
lrwxrwxrwx 1 brian users 19 Mar 26 07:53 libGL.so.1 -> libGL.so.1.5.060100*
If you built the DRI hardware drivers, you'll also see the DRI drivers:
-::
+.. code-block:: console
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i915_dri.so
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i965_dri.so
For example, compiling and linking a GLUT application can be done with:
-::
+.. code-block:: console
gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo
Configure and build Mesa with something like:
-::
+.. code-block:: console
meson builddir -Dosmesa=true -Dgallium-drivers=swrast -Ddri-drivers=[] -Dvulkan-drivers=[] -Dprefix=$PWD/builddir/install
ninja -C builddir install
then they should be squashed together. The commit messages and the
"``cherry picked from``"-tags must be preserved.
- ::
+ .. code-block:: console
git show b10859ec41d09c57663a258f43fe57c12332698e
To setup the branchpoint:
-::
+.. code-block:: console
git checkout master # make sure we're in master first
git tag -s X.Y-branchpoint -m "Mesa X.Y branchpoint"
Here is one solution:
-::
+.. code-block:: console
__glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"'
__es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
Start the release process.
-::
+.. code-block:: console
../relative/path/to/release.sh . # append --dist if you've already done distcheck above
Something like the following steps will do the trick:
-::
+.. code-block:: console
git cherry-pick -x X.Y~1
git cherry-pick -x X.Y
Then run the
-::
+.. code-block:: console
./bin/post_version.py X.Y.Z
a Git commit automatically. Check that everything looks correct and
push:
-::
+.. code-block:: console
git push origin master X.Y
#. Install the Git software on your computer if needed.
#. Get an initial, local copy of the repository with:
- ::
+ .. code-block:: console
git clone https://gitlab.freedesktop.org/mesa/mesa.git
#. Later, you can update your tree from the master repository with:
- ::
+ .. code-block:: console
git pull origin
#. If you also want the Mesa demos/tests repository:
- ::
+ .. code-block:: console
git clone https://gitlab.freedesktop.org/mesa/demos.git
to push over HTTPS if ssh does not suit your needs. In this case, create
a token, and put it in the URL as shown here:
-::
+.. code-block:: console
git remote set-url --push origin https://USER:TOKEN@gitlab.freedesktop.org/your~user~name/mesa.git
want to enable automatic CR/LF conversion in your local copy of the
repository:
-::
+.. code-block:: console
git config --global core.autocrlf true
If you try to do a pull by just saying\ ``git pull`` and Git
complains that you have not specified a branch, try:
- ::
+ .. code-block:: console
git config branch.master.remote origin
git config branch.master.merge master
If it has been awhile since you've done the initial clone, try
- ::
+ .. code-block:: console
git pull
Make your changes and use
- ::
+ .. code-block:: console
git add <files to commit>
git commit
To avoid this,
- ::
+ .. code-block:: console
git pull --rebase
git push
If you want the rebase action to be the default action, then
- ::
+ .. code-block:: console
git config branch.master.rebase true
git config --global branch.autosetuprebase=always
Here's an example of using the compiler to compile a vertex shader and
emit GL_ARB_vertex_program-style instructions:
-::
+.. code-block:: console
src/compiler/glsl/glsl_compiler --version XXX --dump-ast myshader.vert
tests on each commit. Assuming your branch is based off
``origin/master``, you can run:
-::
+.. code-block:: console
$ git rebase --interactive --exec "meson test -C build/" origin/master
value is a positive real number typically in the range 1.0 to 2.5. The
defaults are all 1.0, effectively disabling gamma correction. Examples:
-::
+.. code-block:: console
- % export MESA_GAMMA="2.3 2.2 2.4" // separate R,G,B values
- % export MESA_GAMMA="2.0" // same gamma for R,G,B
+ % export MESA_GAMMA="2.3 2.2 2.4" # separate R,G,B values
+ % export MESA_GAMMA="2.0" # same gamma for R,G,B
The ``demos/gamma.c`` program in mesa/demos repository may help you to
determine reasonable gamma value for your display. With correct gamma
if your X server has overlay support you can test for the
SERVER_OVERLAY_VISUALS property:
-::
+.. code-block:: console
xprop -root | grep SERVER_OVERLAY_VISUALS