diff options
author | Aaron Plattner <aplattner@nvidia.com> | 2019-08-13 11:07:10 -0700 |
---|---|---|
committer | Aaron Plattner <aplattner@nvidia.com> | 2019-08-13 11:07:10 -0700 |
commit | db68628db1afeba5a333884e0d59ca059012df1c (patch) | |
tree | 32370a56a42af0794538fcfbaedcf3cf540656fe | |
parent | 1e45b6b5fa38abbdda654d7cd7202137947eb0af (diff) |
435.17
-rw-r--r-- | doc/version.mk | 2 | ||||
-rw-r--r-- | samples/version.mk | 2 | ||||
-rw-r--r-- | src/gtk+-2.x/ctkevent.c | 6 | ||||
-rw-r--r-- | src/gtk+-2.x/ctkopengl.c | 120 | ||||
-rw-r--r-- | src/gtk+-2.x/ctkopengl.h | 2 | ||||
-rw-r--r-- | src/gtk+-2.x/ctkthermal.c | 33 | ||||
-rw-r--r-- | src/gtk+-2.x/ctkui.c | 11 | ||||
-rw-r--r-- | src/libXNVCtrl/NVCtrl.h | 31 | ||||
-rw-r--r-- | src/libXNVCtrl/version.mk | 2 | ||||
-rw-r--r-- | src/libXNVCtrlAttributes/NvCtrlAttributes.h | 1 | ||||
-rw-r--r-- | src/libXNVCtrlAttributes/NvCtrlAttributesUtils.c | 6 | ||||
-rw-r--r-- | src/parse.c | 5 | ||||
-rw-r--r-- | src/version.h | 2 | ||||
-rw-r--r-- | src/version.mk | 2 | ||||
-rw-r--r-- | version.mk | 2 |
15 files changed, 141 insertions, 86 deletions
diff --git a/doc/version.mk b/doc/version.mk index 3431911..160bbfd 100644 --- a/doc/version.mk +++ b/doc/version.mk @@ -1 +1 @@ -NVIDIA_VERSION = 430.40 +NVIDIA_VERSION = 435.17 diff --git a/samples/version.mk b/samples/version.mk index 3431911..160bbfd 100644 --- a/samples/version.mk +++ b/samples/version.mk @@ -1 +1 @@ -NVIDIA_VERSION = 430.40 +NVIDIA_VERSION = 435.17 diff --git a/src/gtk+-2.x/ctkevent.c b/src/gtk+-2.x/ctkevent.c index f715185..1be7413 100644 --- a/src/gtk+-2.x/ctkevent.c +++ b/src/gtk+-2.x/ctkevent.c @@ -166,7 +166,9 @@ static void ctk_event_class_init(CtkEventClass *ctk_event_class) MAKE_SIGNAL(NV_CTRL_TV_SATURATION); MAKE_SIGNAL(NV_CTRL_TV_RESET_SETTINGS); MAKE_SIGNAL(NV_CTRL_GPU_CORE_TEMPERATURE); - MAKE_SIGNAL(NV_CTRL_GPU_CORE_THRESHOLD); + MAKE_SIGNAL(NV_CTRL_GPU_SLOWDOWN_THRESHOLD); + MAKE_SIGNAL(NV_CTRL_GPU_SHUTDOWN_THRESHOLD); + MAKE_SIGNAL(NV_CTRL_GPU_MAX_OPERATING_THRESHOLD); MAKE_SIGNAL(NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD); MAKE_SIGNAL(NV_CTRL_GPU_MAX_CORE_THRESHOLD); MAKE_SIGNAL(NV_CTRL_AMBIENT_TEMPERATURE); @@ -360,7 +362,7 @@ static void ctk_event_class_init(CtkEventClass *ctk_event_class) * knows about. */ -#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_DISPLAY_VRR_ENABLED +#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_GPU_MAX_OPERATING_THRESHOLD #warning "There are attributes that do not emit signals!" #endif diff --git a/src/gtk+-2.x/ctkopengl.c b/src/gtk+-2.x/ctkopengl.c index 07d91c6..39271ae 100644 --- a/src/gtk+-2.x/ctkopengl.c +++ b/src/gtk+-2.x/ctkopengl.c @@ -85,9 +85,6 @@ static void value_changed (GObject *, CtrlEvent *, gpointer); static const gchar *get_image_settings_string(gint val); -static gchar *format_image_settings_value(GtkScale *scale, gdouble arg1, - gpointer user_data); - static void post_slider_value_changed(CtkOpenGL *ctk_opengl, gint val); static void aa_line_gamma_update_received(GObject *object, CtrlEvent *event, @@ -95,7 +92,8 @@ static void aa_line_gamma_update_received(GObject *object, CtrlEvent *event, static void post_image_settings_value_changed(CtkOpenGL *ctk_opengl, gint val); -static void image_settings_value_changed(GtkRange *range, gpointer user_data); +static void image_settings_value_changed(CtkDropDownMenu *widget, + gpointer user_data); static void image_settings_update_received(GObject *object, CtrlEvent *event, gpointer user_data); @@ -159,8 +157,8 @@ static const char *__aa_line_gamma_slider_help = "smooth lines. This option is applied to OpenGL applications " "that are started after this option is set."; -static const char *__image_settings_slider_help = -"The Image Settings slider controls the image quality setting."; +static const char *__image_settings_dropdown_help = +"This option adjusts the image quality setting."; static const char *__force_stereo_help = "Enabling this option causes OpenGL to force " @@ -293,8 +291,7 @@ GtkWidget* ctk_opengl_new(CtrlTarget *ctrl_target, GtkWidget *hbox; GtkWidget *vbox; GtkWidget *check_button; - GtkWidget *scale; - GtkAdjustment *adjustment; + GtkWidget *dropdown; GtkWidget *menu; gint sync_to_vblank = 0; @@ -696,34 +693,57 @@ GtkWidget* ctk_opengl_new(CtrlTarget *ctrl_target, * Image Quality settings. */ - if (ret_image_settings == NvCtrlSuccess) { - - frame = gtk_frame_new("Image Settings"); - gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 3); + if (ret_image_settings == NvCtrlSuccess && + image_settings_valid.range.min == 0) { hbox = gtk_hbox_new(FALSE, 0); - gtk_container_set_border_width(GTK_CONTAINER(hbox), FRAME_PADDING); - gtk_container_add(GTK_CONTAINER(frame), hbox); + frame = gtk_label_new("Image Settings: "); + gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, FALSE, 3); - /* create the slider */ - adjustment = GTK_ADJUSTMENT( - gtk_adjustment_new(image_settings_value, - image_settings_valid.range.min, - image_settings_valid.range.max, - 1, 1, 0.0)); - scale = gtk_hscale_new(GTK_ADJUSTMENT(adjustment)); - gtk_adjustment_set_value(GTK_ADJUSTMENT(adjustment), image_settings_value); + gtk_container_add(GTK_CONTAINER(vbox), hbox); - gtk_scale_set_draw_value(GTK_SCALE(scale), TRUE); - gtk_scale_set_value_pos(GTK_SCALE(scale), GTK_POS_TOP); + /* create the dropdown */ - gtk_container_add(GTK_CONTAINER(hbox), scale); + dropdown = ctk_drop_down_menu_new(CTK_DROP_DOWN_MENU_FLAG_READONLY); - g_signal_connect(G_OBJECT(scale), "format-value", - G_CALLBACK(format_image_settings_value), - (gpointer) ctk_opengl); + if (image_settings_valid.range.max >= + NV_CTRL_IMAGE_SETTINGS_HIGH_QUALITY) { + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(dropdown), + get_image_settings_string( + NV_CTRL_IMAGE_SETTINGS_HIGH_QUALITY), + NV_CTRL_IMAGE_SETTINGS_HIGH_QUALITY); + } + + if (image_settings_valid.range.max >= + NV_CTRL_IMAGE_SETTINGS_QUALITY) { + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(dropdown), + get_image_settings_string( + NV_CTRL_IMAGE_SETTINGS_QUALITY), + NV_CTRL_IMAGE_SETTINGS_QUALITY); + } - g_signal_connect(G_OBJECT(scale), "value-changed", + if (image_settings_valid.range.max >= + NV_CTRL_IMAGE_SETTINGS_PERFORMANCE) { + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(dropdown), + get_image_settings_string( + NV_CTRL_IMAGE_SETTINGS_PERFORMANCE), + NV_CTRL_IMAGE_SETTINGS_PERFORMANCE); + } + + if (image_settings_valid.range.max >= + NV_CTRL_IMAGE_SETTINGS_HIGH_PERFORMANCE) { + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(dropdown), + get_image_settings_string( + NV_CTRL_IMAGE_SETTINGS_HIGH_PERFORMANCE), + NV_CTRL_IMAGE_SETTINGS_HIGH_PERFORMANCE); + } + + ctk_drop_down_menu_set_current_value(CTK_DROP_DOWN_MENU(dropdown), + image_settings_value); + + gtk_container_add(GTK_CONTAINER(hbox), dropdown); + + g_signal_connect(G_OBJECT(dropdown), "changed", G_CALLBACK(image_settings_value_changed), (gpointer) ctk_opengl); @@ -732,10 +752,11 @@ GtkWidget* ctk_opengl_new(CtrlTarget *ctrl_target, G_CALLBACK(image_settings_update_received), (gpointer) ctk_opengl); - ctk_config_set_tooltip(ctk_config, scale, __image_settings_slider_help); + ctk_config_set_tooltip(ctk_config, dropdown, + __image_settings_dropdown_help); ctk_opengl->active_attributes |= __IMAGE_SETTINGS; - ctk_opengl->image_settings_scale = scale; + ctk_opengl->image_settings_dropdown = dropdown; } /* @@ -1567,18 +1588,6 @@ static const gchar *get_image_settings_string(gint val) } /* get_image_settings_string() */ /* - * format_image_settings_value() - callback for the "format-value" signal - * from the image settings scale. - */ - -static gchar *format_image_settings_value(GtkScale *scale, gdouble arg1, - gpointer user_data) -{ - return g_strdup(get_image_settings_string(arg1)); - -} /* format_image_settings_value() */ - -/* * post_image_settings_value_changed() - helper function for * image_settings_value_changed(); this does whatever work is necessary * after the image settings value has changed. @@ -1593,15 +1602,16 @@ static void post_image_settings_value_changed(CtkOpenGL *ctk_opengl, gint val) } /* post_image_settings_value_changed() */ /* - * image_settings_value_changed() - callback for the "value-changed" signal - * from the image settings scale. + * image_settings_value_changed() - callback for the "changed" signal + * from the image settings combobox. */ -static void image_settings_value_changed(GtkRange *range, gpointer user_data) +static void image_settings_value_changed(CtkDropDownMenu *widget, + gpointer user_data) { CtkOpenGL *ctk_opengl = CTK_OPENGL(user_data); CtrlTarget *ctrl_target = ctk_opengl->ctrl_target; - gint val = gtk_range_get_value(range); + gint val = ctk_drop_down_menu_get_current_value(widget); NvCtrlSetAttribute(ctrl_target, NV_CTRL_IMAGE_SETTINGS, val); post_image_settings_value_changed(ctk_opengl, val); @@ -1610,7 +1620,7 @@ static void image_settings_value_changed(GtkRange *range, gpointer user_data) /* * image_settings_update_received() - this function is called when the - * NV_CTRL_IMAGE_SETTINGS atribute is changed by another NV-CONTROL client. + * NV_CTRL_IMAGE_SETTINGS attribute is changed by another NV-CONTROL client. */ static void image_settings_update_received(GObject *object, @@ -1618,20 +1628,21 @@ static void image_settings_update_received(GObject *object, gpointer user_data) { CtkOpenGL *ctk_opengl = CTK_OPENGL(user_data); - GtkRange *range = GTK_RANGE(ctk_opengl->image_settings_scale); + CtkDropDownMenu *dropdown = CTK_DROP_DOWN_MENU( + ctk_opengl->image_settings_dropdown); if (event->type != CTRL_EVENT_TYPE_INTEGER_ATTRIBUTE) { return; } - g_signal_handlers_block_by_func(G_OBJECT(range), + g_signal_handlers_block_by_func(G_OBJECT(dropdown), G_CALLBACK(image_settings_value_changed), (gpointer) ctk_opengl); - gtk_range_set_value(range, event->int_attr.value); + ctk_drop_down_menu_set_current_value(dropdown, event->int_attr.value); post_image_settings_value_changed(ctk_opengl, event->int_attr.value); - g_signal_handlers_unblock_by_func(G_OBJECT(range), + g_signal_handlers_unblock_by_func(G_OBJECT(dropdown), G_CALLBACK(image_settings_value_changed), (gpointer) ctk_opengl); @@ -1866,7 +1877,7 @@ GtkTextBuffer *ctk_opengl_create_help(GtkTextTagTable *table, ctk_help_para(b, &i, "This setting gives you full control over the " "image quality in your applications."); ctk_help_para(b, &i, "Several quality settings are available for " - "you to choose from with the Image Settings slider. " + "you to choose from with the Image Settings options. " "Note that choosing higher image quality settings may " "result in decreased performance."); @@ -1883,8 +1894,7 @@ GtkTextBuffer *ctk_opengl_create_help(GtkTextTagTable *table, "optimal image quality for your applications."); ctk_help_term(b, &i, "Performance"); - ctk_help_para(b, &i, "This setting offers an optimal blend of image " - "quality and performance. The result is optimal " + ctk_help_para(b, &i, "This setting results in a blend of optimal " "performance and good image quality for your " "applications."); diff --git a/src/gtk+-2.x/ctkopengl.h b/src/gtk+-2.x/ctkopengl.h index 71e6ffe..bd404fe 100644 --- a/src/gtk+-2.x/ctkopengl.h +++ b/src/gtk+-2.x/ctkopengl.h @@ -64,7 +64,7 @@ struct _CtkOpenGL GtkWidget *xinerama_stereo_button; GtkWidget *stereo_eyes_exchange_button; GtkWidget *stereo_swap_mode_menu; - GtkWidget *image_settings_scale; + GtkWidget *image_settings_dropdown; GtkWidget *aa_line_gamma_button; GtkWidget *aa_line_gamma_scale; GtkWidget *show_sli_visual_indicator_button; diff --git a/src/gtk+-2.x/ctkthermal.c b/src/gtk+-2.x/ctkthermal.c index 873e219..1ffb805 100644 --- a/src/gtk+-2.x/ctkthermal.c +++ b/src/gtk+-2.x/ctkthermal.c @@ -47,10 +47,16 @@ static void adjustment_value_changed(GtkAdjustment *adjustment, static void draw_sensor_gui(GtkWidget *vbox1, CtkThermal *ctk_thermal, gboolean new_target_type, gint cur_sensor_idx, gint reading, gint lower, gint upper, - gint target, gint provider); + gint target, gint provider, gint slowdown); static GtkWidget *pack_gauge(GtkWidget *hbox, gint lower, gint upper, CtkConfig *ctk_config, const char *help); +static const char *__slowdown_threshold_help = +"The Slowdown Threshold Temperature is the temperature " +"at which the NVIDIA Accelerated Graphics driver will throttle " +"the GPU to prevent damage, in \xc2\xb0" +/* split for g_utf8_validate() */ "C."; + static const char *__core_threshold_help = "The Core Slowdown Threshold Temperature is the temperature " "at which the NVIDIA Accelerated Graphics driver will throttle " @@ -937,7 +943,7 @@ static GtkWidget *pack_gauge(GtkWidget *hbox, gint lower, gint upper, static void draw_sensor_gui(GtkWidget *vbox1, CtkThermal *ctk_thermal, gboolean new_target_type, gint cur_sensor_idx, gint reading, gint lower, gint upper, - gint target, gint provider) + gint target, gint provider, gint slowdown) { GtkWidget *hbox, *hbox1, *hbox2, *vbox, *vbox2, *table; GtkWidget *frame, *label, *hsep; @@ -998,6 +1004,19 @@ static void draw_sensor_gui(GtkWidget *vbox1, CtkThermal *ctk_thermal, ctk_thermal->sensor_info[cur_sensor_idx].provider_type = NULL; } + /* Upper limit, slowdown threshold */ + if (slowdown > 0) { + s = g_strdup_printf("%d\xc2\xb0" /* split for g_utf8_validate() */ "C", + slowdown); + add_table_row_with_help_text(table, ctk_thermal->ctk_config, + __slowdown_threshold_help, + 2, 0, 0, 0.5, + "Slowdown Temp:", 0, 0.5, + s); + ctk_thermal->sensor_info[cur_sensor_idx].provider_type = label; + g_free(s); + } + /* thermal sensor reading */ if (reading) { hbox2 = gtk_hbox_new(FALSE, 0); @@ -1076,6 +1095,7 @@ GtkWidget* ctk_thermal_new(CtrlTarget *ctrl_target, Bool cooler_control_enabled; int cur_cooler_idx = 0; int cur_sensor_idx = 0; + int slowdown; Bool thermal_sensor_target_type_supported = FALSE; /* make sure we have a handle */ @@ -1208,6 +1228,13 @@ GtkWidget* ctk_thermal_new(CtrlTarget *ctrl_target, hsep = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(hbox1), hsep, TRUE, TRUE, 0); + ret = NvCtrlGetAttribute(ctk_thermal->ctrl_target, + NV_CTRL_GPU_SLOWDOWN_THRESHOLD, + &slowdown); + if (ret != NvCtrlSuccess) { + slowdown = 0; + } + if (ctk_thermal->sensor_count > 0) { ctk_thermal->sensor_info = (SensorInfoPtr) nvalloc(ctk_thermal->sensor_count * sizeof(SensorInfoRec)); @@ -1260,7 +1287,7 @@ GtkWidget* ctk_thermal_new(CtrlTarget *ctrl_target, draw_sensor_gui(vbox, ctk_thermal, thermal_sensor_target_type_supported, cur_sensor_idx, reading, sensor_range.range.min, - sensor_range.range.max, target, provider); + sensor_range.range.max, target, provider, slowdown); cur_sensor_idx++; } } else { diff --git a/src/gtk+-2.x/ctkui.c b/src/gtk+-2.x/ctkui.c index ce5ef08..170ab8c 100644 --- a/src/gtk+-2.x/ctkui.c +++ b/src/gtk+-2.x/ctkui.c @@ -42,8 +42,6 @@ void ctk_main(ParsedAttribute *p, CtrlSystem *system, const char *page) { - CtrlTargetNode *node; - int has_nv_control = FALSE; GList *list = NULL; GtkWidget *window; @@ -51,14 +49,7 @@ void ctk_main(ParsedAttribute *p, gtk_window_set_default_icon_list(list); window = ctk_window_new(p, conf, system); - for (node = system->targets[X_SCREEN_TARGET]; node; node = node->next) { - if (node->t->h) { - has_nv_control = TRUE; - break; - } - } - - if (!has_nv_control) { + if (!system->has_nv_control) { GtkWidget *dlg; dlg = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, diff --git a/src/libXNVCtrl/NVCtrl.h b/src/libXNVCtrl/NVCtrl.h index 1ae1964..f7c07d1 100644 --- a/src/libXNVCtrl/NVCtrl.h +++ b/src/libXNVCtrl/NVCtrl.h @@ -826,16 +826,16 @@ /* - * NV_CTRL_GPU_CORE_THRESHOLD reports the current GPU core slowdown - * threshold temperature, NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD and - * NV_CTRL_GPU_MAX_CORE_THRESHOLD report the default and MAX core - * slowdown threshold temperatures. - * - * NV_CTRL_GPU_CORE_THRESHOLD reflects the temperature at which the + * NV_CTRL_GPU_SLOWDOWN_THRESHOLD reflects the temperature at which the * GPU is throttled to prevent overheating. + * + * NV_CTRL_GPU_CORE_THRESHOLD, NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD, + * and NV_CTRL_MAX_CORE_THRESHOLD are deprecated but report the + * same value as NV_CTRL_GPU_SLOWDOWN_THRESHOLD. */ -#define NV_CTRL_GPU_CORE_THRESHOLD 61 /* R--G */ +#define NV_CTRL_GPU_SLOWDOWN_THRESHOLD 61 /* R--G */ +#define NV_CTRL_GPU_CORE_THRESHOLD NV_CTRL_GPU_SLOWDOWN_THRESHOLD #define NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD 62 /* R--G */ #define NV_CTRL_GPU_MAX_CORE_THRESHOLD 63 /* R--G */ @@ -3576,7 +3576,22 @@ #define NV_CTRL_DISPLAY_VRR_ENABLED_FALSE 0 #define NV_CTRL_DISPLAY_VRR_ENABLED_TRUE 1 -#define NV_CTRL_LAST_ATTRIBUTE NV_CTRL_DISPLAY_VRR_ENABLED +/* + * NV_CTRL_GPU_SHUTDOWN_THRESHOLD reflects the temperature at which the + * GPU is halted to prevent overheating. + */ + +#define NV_CTRL_GPU_SHUTDOWN_THRESHOLD 432 /* R--G */ + +/* + * NV_CTRL_GPU_MAX_OPERATING_THRESHOLD reflects the maximum temperature for + * normal GPU behavior. + */ + +#define NV_CTRL_GPU_MAX_OPERATING_THRESHOLD 433 /* R--G */ + + +#define NV_CTRL_LAST_ATTRIBUTE NV_CTRL_GPU_MAX_OPERATING_THRESHOLD /**************************************************************************/ diff --git a/src/libXNVCtrl/version.mk b/src/libXNVCtrl/version.mk index 3431911..160bbfd 100644 --- a/src/libXNVCtrl/version.mk +++ b/src/libXNVCtrl/version.mk @@ -1 +1 @@ -NVIDIA_VERSION = 430.40 +NVIDIA_VERSION = 435.17 diff --git a/src/libXNVCtrlAttributes/NvCtrlAttributes.h b/src/libXNVCtrlAttributes/NvCtrlAttributes.h index 636d7e2..668510e 100644 --- a/src/libXNVCtrlAttributes/NvCtrlAttributes.h +++ b/src/libXNVCtrlAttributes/NvCtrlAttributes.h @@ -138,6 +138,7 @@ struct _CtrlSystem { /* X system data */ char *display; /* string for XOpenDisplay */ Display *dpy; /* X display connection */ + Bool has_nv_control; CtrlTargetNode *targets[MAX_TARGET_TYPES]; /* Shadows targetTypeTable */ CtrlTargetNode *physical_screens; diff --git a/src/libXNVCtrlAttributes/NvCtrlAttributesUtils.c b/src/libXNVCtrlAttributes/NvCtrlAttributesUtils.c index b18c199..73698cc 100644 --- a/src/libXNVCtrlAttributes/NvCtrlAttributesUtils.c +++ b/src/libXNVCtrlAttributes/NvCtrlAttributesUtils.c @@ -34,6 +34,8 @@ #include "NvCtrlAttributes.h" #include "NvCtrlAttributesPrivate.h" +#include "NVCtrlLib.h" + /*! @@ -841,6 +843,7 @@ static Bool load_system_info(CtrlSystem *system, const char *display) CtrlTarget *xscreenQueryTarget = NULL; CtrlTarget *nvmlQueryTarget = NULL; int i, target_type, val, len, target_count; + int unused; int *pData = NULL; const CtrlTargetTypeInfo *targetTypeInfo; @@ -862,6 +865,9 @@ static Bool load_system_info(CtrlSystem *system, const char *display) return FALSE; } + system->has_nv_control = + XNVCTRLQueryExtension(system->dpy, &unused, &unused); + /* Try to initialize the NVML library */ nvmlQueryTarget = nv_alloc_ctrl_target(system, GPU_TARGET, 0, NV_CTRL_ATTRIBUTES_NV_CONTROL_SUBSYSTEM | diff --git a/src/parse.c b/src/parse.c index d28a0be..fb1560e 100644 --- a/src/parse.c +++ b/src/parse.c @@ -208,6 +208,9 @@ const AttributeTableEntry attributeTable[] = { { "GPUPerfModes", NV_CTRL_STRING_PERFORMANCE_MODES, STR_ATTR, {0,0,0,0,1,0}, {}, "Returns a string with all the performance modes defined for this GPU along with their associated NV Clock and Memory Clock values." }, { "GpuUUID", NV_CTRL_STRING_GPU_UUID, STR_ATTR, {0,0,0,0,1,0}, {}, "Returns the global unique identifier of the GPU." }, { "GPUUtilization", NV_CTRL_STRING_GPU_UTILIZATION, STR_ATTR, {0,0,0,0,1,0}, {}, "Returns the current percentage utilization of the GPU components." }, + { "GPUSlowdownTempThreshold", NV_CTRL_GPU_SLOWDOWN_THRESHOLD, INT_ATTR, {0,0,0,0,1,0}, {}, "Returns the temperature above which the GPU will slowdown for hardware protection." }, + { "GPUShutdownTempThreshold", NV_CTRL_GPU_SHUTDOWN_THRESHOLD, INT_ATTR, {0,0,0,0,1,0}, {}, "Returns the temperature at which the GPU will shutdown for hardware protection." }, + { "GPUMaxOperatingTempThreshold", NV_CTRL_GPU_MAX_OPERATING_THRESHOLD, INT_ATTR, {0,0,0,0,1,0}, {}, "Returns the maximum temperature that will support normal GPU behavior." }, /* Framelock */ { "FrameLockAvailable", NV_CTRL_FRAMELOCK, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns whether the underlying GPU supports Frame Lock. All of the other frame lock attributes are only applicable if this attribute is enabled (Supported)." }, @@ -398,7 +401,7 @@ const int attributeTableLen = ARRAY_LEN(attributeTable); * the last attribute that the table knows about. */ -#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_DISPLAY_VRR_ENABLED +#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_GPU_MAX_OPERATING_THRESHOLD #warning "Have you forgotten to add a new integer attribute to attributeTable?" #endif diff --git a/src/version.h b/src/version.h index ec1154f..4d22ba6 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define NVIDIA_VERSION "430.40" +#define NVIDIA_VERSION "435.17" diff --git a/src/version.mk b/src/version.mk index 3431911..160bbfd 100644 --- a/src/version.mk +++ b/src/version.mk @@ -1 +1 @@ -NVIDIA_VERSION = 430.40 +NVIDIA_VERSION = 435.17 @@ -1 +1 @@ -NVIDIA_VERSION = 430.40 +NVIDIA_VERSION = 435.17 |