summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* configure: allow building with python3Emil Velikov2018-10-311-1/+1
| | | | | | | | | | | | | | | Pretty much all of the scripts are python2+3 compatible. Check and allow using python3, while adjusting the PYTHON2 refs. Note: - python3.4 is used as it's the earliest supported version - python2 chosen prior to python3 v2: use python2 by default Cc: Ilia Mirkin <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* Revert "configure: allow building with python3"Emil Velikov2018-08-241-1/+1
| | | | | | | | | | | | | | This reverts commit ae7898dfdbe5c8dab7d11c71862353f1ae43feb0. Turns out the python scripts are _not_ fully python 3 compatible. As Ilia reported using get_xmlpool.py with LANG=C produces some weird output - see the link for details. Even though the issue was spotted with the autoconf build, it exposes a genuine problem with the script (and lack of lang handling of the meson build.) https://lists.freedesktop.org/archives/mesa-dev/2018-August/203508.html
* configure: allow building with python3Emil Velikov2018-08-231-1/+1
| | | | | | | | | | | | Pretty much all of the scripts are python2+3 compatible. Check and allow using python3, while adjusting the PYTHON2 refs. Note: - python3.4 is used as it's the earliest supported version - python3 chosen prior to python2 Signed-off-by: Emil Velikov <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* autotools: don't ship the git_sha1.h generated in git in the tarballsEric Engestrom2018-08-211-1/+1
| | | | | | | | | | | This file is regenerated at build time anyway, so this would just get overwritten anyway. No reason to ship it in the tarball. Fixes: 44df06211cf2c301f6ef "autotools: include git_sha1.h in dist tarball" Fixes: 471f708ed6f4787813d0 "git_sha1: simplify logic" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Juan A. Suarez <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* autotools: include git_sha1.h in dist tarballJuan A. Suarez Romero2018-08-201-1/+1
| | | | | | | | This fixes `make distcheck`. Fixes: 471f708ed6 ("git_sha1: simplify logic") CC: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* git_sha1: simplify logicEric Engestrom2018-08-161-1/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glx: automake: add egl.pc/headers TODO when using glvndEmil Velikov2018-08-081-0/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* egl: rewire the build systems to use libwayland-eglEric Engestrom2018-06-061-5/+0
| | | | | | | Cc: Emil Velikov <[email protected]> Cc: Daniel Stone <[email protected]> Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Eric Engestrom <[email protected]>
* vulkan: Drop vk_android_native_buffer.xmlJason Ekstrand2018-04-101-1/+0
| | | | | | | | All the information in vk_android_native_buffer.xml is now in vk.xml. The only exception is the extension type attribute which we can work around in the generators while we wait for the XML to be fixed. Reviewed-by: Dylan Baker <[email protected]>
* autotools: include meson build files in tarballDylan Baker2018-01-191-1/+1
| | | | | | | | | | | | This adds the meson.build, meson_options.txt, and a few scripts that are used exclusively by the meson build. v2: - Remove accidentally included changes needed to test make dist with LLVM > 3.9 Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* wayland-drm: static inline wayland_drm_buffer_getEmil Velikov2017-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | The function is effectively a direct function call into libwayland-server.so. Thus GBM no longer depends on the wayland-drm static library, making the build more straight forward. And the resulting binary is a bit smaller. Note: we need to move struct wayland_drm_callbacks further up, otherwise we'll get an error since the type is incomplete. v2: Rebase, beef-up commit message, update meson, move struct wayland_drm_callbacks. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Daniel Stone <[email protected]> (v1) Reviewed-by: Eric Engestrom <[email protected]> # meson bit only Acked-by: Eric Engestrom <[email protected]> # for the rest Reviewed-by: Dylan Baker <[email protected]> # meson
* automake: include git_sha1.h.in in release tarballJuan A. Suarez Romero2017-11-061-1/+1
| | | | | | | | | | | | Fixes: make[2]: Leaving directory '/home/local/mesa/mesa-17.4.0-devel/_build/sub/src' make[2]: *** No rule to make target '../../../src/git_sha1.h.in', needed by 'git_sha1.h'. Stop. Makefile:660: recipe for target 'all-recursive' failed Fixes: 16be271c6ee618e79c7d "git_sha1_gen: use git_sha1.h.in on all build systems" Reviewed-by: Eric Engestrom <[email protected]> Signed-off-by: Juan A. Suarez Romero <[email protected]>
* buildsys: move file regeneration logic to the script itselfEric Engestrom2017-10-271-11/+4
| | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* configure: Add the new "vc5" driver to the list, requiring a simulator.Eric Anholt2017-10-101-1/+1
| | | | | | | | | | | | My intent is to develop the vc5 driver in-tree for some time to build the CL generation and shader compiler code, and keep out-of-tree patches for talking to an actual kernel driver until the kernel driver can be stabilized on the hardware. v2: Define a HAVE_BROADCOM_DRIVERS, like HAVE_INTEL or HAVE_AMD. Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* automake: adjust wayland-drm commentEmil Velikov2017-09-191-1/+1
| | | | | | | | Vulkan does not depend on the library or any of the objects created in the process. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
* vulkan/registry: Add VK_ANDROID_native_bufferChad Versace2017-09-181-0/+2
| | | | | | | | | | | | | | | The VK_ANDROID_native_buffer extension is missing from the official vk.xml. This patch defines the extension in a separate, minimal XML file: vk_android_native_buffer.xml. I chose to add the extension to a new XML file instead of adding it to the official vk.xml in order to avoid conflicts each time we sync the vk.xml from Khronos. This should be only a temporary solution until Jesse Hall is persuaded to add it to the official vk.xml. Reviewed-by: Tapani Pälli <[email protected]>
* build: Convert git_sha1_gen script to Python (part2).Jose Fonseca2017-08-011-1/+1
| | | | | | Things pointed out by Emil. Reviewed-by: Emil Velikov <[email protected]>
* build: Convert git_sha1_gen script to Python.Jose Fonseca2017-08-011-1/+1
| | | | | | | | | Python is the scripting language we've been using for scripts that need to run across all supported platforms. Shell is *not* a portable language for scripts. Reviewed-by: Eric Engestrom <[email protected]>
* build systems: move git_sha1_gen.sh to bin/Eric Engestrom2017-07-061-1/+1
| | | | | | | | | There was no reason for this script to live outside the scripts directory. Suggested-by: Brian Paul <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* vc4: Introduce XML-based packet header generation like Intel's.Eric Anholt2017-06-301-0/+4
| | | | | | | | | | | | | | | I really liked this idea, as it should help with management of packet parsing tools like the CL dump. The python script is forked off of theirs because our packets are byte-based instead of dwords, and the changes to do so while avoiding performance regressions due to unaligned accesses were quite invasive. v2: Fix Android.mk paths, drop shebang for python script, fix overlap detection. Acked-by: Jason Ekstrand <[email protected]> Acked-by: Kenneth Graunke <[email protected]> Tested-by: Rob Herring <[email protected]>
* build systems: uniformize git_sha1.h generationEric Engestrom2017-06-291-12/+1
| | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* automake: increase the MESA_GIT_SHA1 hash id length from 7 to 10 digitsBrian Paul2017-06-151-2/+2
| | | | | | | | | | | | | | | | | | | | The SCons build has been using 10 digits of the git hash id for the MESA_GIT_SHA1 string in git_sha1.h for about a year now. I bumped it up after running into a case where a 7-digit hash ID was ambiguous. This patch makes the same change for the autotools build. The command "git log | grep "^commit" | cut -b 8-14 | sort | uniq -d" shows there are currently 17 cases where 7 digits of hash id are ambiguous on master (probably quite a few more if we'd consider other branches). Instead of using "git log -n 1 --oneline" use "git rev-parse --short=10 HEAD" to get the HEAD hash id. v2: use printf instead of sed, per Eric's suggestion. Reviewed-by: Eric Engestrom <[email protected]>
* intel/vulkan: Get rid of recursive makeJason Ekstrand2017-03-131-5/+0
| | | | | | | | v2 [Emil Velikov] - Various fixes and initial stab at the Android build. - Keep the generation rules/EXTRA_DIST outside the conditional Reviewed-by: Jason Ekstrand <[email protected]>
* intel/tools: Use a makefile included from intel/Makefile.amJason Ekstrand2017-03-131-4/+0
| | | | | | Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* automake: move wayland-drm prior to VulkanEmil Velikov2017-03-041-5/+5
| | | | | | | | | | | | | | | Earlier commit was picked from a larger series, but did not consider that it removed the vulkan <> wayland-drm interdependency. Rather than reverting everything, temporarily move wayland-drm further up to resolve the issue. Since it [wayland-drm] does not have any in-mesa dependencies that's perfectly safe. Cc: Vedran Miletić <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100060 Fixes: e135ce6f088 ("vulkan: Build common Vulkan code earlier") Signed-off-by: Emil Velikov <[email protected]> Tested-by: Javier Jardón <[email protected]>
* vulkan: Build common Vulkan code earlierJason Ekstrand2017-03-041-5/+5
| | | | Reviewed-by: Emil Velikov <[email protected]>
* vulkan: Combine wsi and util makefilesDylan Baker2017-02-221-1/+1
| | | | Reviewed-by: Matt Turner <[email protected]>
* vulkan/util: Add generator for enum_to_str functionsDylan Baker2017-02-221-1/+1
| | | | | | | | | | | This adds a python generator to produce enum_to_str functions for Vulkan from the vk.xml API description. It supports extensions as well as core API features, and the generator works with both python2 and python3. Signed-off-by: Dylan Baker <[email protected]> Acked-by: Matt Turner <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* vulkan: automake: do not use EXTRA_DIST in a conditionalEmil Velikov2017-01-181-1/+1
| | | | | | | Otherwise the file might not end up in the tarball. Fixes: dbd677efb42 "vulkan: add API registry" Signed-off-by: Emil Velikov <[email protected]>
* vulkan: add API registryLionel Landwerlin2017-01-141-1/+3
| | | | | Signed-off: Lionel Landwerlin <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* amd: flatten amd/common makefile structureMauro Rossi2016-11-151-4/+0
| | | | | | | | | | | This pulls amd/common build rules into upper level makefile, along with amd/addlib which is already there. v2: [Emil Velikov] - Move NEED_RADEON_LLVM conditional, drop amd/common from SUBDIRS - Drop AM_ from common_libamd_common_la* Signed-off-by: Emil Velikov <[email protected]>
* amd/common: build also for gallium driversNicolai Hähnle2016-11-031-1/+4
| | | | | | | | At least when LLVM is used, which is basically always (unless you're only building r600 without OpenCL). Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* anv: move to using shared wsi codeDave Airlie2016-10-191-0/+4
| | | | | | | | This moves the shared code to a common subdirectory and makes anv linked to that code instead of the copy it was using. Reviewed-by: Jason Ekstrand <[email protected]>
* mesa: automake: include mesa_glinterop.h in distfileJonathan Gray2016-10-181-1/+2
| | | | | | | | | | Add mesa_glinterop.h to the list of headers that will get included in the distfile as it is required to build Mesa itself. Corrects a regression introduced in a89faa2022fd995af2019c886b152b49a01f9392. Signed-off-by: Jonathan Gray <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* radv: add initial non-conformant radv vulkan driverDave Airlie2016-10-071-1/+7
| | | | | | | | | | | | | | | | | | | | | | | This squashes all the radv development up until now into one for merging. History can be found: https://github.com/airlied/mesa/tree/semi-interesting This requires llvm 3.9 and is in no way considered a conformant vulkan implementation. It can run a number of vulkan applications, and supports all GPUs using the amdgpu kernel driver. Thanks to Intel for providing anv and spirv->nir, and Emil Velikov for reviewing build integration. Parts of this are: Reviewed-by: Nicolai Hähnle <[email protected]> Acked-by: Edward O'Callaghan <[email protected]> Authors: Bas Nieuwenhuizen and Dave Airlie Signed-off-by: Dave Airlie <[email protected]>
* autoconf: Make header install distinct for various APIs (v2)Chuck Atkins2016-10-061-0/+24
| | | | | | | | | | | | This fixes a problem where GL headers would only get installed if glx was enabled. So if osmesa was enabled but not glx, then the GL headers required by osmesa would be missing from the install. v2: Dropped unneeded mesa_glinterop.h redundant osmesa.h install Cc: [email protected] Signed-off-by: Chuck Atkins <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glsl: Prepare standalone compiler to be able to use parameter listsCarl Worth2016-09-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | As part of the shader-cache work an upcoming change will add new references to _mesa_add_parameter and _mesa_new_parameter_list from the glsl code. To prepare for that, and to allow the standalone glsl_compiler to still link, here we add mesa/program/prog_parameter.c to the libglsl_util sources. Then, in order to get *that* to work, we also add to stubs to standalone_scaffolding: _mesa_program_state_flags _mesa_program_state_string These functions aren't actually used by the two functions in prog_parameter.c that we are actually calling. They are used in other functions in the same file. So we don't care what the implementation of these stubs is, (they won't be called by glsl_compiler). We just need the stubs present so that it can link. Signed-off-by: Timothy Arceri <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Remove prog_hash_table.cThomas Helland2016-09-121-1/+0
| | | | | | | | | | | | | Here we make the prog_hash_table functionally equivalent to the one in util by wrapping the remaing functions that differ. We also move the functions to the header so we can remove the c file. This enables us to do a step-by-step replacement of the table. Signed-off-by: Thomas Helland <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: move sid.h/r600d_common.h to a common place.Dave Airlie2016-09-061-0/+4
| | | | | | | | | | Step one to merging radv would be to move some files around. This only adds the include path to r600/radeonsi, because later we want to avoid having to add it to the generic target paths. Acked-by: Marek Olšák <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* aubinator: Add a new tool called Aubinator to the src/intel/tools folder.Kristian Høgsberg Kristensen2016-08-231-0/+4
| | | | | | | | | | | | | | | | | The Aubinator tool is designed to help the driver developers in debugging the driver functionality by decoding the data in the .aub files. Primary Authors of this tool are Damien Lespiau <damien.lespiau at intel.com> and Kristian Høgsberg Kristensen <krh at bitplanet.net>. v2: Review comments are incorporated by Sirisha Gandikota as below: 1) Make Makefile.am more crisp, reuse intel_aub.h from libdrm (per Emil) 2) Aubinator will use platform name instead of GEN number (per Matt) 3) Disassmebler gets created based on pciid rather then GEN number (per Matt) 4) Other formatting comments (per Ken, Matt and Emil) Signed-off-by: Sirisha Gandikota <[email protected]> Acked-by: Kenneth Graunke <[email protected]> Acked-by: Ben Widawsky <[email protected]>
* glsl: reuse main extension table to appropriately restrict extensionsIlia Mirkin2016-07-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we were only restricting based on ES/non-ES-ness and whether the overall enable bit had been flipped on. However we have been adding more fine-grained restrictions, such as based on compat profiles, as well as specific ES versions. Most of the time this doesn't matter, but it can create awkward situations and duplication of logic. Here we separate the main extension table into a separate object file, linked to the glsl compiler, which makes use of it with a custom function which takes the ES-ness of the shader into account (thus allowing desktop shaders to properly use ES extensions that would otherwise have been disallowed.) We can also now use this logic to generate #define's for all supported extensions automatically, removing the duplicate (and often inaccurate) list in glcpp. The effect of this change should be nil in most cases. However in some situations, extensions like GL_ARB_gpu_shader5 which were formerly available in compat contexts on the GLSL side of things will now become inaccessible. This regresses two ES CTS tests: ES3-CTS.shaders.shader_integer_mix.define ES31-CTS.shader_integer_mix.define however that is due to them using #version 100 instead of 300 es. As the extension is only defined for ES3, I believe this is the correct behavior. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> (v2) v2 -> v3: integrate glcpp defines into the same mechanism
* automake: don't mandate git_sha1.h/MESA_GIT_SHA1Emil Velikov2016-07-051-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | It has proven subtle to get it right both from the build side POV (see commit list below) and builders due to their varying workflows. Furthermore it does not fully fulfil the reason why it was enforced - to detect uniqueness between different builds, in order to distinguish and invalidate Vulkan/GL caches. With that having a much better solution (previous commit) we can drop this solution. This effectively reverts the following commits: 359d9dfec33 ("mesa: automake: add directory prefix for git_sha1.h") 2c424e00c39 ("mesa: automake: ensure that git_sha1.h.tmp has the right attributes") b7f7ec78435 ("mesa: automake: distclean git_sha1.h when building OOT") 8229fe68b5d ("automake: get in-tree `make distclean' working again.") Cc: Timo Aaltonen <[email protected]> Cc: Haixia Shi <[email protected]> Cc: Jason Ekstrand <[email protected]> Cc: [email protected] Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* automake: get in-tree `make distclean' working again.Emil Velikov2016-06-131-1/+1
| | | | | | | | | | | | | | With earlier commit we've handled the `make distclean' out of tree build, yet we failed to attribute that for in-tree builds the test condition will return 1. Thus effectively the target will be considered as "failed". Fixes: b7f7ec78435 ("mesa: automake: distclean git_sha1.h when building OOT") Cc: <[email protected]> Tested-by: Andy Furniss <[email protected]> Reported-by: Andy Furniss <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* mesa: automake: distclean git_sha1.h when building OOTEmil Velikov2016-06-071-0/+6
| | | | | | | | | | | | | | | In the case of out-of-tree (OOT) builds, in particular when building from tarball, we'll end up with the file in both srcdir and builddir. We want the former to remain intact (since we need it on rebuild) while the latter should be removed otherwise `make distclean' gets angry at us. Ideally there'll be a solution that feels a bit less of a hack. Until then this does the job exactly as expected. Cc: <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* mesa: automake: ensure that git_sha1.h.tmp has the right attributesEmil Velikov2016-06-071-0/+1
| | | | | | | | | | ... when copied from git_sha1.h. As the latter file can we lacking the write attribute, one should set it explicitly. Otherwise we'll get a warning/failure at cleanup stage. Cc: <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* mesa: automake: add directory prefix for git_sha1.hEmil Velikov2016-06-071-1/+1
| | | | | | | | | | Otherwise the build will assume that we've talking about builddir, which is not the case in the else statement. Here the file is already generated and is part of the tarball. Cc: <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* automake: bring back the .PHONY git_sha1.h.tmp ruleEmil Velikov2016-06-021-2/+17
| | | | | | | | | | | | | | With earlier commit 3689ef32afd ("automake: rework the git_sha1.h rule, include in tarball") we/I erroneously removed the PHONY rule and the temporary file. The former is used to ensure that the header is regenerated when on each make invocation, while the latter helps us avoid the unneeded rebuild(s) when the SHA1 hasn't changed. Reported-by: Grazvydas Ignotas <[email protected]> Tested-by: Grazvydas Ignotas <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* automake: rework the git_sha1.h rule, include in tarballEmil Velikov2016-05-301-17/+3
| | | | | | | | | | | As we'll need the file in the release tarball, rework the rule so that the file is regenerated _only_ if we're in a git repository. With this in place we can build vulkan (anv) from a release tarball. Cc: Jason Ekstrand <[email protected]> Cc: Kristian Høgsberg Kristensen <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* automake: move the git_sha1.h rule a level upEmil Velikov2016-05-301-0/+25
| | | | | | | | | | | | | | | This way we can reuse the header from other places like - src/intel/vulkan and src/gallium. Only the former is hooked up atm. Make sure .gitignore is updated, as well as all the users (the mesa code does not need any changes). Also ensure that the file is always created by adding it to the BUILT_SOURCES target. Cc: Jason Ekstrand <[email protected]> Cc: Kristian Høgsberg Kristensen <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* automake: tweak SUBDIR reorder and comment itEmil Velikov2016-05-011-1/+8
| | | | | | | | It should ease people with all the interaction and platforms and how they interact (at least from a build POV) with each other. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>