summaryrefslogtreecommitdiff
path: root/bsd-core/via/Makefile
blob: 7aaa01dfeea61a8a1559a9eb11f53f93684c59fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# $FreeBSD$

.PATH:	${.CURDIR}/..
KMOD	= via
NO_MAN	= YES
SRCS    = via_dma.c via_drv.c via_ds.c via_irq.c via_map.c via_mm.c \
	via_verifier.c via_video.c
SRCS   += device_if.h bus_if.h pci_if.h opt_drm.h
CFLAGS += ${DEBUG_FLAGS} -I. -I..

.if defined(DRM_DEBUG)
DRM_DEBUG_OPT= "\#define DRM_DEBUG 1"
.endif

.if !defined(DRM_NOLINUX)
DRM_LINUX_OPT= "\#define DRM_LINUX 1"
.endif

opt_drm.h:
	touch opt_drm.h
	echo $(DRM_DEBUG_OPT) >> opt_drm.h
	echo $(DRM_LINUX_OPT) >> opt_drm.h

.include <bsd.kmod.mk>
class="hl opt">: ExtFramebuffer(Card& card, uint32_t width, uint32_t height, PixelFormat format, std::vector<uint32_t> handles, std::vector<uint32_t> pitches, std::vector<uint32_t> offsets, std::vector<uint64_t> modifiers = {}); ~ExtFramebuffer() override; uint32_t width() const override { return Framebuffer::width(); } uint32_t height() const override { return Framebuffer::height(); } PixelFormat format() const override { return m_format; } unsigned num_planes() const override { return m_num_planes; } uint32_t handle(unsigned plane) const { return m_planes.at(plane).handle; } uint32_t stride(unsigned plane) const override { return m_planes.at(plane).stride; } uint32_t size(unsigned plane) const override { return m_planes.at(plane).size; } uint32_t offset(unsigned plane) const override { return m_planes.at(plane).offset; } private: struct FramebufferPlane { uint32_t handle; uint32_t size; uint32_t stride; uint32_t offset; uint64_t modifier; uint8_t *map; }; unsigned m_num_planes; std::array<FramebufferPlane, 4> m_planes; PixelFormat m_format; }; }