mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
winsys/drm: Add swrast.
The swrast winsys always returns NULL when drm_api_create is called.
This commit is contained in:
parent
52d7b2cede
commit
a1306f4ef6
8 changed files with 72 additions and 2 deletions
|
|
@ -100,8 +100,8 @@ GALLIUM_DIRS = auxiliary drivers state_trackers
|
|||
GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
|
||||
GALLIUM_DRIVERS_DIRS = softpipe failover svga i915 i965 r300 trace identity
|
||||
GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
|
||||
GALLIUM_WINSYS_DIRS = xlib egl_xlib
|
||||
GALLIUM_WINSYS_DRM_DIRS =
|
||||
GALLIUM_WINSYS_DIRS = drm xlib egl_xlib
|
||||
GALLIUM_WINSYS_DRM_DIRS = swrast
|
||||
GALLIUM_STATE_TRACKERS_DIRS = glx
|
||||
|
||||
# native displays EGL should support
|
||||
|
|
|
|||
12
configure.ac
12
configure.ac
|
|
@ -1311,6 +1311,18 @@ if test "x$enable_gallium_nouveau" = xyes; then
|
|||
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nv04 nv10 nv20 nv30 nv40 nv50"
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl Gallium swrast configuration
|
||||
dnl
|
||||
AC_ARG_ENABLE([gallium-swrast],
|
||||
[AS_HELP_STRING([--enable-gallium-swrast],
|
||||
[build gallium swrast @<:@default=disabled@:>@])],
|
||||
[enable_gallium_swrast="$enableval"],
|
||||
[enable_gallium_swrast=auto])
|
||||
if test "x$enable_gallium_swrast" = xyes; then
|
||||
GALLIUM_WINSYS_DRM_DIRS="$GALLIUM_WINSYS_DRM_DIRS swrast"
|
||||
fi
|
||||
|
||||
dnl prepend CORE_DIRS to SRC_DIRS
|
||||
SRC_DIRS="$CORE_DIRS $SRC_DIRS"
|
||||
|
||||
|
|
|
|||
|
|
@ -81,6 +81,15 @@ that a number of EGL drivers depend on the <code>egl_g3d</code> state tracker.
|
|||
They will <em>not</em> be built without the <code>egl_g3d</code> state
|
||||
tracker.</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li><code>--enable-gallium-swrast</code>
|
||||
|
||||
<p>This option is not specific to EGL. But if there is no driver for your
|
||||
hardware, or you are experiencing problems with the hardware driver, you can
|
||||
enable the swrast DRM driver. It is a dummy driver and EGL will fallback to
|
||||
software rendering automatically.</p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
|
@ -159,6 +168,7 @@ tracker to build. The available drivers are</p>
|
|||
<li><code>egl_<dpy>_i965</code></li>
|
||||
<li><code>egl_<dpy>_radeon</code></li>
|
||||
<li><code>egl_<dpy>_nouveau</code></li>
|
||||
<li><code>egl_<dpy>_swrast</code></li>
|
||||
<li><code>egl_<dpy>_vmwgfx</code></li>
|
||||
</ul>
|
||||
|
||||
|
|
|
|||
12
src/gallium/winsys/drm/swrast/Makefile
Normal file
12
src/gallium/winsys/drm/swrast/Makefile
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# src/gallium/winsys/drm/swrast/Makefile
|
||||
TOP = ../../../../..
|
||||
include $(TOP)/configs/current
|
||||
|
||||
SUBDIRS = core $(GALLIUM_STATE_TRACKERS_DIRS)
|
||||
|
||||
default install clean:
|
||||
@for dir in $(SUBDIRS) ; do \
|
||||
if [ -d $$dir ] ; then \
|
||||
(cd $$dir && $(MAKE) $@) || exit 1; \
|
||||
fi \
|
||||
done
|
||||
10
src/gallium/winsys/drm/swrast/core/Makefile
Normal file
10
src/gallium/winsys/drm/swrast/core/Makefile
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# src/gallium/winsys/drm/swrast/core/Makefile
|
||||
|
||||
TOP = ../../../../../..
|
||||
include $(TOP)/configs/current
|
||||
|
||||
LIBNAME = swrastdrm
|
||||
|
||||
C_SOURCES = swrast_drm_api.c
|
||||
|
||||
include ../../../../Makefile.template
|
||||
13
src/gallium/winsys/drm/swrast/core/swrast_drm_api.c
Normal file
13
src/gallium/winsys/drm/swrast/core/swrast_drm_api.c
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#include "state_tracker/drm_api.h"
|
||||
|
||||
static struct drm_api swrast_drm_api =
|
||||
{
|
||||
.name = "swrast",
|
||||
};
|
||||
|
||||
struct drm_api *
|
||||
drm_api_create()
|
||||
{
|
||||
(void) swrast_drm_api;
|
||||
return NULL;
|
||||
}
|
||||
12
src/gallium/winsys/drm/swrast/egl_g3d/Makefile
Normal file
12
src/gallium/winsys/drm/swrast/egl_g3d/Makefile
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
TOP = ../../../../../..
|
||||
include $(TOP)/configs/current
|
||||
|
||||
EGL_DRIVER_NAME = swrast
|
||||
EGL_DRIVER_SOURCES = dummy.c
|
||||
EGL_DRIVER_LIBS =
|
||||
|
||||
EGL_DRIVER_PIPES = \
|
||||
$(TOP)/src/gallium/winsys/drm/swrast/core/libswrastdrm.a \
|
||||
$(TOP)/src/gallium/drivers/softpipe/libsoftpipe.a
|
||||
|
||||
include ../../Makefile.egl_g3d
|
||||
1
src/gallium/winsys/drm/swrast/egl_g3d/dummy.c
Normal file
1
src/gallium/winsys/drm/swrast/egl_g3d/dummy.c
Normal file
|
|
@ -0,0 +1 @@
|
|||
/* mklib expects at least one object file */
|
||||
Loading…
Add table
Reference in a new issue