i810 mergedfb options present in ati driver not implemented

emisca emisca.ml at gmail.com
Mon Jan 15 00:48:12 PST 2007


I have seen that code needed to support nonrectangular resolution and
mouserestrictions is already present so I made a patch to enable them
using options.
I have added those options to the patch I have made to swap xinerama screens.
I  have not understood well how to implement dpi setting force.
Here it is the patch:
--------------------------------------------------------------------------------------------------------------------------------
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -268,6 +268,9 @@
    OPTION_SECONDHSYNC,
    OPTION_SECONDVREFRESH,
    OPTION_SECONDPOSITION,
+   OPTION_SECONDISSCRN0,
+   OPTION_MERGEDFBNONRECT,
+   OPTION_MERGEDFBMOUSER,
    OPTION_INTELXINERAMA
 } I830Opts;

@@ -292,6 +295,9 @@
    {OPTION_LINEARALLOC, "LinearAlloc",  OPTV_INTEGER,   {0},    FALSE},
    {OPTION_MERGEDFB,   "MergedFB",     OPTV_BOOLEAN,   {0},    FALSE},
    {OPTION_METAMODES,  "MetaModes",    OPTV_STRING,    {0},    FALSE},
+   {OPTION_SECONDISSCRN0,"MergedXineramaSecondIsScreen0",
OPTV_BOOLEAN, {0}, FALSE },
+   {OPTION_MERGEDFBNONRECT,"MergedNonRectangular",OPTV_BOOLEAN,
 {0},   FALSE},
+   {OPTION_MERGEDFBMOUSER,"MergedMouseRestriction",OPTV_BOOLEAN, {0},
   FALSE},
    {OPTION_SECONDHSYNC,        "SecondMonitorHorizSync",OPTV_STRING,
 {0}, FALSE },
    {OPTION_SECONDVREFRESH,"SecondMonitorVertRefresh",OPTV_STRING,{0}, FALSE },
    {OPTION_SECONDPOSITION,"SecondPosition",OPTV_STRING,        {0},    FALSE },
@@ -4685,6 +4691,25 @@
          }
          xfree(tempstr);
       }
+
+      /* If OPTION_SECONDISSCRN0 is true then swap screens */
+      if(xf86GetOptValBool(pI830->Options, OPTION_SECONDISSCRN0, TRUE)) {
+        if (pI830->SecondIsScrn0) pI830->SecondIsScrn0= FALSE;
+        else pI830->SecondIsScrn0= TRUE;
+      }
+
+      /* Set pI830->NonRect according to OPTION_MERGEDFBNONRECT */
+      if(xf86GetOptValBool(pI830->Options, OPTION_MERGEDFBNONRECT, TRUE))
+             pI830->NonRect = TRUE;
+      else
+             pI830->NonRect = FALSE;
+
+      /* Set pI830->MouseRestrictions according to OPTION_MERGEDFBMOUSER */
+      if(xf86GetOptValBool(pI830->Options, OPTION_MERGEDFBMOUSER, TRUE))
+              pI830->MouseRestrictions = TRUE;
+      else
+              pI830->MouseRestrictions = FALSE;
+
       if((s = (char *)xf86GetOptValString(pI830->Options, OPTION_METAMODES))) {
          pI830->MetaModes = xalloc(strlen(s) + 1);
         if(pI830->MetaModes)
--------------------------------------------------------------------------------------------------------------------------------

I'll send it to bugzilla as Alan said on my other post.

Bye

2007/1/13, Keith Packard <keithp at keithp.com>:
> On Fri, 2007-01-12 at 13:46 +0100, emisca wrote:
> > I would like to patch the i810 driver to implement these two features
> > present in radeon driver:
> >        Option "MergedDPI" "string"
>
>
> Adding this to the modesetting branch would be straightforward. RandR
> 1.2 already supports this as a dynamic configuration (you can change the
> DPI at runtime)
>
> >        Option "MergedNonRectangular" "boolean"
>
> This is how the modesetting branch works; you have to work really hard
> to get it to pan monitors around.
>
> --
> keith.packard at intel.com
>
>
>



More information about the xorg mailing list