46 lines
1.4 KiB
ReStructuredText
46 lines
1.4 KiB
ReStructuredText
|
Zink
|
||
|
====
|
||
|
|
||
|
Overview
|
||
|
--------
|
||
|
|
||
|
The Zink driver is a Gallium driver that emits Vulkan API calls instead
|
||
|
of targeting a specific GPU architecture. This can be used to get full
|
||
|
desktop OpenGL support on devices that only support Vulkan.
|
||
|
|
||
|
Debugging
|
||
|
---------
|
||
|
|
||
|
There's a few tools that are useful for debugging Zink, like this environment
|
||
|
variable:
|
||
|
|
||
|
.. envvar:: ZINK_DEBUG <flags> ("")
|
||
|
|
||
|
``nir``
|
||
|
Print the NIR form of all shaders to stderr.
|
||
|
``spirv``
|
||
|
Write the binary SPIR-V form of all compiled shaders to a file in the
|
||
|
current directory, and print a message with the filename to stderr.
|
||
|
``tgsi``
|
||
|
Print the TGSI form of TGSI shaders to stderr.
|
||
|
|
||
|
Vulkan Validation Layers
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
Another useful tool for debugging is the `Vulkan Validation Layers
|
||
|
<https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/README.md>`_.
|
||
|
|
||
|
The validation layers effectively insert extra checking between Zink and the
|
||
|
Vulkan driver, pointing out incorrect usage of the Vulkan API. The layers can
|
||
|
be enabled by setting the environment variable :envvar:`VK_INSTANCE_LAYERS` to
|
||
|
"VK_LAYER_KHRONOS_validation". You can read more about the Validation Layers
|
||
|
in the link above.
|
||
|
|
||
|
IRC
|
||
|
---
|
||
|
|
||
|
In order to make things a bit easier to follow, we have decided to create our
|
||
|
own IRC channel. If you're interested in contributing, or have any technical
|
||
|
questions, don't hesitate to visit `#zink on FreeNode
|
||
|
<irc://irc.freenode.net/zink>`_ and say hi!
|