Commit 04b5a38e authored by Sebastian Ramacher's avatar Sebastian Ramacher

Import Upstream version 1.2.7

parent a6289d17
This diff is collapsed.
1.2.7
-----
Config
- added config option to override module search dir.
- read /proc/self/cmdline if DirectFBInit() does not receive argv/argc.
- added option to override initial screen size.
- Fix build when srcdir != builddir.
Core
- added documentation for blend functions and some desktop-buffer-mode options
- better out-of-memory error handling
- fixed alpha handling for palette SetEntriesYUV
- rectified changes to surface policy in case a surface is allocated again, of reallocated
- fixed memory leak in local "System Memory" pool when deallocating due to IDirectFB::Release
Systems
- fbdev: Fixes for pan & zoom functionality
Gfxsystems
- matrox: Wrong chroma plane offset was being used with deinterlace blits.
- omap: Added omapfb.h to release zipfile.
- SH772x: LCD parameters not obtained via fbdev ioctl
- SH772x: improved JPEG Encode/decode performance, JPEG fixes, JPU by default disabled due to conflicts
- SH772x: detection broadened to SH772x revisions
Input
- Fix possible array overruns
- added direct_modules_unregister() when unloading the module
- linuxinput: Fix LED handling, Count KEY_M
- font loading: Support premultiplied font formats.
- Video4Linux: add sources to release zipfile. Conform v4l and v4l2 to new core architecture.
libfusion
- fixed skirmish wait argument not taken as msec but usec
Tools
- dfbdump: fixed to show correct buffer allocation sizes for certain formats.
1.2.6
-----
......
This diff is collapsed.
......@@ -16,9 +16,9 @@ AC_PREREQ(2.52)
#
DIRECTFB_MAJOR_VERSION=1
DIRECTFB_MINOR_VERSION=2
DIRECTFB_MICRO_VERSION=6
DIRECTFB_MICRO_VERSION=7
DIRECTFB_INTERFACE_AGE=0
DIRECTFB_BINARY_AGE=6
DIRECTFB_BINARY_AGE=7
DIRECTFB_VERSION=$DIRECTFB_MAJOR_VERSION.$DIRECTFB_MINOR_VERSION.$DIRECTFB_MICRO_VERSION
AC_SUBST(DIRECTFB_MAJOR_VERSION)
......@@ -205,7 +205,7 @@ case "$target_or_host" in
AC_DEFINE(ARCH_PPC,1,[Define to 1 if you are compiling for PowerPC.])
;;
sh4-*)
sh4-* | sh3-*)
have_sh4=yes
AC_DEFINE(ARCH_SH4,1,[Define to 1 if you are compiling for SH4.])
;;
......@@ -372,7 +372,7 @@ AC_ARG_ENABLE(debug,
[ --enable-debug enable debugging [[default=no]]],,
enable_debug=no)
if test "$enable_debug" = "yes"; then
CFLAGS="$CFLAGS -g3 -fno-inline"
CFLAGS="$CFLAGS -g3 -fno-inline -Wno-inline"
DIRECT_BUILD_DEBUG=1
else
DIRECT_BUILD_DEBUG=0
......@@ -864,7 +864,7 @@ nvidia=no
omap=no
radeon=no
savage=no
sh7722=no
sh772x=no
sis315=no
tdfx=no
unichrome=no
......@@ -879,7 +879,7 @@ AC_ARG_WITH(gfxdrivers,
[ 'all' builds all drivers (default), 'none' builds none ]
[ Possible gfxdrivers are: ]
[ ati128, cle266, cyber5k, davinci, ep9x, i810, i830, mach64,]
[ matrox, neomagic, nsc, nvidia, omap, radeon, savage, sh7722,]
[ matrox, neomagic, nsc, nvidia, omap, radeon, savage, sh772x,]
[ sis315, tdfx, unichrome, vmware], gfxdrivers="$withval",[gfxdrivers="all"])
if test "$gfxdrivers" = "all"; then
......@@ -898,7 +898,7 @@ if test "$gfxdrivers" = "all"; then
checkfor_omap="$have_arm"
checkfor_radeon=yes
checkfor_savage=yes
checkfor_sh7722=yes
checkfor_sh772x=yes
checkfor_sis315=yes
checkfor_tdfx=yes
checkfor_unichrome=yes
......@@ -956,8 +956,8 @@ else
savage)
checkfor_savage=yes
;;
sh7722)
checkfor_sh7722=yes
sh772x)
checkfor_sh772x=yes
;;
sis315)
checkfor_sis315=yes
......@@ -1041,8 +1041,8 @@ if test "$checkfor_savage" = "yes" && test "$have_sysio" = "yes"; then
savage=yes
fi
if test "$checkfor_sh7722" = "yes" && test "$have_sh4" = "yes"; then
sh7722=yes
if test "$checkfor_sh772x" = "yes" && test "$have_sh4" = "yes"; then
sh772x=yes
fi
if test "$checkfor_sis315" = "yes"; then
......@@ -1388,7 +1388,7 @@ AM_CONDITIONAL(GFX_NVIDIA, test "$nvidia" = "yes")
AM_CONDITIONAL(GFX_OMAP, test "$omap" = "yes")
AM_CONDITIONAL(GFX_RADEON, test "$radeon" = "yes")
AM_CONDITIONAL(GFX_SAVAGE, test "$savage" = "yes")
AM_CONDITIONAL(GFX_SH7722, test "$sh7722" = "yes")
AM_CONDITIONAL(GFX_SH772X, test "$sh772x" = "yes")
AM_CONDITIONAL(GFX_SIS315, test "$sis315" = "yes")
AM_CONDITIONAL(GFX_TDFX, test "$tdfx" = "yes")
AM_CONDITIONAL(GFX_UNICHROME, test "$unichrome" = "yes")
......@@ -1552,7 +1552,7 @@ gfxdrivers/nvidia/Makefile
gfxdrivers/omap/Makefile
gfxdrivers/radeon/Makefile
gfxdrivers/savage/Makefile
gfxdrivers/sh7722/Makefile
gfxdrivers/sh772x/Makefile
gfxdrivers/sis315/Makefile
gfxdrivers/tdfx/Makefile
gfxdrivers/unichrome/Makefile
......@@ -1674,7 +1674,7 @@ Building Graphics Drivers:
NeoMagic $neomagic
NSC Geode $nsc
nVidia $nvidia
Renesas SH7722 $sh7722
Renesas SH7722/SH7723 $sh772x
S3 Savage $savage
SiS 315 $sis315
TI Davinci $davinci
......
%define name directfb
%define version 1.2.6
%define version 1.2.7
%define oname DirectFB
%define libname lib%name
......
......@@ -521,10 +521,17 @@ to set this mode explicitly because the 'auto' mode chooses it if
blits are accelerated. Without accelerated blits this mode is not
recommended.
.BI triple
Like backvideo except the surface is triple buffered.
.BI frontonly
There is no back buffer. This is the best choice if you are using
opaque windows only and don't use any color keying.
.BI windows
Special mode with window buffers directly displayed. This mode
requires special hardware support.
.TP
.BI vsync-after
Wait for the vertical retrace after flipping. The default is to wait
......
......@@ -84,10 +84,10 @@ else
SAVAGE_DIR =
endif
if GFX_SH7722
SH7722_DIR = sh7722
if GFX_SH772X
SH772X_DIR = sh772x
else
SH7722_DIR =
SH772X_DIR =
endif
if GFX_SIS315
......@@ -136,7 +136,7 @@ SUBDIRS = \
$(OMAP_DIR) \
$(RADEON_DIR) \
$(SAVAGE_DIR) \
$(SH7722_DIR) \
$(SH772X_DIR) \
$(SIS315_DIR) \
$(TDFX_DIR) \
$(UNICHROME_DIR) \
......
......@@ -56,7 +56,7 @@ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = ati128 cle266 cyber5k davinci ep9x i810 i830 mach64 \
matrox neomagic nsc nvidia omap radeon savage sh7722 sis315 \
matrox neomagic nsc nvidia omap radeon savage sh772x sis315 \
tdfx unichrome vmware
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
......@@ -268,8 +268,8 @@ top_srcdir = @top_srcdir@
@GFX_RADEON_TRUE@RADEON_DIR = radeon
@GFX_SAVAGE_FALSE@SAVAGE_DIR =
@GFX_SAVAGE_TRUE@SAVAGE_DIR = savage
@GFX_SH7722_FALSE@SH7722_DIR =
@GFX_SH7722_TRUE@SH7722_DIR = sh7722
@GFX_SH772X_FALSE@SH772X_DIR =
@GFX_SH772X_TRUE@SH772X_DIR = sh772x
@GFX_SIS315_FALSE@SIS315_DIR =
@GFX_SIS315_TRUE@SIS315_DIR = sis315
@GFX_TDFX_FALSE@TDFX_DIR =
......@@ -296,7 +296,7 @@ SUBDIRS = \
$(OMAP_DIR) \
$(RADEON_DIR) \
$(SAVAGE_DIR) \
$(SH7722_DIR) \
$(SH772X_DIR) \
$(SIS315_DIR) \
$(TDFX_DIR) \
$(UNICHROME_DIR) \
......
## Makefile.am for DirectFB/src/core/gfxcards/ati128
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include \
-I$(top_builddir)/lib \
-I$(top_srcdir)/lib \
......
......@@ -264,6 +264,7 @@ target_vendor = @target_vendor@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include \
-I$(top_builddir)/lib \
-I$(top_srcdir)/lib \
......
......@@ -78,7 +78,7 @@ static void ov0_calc_regs( ATI128DriverData *adrv, ATIOverlayLayerData *aov0,
/**********************/
static int
ov0LayerDataSize()
ov0LayerDataSize( void )
{
return sizeof(ATIOverlayLayerData);
}
......@@ -251,13 +251,13 @@ ov0FlipRegion( CoreLayer *layer,
DisplayLayerFuncs atiOverlayFuncs = {
LayerDataSize: ov0LayerDataSize,
InitLayer: ov0InitLayer,
.LayerDataSize = ov0LayerDataSize,
.InitLayer = ov0InitLayer,
TestRegion: ov0TestRegion,
SetRegion: ov0SetRegion,
RemoveRegion: ov0RemoveRegion,
FlipRegion: ov0FlipRegion
.TestRegion = ov0TestRegion,
.SetRegion = ov0SetRegion,
.RemoveRegion = ov0RemoveRegion,
.FlipRegion = ov0FlipRegion,
};
/* internal */
......
## Makefile.am for DirectFB/gfxdrivers/cle266
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include \
-I$(top_builddir)/lib \
-I$(top_srcdir)/lib \
......@@ -36,6 +37,7 @@ libdirectfb_cle266_la_LDFLAGS = \
$(DFB_LDFLAGS)
libdirectfb_cle266_la_LIBADD = \
-lm \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
......
......@@ -266,6 +266,7 @@ target_vendor = @target_vendor@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include \
-I$(top_builddir)/lib \
-I$(top_srcdir)/lib \
......@@ -295,6 +296,7 @@ libdirectfb_cle266_la_LDFLAGS = \
$(DFB_LDFLAGS)
libdirectfb_cle266_la_LIBADD = \
-lm \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
......
......@@ -96,8 +96,8 @@ void uc_flush_texture_cache(void* drv, void* dev)
* @note This is actually a 1-pixel high or wide rectangular color fill.
*/
inline void uc_draw_hv_line(struct uc_fifo* fifo,
int x, int y, int len, int hv, int rop)
static inline void uc_draw_hv_line(struct uc_fifo* fifo,
int x, int y, int len, int hv, int rop)
{
UC_FIFO_ADD_2D(fifo, VIA_REG_DSTPOS, ((RS16(y) << 16) | RS16(x)));
UC_FIFO_ADD_2D(fifo, VIA_REG_DIMENSION, len << (hv ? 16 : 0));
......
......@@ -46,48 +46,48 @@ static inline int uc_map_src_format_3d( DFBSurfacePixelFormat format )
return 0;
}
inline void uc_map_blending_fn( struct uc_hw_alpha *hwalpha,
DFBSurfaceBlendFunction sblend,
DFBSurfaceBlendFunction dblend,
DFBSurfacePixelFormat dformat );
void uc_map_blending_fn( struct uc_hw_alpha *hwalpha,
DFBSurfaceBlendFunction sblend,
DFBSurfaceBlendFunction dblend,
DFBSurfacePixelFormat dformat );
inline void uc_map_blitflags ( struct uc_hw_texture *tex,
DFBSurfaceBlittingFlags bflags,
DFBSurfacePixelFormat sformat );
void uc_map_blitflags ( struct uc_hw_texture *tex,
DFBSurfaceBlittingFlags bflags,
DFBSurfacePixelFormat sformat );
// GPU - setting functions (uc_hwset.c)
inline void uc_set_blending_fn( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
void uc_set_blending_fn( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
inline void uc_set_texenv ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
void uc_set_texenv ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
inline void uc_set_clip ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
void uc_set_clip ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
inline void uc_set_destination( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
void uc_set_destination( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
inline void uc_set_source_2d ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
void uc_set_source_2d ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
inline void uc_set_source_3d ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
void uc_set_source_3d ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
inline void uc_set_color_2d ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
void uc_set_color_2d ( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
inline void uc_set_colorkey_2d( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
void uc_set_colorkey_2d( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state );
#endif // __UC_HW_H__
......@@ -15,7 +15,7 @@
#include <gfx/convert.h>
/// Map DirectFB blending functions to hardware
inline void
void
uc_map_blending_fn( struct uc_hw_alpha *hwalpha,
DFBSurfaceBlendFunction sblend,
DFBSurfaceBlendFunction dblend,
......@@ -133,6 +133,9 @@ uc_map_blending_fn( struct uc_hw_alpha *hwalpha,
hwalpha->regHABLRAa = 0x0;
}
break;
default:
D_BUG("Unsupported blending function!");
break;
}
// Set destination blending function
......@@ -243,7 +246,7 @@ uc_map_blending_fn( struct uc_hw_alpha *hwalpha,
}
/// Map DFBSurfaceBlittingFlags to the hardware
inline void
void
uc_map_blitflags( struct uc_hw_texture *tex,
DFBSurfaceBlittingFlags bflags,
DFBSurfacePixelFormat sformat )
......
......@@ -33,7 +33,7 @@
#define ILOG2_X86(x,y) // TODO - use BSR (bit scan reverse) instruction
/// Set alpha blending function (3D)
inline void
void
uc_set_blending_fn( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state )
......@@ -70,7 +70,7 @@ uc_set_blending_fn( UcDriverData *ucdrv,
}
/// Set texture environment (3D)
inline void
void
uc_set_texenv( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state )
......@@ -111,7 +111,7 @@ uc_set_texenv( UcDriverData *ucdrv,
}
/// Set clipping rectangle (2D and 3D)
inline void
void
uc_set_clip( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state )
......@@ -144,7 +144,7 @@ uc_set_clip( UcDriverData *ucdrv,
}
/// Set destination (2D and 3D)
inline void
void
uc_set_destination( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state )
......@@ -197,7 +197,7 @@ uc_set_destination( UcDriverData *ucdrv,
}
/// Set new source (2D)
inline void
void
uc_set_source_2d( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state )
......@@ -222,7 +222,7 @@ uc_set_source_2d( UcDriverData *ucdrv,
}
/// Set new source (3D)
inline void
void
uc_set_source_3d( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state )
......@@ -324,7 +324,7 @@ uc_set_source_3d( UcDriverData *ucdrv,
}
/// Set either destination color key, or fill color, as needed. (2D)
inline void
void
uc_set_color_2d( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state )
......@@ -379,7 +379,7 @@ uc_set_color_2d( UcDriverData *ucdrv,
UC_INVALIDATE( uc_colorkey2d );
}
inline void
void
uc_set_colorkey_2d( UcDriverData *ucdrv,
UcDeviceData *ucdev,
CardState *state )
......
......@@ -28,7 +28,7 @@ uc_ovl_remove(CoreLayer *layer,
void *region_data);
static int uc_ovl_datasize()
static int uc_ovl_datasize( void )
{
return sizeof(UcOverlayData);
}
......@@ -307,14 +307,14 @@ uc_ovl_set_input_field( CoreLayer *layer,
}
DisplayLayerFuncs ucOverlayFuncs = {
LayerDataSize: uc_ovl_datasize,
InitLayer: uc_ovl_init_layer,
SetRegion: uc_ovl_set_region,
RemoveRegion: uc_ovl_remove,
TestRegion: uc_ovl_test_region,
FlipRegion: uc_ovl_flip_region,
GetLevel: uc_ovl_get_level,
SetLevel: uc_ovl_set_level,
SetInputField: uc_ovl_set_input_field,
SetColorAdjustment: uc_ovl_set_adjustment
.LayerDataSize = uc_ovl_datasize,
.InitLayer = uc_ovl_init_layer,
.SetRegion = uc_ovl_set_region,
.RemoveRegion = uc_ovl_remove,
.TestRegion = uc_ovl_test_region,
.FlipRegion = uc_ovl_flip_region,
.GetLevel = uc_ovl_get_level,
.SetLevel = uc_ovl_set_level,
.SetInputField = uc_ovl_set_input_field,
.SetColorAdjustment = uc_ovl_set_adjustment,
};
......@@ -168,9 +168,9 @@ osdSetRegion( CoreLayer *layer,
}
DisplayLayerFuncs ucPrimaryFuncs = {
InitLayer: osdInitLayer,
.InitLayer = osdInitLayer,
TestRegion: osdTestRegion,
SetRegion: osdSetRegion
.TestRegion = osdTestRegion,
.SetRegion = osdSetRegion,
};
......@@ -164,7 +164,7 @@ static DFBResult uc_alloc_vq(CoreGraphicsDevice *device, UcDeviceData *ucdev)
* @param enable enable VQ if true (else disable it.)
*/
DFBResult uc_init_2d_engine(CoreGraphicsDevice *device, UcDeviceData *ucdev, UcDriverData *ucdrv, bool enable)
static DFBResult uc_init_2d_engine(CoreGraphicsDevice *device, UcDeviceData *ucdev, UcDriverData *ucdrv, bool enable)
{
DFBResult result = DFB_OK;
volatile u8* hwregs = ucdrv->hwregs;
......@@ -248,7 +248,7 @@ DFBResult uc_init_2d_engine(CoreGraphicsDevice *device, UcDeviceData *ucdev, UcD
return result;
}
void uc_init_3d_engine(volatile u8* hwregs, int hwrev, bool init_all)
static void uc_init_3d_engine(volatile u8* hwregs, int hwrev, bool init_all)
{
u32 i;
......@@ -340,7 +340,7 @@ static void uc_after_set_var(void* drv, void* dev)
/** Wait until the engine is idle. */
static void uc_engine_sync(void* drv, void* dev)
static DFBResult uc_engine_sync(void* drv, void* dev)
{
UcDriverData* ucdrv = (UcDriverData*) drv;
UcDeviceData* ucdev = (UcDeviceData*) dev;
......@@ -365,6 +365,8 @@ static void uc_engine_sync(void* drv, void* dev)
ucdev->idle_waitcycles += loop;
ucdev->must_wait = 0;
return DFB_OK;
}
......@@ -438,7 +440,7 @@ static DFBResult driver_init_driver(CoreGraphicsDevice* device,
ucdrv->file = fd;
ucdrv->hwregs = mmap(NULL, 0x1000000, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if ((int) ucdrv->hwregs == -1)
if (ucdrv->hwregs == MAP_FAILED)
return DFB_IO;
}
......
## Makefile.am for DirectFB/gfxdrivers/cyber5k
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include \
-I$(top_builddir)/lib \
-I$(top_srcdir)/lib \
......
......@@ -264,6 +264,7 @@ target_vendor = @target_vendor@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include \
-I$(top_builddir)/lib \
-I$(top_srcdir)/lib \
......
......@@ -671,10 +671,10 @@ osdSetRegion( CoreLayer *layer,
}
DisplayLayerFuncs newPrimaryFuncs = {
InitLayer: osdInitLayer,
.InitLayer = osdInitLayer,
TestRegion: osdTestRegion,
SetRegion: osdSetRegion
.TestRegion = osdTestRegion,
.SetRegion = osdSetRegion,
};
/* exported symbols */
......
......@@ -30,7 +30,7 @@
#include "cyber5k_alpha.h"
#include "regs.h"
void cyber_cleanup_alpha()
void cyber_cleanup_alpha(void)
{
int i;
......
......@@ -84,7 +84,7 @@ cyber_overlayreg_mask( unsigned char index, unsigned char value, unsigned char m
cyber_out8(cyber_mmio, GRADATA, tmp);
}
void cyber_cleanup_overlay()
void cyber_cleanup_overlay(void)
{
/*restore FIFO control regs*/