Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jason Ekstrand d689745303 vk/0.210.0: Rework device features and limits пре 10 година
bin bugzilla_mesa.sh: sort the bugs list by number пре 10 година
docs docs: add missed freedreno features to relnotes пре 10 година
doxygen doxygen: Remove doxygen_sqlite3.db with 'make clean' пре 10 година
include vk/0.210.0: Rework device features and limits пре 10 година
m4 configure.ac: move AC_MSG_RESULT reporting back into the m4 macro пре 10 година
scons scons: Always define __STDC_LIMIT_MACROS. пре 10 година
src vk/0.210.0: Rework device features and limits пре 10 година
.dir-locals.el dir-locals.el: Don't set variables for non-programming modes пре 10 година
.gitattributes Disable autocrlf for Visual Studio project files. пре 17 година
.gitignore .gitignore: Scope Vulkan's generated source files пре 10 година
Android.common.mk android: Always define __STDC_LIMIT_MACROS. пре 10 година
Android.mk egl: android: remove DRM_GRALLOC_TOP hack пре 10 година
CleanSpec.mk android: Depend on gallium_dri from EGL, instead of linking in gallium. пре 10 година
Makefile.am automake: use static llvm for make distcheck пре 10 година
README.intel-vulkan.txt anv: Update the README пре 10 година
SConstruct scons: Don't use bundled C99 headers for VS 2013. пре 11 година
VERSION docs: add 11.2.0-devel release notes template, bump version пре 10 година
autogen.sh autogen.sh: pass --force to autoreconf, quote ORIGDIR пре 10 година
common.py common.py: Fix PEP 8 issues. пре 10 година
configure.ac Merge remote-tracking branch 'mesa-public/master' into vulkan пре 10 година
install-gallium-links.mk targets/radeonsi/vdpau: convert to static/shared pipe-drivers пре 11 година
install-lib-links.mk install-lib-links: remove the .install-lib-links file пре 10 година

README.intel-vulkan.txt

Intel's Open Source Vulkan Driver
Vulkan API Version: 0.170.2
SPIR-V Version: 32

Intro
=====
The Open Source Technology Center 3D graphics team at Intel has
been working on a Vulkan implementation based on the Mesa open source
OpenGL implementation. At this point we're ready to share what we have
with our Khronos friends, in the hope that an early preview will be
useful.

When the Vulkan specification goes public, we will continue the work
in the Mesa public git repository, but in the interim we will share
our progress on the 'vulkan' branch in the 'mesa' repository in
Khronos gitlab.

The Mesa project source and our driver implementation is under the MIT
license [1], but is also covered by the Khronos IP framework as it
pertains to a specification under construction [2].

We welcome all feedback and contibutions, as long as the contributions
are MIT licensed and can be open sourced with the driver.

[1] https://opensource.org/licenses/MIT
[2] https://www.khronos.org/members/ip-framework


Maintainers
===========
Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Jason Ekstrand <jason.ekstrand@intel.com>
Chad Versace <chad.versace@intel.com>


Supported Hardware
==================
- Broadwell, main development focus
- Ivybridge, early experimental support


Supported OS Platforms
======================
- Linux, tested on Fedora 22 with kernel >= 4.1
- X11 with DRI3
- Wayland
- Android
- TODO


Building and Installing
=======================
This driver is intended to be used directly from the build tree. Installing the
driver into a system location is not yet fully supported. If you require support
for system-wide installation, please contact a maintainer.

Throughout the instructions, MESA_TOP refers to the top of the Mesa repository.

First, install the usual dependencies needed to build Mesa.

Fedora:
$ sudo yum builddep mesa
Ubunutu:
$ FINISHME

Next, configure and build. The below commands will build Mesa in release mode.
If you wish to build Mesa in debug mode, add option '--enable-debug' to the
configure command.

$ cd $MESA_TOP
$ autoreconf -vfi
$ ./configure --with-dri-drivers=i965 --with-gallium-drivers=
$ make

To use the driver's libvulkan.so directly, without LunarG's loader, you must set
an environment variable before running your Vulkan application:

$ export LD_LIBRARY_PATH="$MESA_TOP/lib"
$ your-vk-app

Alternatively, to use the driver with LunarG's loader:

$ export VK_ICD_FILENAMES="$MESA_TOP/src/vulkan/anv_icd.json"
$ your-vk-app


File Structure and Naming
=========================
The core code of Intel's Mesa Vulkan driver lives in src/vulkan. Files prefixed
with "gen8" support Broadwell; files prefixed with "gen7" support Ivybridge;
files prefixed with "anv" are common to all hardware generations.

Mesa is an umbrella open source project containing many drivers for multiple
APIs. The codename for Intel's Mesa Vulkan driver is "Anvil", hence the filename
prefix "anv".


Feature Status
==============
The driver is still a work-in-progress. We do our best to keep the below list of
features up-to-date.

Supported Features:
- Index buffers, instanced draw, indirect draw
- Nested command buffers
- Consumes SPIR-V (no GLSL "backdoor")
- Fragment, vertex, and geometry shaders
- Uniform buffers, sampled images, dynamic uniform buffers
- Push constants (to the extent they're supported by SPIR-V v32)
- Color, depth and stencil attachments
- 1D, 2D, 3D textures, texture arrays
- Memory barrier
- Optionally integrates with LunarGs loader
- WSI extension for X11
- Fences
- Most copy/blit commands for color and depth buffers,
vkCmdCopyImageToBuffer for stencil buffers
- Occlution query and timestamps

Unsupported Features:
- Shader storage buffers
- Shader specialization
- Storage images
- Compute and tesselation stages
- Sparse resources
- MSAA
- VkkSemaphore and VkEvent
- vkCmdClear commands
- Input attachments