This patch is broken, I'll send an update. Note to self, meson remembers configuration options, clean build when doing git rebase -x
Quoting Dylan Baker (2017-10-11 10:41:26) > This doesn't include llvmpipe. > > Signed-off-by: Dylan Baker <dylanx.c.ba...@intel.com> > --- > meson.build | 5 ++ > meson_options.txt | 4 +- > src/gallium/drivers/softpipe/meson.build | 85 > ++++++++++++++++++++++++++++++++ > src/gallium/meson.build | 2 +- > src/gallium/targets/dri/meson.build | 8 +++ > 5 files changed, 101 insertions(+), 3 deletions(-) > create mode 100644 src/gallium/drivers/softpipe/meson.build > > diff --git a/meson.build b/meson.build > index 9138dc2f5b5..eb3bd2fdbfd 100644 > --- a/meson.build > +++ b/meson.build > @@ -97,6 +97,7 @@ if _drivers != '' > _split = _drivers.split(',') > with_gallium_radeonsi = _split.contains('radeonsi') > with_gallium_nouveau = _split.contains('nouveau') > + with_gallium_swrast = _split.contains('swrast') > with_gallium = true > with_dri = true > endif > @@ -109,6 +110,10 @@ if not (with_dri or with_gallium) > with_shared_glapi = false > endif > > +if with_dri_swrast and with_gallium_swrast > + error('Only one swrast provider can be built') > +endif > + > # TODO: other OSes > with_dri_platform = 'drm' > > diff --git a/meson_options.txt b/meson_options.txt > index d29b12e5959..bb7492b9bff 100644 > --- a/meson_options.txt > +++ b/meson_options.txt > @@ -22,11 +22,11 @@ option('platforms', type : 'string', value : > 'x11,wayland,drm', > 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 : '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.') > -option('gallium-drivers', type : 'string', value : 'radeonsi', > +option('gallium-drivers', type : 'string', value : 'radeonsi,swrast', > description : 'comma separated list of gallium drivers to build.') > option('gallium-media', type : 'string', value : '', > description : 'comma separated list of gallium media APIs to build > (omx,va,vdpau,xvmc).') > diff --git a/src/gallium/drivers/softpipe/meson.build > b/src/gallium/drivers/softpipe/meson.build > new file mode 100644 > index 00000000000..0cef15152e2 > --- /dev/null > +++ b/src/gallium/drivers/softpipe/meson.build > @@ -0,0 +1,85 @@ > +# 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_softpipe = files( > + 'sp_buffer.c', > + 'sp_buffer.h', > + 'sp_clear.c', > + 'sp_clear.h', > + 'sp_context.c', > + 'sp_context.h', > + 'sp_compute.c', > + 'sp_draw_arrays.c', > + 'sp_fence.c', > + 'sp_fence.h', > + 'sp_flush.c', > + 'sp_flush.h', > + 'sp_fs_exec.c', > + 'sp_fs.h', > + 'sp_image.c', > + 'sp_image.h', > + 'sp_limits.h', > + 'sp_prim_vbuf.c', > + 'sp_prim_vbuf.h', > + 'sp_public.h', > + 'sp_quad_blend.c', > + 'sp_quad_depth_test.c', > + 'sp_quad_depth_test_tmp.h', > + 'sp_quad_fs.c', > + 'sp_quad.h', > + 'sp_quad_pipe.c', > + 'sp_quad_pipe.h', > + 'sp_quad_stipple.c', > + 'sp_query.c', > + 'sp_query.h', > + 'sp_screen.c', > + 'sp_screen.h', > + 'sp_setup.c', > + 'sp_setup.h', > + 'sp_state_blend.c', > + 'sp_state_clip.c', > + 'sp_state_derived.c', > + 'sp_state_image.c', > + 'sp_state.h', > + 'sp_state_rasterizer.c', > + 'sp_state_sampler.c', > + 'sp_state_shader.c', > + 'sp_state_so.c', > + 'sp_state_surface.c', > + 'sp_state_vertex.c', > + 'sp_surface.c', > + 'sp_surface.h', > + 'sp_tex_sample.c', > + 'sp_tex_sample.h', > + 'sp_tex_tile_cache.c', > + 'sp_tex_tile_cache.h', > + 'sp_texture.c', > + 'sp_texture.h', > + 'sp_tile_cache.c', > + 'sp_tile_cache.h', > +) > + > +libsoftpipe = static_library( > + 'softpipe', > + files_softpipe, > + include_directories : [inc_gallium_aux, inc_gallium, inc_include, inc_src], > + c_args : [c_vis_args, c_msvc_compat_args], > + build_by_default : false, > +) > diff --git a/src/gallium/meson.build b/src/gallium/meson.build > index 42c05824991..ea7f1d2ef64 100644 > --- a/src/gallium/meson.build > +++ b/src/gallium/meson.build > @@ -31,6 +31,7 @@ subdir('drivers/rbug') > subdir('drivers/radeon') > subdir('drivers/radeonsi') > subdir('drivers/nouveau') > +subdir('drivers/softpipe') > subdir('winsys/sw/null') > subdir('winsys/sw/dri') > subdir('winsys/sw/kms-dri') > @@ -47,7 +48,6 @@ subdir('state_trackers/dri') > # TODO: etnaviv > # TODO: IMX > # TODO: PL111 > -# TODO: softpipe > # TODO: llvmpipe > # TODO: SWR > # TODO: vc4 > diff --git a/src/gallium/targets/dri/meson.build > b/src/gallium/targets/dri/meson.build > index 15da2459ecf..241adfe02a6 100644 > --- a/src/gallium/targets/dri/meson.build > +++ b/src/gallium/targets/dri/meson.build > @@ -65,6 +65,14 @@ if with_gallium_nouveau > gallium_dri_link_with += [libnouveauwinsys, libnouveau] > gallium_dri_drivers += 'nouveau_dri.so' > endif > +if with_gallium_swrast > + gallium_dri_c_args += '-DGALLIUM_SOFTPIPE' > + gallium_dri_link_with += libsoftpipe > + gallium_dri_drivers += 'swrast_dri.so' > + if with_gallium_drisw_kms > + gallium_dri_drivers += 'kms_swrast_dri.so' > + endif > +endif > > libgallium_dri = shared_library( > 'gallium_dri', > -- > 2.14.2 >
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev