meson: build i915g driver

Build tested only.

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Dylan Baker 2017-10-25 16:54:53 -07:00
parent c5d199fa2c
commit 9169dde941
5 changed files with 116 additions and 4 deletions

View File

@ -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

View File

@ -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],
)

View File

@ -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

View File

@ -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

View File

@ -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],
)