v3d: Rename the vc5_dri.so driver to v3d_dri.so.

This allows the driver to load against the merged kernel DRM driver.  In
the process, rename most of the build system variables and gallium
plumbing functions.
This commit is contained in:
Eric Anholt 2017-08-25 15:34:22 -07:00
parent 8a793d42f1
commit c4c488a2ae
29 changed files with 93 additions and 93 deletions

View File

@ -1372,7 +1372,7 @@ GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
AC_ARG_WITH([gallium-drivers],
[AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
[comma delimited Gallium drivers list, e.g.
"i915,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,tegra,vc4,vc5,virgl,etnaviv,imx"
"i915,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,tegra,v3d,vc4,virgl,etnaviv,imx"
@<:@default=r300,r600,svga,swrast@:>@])],
[with_gallium_drivers="$withval"],
[with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
@ -2734,12 +2734,12 @@ if test -n "$with_gallium_drivers"; then
DEFINES="$DEFINES -DUSE_VC4_SIMULATOR"],
[USE_VC4_SIMULATOR=no])
;;
xvc5)
HAVE_GALLIUM_VC5=yes
xv3d)
HAVE_GALLIUM_V3D=yes
PKG_CHECK_MODULES([VC5_SIMULATOR], [v3dv3],
[USE_VC5_SIMULATOR=yes;
DEFINES="$DEFINES -DUSE_VC5_SIMULATOR"],
PKG_CHECK_MODULES([V3D_SIMULATOR], [v3dv3],
[USE_V3D_SIMULATOR=yes;
DEFINES="$DEFINES -DUSE_V3D_SIMULATOR"],
[AC_MSG_ERROR([vc5 requires the simulator])])
;;
xpl111)
@ -2892,8 +2892,8 @@ AM_CONDITIONAL(HAVE_GALLIUM_SWR, test "x$HAVE_GALLIUM_SWR" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_SWRAST, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes -o \
"x$HAVE_GALLIUM_LLVMPIPE" = xyes -o \
"x$HAVE_GALLIUM_SWR" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_V3D, test "x$HAVE_GALLIUM_V3D" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_VC4, test "x$HAVE_GALLIUM_VC4" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_VC5, test "x$HAVE_GALLIUM_VC5" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_VIRGL, test "x$HAVE_GALLIUM_VIRGL" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_STATIC_TARGETS, test "x$enable_shared_pipe_drivers" = xno)
@ -2921,7 +2921,7 @@ AM_CONDITIONAL(HAVE_AMD_DRIVERS, test "x$HAVE_GALLIUM_RADEONSI" = xyes -o \
"x$HAVE_RADEON_VULKAN" = xyes)
AM_CONDITIONAL(HAVE_BROADCOM_DRIVERS, test "x$HAVE_GALLIUM_VC4" = xyes -o \
"x$HAVE_GALLIUM_VC5" = xyes)
"x$HAVE_GALLIUM_V3D" = xyes)
AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes -o \
"x$HAVE_I965_DRI" = xyes)
@ -2932,8 +2932,8 @@ AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \
AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$enable_glx" = xgallium-xlib)
AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_LLVM, test "x$enable_llvm" = xyes)
AM_CONDITIONAL(USE_V3D_SIMULATOR, test x$USE_V3D_SIMULATOR = xyes)
AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes)
AM_CONDITIONAL(USE_VC5_SIMULATOR, test x$USE_VC5_SIMULATOR = xyes)
AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes)
AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes)

View File

@ -137,7 +137,7 @@ with_gallium_nouveau = false
with_gallium_freedreno = false
with_gallium_softpipe = false
with_gallium_vc4 = false
with_gallium_vc5 = false
with_gallium_v3d = false
with_gallium_etnaviv = false
with_gallium_imx = false
with_gallium_tegra = false
@ -155,7 +155,7 @@ if _drivers.contains('auto')
]
elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
_drivers = [
'pl111', 'vc4', 'vc5', 'freedreno', 'etnaviv', 'imx', 'nouveau',
'pl111', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'imx', 'nouveau',
'tegra', 'virgl', 'swrast',
]
else
@ -175,8 +175,8 @@ if _drivers != ['']
with_gallium_nouveau = _drivers.contains('nouveau')
with_gallium_freedreno = _drivers.contains('freedreno')
with_gallium_softpipe = _drivers.contains('swrast')
with_gallium_v3d = _drivers.contains('v3d')
with_gallium_vc4 = _drivers.contains('vc4')
with_gallium_vc5 = _drivers.contains('vc5')
with_gallium_etnaviv = _drivers.contains('etnaviv')
with_gallium_imx = _drivers.contains('imx')
with_gallium_tegra = _drivers.contains('tegra')

View File

@ -59,7 +59,7 @@ option(
value : ['auto'],
choices : [
'', 'auto', 'pl111', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
'swrast', 'vc4', 'vc5', 'etnaviv', 'imx', 'tegra', 'i915', 'svga', 'virgl',
'swrast', 'v3d', 'vc4', 'etnaviv', 'imx', 'tegra', 'i915', 'svga', 'virgl',
'swr',
],
description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'

View File

@ -3,9 +3,9 @@ noinst_LTLIBRARIES += libbroadcom_v33.la
noinst_LTLIBRARIES += libbroadcom_v41.la
noinst_LTLIBRARIES += libbroadcom_v42.la
if USE_VC5_SIMULATOR
AM_CFLAGS += $(VC5_SIMULATOR_CFLAGS)
libbroadcom_la_LDFLAGS = $(VC5_SIMULATOR_LIBS)
if USE_V3D_SIMULATOR
AM_CFLAGS += $(V3D_SIMULATOR_CFLAGS)
libbroadcom_la_LDFLAGS = $(V3D_SIMULATOR_LIBS)
endif
libbroadcom_v33_la_SOURCES = $(BROADCOM_PER_VERSION_SOURCES)

View File

@ -22,14 +22,14 @@ inc_broadcom = include_directories('.', 'cle')
subdir('cle')
vc5_versions = ['33', '41', '42']
v3d_versions = ['33', '41', '42']
if with_gallium_vc5
if with_gallium_v3d
subdir('compiler')
subdir('qpu')
per_version_libs = []
foreach ver : vc5_versions
foreach ver : v3d_versions
per_version_libs += static_library(
'libbroadcom-v' + ver,
[
@ -42,8 +42,8 @@ if with_gallium_vc5
)
endforeach
libbroadcom_vc5 = static_library(
'libbroadcom_vc5',
libbroadcom_v3d = static_library(
'libbroadcom_v3d',
[
files('common/v3d_debug.c', 'clif/clif_dump.c'),
v3d_xml_pack,

View File

@ -88,8 +88,8 @@ if HAVE_GALLIUM_VC4
SUBDIRS += drivers/vc4 winsys/vc4/drm
endif
## vc5
if HAVE_GALLIUM_VC5
## v3d
if HAVE_GALLIUM_V3D
SUBDIRS += drivers/vc5 winsys/vc5/drm
endif

View File

@ -116,13 +116,13 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
.configuration = pipe_default_configuration_query,
},
{
.driver_name = "vc4",
.create_screen = pipe_vc4_create_screen,
.driver_name = "v3d",
.create_screen = pipe_v3d_create_screen,
.configuration = pipe_default_configuration_query,
},
{
.driver_name = "vc5",
.create_screen = pipe_vc5_create_screen,
.driver_name = "vc4",
.create_screen = pipe_vc4_create_screen,
.configuration = pipe_default_configuration_query,
},
{

View File

@ -310,24 +310,24 @@ pipe_vc4_create_screen(int fd, const struct pipe_screen_config *config)
#endif
#ifdef GALLIUM_VC5
#ifdef GALLIUM_V3D
#include "vc5/drm/vc5_drm_public.h"
struct pipe_screen *
pipe_vc5_create_screen(int fd, const struct pipe_screen_config *config)
pipe_v3d_create_screen(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *screen;
screen = vc5_drm_screen_create(fd);
screen = v3d_drm_screen_create(fd);
return screen ? debug_screen_wrap(screen) : NULL;
}
#else
struct pipe_screen *
pipe_vc5_create_screen(int fd, const struct pipe_screen_config *config)
pipe_v3d_create_screen(int fd, const struct pipe_screen_config *config)
{
fprintf(stderr, "vc5: driver missing\n");
fprintf(stderr, "v3d: driver missing\n");
return NULL;
}

View File

@ -37,10 +37,10 @@ struct pipe_screen *
pipe_virgl_create_screen(int fd, const struct pipe_screen_config *config);
struct pipe_screen *
pipe_vc4_create_screen(int fd, const struct pipe_screen_config *config);
pipe_v3d_create_screen(int fd, const struct pipe_screen_config *config);
struct pipe_screen *
pipe_vc5_create_screen(int fd, const struct pipe_screen_config *config);
pipe_vc4_create_screen(int fd, const struct pipe_screen_config *config);
struct pipe_screen *
pipe_pl111_create_screen(int fd, const struct pipe_screen_config *config);

View File

@ -1,10 +1,10 @@
if HAVE_GALLIUM_VC5
if HAVE_GALLIUM_V3D
TARGET_DRIVERS += vc5
TARGET_CPPFLAGS += -DGALLIUM_VC5
TARGET_DRIVERS += v3d
TARGET_CPPFLAGS += -DGALLIUM_V3D
TARGET_LIB_DEPS += \
$(top_builddir)/src/gallium/winsys/vc5/drm/libvc5drm.la \
$(top_builddir)/src/gallium/drivers/vc5/libvc5.la \
$(top_builddir)/src/gallium/winsys/vc5/drm/libv3ddrm.la \
$(top_builddir)/src/gallium/drivers/vc5/libv3d.la \
$(top_builddir)/src/broadcom/libbroadcom.la
if !HAVE_GALLIUM_VC4

View File

@ -26,31 +26,31 @@ AM_CFLAGS = \
-I$(top_builddir)/src/compiler/nir \
-I$(top_builddir)/src/broadcom \
$(LIBDRM_CFLAGS) \
$(VC5_SIMULATOR_CFLAGS) \
$(V3D_SIMULATOR_CFLAGS) \
$(GALLIUM_DRIVER_CFLAGS) \
$(VALGRIND_CFLAGS) \
$()
noinst_LTLIBRARIES = \
libvc5.la \
libvc5_v33.la \
libvc5_v41.la \
libv3d.la \
libv3d_v33.la \
libv3d_v41.la \
$()
libvc5_v33_la_SOURCES = $(VC5_PER_VERSION_SOURCES)
libvc5_v33_la_CFLAGS = $(AM_CFLAGS) -DV3D_VERSION=33
libv3d_v33_la_SOURCES = $(V3D_PER_VERSION_SOURCES)
libv3d_v33_la_CFLAGS = $(AM_CFLAGS) -DV3D_VERSION=33
libvc5_v41_la_SOURCES = $(VC5_PER_VERSION_SOURCES)
libvc5_v41_la_CFLAGS = $(AM_CFLAGS) -DV3D_VERSION=41
libv3d_v41_la_SOURCES = $(V3D_PER_VERSION_SOURCES)
libv3d_v41_la_CFLAGS = $(AM_CFLAGS) -DV3D_VERSION=41
libvc5_la_SOURCES = $(C_SOURCES)
libv3d_la_SOURCES = $(C_SOURCES)
libvc5_la_LDFLAGS = \
$(VC5_SIMULATOR_LIBS) \
libv3d_la_LDFLAGS = \
$(V3D_SIMULATOR_LIBS) \
$(NULL)
libvc5_la_LIBADD = \
libvc5_v33.la \
libvc5_v41.la \
libv3d_la_LIBADD = \
libv3d_v33.la \
libv3d_v41.la \
$()
EXTRA_DIST = meson.build

View File

@ -24,7 +24,7 @@ C_SOURCES := \
vc5_uniforms.c \
$()
VC5_PER_VERSION_SOURCES = \
V3D_PER_VERSION_SOURCES = \
v3dx_context.h \
v3dx_format_table.c \
v3dx_job.c \

View File

@ -18,7 +18,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
files_libvc5 = files(
files_libv3d = files(
'vc5_blit.c',
'vc5_bufmgr.c',
'vc5_bufmgr.h',
@ -55,15 +55,15 @@ files_per_version = files(
v3dv3_c_args = []
dep_v3dv3 = dependency('v3dv3')
if dep_v3dv3.found()
v3dv3_c_args = '-DUSE_VC5_SIMULATOR'
v3dv3_c_args = '-DUSE_V3D_SIMULATOR'
endif
vc5_versions = ['33', '41']
v3d_versions = ['33', '41']
per_version_libs = []
foreach ver : vc5_versions
foreach ver : v3d_versions
per_version_libs += static_library(
'vc5-v' + ver,
'v3d-v' + ver,
[files_per_version, v3d_xml_pack, nir_opcodes_h, nir_builder_opcodes_h],
include_directories : [
inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom,
@ -76,9 +76,9 @@ foreach ver : vc5_versions
endforeach
libvc5 = static_library(
'vc5',
[files_libvc5, v3d_xml_pack],
libv3d = static_library(
'v3d',
[files_libv3d, v3d_xml_pack],
include_directories : [
inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom,
inc_gallium_drivers, inc_drm_uapi,
@ -89,8 +89,8 @@ libvc5 = static_library(
link_with: per_version_libs,
)
driver_vc5 = declare_dependency(
compile_args : '-DGALLIUM_VC5',
link_with : [libvc5, libvc5winsys, libbroadcom_cle, libbroadcom_vc5],
driver_v3d = declare_dependency(
compile_args : '-DGALLIUM_V3D',
link_with : [libv3d, libv3dwinsys, libbroadcom_cle, libbroadcom_v3d],
dependencies : idep_nir,
)

View File

@ -31,7 +31,7 @@
* we support.
*/
#ifdef USE_VC5_SIMULATOR
#ifdef USE_V3D_SIMULATOR
#include "vc5_screen.h"
#include "vc5_context.h"
@ -187,4 +187,4 @@ v3dX(simulator_flush)(struct v3d_hw *v3d, struct drm_v3d_submit_cl *submit,
}
}
#endif /* USE_VC5_SIMULATOR */
#endif /* USE_V3D_SIMULATOR */

View File

@ -348,7 +348,7 @@ vc5_bo_open_handle(struct vc5_screen *screen,
bo->name = "winsys";
bo->private = false;
#ifdef USE_VC5_SIMULATOR
#ifdef USE_V3D_SIMULATOR
vc5_simulator_open_from_handle(screen->fd, winsys_stride,
bo->handle, bo->size);
bo->map = malloc(bo->size);

View File

@ -47,7 +47,7 @@ void vc5_job_add_bo(struct vc5_job *job, struct vc5_bo *bo);
#include "vc5_resource.h"
#include "vc5_cl.h"
#ifdef USE_VC5_SIMULATOR
#ifdef USE_V3D_SIMULATOR
#define using_vc5_simulator true
#else
#define using_vc5_simulator false

View File

@ -410,7 +410,7 @@ vc5_job_submit(struct vc5_context *vc5, struct vc5_job *job)
if (!(V3D_DEBUG & V3D_DEBUG_NORAST)) {
int ret;
#ifndef USE_VC5_SIMULATOR
#ifndef USE_V3D_SIMULATOR
ret = drmIoctl(vc5->fd, DRM_IOCTL_V3D_SUBMIT_CL, &job->submit);
#else
ret = vc5_simulator_flush(vc5, &job->submit, job);

View File

@ -598,7 +598,7 @@ vc5_screen_get_compiler_options(struct pipe_screen *pscreen,
}
struct pipe_screen *
vc5_screen_create(int fd)
v3d_screen_create(int fd)
{
struct vc5_screen *screen = rzalloc(NULL, struct vc5_screen);
struct pipe_screen *pscreen;
@ -617,7 +617,7 @@ vc5_screen_create(int fd)
(void)mtx_init(&screen->bo_handles_mutex, mtx_plain);
screen->bo_handles = util_hash_table_create(handle_hash, handle_compare);
#if defined(USE_VC5_SIMULATOR)
#if defined(USE_V3D_SIMULATOR)
vc5_simulator_init(screen);
#endif

View File

@ -93,7 +93,7 @@ vc5_screen(struct pipe_screen *screen)
return (struct vc5_screen *)screen;
}
struct pipe_screen *vc5_screen_create(int fd);
struct pipe_screen *v3d_screen_create(int fd);
void
vc5_fence_init(struct vc5_screen *screen);

View File

@ -46,7 +46,7 @@
* BOs).
*/
#ifdef USE_VC5_SIMULATOR
#ifdef USE_V3D_SIMULATOR
#include <sys/mman.h>
#include "util/hash_table.h"
@ -657,4 +657,4 @@ vc5_simulator_destroy(struct vc5_screen *screen)
mtx_unlock(&sim_state.mutex);
}
#endif /* USE_VC5_SIMULATOR */
#endif /* USE_V3D_SIMULATOR */

View File

@ -27,7 +27,7 @@
* vc5_simulator.c code to use.
*/
#ifdef USE_VC5_SIMULATOR
#ifdef USE_V3D_SIMULATOR
#include "vc5_simulator_wrapper.h"
@ -85,4 +85,4 @@ int v3d_hw_get_version(struct v3d_hw *hw)
}
#endif /* USE_VC5_SIMULATOR */
#endif /* USE_V3D_SIMULATOR */

View File

@ -94,11 +94,11 @@ if with_gallium_pl111
else
driver_pl111 = declare_dependency()
endif
if with_gallium_vc5
if with_gallium_v3d
subdir('winsys/vc5/drm')
subdir('drivers/vc5')
else
driver_vc5 = declare_dependency()
driver_v3d = declare_dependency()
endif
if with_gallium_etnaviv
subdir('winsys/etnaviv/drm')

View File

@ -56,7 +56,7 @@ libgallium_dri = shared_library(
dependencies : [
dep_selinux, dep_expat, dep_libdrm, dep_llvm, dep_thread,
driver_swrast, driver_r300, driver_r600, driver_radeonsi, driver_nouveau,
driver_pl111, driver_vc4, driver_vc5, driver_freedreno, driver_etnaviv,
driver_pl111, driver_v3d, driver_vc4, driver_freedreno, driver_etnaviv,
driver_imx, driver_tegra, driver_i915, driver_svga, driver_virgl,
driver_swr,
],
@ -68,8 +68,8 @@ foreach d : [[with_gallium_pl111, 'pl111_dri.so'],
[with_gallium_freedreno, ['msm_dri.so', 'kgsl_dri.so']],
[with_gallium_softpipe or with_gallium_swr, 'swrast_dri.so'],
[with_gallium_softpipe and with_gallium_drisw_kms, 'kms_swrast_dri.so'],
[with_gallium_v3d, 'v3d_dri.so'],
[with_gallium_vc4, 'vc4_dri.so'],
[with_gallium_vc5, 'vc5_dri.so'],
[with_gallium_etnaviv, 'etnaviv_dri.so'],
[with_gallium_imx, 'imx-drm_dri.so'],
[with_gallium_tegra, 'tegra_dri.so'],

View File

@ -71,6 +71,10 @@ DEFINE_LOADER_DRM_ENTRYPOINT(kgsl)
DEFINE_LOADER_DRM_ENTRYPOINT(virtio_gpu)
#endif
#if defined(GALLIUM_V3D)
DEFINE_LOADER_DRM_ENTRYPOINT(v3d)
#endif
#if defined(GALLIUM_VC4)
DEFINE_LOADER_DRM_ENTRYPOINT(vc4)
#if defined(GALLIUM_PL111)
@ -78,10 +82,6 @@ DEFINE_LOADER_DRM_ENTRYPOINT(pl111)
#endif
#endif
#if defined(GALLIUM_VC5)
DEFINE_LOADER_DRM_ENTRYPOINT(vc5)
#endif
#if defined(GALLIUM_ETNAVIV)
DEFINE_LOADER_DRM_ENTRYPOINT(imx_drm)
DEFINE_LOADER_DRM_ENTRYPOINT(etnaviv)

View File

@ -27,7 +27,7 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(C_SOURCES)
LOCAL_MODULE := libmesa_winsys_vc5
LOCAL_MODULE := libmesa_winsys_v3d
include $(GALLIUM_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)

View File

@ -26,8 +26,8 @@ AM_CFLAGS = \
-I$(top_srcdir)/src/gallium/drivers \
$(GALLIUM_WINSYS_CFLAGS)
noinst_LTLIBRARIES = libvc5drm.la
noinst_LTLIBRARIES = libv3ddrm.la
libvc5drm_la_SOURCES = $(C_SOURCES)
libv3ddrm_la_SOURCES = $(C_SOURCES)
EXTRA_DIST = meson.build

View File

@ -18,8 +18,8 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
libvc5winsys = static_library(
'vc5winsys',
libv3dwinsys = static_library(
'v3dwinsys',
files('vc5_drm_winsys.c'),
include_directories : [
inc_src, inc_include,

View File

@ -26,6 +26,6 @@
struct pipe_screen;
struct pipe_screen *vc5_drm_screen_create(int drmFD);
struct pipe_screen *v3d_drm_screen_create(int drmFD);
#endif /* __VC5_DRM_PUBLIC_H__ */

View File

@ -29,7 +29,7 @@
#include "vc5/vc5_screen.h"
struct pipe_screen *
vc5_drm_screen_create(int fd)
v3d_drm_screen_create(int fd)
{
return vc5_screen_create(fcntl(fd, F_DUPFD_CLOEXEC, 3));
return v3d_screen_create(fcntl(fd, F_DUPFD_CLOEXEC, 3));
}