Commit c4c488a2 authored by Eric Anholt's avatar Eric Anholt

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.
parent 8a793d42
......@@ -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)
......
......@@ -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')
......
......@@ -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'
......
......@@ -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)
......
......@@ -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,
......
......@@ -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
......
......@@ -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,
},
{
......
......@@ -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;
}
......
......@@ -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);
......
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
......
......@@ -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
......@@ -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 \
......
......@@ -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,
)
......@@ -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 */
......@@ -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);
......
......@@ -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
......
......@@ -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);
......
......@@ -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
......
......@@ -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);
......
......@@ -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 */
......@@ -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 */
......@@ -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')
......
......@@ -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'],
......
......@@ -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)
......
......@@ -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)
......@@ -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
......@@ -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,
......
......@@ -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__ */
......@@ -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));
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment