summaryrefslogtreecommitdiff
path: root/src/libXNVCtrl/NVCtrl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libXNVCtrl/NVCtrl.h')
-rw-r--r--src/libXNVCtrl/NVCtrl.h65
1 files changed, 56 insertions, 9 deletions
diff --git a/src/libXNVCtrl/NVCtrl.h b/src/libXNVCtrl/NVCtrl.h
index 5ee1b56..f712ec4 100644
--- a/src/libXNVCtrl/NVCtrl.h
+++ b/src/libXNVCtrl/NVCtrl.h
@@ -47,6 +47,7 @@
#define NV_CTRL_TARGET_TYPE_COOLER 5 /* e.g., fan */
#define NV_CTRL_TARGET_TYPE_THERMAL_SENSOR 6
#define NV_CTRL_TARGET_TYPE_3D_VISION_PRO_TRANSCEIVER 7
+#define NV_CTRL_TARGET_TYPE_DISPLAY 8
/**************************************************************************/
@@ -78,6 +79,10 @@
* designated with "D" below. For attributes that do not require the
* display mask, the argument is ignored.
*
+ * Alternatively, NV-CONTROL versions 1.27 and greater allow these
+ * attributes to be accessed via display target types, in which case
+ * the display_mask is ignored.
+ *
* G: The attribute may be queried using an NV_CTRL_TARGET_TYPE_GPU
* target type via XNVCTRLQueryTargetAttribute().
*
@@ -97,19 +102,18 @@
* Q: The attribute is a 64-bit integer attribute; use the 64-bit versions
* of the appropriate query interfaces.
*
- *
* C: The attribute may be queried using an NV_CTRL_TARGET_TYPE_COOLER target
* type via XNVCTRLQueryTargetAttribute().
- *
+ *
* S: The attribute may be queried using an NV_CTRL_TARGET_TYPE_THERMAL_SENSOR
* target type via XNVCTRLQueryTargetAttribute().
*
* T: The attribute may be queried using an
* NV_CTRL_TARGET_TYPE_3D_VISION_PRO_TRANSCEIVER target type
* via XNVCTRLQueryTargetAttribute().
- *
+ *
* NOTE: Unless mentioned otherwise, all attributes may be queried using
- * an NV_CTRL_TARGET_TYPE_X_SCREEN target type via
+ * an NV_CTRL_TARGET_TYPE_X_SCREEN target type via
* XNVCTRLQueryTargetAttribute().
*/
@@ -699,8 +703,7 @@
/*
* NV_CTRL_FLIPPING_ALLOWED - when TRUE, OpenGL will swap by flipping
- * when possible; when FALSE, OpenGL will alway swap by blitting. XXX
- * can this be enabled dynamically?
+ * when possible; when FALSE, OpenGL will alway swap by blitting.
*/
#define NV_CTRL_FLIPPING_ALLOWED 40 /* RW-X */
@@ -1340,7 +1343,8 @@
* NV_CTRL_GVO_DATA_FORMAT
* NV_CTRL_GVO_FLIP_QUEUE_SIZE
*
- * XXX This is deprecated, please see NV_CTRL_GVO_LOCK_OWNER
+ * This attribute is deprecated and may be removed in a future release. Its
+ * functionality has been replaced by NV_CTRL_GVO_LOCK_OWNER.
*/
#define NV_CTRL_GVO_GLX_LOCKED 82 /* R-- */
@@ -4120,8 +4124,38 @@
*/
#define NV_CTRL_BINARY_DATA_GLASSES_PAIRED_TO_3D_VISION_PRO_TRANSCEIVER 13 /* R--T */
+/*
+ * NV_CTRL_BINARY_DATA_DISPLAY_TARGETS - Returns all the display devices
+ * currently connected to any GPU on the X server.
+ *
+ * The format of the returned data is:
+ *
+ * 4 CARD32 number of display devices
+ * 4 * n CARD32 display device indices
+ *
+ * This attribute can only be queried through XNVCTRLQueryTargetBinaryData().
+ */
+
+#define NV_CTRL_BINARY_DATA_DISPLAY_TARGETS 14 /* R--- */
+
+/*
+ * NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU - Returns the list of
+ * display devices that are connected to the GPU target.
+ *
+ * The format of the returned data is:
+ *
+ * 4 CARD32 number of display devices
+ * 4 * n CARD32 display device indices
+ *
+ * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
+ * using a NV_CTRL_TARGET_TYPE_GPU target.
+ */
+
+#define NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU 15 /* R--G */
+
+
#define NV_CTRL_BINARY_DATA_LAST_ATTRIBUTE \
- NV_CTRL_BINARY_DATA_GLASSES_PAIRED_TO_3D_VISION_PRO_TRANSCEIVER
+ NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU
/**************************************************************************/
@@ -4365,7 +4399,9 @@
*
* ATTRIBUTE_TYPE_READ - Attribute may be read (queried.)
* ATTRIBUTE_TYPE_WRITE - Attribute may be written to (set.)
- * ATTRIBUTE_TYPE_DISPLAY - Attribute requires a display mask.
+ * ATTRIBUTE_TYPE_DISPLAY - Attribute is valid for display target types
+ * (requires a display_mask if queried via
+ * a GPU or X screen.)
* ATTRIBUTE_TYPE_GPU - Attribute is valid for GPU target types.
* ATTRIBUTE_TYPE_FRAMELOCK - Attribute is valid for Frame Lock target types.
* ATTRIBUTE_TYPE_X_SCREEN - Attribute is valid for X Screen target types.
@@ -4407,6 +4443,17 @@
#define ATTRIBUTE_TYPE_THERMAL_SENSOR 0x400
#define ATTRIBUTE_TYPE_3D_VISION_PRO_TRANSCEIVER 0x800
+#define ATTRIBUTE_TYPE_ALL_TARGETS \
+ ((ATTRIBUTE_TYPE_DISPLAY) | \
+ (ATTRIBUTE_TYPE_GPU) | \
+ (ATTRIBUTE_TYPE_FRAMELOCK) | \
+ (ATTRIBUTE_TYPE_X_SCREEN) | \
+ (ATTRIBUTE_TYPE_VCSC) | \
+ (ATTRIBUTE_TYPE_GVI) | \
+ (ATTRIBUTE_TYPE_COOLER) | \
+ (ATTRIBUTE_TYPE_THERMAL_SENSOR) | \
+ (ATTRIBUTE_TYPE_3D_VISION_PRO_TRANSCEIVER))
+
typedef struct _NVCTRLAttributeValidValues {
int type;
union {