Quoting Eric Engestrom (2017-10-26 02:40:20) > On Wednesday, 2017-10-25 15:58:23 -0700, Dylan Baker wrote: > > This has been tested with the osdemo from mesa-demos > > > > Signed-off-by: Dylan Baker <dylanx.c.ba...@intel.com> > > --- > > meson.build | 3 ++ > > meson_options.txt | 2 +- > > src/gallium/meson.build | 7 ++- > > src/gallium/state_trackers/osmesa/meson.build | 28 +++++++++++ > > src/gallium/targets/osmesa/meson.build | 68 > > +++++++++++++++++++++++++++ > > 5 files changed, 106 insertions(+), 2 deletions(-) > > create mode 100644 src/gallium/state_trackers/osmesa/meson.build > > create mode 100644 src/gallium/targets/osmesa/meson.build > > > > diff --git a/meson.build b/meson.build > > index 79ce59c6b27..0bbe330042b 100644 > > --- a/meson.build > > +++ b/meson.build > > @@ -704,6 +704,9 @@ if with_osmesa != 'none' > > if with_osmesa == 'classic' and not with_dri_swrast > > error('OSMesa classic requires dri (classic) swrast.') > > endif > > + if with_osmesa == 'gallium' and not with_gallium_softpipe > > + error('OSMesa gallium requires gallium softpipe or llvmpipe.') > > + endif > > osmesa_lib_name = 'OSMesa' > > osmesa_bits = get_option('osmesa-bits') > > if osmesa_bits != '8' > > diff --git a/meson_options.txt b/meson_options.txt > > index 97aca571a48..a0b8044e4bb 100644 > > --- a/meson_options.txt > > +++ b/meson_options.txt > > @@ -164,7 +164,7 @@ option( > > 'osmesa', > > type : 'combo', > > value : 'none', > > - choices : ['none', 'classic'], > > + choices : ['none', 'classic', 'gallium'], > > description : 'Build OSmesa.' > > ) > > option( > > diff --git a/src/gallium/meson.build b/src/gallium/meson.build > > index e0941103b93..6edfe80321d 100644 > > --- a/src/gallium/meson.build > > +++ b/src/gallium/meson.build > > @@ -66,6 +66,9 @@ if with_gallium_imx > > subdir('winsys/imx/drm') > > endif > > subdir('state_trackers/dri') > > +if with_osmesa == 'gallium' > > + subdir('state_trackers/osmesa') > > +endif > > # TODO: i915 > > # TODO: SVGA > > # TODO: r300 > > @@ -77,9 +80,11 @@ subdir('state_trackers/dri') > > if with_dri and with_gallium > > subdir('targets/dri') > > endif > > +if with_osmesa == 'gallium' > > + subdir('targets/osmesa') > > +endif > > # TODO: xlib-glx > > # TODO: OMX > > -# TODO: osmesa > > # TODO: VA > > # TODO: vdpau > > # TODO: xa > > diff --git a/src/gallium/state_trackers/osmesa/meson.build > > b/src/gallium/state_trackers/osmesa/meson.build > > new file mode 100644 > > index 00000000000..dacf10512d6 > > --- /dev/null > > +++ b/src/gallium/state_trackers/osmesa/meson.build > > @@ -0,0 +1,28 @@ > > +# 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. > > + > > +libosmesa_st = static_library( > > + 'osmesa_st', > > + 'osmesa.c', > > + c_args : ['-DGALLIUM_SOFTPIPE', '-DGALLIUM_TRACE'], > > + include_directories : [ > > + inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_mapi, inc_mesa, > > + ], > > +) > > diff --git a/src/gallium/targets/osmesa/meson.build > > b/src/gallium/targets/osmesa/meson.build > > new file mode 100644 > > index 00000000000..af81c5adbbe > > --- /dev/null > > +++ b/src/gallium/targets/osmesa/meson.build > > @@ -0,0 +1,68 @@ > > +# 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. > > + > > +osmesa_link_with = [] > > +osmesa_link_args = [] > > +osmesa_comp_args = ['-DGALLIUM_SOFTPIPE', '-DGALLIUM_TRACE'] > > +osmesa_deps = [] > > + > > +if with_shared_glapi > > + osmesa_link_with += libglapi > > +endif > > +if with_ld_version_script > > + osmesa_link_args += [ > > + '-Wl,--version-script', join_paths(meson.current_source_dir(), > > 'osmesa.sym') > > files('osmesa.sym') ? > I'm not sure if it would work here though, since it expects a string. > /me hopes meson converts the file_array to a list of its filenames >
files() doesn't work here. Maybe it makes sense to extend meson to support that? > > + ] > > +endif > > + > > +if with_llvm > > + osmesa_comp_args += '-DGALLIUM_LLVM' > > GALLIUM_LLVMPIPE > > > + osmesa_deps += dep_llvm > > + osmesa_link_with += libllvmpipe > > +endif > > +# TODO: swr > > + > > +libosmesa = shared_library( > > + osmesa_lib_name, > > + 'target.c', > > + c_args : [c_vis_args, osmesa_comp_args], > > + cpp_args : [cpp_vis_args, osmesa_comp_args], > > + link_args : [ld_args_gc_sections, osmesa_link_args], > > + include_directories : [ > > + inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_winsys, > > + inc_gallium_drivers, > > + ], > > + link_whole : [libosmesa_st], > > + link_with : [ > > + libmesa_gallium, libgallium, libglapi_static, libws_null, libtrace, > > + libsoftpipe, osmesa_link_with, > > + ], > > + dependencies : [dep_thread, dep_clock, dep_unwind, osmesa_deps], > > + dep_selinux > > With the last two comments fixed: > Reviewed-by: Eric Engestrom <eric.engest...@imgtec.com> > > > + version : '8.0.0', > > + install : true, > > +) > > + > > +pkg.generate( > > + name : 'osmesa', > > + description : 'Mesa Off-screen Rendering Library', > > + version : '8', > > + libraries : libosmesa, > > + libraries_private : gl_priv_libs, > > +) > > -- > > 2.14.2 > >
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev