nVidia driver: Added basic dualhead support for native Haiku ScreenPrefs app

This commit is contained in:
RudolfC
2016-01-04 22:17:48 +00:00
parent 3d1fa65454
commit 063436816d
7 changed files with 226 additions and 46 deletions
@@ -5,7 +5,7 @@
Other authors:
Mark Watson;
Apsed;
Rudolf Cornelissen 10/2002-10/2009.
Rudolf Cornelissen 10/2002-12/2015.
*/
#ifndef DRIVERINTERFACE_H
@@ -63,6 +63,20 @@ typedef struct {
#define TV_VIDEO (1<<12)
#define TV_PRIMARY (1<<13)
/* additional timing flags for GetMode/SetMode for Haiku ScreenPrefs panel */
enum {
RADEON_MODE_MULTIMON_REQUEST = 1 << 25,
RADEON_MODE_MULTIMON_REPLY = 1 << 26
};
/* operation codes tunneled via ProposeDisplayMode for Haiku ScreenPrefs panel */
typedef enum {
ms_swap = 'sw',
ms_use_laptop_panel = 'up',
ms_tv_standard = 'tv'
} multi_mon_settings;
#define SKD_MOVE_CURSOR 0x00000001
#define SKD_PROGRAM_CLUT 0x00000002
#define SKD_SET_START_ADDR 0x00000004
@@ -306,6 +320,8 @@ typedef struct {
bool acc_mode; /* signals (non)accelerated mode */
bool interlaced_tv_mode;/* signals interlaced CRTC TV output mode */
bool crtc_switch_mode; /* signals dualhead switch mode if panels are used */
bool haiku_prefs_used; /* signals use of Haiku ScreenPrefs app for special modes */
bool Haiku_switch_head; /* signals Haiku ScreenPrefs panel want inverted mode later on */
/*frame buffer config - for BDirectScreen*/
frame_buffer_config fbc; /* bytes_per_row and start of frame buffer: head1 */