meson: Build i915
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 9 Oct 2017 22:15:42 +0000 (01:15 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 13 Oct 2017 11:29:00 +0000 (14:29 +0300)
Build i915 with meson. More or less copied from i965, with all
the unneeded cruft removed, and the libdrm_intel dependency added.

Cc: Dylan Baker <dylan@pnwbakers.com>
Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
meson.build
meson_options.txt
src/mesa/drivers/dri/i915/meson.build [new file with mode: 0644]
src/mesa/drivers/dri/meson.build

index 4ba00283cec75001ee996f440694d80b4e23ed1c..02264aeed4ef3b0e66a9a033a139e3c1b552060c 100644 (file)
@@ -72,16 +72,23 @@ if (with_gles1 or with_gles2) and not with_opengl
 endif
 
 with_dri = false
+with_dri_i915 = false
 with_dri_i965 = false
 with_dri_swrast = false
 _drivers = get_option('dri-drivers')
 if _drivers != ''
   _split = _drivers.split(',')
+  with_dri_i915 = _split.contains('i915')
   with_dri_i965 = _split.contains('i965')
   with_dri_swrast = _split.contains('swrast')
   with_dri = true
 endif
 
+dep_libdrm_intel = []
+if with_dri_i915
+  dep_libdrm_intel = dependency('libdrm_intel', version : '>= 2.4.75')
+endif
+
 if not with_dri
   with_gles1 = false
   with_gles2 = false
index 029626d69a47332f49e61182f7f2c44ce6a4e21c..abd5135742ac2cb04801100ac563c8dd1b8d13e3 100644 (file)
@@ -22,7 +22,7 @@ option('platforms', type : 'string', value : 'x11,wayland',
        description : 'comma separated list of window systems to support. wayland, x11, surfaceless, drm, etc.')
 option('dri3', type : 'combo', value : 'auto', choices : ['auto', 'yes', 'no'],
        description : 'enable support for dri3')
-option('dri-drivers', type : 'string', value : 'swrast,i965',
+option('dri-drivers', type : 'string', value : 'swrast,i915,i965',
        description : 'comma separated list of dri drivers to build.')
 option('dri-drivers-path', type : 'string', value : '',
        description : 'Location of dri drivers. Default: $libdir/dri.')
diff --git a/src/mesa/drivers/dri/i915/meson.build b/src/mesa/drivers/dri/i915/meson.build
new file mode 100644 (file)
index 0000000..1971419
--- /dev/null
@@ -0,0 +1,97 @@
+# Copyright © 2017 Intel Corporation
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+files_i915 = files(
+  'i830_context.c',
+  'i830_context.h',
+  'i830_reg.h',
+  'i830_state.c',
+  'i830_texblend.c',
+  'i830_texstate.c',
+  'i830_vtbl.c',
+  'i915_context.c',
+  'i915_context.h',
+  'i915_debug_fp.c',
+  'i915_debug.h',
+  'i915_fragprog.c',
+  'i915_program.c',
+  'i915_program.h',
+  'i915_reg.h',
+  'i915_state.c',
+  'i915_tex_layout.c',
+  'i915_texstate.c',
+  'i915_vtbl.c',
+  'intel_batchbuffer.c',
+  'intel_batchbuffer.h',
+  'intel_blit.c',
+  'intel_blit.h',
+  'intel_buffer_objects.c',
+  'intel_buffer_objects.h',
+  'intel_buffers.c',
+  'intel_buffers.h',
+  'intel_chipset.h',
+  'intel_clear.c',
+  'intel_clear.h',
+  'intel_context.c',
+  'intel_context.h',
+  'intel_extensions.c',
+  'intel_extensions.h',
+  'intel_fbo.c',
+  'intel_fbo.h',
+  'intel_mipmap_tree.c',
+  'intel_mipmap_tree.h',
+  'intel_pixel_bitmap.c',
+  'intel_pixel.c',
+  'intel_pixel_copy.c',
+  'intel_pixel_draw.c',
+  'intel_pixel.h',
+  'intel_pixel_read.c',
+  'intel_reg.h',
+  'intel_regions.c',
+  'intel_regions.h',
+  'intel_render.c',
+  'intel_screen.c',
+  'intel_screen.h',
+  'intel_state.c',
+  'intel_syncobj.c',
+  'intel_tex.c',
+  'intel_tex_copy.c',
+  'intel_tex.h',
+  'intel_tex_image.c',
+  'intel_tex_layout.c',
+  'intel_tex_layout.h',
+  'intel_tex_obj.h',
+  'intel_tex_subimage.c',
+  'intel_tex_validate.c',
+  'intel_tris.c',
+  'intel_tris.h',
+)
+
+libi915 = static_library(
+  'i915',
+  [files_i915, xmlpool_options_h],
+  include_directories : [inc_common, inc_dri_common, inc_util],
+  c_args : [c_vis_args, no_override_init_args],
+  cpp_args : [cpp_vis_args],
+  dependencies : [dep_libdrm, dep_libdrm_intel],
+)
+
+dri_drivers += libi915
+dri_link += 'i915_dri.so'
index cc2272eff6d9ad325965ec6eda22c53b8d36e787..63cfcce83991e2bc2603b253b0ecadbadc2c3ccf 100644 (file)
@@ -25,6 +25,9 @@ dri_link = []
 if with_dri_swrast
   subdir('swrast')
 endif
+if with_dri_i915
+  subdir('i915')
+endif
 if with_dri_i965
   subdir('i965')
 endif