overlay code now respects the B_OVERLAY_COLOR_KEY flag instead of forcing keying ON. I seem to have forgotten about that flag, but I was pointed at it again by testing with overlay in a consumer node. :) Bumped version to 0.68.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15367 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/* Nvidia TNT and GeForce Back End Scaler functions */
|
/* Nvidia TNT and GeForce Back End Scaler functions */
|
||||||
/* Written by Rudolf Cornelissen 05/2002-6/2005 */
|
/* Written by Rudolf Cornelissen 05/2002-12/2005 */
|
||||||
|
|
||||||
#define MODULE_BIT 0x00000200
|
#define MODULE_BIT 0x00000200
|
||||||
|
|
||||||
@@ -735,9 +735,11 @@ status_t nv_configure_bes
|
|||||||
BESW(NV04_CTRL_V, 0x00000001);
|
BESW(NV04_CTRL_V, 0x00000001);
|
||||||
/* enable horizontal filtering (no effect?) */
|
/* enable horizontal filtering (no effect?) */
|
||||||
BESW(NV04_CTRL_H, 0x00000111);
|
BESW(NV04_CTRL_H, 0x00000111);
|
||||||
|
/* enable BES (b0), set colorkeying (b4), format yuy2 (b8: 0 = ccir) */
|
||||||
/* enable BES (b0), enable colorkeying (b4), format yuy2 (b8: 0 = ccir) */
|
if (ow->flags & B_OVERLAY_COLOR_KEY)
|
||||||
BESW(NV04_GENCTRL, 0x00000111);
|
BESW(NV04_GENCTRL, 0x00000111);
|
||||||
|
else
|
||||||
|
BESW(NV04_GENCTRL, 0x00000101);
|
||||||
/* select buffer 1 as active (b16) */
|
/* select buffer 1 as active (b16) */
|
||||||
BESW(NV04_SU_STATE, 0x00010000);
|
BESW(NV04_SU_STATE, 0x00010000);
|
||||||
|
|
||||||
@@ -786,10 +788,13 @@ status_t nv_configure_bes
|
|||||||
//fixme if needed: width must be even officially...
|
//fixme if needed: width must be even officially...
|
||||||
BESW(NV10_0SRCSIZE, ((ob->height << 16) | ob->width));
|
BESW(NV10_0SRCSIZE, ((ob->height << 16) | ob->width));
|
||||||
/* setup source pitch including slopspace (in bytes),
|
/* setup source pitch including slopspace (in bytes),
|
||||||
* b16: select YUY2 (0 = YV12), b20: use colorkey, b24: no iturbt_709 (do iturbt_601) */
|
* b16: select YUY2 (0 = YV12), b20: set colorkeying, b24: no iturbt_709 (do iturbt_601) */
|
||||||
/* Note:
|
/* Note:
|
||||||
* source pitch granularity = 32 pixels on GeForce cards!! */
|
* source pitch granularity = 32 pixels on GeForce cards!! */
|
||||||
BESW(NV10_0SRCPTCH, (((ob->width * 2) & 0x0000ffff) | (1 << 16) | (1 << 20) | (0 << 24)));
|
if (ow->flags & B_OVERLAY_COLOR_KEY)
|
||||||
|
BESW(NV10_0SRCPTCH, (((ob->width * 2) & 0x0000ffff) | (1 << 16) | (1 << 20) | (0 << 24)));
|
||||||
|
else
|
||||||
|
BESW(NV10_0SRCPTCH, (((ob->width * 2) & 0x0000ffff) | (1 << 16) | (0 << 20) | (0 << 24)));
|
||||||
/* setup output window position */
|
/* setup output window position */
|
||||||
BESW(NV10_0DSTREF, ((moi.vcoordv & 0xffff0000) | ((moi.hcoordv & 0xffff0000) >> 16)));
|
BESW(NV10_0DSTREF, ((moi.vcoordv & 0xffff0000) | ((moi.hcoordv & 0xffff0000) >> 16)));
|
||||||
/* setup output window size */
|
/* setup output window size */
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ status_t nv_general_powerup()
|
|||||||
{
|
{
|
||||||
status_t status;
|
status_t status;
|
||||||
|
|
||||||
LOG(1,("POWERUP: Haiku nVidia Accelerant 0.67 running.\n"));
|
LOG(1,("POWERUP: Haiku nVidia Accelerant 0.68 running.\n"));
|
||||||
|
|
||||||
/* log VBLANK INT usability status */
|
/* log VBLANK INT usability status */
|
||||||
if (si->ps.int_assigned)
|
if (si->ps.int_assigned)
|
||||||
|
|||||||
Reference in New Issue
Block a user