summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2015-01-16 08:23:03 -0800
committerAaron Plattner <aplattner@nvidia.com>2015-01-16 08:23:03 -0800
commita993b9a192db1490e6388b9934627addf6e9cfc8 (patch)
treee96b20a8fdaa1a51e14f6a24f107dd7c50640fa2
parente99353e41f4ed8a7883bf0c7d2d22b3844483050 (diff)
346.35346.35
-rw-r--r--doc/version.mk2
-rw-r--r--samples/version.mk2
-rw-r--r--src/gtk+-2.x/ctkdisplayconfig.c23
-rw-r--r--src/gtk+-2.x/ctkvdpau.c52
-rw-r--r--src/libXNVCtrl/NVCtrl.h6
-rw-r--r--src/libXNVCtrl/version.mk2
-rw-r--r--src/parse.c2
-rw-r--r--src/version.h2
-rw-r--r--src/version.mk2
-rw-r--r--version.mk2
10 files changed, 62 insertions, 33 deletions
diff --git a/doc/version.mk b/doc/version.mk
index b4c796d..ad8d06d 100644
--- a/doc/version.mk
+++ b/doc/version.mk
@@ -1 +1 @@
-NVIDIA_VERSION = 346.22
+NVIDIA_VERSION = 346.35
diff --git a/samples/version.mk b/samples/version.mk
index b4c796d..ad8d06d 100644
--- a/samples/version.mk
+++ b/samples/version.mk
@@ -1 +1 @@
-NVIDIA_VERSION = 346.22
+NVIDIA_VERSION = 346.35
diff --git a/src/gtk+-2.x/ctkdisplayconfig.c b/src/gtk+-2.x/ctkdisplayconfig.c
index bd5d657..b6c5450 100644
--- a/src/gtk+-2.x/ctkdisplayconfig.c
+++ b/src/gtk+-2.x/ctkdisplayconfig.c
@@ -4944,7 +4944,8 @@ static gint validation_auto_fix(CtkDisplayConfig *ctk_object)
*
**/
-static gchar * validate_screen(nvScreenPtr screen)
+static gchar * validate_screen(nvScreenPtr screen,
+ gboolean *can_ignore_error)
{
nvDisplayPtr display;
nvModePtr mode;
@@ -4957,6 +4958,7 @@ static gchar * validate_screen(nvScreenPtr screen)
gchar bullet[8]; // UTF8 Bullet string
int len;
+ gboolean is_implicit;
@@ -4969,6 +4971,7 @@ static gchar * validate_screen(nvScreenPtr screen)
/* Count the number of display devices used in the metamode */
num_displays = 0;
+ is_implicit = TRUE;
for (display = screen->displays;
display;
display = display->next_in_screen) {
@@ -4979,6 +4982,11 @@ static gchar * validate_screen(nvScreenPtr screen)
}
if (mode->modeline) {
num_displays++;
+ } else if (mode->metamode) {
+ is_implicit = is_implicit &&
+ (mode->metamode->source == METAMODE_SOURCE_IMPLICIT);
+ } else {
+ is_implicit = FALSE;
}
}
@@ -4992,6 +5000,7 @@ static gchar * validate_screen(nvScreenPtr screen)
g_free(err_str);
g_free(tmp);
err_str = tmp2;
+ *can_ignore_error = *can_ignore_error && is_implicit;
}
@@ -5005,6 +5014,7 @@ static gchar * validate_screen(nvScreenPtr screen)
g_free(err_str);
g_free(tmp);
err_str = tmp2;
+ *can_ignore_error = FALSE;
}
}
@@ -5033,11 +5043,12 @@ static int validate_layout(CtkDisplayConfig *ctk_object, int validation_type)
gchar *tmp;
gint result;
int num_absolute = 0;
+ gboolean can_ignore_error = TRUE;
/* Validate each screen and count the number of screens using abs. pos. */
for (screen = layout->screens; screen; screen = screen->next_in_layout) {
- err_str = validate_screen(screen);
+ err_str = validate_screen(screen, &can_ignore_error);
if (err_str) {
tmp = g_strconcat((err_strs ? err_strs : ""), err_str, NULL);
g_free(err_strs);
@@ -5081,6 +5092,14 @@ static int validate_layout(CtkDisplayConfig *ctk_object, int validation_type)
return 1;
}
+ /* Layout is not valid but inconsistencies are only due to implicit
+ * metamodes not having valid displays so we will ignore them.
+ */
+ if (err_strs && can_ignore_error) {
+ g_free(err_strs);
+ return 1;
+ }
+
/* Layout is not valid, ask the user what we should do */
gtk_text_buffer_set_text
(GTK_TEXT_BUFFER(ctk_object->buf_validation_override), err_strs, -1);
diff --git a/src/gtk+-2.x/ctkvdpau.c b/src/gtk+-2.x/ctkvdpau.c
index a8b074c..1b076fc 100644
--- a/src/gtk+-2.x/ctkvdpau.c
+++ b/src/gtk+-2.x/ctkvdpau.c
@@ -161,25 +161,30 @@ static int queryBaseInfo(CtkVDPAU *ctk_vdpau, VdpDevice device,
VdpGetProcAddress *getProcAddress)
{
static const Desc decoder_list[] = {
- {"MPEG1", VDP_DECODER_PROFILE_MPEG1, 0x01},
- {"MPEG2", VDP_DECODER_PROFILE_MPEG2_SIMPLE, 0x02},
- {"MPEG2", VDP_DECODER_PROFILE_MPEG2_MAIN, 0x02},
- {"H264", VDP_DECODER_PROFILE_H264_BASELINE, 0x04},
- {"H264", VDP_DECODER_PROFILE_H264_MAIN, 0x04},
- {"H264", VDP_DECODER_PROFILE_H264_HIGH, 0x04},
- {"VC1", VDP_DECODER_PROFILE_VC1_SIMPLE, 0x08},
- {"VC1" , VDP_DECODER_PROFILE_VC1_MAIN, 0x08},
- {"VC1", VDP_DECODER_PROFILE_VC1_ADVANCED, 0x08},
- {"MPEG4", VDP_DECODER_PROFILE_MPEG4_PART2_SP, 0x10},
- {"MPEG4", VDP_DECODER_PROFILE_MPEG4_PART2_ASP, 0x10},
- {"DIVX4", VDP_DECODER_PROFILE_DIVX4_QMOBILE, 0x20},
- {"DIVX4", VDP_DECODER_PROFILE_DIVX4_MOBILE, 0x20},
- {"DIVX4", VDP_DECODER_PROFILE_DIVX4_HOME_THEATER, 0x20},
- {"DIVX4", VDP_DECODER_PROFILE_DIVX4_HD_1080P, 0x20},
- {"DIVX5", VDP_DECODER_PROFILE_DIVX5_QMOBILE, 0x40},
- {"DIVX5", VDP_DECODER_PROFILE_DIVX5_MOBILE, 0x40},
- {"DIVX5", VDP_DECODER_PROFILE_DIVX5_HOME_THEATER, 0x40},
- {"DIVX5", VDP_DECODER_PROFILE_DIVX5_HD_1080P, 0x40},
+ {"MPEG1", VDP_DECODER_PROFILE_MPEG1, 0x01},
+ {"MPEG2", VDP_DECODER_PROFILE_MPEG2_SIMPLE, 0x02},
+ {"MPEG2", VDP_DECODER_PROFILE_MPEG2_MAIN, 0x02},
+ {"H264", VDP_DECODER_PROFILE_H264_BASELINE, 0x04},
+ {"H264", VDP_DECODER_PROFILE_H264_MAIN, 0x04},
+ {"H264", VDP_DECODER_PROFILE_H264_HIGH, 0x04},
+ {"H264", VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE, 0x04},
+ {"H264", VDP_DECODER_PROFILE_H264_EXTENDED, 0x04},
+ {"H264", VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH, 0x04},
+ {"H264", VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH, 0x04},
+ {"H264", VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE, 0x04},
+ {"VC1", VDP_DECODER_PROFILE_VC1_SIMPLE, 0x08},
+ {"VC1" , VDP_DECODER_PROFILE_VC1_MAIN, 0x08},
+ {"VC1", VDP_DECODER_PROFILE_VC1_ADVANCED, 0x08},
+ {"MPEG4", VDP_DECODER_PROFILE_MPEG4_PART2_SP, 0x10},
+ {"MPEG4", VDP_DECODER_PROFILE_MPEG4_PART2_ASP, 0x10},
+ {"DIVX4", VDP_DECODER_PROFILE_DIVX4_QMOBILE, 0x20},
+ {"DIVX4", VDP_DECODER_PROFILE_DIVX4_MOBILE, 0x20},
+ {"DIVX4", VDP_DECODER_PROFILE_DIVX4_HOME_THEATER, 0x20},
+ {"DIVX4", VDP_DECODER_PROFILE_DIVX4_HD_1080P, 0x20},
+ {"DIVX5", VDP_DECODER_PROFILE_DIVX5_QMOBILE, 0x40},
+ {"DIVX5", VDP_DECODER_PROFILE_DIVX5_MOBILE, 0x40},
+ {"DIVX5", VDP_DECODER_PROFILE_DIVX5_HOME_THEATER, 0x40},
+ {"DIVX5", VDP_DECODER_PROFILE_DIVX5_HD_1080P, 0x40},
};
const size_t decoder_list_count = sizeof(decoder_list)/sizeof(Desc);
@@ -475,6 +480,15 @@ static int queryDecoderCaps(CtkVDPAU *ctk_vdpau, VdpDevice device,
{"H264 Baseline", VDP_DECODER_PROFILE_H264_BASELINE, 0},
{"H264 Main", VDP_DECODER_PROFILE_H264_MAIN, 0},
{"H264 High", VDP_DECODER_PROFILE_H264_HIGH, 0},
+ {"H264 Constrained Baseline",
+ VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE, 0},
+ {"H264 Extended", VDP_DECODER_PROFILE_H264_EXTENDED, 0},
+ {"H264 Progressive High",
+ VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH, 0},
+ {"H264 Constrained High",
+ VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH, 0},
+ {"H264 High 4:4:4 Predictive",
+ VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE, 0},
{"VC1 Simple", VDP_DECODER_PROFILE_VC1_SIMPLE, 0},
{"VC1 Main", VDP_DECODER_PROFILE_VC1_MAIN, 0},
{"VC1 Advanced", VDP_DECODER_PROFILE_VC1_ADVANCED, 0},
diff --git a/src/libXNVCtrl/NVCtrl.h b/src/libXNVCtrl/NVCtrl.h
index 415da49..94876e2 100644
--- a/src/libXNVCtrl/NVCtrl.h
+++ b/src/libXNVCtrl/NVCtrl.h
@@ -2126,12 +2126,8 @@
#define NV_CTRL_SWITCH_TO_DISPLAYS 276 /* deprecated */
-
/*
- * NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT - Event that notifies
- * when a notebook lid change occurs (i.e. when the lid is opened or
- * closed.) This attribute can be queried to retrieve the current
- * notebook lid status (opened/closed.)
+ * NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT - deprecated
*/
#define NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT 277 /* RW- */
diff --git a/src/libXNVCtrl/version.mk b/src/libXNVCtrl/version.mk
index b4c796d..ad8d06d 100644
--- a/src/libXNVCtrl/version.mk
+++ b/src/libXNVCtrl/version.mk
@@ -1 +1 @@
-NVIDIA_VERSION = 346.22
+NVIDIA_VERSION = 346.35
diff --git a/src/parse.c b/src/parse.c
index 9ded501..a4b16b1 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -92,7 +92,7 @@ const AttributeTableEntry attributeTable[] = {
{ "HWOverlay", NV_CTRL_HWOVERLAY, INT_ATTR, {0,0,0,0,0,0}, { .int_flags = {0,0,0,0,0,0,0} }, "When a workstation overlay is in use, this value is 1 if the hardware overlay is used, or 0 if the overlay is emulated." },
{ "GlyphCache", NV_CTRL_GLYPH_CACHE, INT_ATTR, {0,0,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Enable or disable caching of glyphs (text) in video memory." },
{ "SwitchToDisplays", NV_CTRL_SWITCH_TO_DISPLAYS, INT_ATTR, {0,0,0,0,1,0}, { .int_flags = {0,0,0,1,0,0,1} }, "DEPRECATED." },
- { "NotebookDisplayChangeLidEvent", NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT, INT_ATTR, {0,0,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Reports notebook lid open/close events." },
+ { "NotebookDisplayChangeLidEvent", NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT, INT_ATTR, {0,0,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "DEPRECATED." },
{ "NotebookInternalLCD", NV_CTRL_NOTEBOOK_INTERNAL_LCD, INT_ATTR, {0,0,0,0,1,0}, { .int_flags = {0,0,0,1,0,0,0} }, "DEPRECATED." },
{ "Depth30Allowed", NV_CTRL_DEPTH_30_ALLOWED, INT_ATTR, {0,0,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns whether the NVIDIA X driver supports depth 30 on the specified X screen or GPU." },
{ "NoScanout", NV_CTRL_NO_SCANOUT, INT_ATTR, {0,0,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns whether the special \"NoScanout\" mode is enabled on the specified X screen or GPU." },
diff --git a/src/version.h b/src/version.h
index d93eab3..f2586a4 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1 +1 @@
-#define NVIDIA_VERSION "346.22"
+#define NVIDIA_VERSION "346.35"
diff --git a/src/version.mk b/src/version.mk
index b4c796d..ad8d06d 100644
--- a/src/version.mk
+++ b/src/version.mk
@@ -1 +1 @@
-NVIDIA_VERSION = 346.22
+NVIDIA_VERSION = 346.35
diff --git a/version.mk b/version.mk
index b4c796d..ad8d06d 100644
--- a/version.mk
+++ b/version.mk
@@ -1 +1 @@
-NVIDIA_VERSION = 346.22
+NVIDIA_VERSION = 346.35