summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* build: Convert git_sha1_gen script to Python (part2).Jose Fonseca2017-08-011-1/+1
| | | | | | Things pointed out by Emil. Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* 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 <eric.engestrom@imgtec.com>
* 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 <brianp@vmware.com> Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Brian Paul <brianp@vmware.com>
* 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 <jason@jlekstrand.net> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Tested-by: Rob Herring <robh@kernel.org>
* build systems: uniformize git_sha1.h generationEric Engestrom2017-06-291-12/+1
| | | | | | Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* 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 <eric.engestrom@imgtec.com>
* 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 <jason@jlekstrand.net>
* intel/tools: Use a makefile included from intel/Makefile.amJason Ekstrand2017-03-131-4/+0
| | | | | | Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* 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ć <vedran@miletic.net> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100060 Fixes: e135ce6f088 ("vulkan: Build common Vulkan code earlier") Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Tested-by: Javier Jardón <jjardon@gnome.org>
* vulkan: Build common Vulkan code earlierJason Ekstrand2017-03-041-5/+5
| | | | Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* vulkan: Combine wsi and util makefilesDylan Baker2017-02-221-1/+1
| | | | Reviewed-by: Matt Turner <mattst88@gmail.com>
* 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 <dylanx.c.baker@intel.com> Acked-by: Matt Turner <mattst88@gmail.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
* 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 <emil.velikov@collabora.com>
* vulkan: add API registryLionel Landwerlin2017-01-141-1/+3
| | | | | Signed-off: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
* 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 <emil.velikov@collabora.com>
* 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 <airlied@redhat.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* 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 <jason@jlekstrand.net>
* 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 <jsg@jsg.id.au> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* 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 <nicolai.haehnle@amd.com> Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net> Authors: Bas Nieuwenhuizen and Dave Airlie Signed-off-by: Dave Airlie <airlied@redhat.com>
* 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: mesa-stable@lists.freedesktop.org Signed-off-by: Chuck Atkins <chuck.atkins@kitware.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* 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 <timothy.arceri@collabora.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* 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 <thomashelland90@gmail.com> Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
* 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 <marek.olsak@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
* 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 <Sirisha.Gandikota@intel.com> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Ben Widawsky <ben@bwidawsk.net>
* 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 <imirkin@alum.mit.edu> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> (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 <tjaalton@debian.org> Cc: Haixia Shi <hshi@chromium.org> Cc: Jason Ekstrand <jason@jlekstrand.net> Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
* 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: <mesa-stable@lists.freedesktop.org> Tested-by: Andy Furniss <adf.lists@gmail.com> Reported-by: Andy Furniss <adf.lists@gmail.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
* 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: <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* 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: <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* 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: <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* 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 <notasas@gmail.com> Tested-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
* 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 <jason.ekstrand@intel.com> Cc: Kristian Høgsberg Kristensen <krh@bitplanet.net> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* 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 <jason.ekstrand@intel.com> Cc: Kristian Høgsberg Kristensen <krh@bitplanet.net> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* 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 <emil.velikov@collabora.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
* automake: drop "EGL_" from HAVE_EGL_PLATFORM_WAYLANDEmil Velikov2016-05-011-1/+1
| | | | | | Analogous to previous commit. Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* automake: include vulkan subdir after wayland-drmEmil Velikov2016-05-011-5/+5
| | | | | | We'll reuse the existing wayland-drm static library with next commit. Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* i965: Add a dependency on libislJason Ekstrand2016-04-211-4/+9
| | | | | | | To avoid build issues, ensure that you're running `make' at the top level and/or you've executed `make clean' beforehand. Reviewed-by: Chad Versace <chad.versace@intel.com>
* configure: Add initial support for enabling Vulkan driversJason Ekstrand2016-04-141-1/+1
|
* Move the intel vulkan driver to src/intel/vulkanJason Ekstrand2016-02-181-1/+0
|
* Move isl to src/intelJason Ekstrand2016-02-181-1/+0
|
* vulkan: Move XML and generator into src/intel/genxmlJason Ekstrand2016-02-181-0/+1
|
* Merge commit mesa-public/master into vulkanJason Ekstrand2016-02-051-1/+4
|\ | | | | | | This pulls in the patches that move all of the compiler stuff around
| * glsl: move to compiler/Emil Velikov2016-01-261-1/+1
| | | | | | | | | | | | Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Matt Turner <mattst88@gmail.com> Acked-by: Jose Fonseca <jfonseca@vmware.com>
| * compiler: introduce a libcompiler static libraryEmil Velikov2016-01-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently it's an empty library, although it'll be used to store common code between GLSL and NIR that is compiler specific (rather than generic as the one in src/util). XXX: strictly speaking we could add a python/mako parser to generate the relevant files instead including builtin_type_macros.h in such a manner. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Matt Turner <mattst88@gmail.com> Acked-by: Jose Fonseca <jfonseca@vmware.com>
* | isl: Move it a standalone directoryChad Versace2015-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The plan all along was to eventualyl move isl out of the Vulkan directory, because I intended i965 and anvil to share it. A small problem I encountered when attempting to write unit tests for isl precipitated the move. I discovered that it's easier to get isl unit tests to build if I remove the extra, unneeded dependencies injected by src/vulkan/Makefile.am. And the easiest way to remove those unneeded dependencies is to move isl out of src/vulkan. (Unit tests come in subsequent commits).
* | Merge remote-tracking branch 'mesa-public/master' into vulkanJason Ekstrand2015-10-191-1/+0
|\|
| * glsl: move shader_enums into nirRob Clark2015-10-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First step towards inverting the dependency between glsl and nir (so nir can be used without glsl). Also solves this issue with 'make distclean' Making distclean in mesa make[2]: Entering directory '/mnt/sdb1/Src64/Mesa-git/mesa/src/mesa' Makefile:2486: ../glsl/.deps/shader_enums.Plo: No such file or directory make[2]: *** No rule to make target '../glsl/.deps/shader_enums.Plo'. Stop. make[2]: Leaving directory '/mnt/sdb1/Src64/Mesa-git/mesa/src/mesa' Makefile:684: recipe for target 'distclean-recursive' failed make[1]: *** [distclean-recursive] Error 1 make[1]: Leaving directory '/mnt/sdb1/Src64/Mesa-git/mesa/src' Makefile:615: recipe for target 'distclean-recursive' failed make: *** [distclean-recursive] Error 1 Reported-by: Andy Furniss <adf.lists@gmail.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Rob Clark <robclark@freedesktop.org>
* | Merge branch 'master' of ../mesa into vulkanKristian Høgsberg Kristensen2015-10-011-0/+1
|\|
| * glsl: shader-enum to name debug fxnsRob Clark2015-09-161-0/+1
| | | | | | | | | | Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
* | Merge remote-tracking branch 'mesa-public/master' into vulkanJason Ekstrand2015-08-171-9/+1
|\|