summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meson.build7
-rw-r--r--src/gallium/drivers/i915/meson.build70
-rw-r--r--src/gallium/meson.build7
-rw-r--r--src/gallium/targets/dri/meson.build5
-rw-r--r--src/gallium/winsys/i915/drm/meson.build31
5 files changed, 116 insertions, 4 deletions
diff --git a/meson.build b/meson.build
index 53013e47ec4..b40b71c5e84 100644
--- a/meson.build
+++ b/meson.build
@@ -119,6 +119,7 @@ with_gallium_vc4 = false
with_gallium_vc5 = false
with_gallium_etnaviv = false
with_gallium_imx = false
+with_gallium_i915 = false
_drivers = get_option('gallium-drivers')
if _drivers == 'auto'
if not ['darwin', 'windows'].contains(host_machine.system())
@@ -145,6 +146,7 @@ if _drivers != ''
with_gallium_vc5 = _split.contains('vc5')
with_gallium_etnaviv = _split.contains('etnaviv')
with_gallium_imx = _split.contains('imx')
+ with_gallium_i915 = _split.contains('i915')
with_gallium = true
endif
@@ -174,12 +176,15 @@ endif
if with_dri_swrast and with_gallium_softpipe
error('Only one swrast provider can be built')
endif
+if with_dri_i915 and with_gallium_i915
+ error('Only one i915 provider can be built')
+endif
if with_gallium_imx and not with_gallium_etnaviv
error('IMX driver requires etnaviv driver')
endif
dep_libdrm_intel = []
-if with_dri_i915
+if with_dri_i915 or with_gallium_i915
dep_libdrm_intel = dependency('libdrm_intel', version : '>= 2.4.75')
endif
diff --git a/src/gallium/drivers/i915/meson.build b/src/gallium/drivers/i915/meson.build
new file mode 100644
index 00000000000..17f0f6adf8f
--- /dev/null
+++ b/src/gallium/drivers/i915/meson.build
@@ -0,0 +1,70 @@
+# 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(
+ 'i915_batchbuffer.h',
+ 'i915_batch.h',
+ 'i915_blit.c',
+ 'i915_blit.h',
+ 'i915_clear.c',
+ 'i915_context.c',
+ 'i915_context.h',
+ 'i915_debug.c',
+ 'i915_debug_fp.c',
+ 'i915_debug.h',
+ 'i915_debug_private.h',
+ 'i915_flush.c',
+ 'i915_fpc_emit.c',
+ 'i915_fpc.h',
+ 'i915_fpc_optimize.c',
+ 'i915_fpc_translate.c',
+ 'i915_prim_emit.c',
+ 'i915_prim_vbuf.c',
+ 'i915_public.h',
+ 'i915_query.c',
+ 'i915_query.h',
+ 'i915_reg.h',
+ 'i915_resource_buffer.c',
+ 'i915_resource.c',
+ 'i915_resource.h',
+ 'i915_resource_texture.c',
+ 'i915_screen.c',
+ 'i915_screen.h',
+ 'i915_state.c',
+ 'i915_state_derived.c',
+ 'i915_state_dynamic.c',
+ 'i915_state_emit.c',
+ 'i915_state_fpc.c',
+ 'i915_state.h',
+ 'i915_state_immediate.c',
+ 'i915_state_inlines.h',
+ 'i915_state_sampler.c',
+ 'i915_state_static.c',
+ 'i915_surface.c',
+ 'i915_surface.h',
+ 'i915_winsys.h',
+)
+
+libi915 = static_library(
+ 'i915',
+ files_i915,
+ c_args : [c_vis_args],
+ include_directories : [inc_include, inc_src, inc_gallium, inc_gallium_aux],
+)
diff --git a/src/gallium/meson.build b/src/gallium/meson.build
index 07a97f72490..581f701b30b 100644
--- a/src/gallium/meson.build
+++ b/src/gallium/meson.build
@@ -70,8 +70,9 @@ endif
if with_gallium_imx
subdir('winsys/imx/drm')
endif
-if with_glx == 'gallium-xlib'
- subdir('winsys/sw/xlib')
+if with_gallium_i915
+ subdir('winsys/i915/drm')
+ subdir('drivers/i915')
endif
if with_dri
subdir('state_trackers/dri')
@@ -80,9 +81,9 @@ if with_osmesa == 'gallium'
subdir('state_trackers/osmesa')
endif
if with_glx == 'gallium-xlib'
+ subdir('winsys/sw/xlib')
subdir('state_trackers/glx/xlib')
endif
-# TODO: i915
# TODO: SVGA
# TODO: r300
# TODO: r600
diff --git a/src/gallium/targets/dri/meson.build b/src/gallium/targets/dri/meson.build
index 595fd0a1a54..4dbda07449a 100644
--- a/src/gallium/targets/dri/meson.build
+++ b/src/gallium/targets/dri/meson.build
@@ -108,6 +108,11 @@ if with_gallium_imx
gallium_dri_link_with += libimxdrm
gallium_dri_drivers += 'imx-drm_dri.so'
endif
+if with_gallium_i915
+ gallium_dri_c_args += '-DGALLIUM_I915'
+ gallium_dri_link_with += [libi915, libi915drm]
+ gallium_dri_drivers += 'i915_dri.so'
+endif
if with_gallium_vc4 or with_gallium_vc5
gallium_dri_link_with += libbroadcom_cle
diff --git a/src/gallium/winsys/i915/drm/meson.build b/src/gallium/winsys/i915/drm/meson.build
new file mode 100644
index 00000000000..01300ad4c91
--- /dev/null
+++ b/src/gallium/winsys/i915/drm/meson.build
@@ -0,0 +1,31 @@
+# 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.
+
+libi915drm = static_library(
+ 'i915drm',
+ files(
+ 'i915_drm_batchbuffer.c', 'i915_drm_buffer.c', 'i915_drm_fence.c',
+ 'i915_drm_winsys.c'
+ ),
+ include_directories : [
+ inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_drivers
+ ],
+ dependencies : [dep_libdrm, dep_libdrm_intel],
+)