This adds support for building the classic swrast implementation. This driver has been tested with glxinfo and glxgears.
Signed-off-by: Dylan Baker <dylanx.c.ba...@intel.com> --- meson.build | 2 ++ meson_options.txt | 2 +- src/mesa/drivers/dri/meson.build | 5 +++ src/mesa/drivers/dri/{ => swrast}/meson.build | 45 +++++---------------------- 4 files changed, 16 insertions(+), 38 deletions(-) copy src/mesa/drivers/dri/{ => swrast}/meson.build (52%) diff --git a/meson.build b/meson.build index 185d70509c5..603bdfbdb7f 100644 --- a/meson.build +++ b/meson.build @@ -73,10 +73,12 @@ endif with_dri = false with_dri_i965 = false +with_dri_swrast = false _drivers = get_option('dri-drivers') if _drivers != '' _split = _drivers.split(',') with_dri_i965 = _split.contains('i965') + with_dri_swrast = _split.contains('swrast') with_dri = true endif diff --git a/meson_options.txt b/meson_options.txt index 2306be319cc..5fdb41e6071 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -21,7 +21,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 : 'i965', +option('dri-drivers', type : 'string', value : 'swrast,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/meson.build b/src/mesa/drivers/dri/meson.build index f7403ec09fc..153aa15efb6 100644 --- a/src/mesa/drivers/dri/meson.build +++ b/src/mesa/drivers/dri/meson.build @@ -19,11 +19,16 @@ # SOFTWARE. subdir('common') +subdir('swrast') subdir('i965') if with_dri dri_drivers = [] dri_link = [] + if with_dri_swrast + dri_drivers += libswrast_dri + dri_link += 'swrast_dri.so' + endif if with_dri_i965 dri_drivers += libi965 dri_link += 'i965_dri.so' diff --git a/src/mesa/drivers/dri/meson.build b/src/mesa/drivers/dri/swrast/meson.build similarity index 52% copy from src/mesa/drivers/dri/meson.build copy to src/mesa/drivers/dri/swrast/meson.build index f7403ec09fc..1235dedbe3c 100644 --- a/src/mesa/drivers/dri/meson.build +++ b/src/mesa/drivers/dri/swrast/meson.build @@ -18,40 +18,11 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -subdir('common') -subdir('i965') - -if with_dri - dri_drivers = [] - dri_link = [] - if with_dri_i965 - dri_drivers += libi965 - dri_link += 'i965_dri.so' - endif - - libmesa_dri_drivers = shared_library( - 'mesa_dri_drivers', - dummy_cpp, # see meson #2180 - link_whole : dri_drivers, - link_with : [libmegadriver_stub, libdricommon, libxmlconfig, libglapi, - libmesa_util, libnir, libmesa_classic], - dependencies : [dep_selinux, dep_libdrm, dep_expat, dep_m, dep_thread, - dep_dl], - link_args : [ld_args_bsymbolic, ld_args_gc_sections], - ) - - pkg.generate( - name : 'dri', - filebase : 'dri', - description : 'Direct Rendering Infrastructure', - version : meson.project_version(), - requires_private : ['libdrm >= 2.4.75'], # FIXME: don't hardcode this - ) - - meson.add_install_script( - join_paths(meson.source_root(), 'bin/install_megadrivers.py'), - libmesa_dri_drivers.full_path(), - with_dri_drivers_path, - dri_link, - ) -endif +libswrast_dri = static_library( + 'swrast_dri', + files('swrast.c', 'swrast_priv.h'), + c_args : [c_vis_args], + include_directories : [inc_common, inc_dri_common], + dependencies : dep_libdrm, + build_by_default : false, +) -- 2.14.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev