Spaces:
Runtime error
Runtime error
# Xlib.ext.nvcontrol -- NV-CONTROL extension module | |
# | |
# Copyright (C) 2019 Roberto Leinardi <roberto@leinardi.com> | |
# | |
# This library is free software; you can redistribute it and/or | |
# modify it under the terms of the GNU Lesser General Public License | |
# as published by the Free Software Foundation; either version 2.1 | |
# of the License, or (at your option) any later version. | |
# | |
# This library is distributed in the hope that it will be useful, | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
# See the GNU Lesser General Public License for more details. | |
# | |
# You should have received a copy of the GNU Lesser General Public | |
# License along with this library; if not, write to the | |
# Free Software Foundation, Inc., | |
# 59 Temple Place, | |
# Suite 330, | |
# Boston, MA 02111-1307 USA | |
"""NV-CONTROL - provide access to the NV-CONTROL extension information.""" | |
from Xlib.protocol import rq | |
extname = 'NV-CONTROL' | |
def query_target_count(self, target): | |
"""Return the target count""" | |
reply = NVCtrlQueryTargetCountReplyRequest(display=self.display, | |
opcode=self.display.get_extension_major(extname), | |
target_type=target.type()) | |
return int(reply._data.get('count')) | |
def query_int_attribute(self, target, display_mask, attr): | |
"""Return the value of an integer attribute""" | |
reply = NVCtrlQueryAttributeReplyRequest(display=self.display, | |
opcode=self.display.get_extension_major(extname), | |
target_id=target.id(), | |
target_type=target.type(), | |
display_mask=display_mask, | |
attr=attr) | |
if not reply._data.get('flags'): | |
return None | |
return int(reply._data.get('value')) | |
def set_int_attribute(self, target, display_mask, attr, value): | |
"""Set the value of an integer attribute""" | |
reply = NVCtrlSetAttributeAndGetStatusReplyRequest(display=self.display, | |
opcode=self.display.get_extension_major(extname), | |
target_id=target.id(), | |
target_type=target.type(), | |
display_mask=display_mask, | |
attr=attr, | |
value=value) | |
return reply._data.get('flags') != 0 | |
def query_string_attribute(self, target, display_mask, attr): | |
"""Return the value of a string attribute""" | |
reply = NVCtrlQueryStringAttributeReplyRequest(display=self.display, | |
opcode=self.display.get_extension_major(extname), | |
target_id=target.id(), | |
target_type=target.type(), | |
display_mask=display_mask, | |
attr=attr) | |
if not reply._data.get('flags'): | |
return None | |
return str(reply._data.get('string')).strip('\0') | |
def query_valid_attr_values(self, target, display_mask, attr): | |
"""Return the value of an integer attribute""" | |
reply = NVCtrlQueryValidAttributeValuesReplyRequest(display=self.display, | |
opcode=self.display.get_extension_major(extname), | |
target_id=target.id(), | |
target_type=target.type(), | |
display_mask=display_mask, | |
attr=attr) | |
if not reply._data.get('flags'): | |
return None | |
return int(reply._data.get('min')), int(reply._data.get('max')) | |
def query_binary_data(self, target, display_mask, attr): | |
"""Return binary data""" | |
reply = NVCtrlQueryBinaryDataReplyRequest(display=self.display, | |
opcode=self.display.get_extension_major(extname), | |
target_id=target.id(), | |
target_type=target.type(), | |
display_mask=display_mask, | |
attr=attr) | |
if not reply._data.get('flags'): | |
return None | |
return reply._data.get('data') | |
def get_coolers_used_by_gpu(self, target): | |
reply = NVCtrlQueryListCard32ReplyRequest(display=self.display, | |
opcode=self.display.get_extension_major(extname), | |
target_id=target.id(), | |
target_type=target.type(), | |
display_mask=0, | |
attr=NV_CTRL_BINARY_DATA_COOLERS_USED_BY_GPU) | |
if not reply._data.get('flags'): | |
return None | |
fans = reply._data.get('list') | |
if len(fans) > 1: | |
return fans[1:] | |
else: | |
return None | |
def get_gpu_count(self): | |
"""Return the number of GPU's present in the system.""" | |
return int(query_target_count(self, Gpu())) | |
def get_name(self, target): | |
"""Return the GPU product name on which the specified X screen is running""" | |
return query_string_attribute(self, target, 0, NV_CTRL_STRING_PRODUCT_NAME) | |
def get_driver_version(self, target): | |
"""Return the NVIDIA (kernel level) driver version for the specified screen or GPU""" | |
return query_string_attribute(self, target, 0, NV_CTRL_STRING_NVIDIA_DRIVER_VERSION) | |
def get_vbios_version(self, target): | |
"""Return the version of the VBIOS for the specified screen or GPU""" | |
return query_string_attribute(self, target, 0, NV_CTRL_STRING_VBIOS_VERSION) | |
def get_gpu_uuid(self, target): | |
return query_string_attribute(self, target, 0, NV_CTRL_STRING_GPU_UUID) | |
def get_utilization_rates(self, target): | |
string = query_string_attribute(self, target, 0, NV_CTRL_STRING_GPU_UTILIZATION) | |
result = {} | |
if string is not None and string != '': | |
for line in string.split(','): | |
[key, value] = line.split('=')[:2] | |
result[key.strip()] = int(value) if value.isdigit() else value | |
return result | |
def get_performance_modes(self, target): | |
string = query_string_attribute(self, target, 0, NV_CTRL_STRING_PERFORMANCE_MODES) | |
result = [] | |
if string is not None and string != '': | |
for perf in string.split(';'): | |
perf_dict = {} | |
for line in perf.split(','): | |
[key, value] = line.split('=')[:2] | |
perf_dict[key.strip()] = int(value) if value.isdigit() else value | |
result.append(perf_dict) | |
return result | |
def get_clock_info(self, target): | |
string = query_string_attribute(self, target, 0, NV_CTRL_STRING_GPU_CURRENT_CLOCK_FREQS) | |
result = {} | |
if string is not None and string != '': | |
for line in string.split(','): | |
[key, value] = line.split('=')[:2] | |
result[key.strip()] = int(value) if value.isdigit() else value | |
return result | |
def get_vram(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_VIDEO_RAM) | |
def get_irq(self, target): | |
"""Return the interrupt request line used by the GPU driving the screen""" | |
return query_int_attribute(self, target, 0, NV_CTRL_IRQ) | |
def supports_framelock(self, target): | |
"""Return whether the underlying GPU supports Frame Lock. | |
All of the other frame lock attributes are only applicable if this returns True. | |
""" | |
return query_int_attribute(self, target, 0, NV_CTRL_FRAMELOCK) == 1 | |
def gvo_supported(self, screen): | |
"""Return whether this X screen supports GVO | |
If this screen does not support GVO output, then all other GVO attributes are unavailable. | |
""" | |
return query_int_attribute(self, screen, [], NV_CTRL_GVO_SUPPORTED) | |
def get_core_temp(self, target): | |
"""Return the current core temperature of the GPU driving the X screen.""" | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_CORE_TEMPERATURE) | |
def get_core_threshold(self, target): | |
"""Return the current GPU core slowdown threshold temperature. | |
It reflects the temperature at which the GPU is throttled to prevent overheating. | |
""" | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_CORE_THRESHOLD) | |
def get_default_core_threshold(self, target): | |
"""Return the default core threshold temperature.""" | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD) | |
def get_max_core_threshold(self, target): | |
"""Return the maximum core threshold temperature.""" | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_MAX_CORE_THRESHOLD) | |
def get_ambient_temp(self, target): | |
"""Return the current temperature in the immediate neighbourhood of the GPU driving the X screen.""" | |
return query_int_attribute(self, target, 0, NV_CTRL_AMBIENT_TEMPERATURE) | |
def get_cuda_cores(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_CORES) | |
def get_memory_bus_width(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_MEMORY_BUS_WIDTH) | |
def get_total_dedicated_gpu_memory(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_TOTAL_DEDICATED_GPU_MEMORY) | |
def get_used_dedicated_gpu_memory(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_USED_DEDICATED_GPU_MEMORY) | |
def get_curr_pcie_link_width(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_PCIE_CURRENT_LINK_WIDTH) | |
def get_max_pcie_link_width(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_PCIE_MAX_LINK_WIDTH) | |
def get_curr_pcie_link_generation(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_PCIE_GENERATION) | |
def get_encoder_utilization(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_VIDEO_ENCODER_UTILIZATION) | |
def get_decoder_utilization(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_VIDEO_DECODER_UTILIZATION) | |
def get_current_performance_level(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_CURRENT_PERFORMANCE_LEVEL) | |
def get_gpu_nvclock_offset(self, target, perf_level): | |
return query_int_attribute(self, target, perf_level, NV_CTRL_GPU_NVCLOCK_OFFSET) | |
def set_gpu_nvclock_offset(self, target, perf_level, offset): | |
return set_int_attribute(self, target, perf_level, NV_CTRL_GPU_NVCLOCK_OFFSET, offset) | |
def set_gpu_nvclock_offset_all_levels(self, target, offset): | |
return set_int_attribute(self, target, 0, NV_CTRL_GPU_NVCLOCK_OFFSET_ALL_PERFORMANCE_LEVELS, offset) | |
def get_gpu_nvclock_offset_range(self, target, perf_level): | |
return query_valid_attr_values(self, target, perf_level, NV_CTRL_GPU_NVCLOCK_OFFSET) | |
def get_mem_transfer_rate_offset(self, target, perf_level): | |
return query_int_attribute(self, target, perf_level, NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET) | |
def set_mem_transfer_rate_offset(self, target, perf_level, offset): | |
return set_int_attribute(self, target, perf_level, NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET, offset) | |
def set_mem_transfer_rate_offset_all_levels(self, target, offset): | |
return set_int_attribute(self, target, 0, NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET_ALL_PERFORMANCE_LEVELS, offset) | |
def get_mem_transfer_rate_offset_range(self, target, perf_level): | |
return query_valid_attr_values(self, target, perf_level, NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET) | |
def get_cooler_manual_control_enabled(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_GPU_COOLER_MANUAL_CONTROL) | |
def set_cooler_manual_control_enabled(self, target, enabled): | |
return set_int_attribute(self, target, 0, NV_CTRL_GPU_COOLER_MANUAL_CONTROL, 1 if enabled else 0) == 1 | |
def get_fan_duty(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_THERMAL_COOLER_CURRENT_LEVEL) | |
def set_fan_duty(self, cooler, speed): | |
return set_int_attribute(self, cooler, 0, NV_CTRL_THERMAL_COOLER_LEVEL, speed) | |
def get_fan_rpm(self, target): | |
return query_int_attribute(self, target, 0, NV_CTRL_THERMAL_COOLER_SPEED) | |
def get_max_displays(self, target): | |
"""Return the maximum number of display devices that can be driven simultaneously on a GPU. | |
Note that this does not indicate the maximum number of bits that can be set in | |
NV_CTRL_CONNECTED_DISPLAYS, because more display devices can be connected than are actively | |
in use. | |
""" | |
return query_int_attribute(self, target, 0, NV_CTRL_MAX_DISPLAYS) | |
def _displaystr2num(st): | |
"""Return a display number from a string""" | |
num = None | |
for s, n in [('DFP-', 16), ('TV-', 8), ('CRT-', 0)]: | |
if st.startswith(s): | |
try: | |
curnum = int(st[len(s):]) | |
if 0 <= curnum <= 7: | |
num = n + curnum | |
break | |
except Exception: | |
pass | |
if num is not None: | |
return num | |
else: | |
raise ValueError('Unrecognised display name: ' + st) | |
def _displays2mask(displays): | |
"""Return a display mask from an array of display numbers.""" | |
mask = 0 | |
for d in displays: | |
mask += (1 << _displaystr2num(d)) | |
return mask | |
def init(disp, info): | |
disp.extension_add_method('display', 'nvcontrol_query_target_count', query_target_count) | |
disp.extension_add_method('display', 'nvcontrol_query_int_attribute', query_int_attribute) | |
disp.extension_add_method('display', 'nvcontrol_query_string_attribute', query_string_attribute) | |
disp.extension_add_method('display', 'nvcontrol_query_valid_attr_values', query_valid_attr_values) | |
disp.extension_add_method('display', 'nvcontrol_query_binary_data', query_binary_data) | |
disp.extension_add_method('display', 'nvcontrol_get_gpu_count', get_gpu_count) | |
disp.extension_add_method('display', 'nvcontrol_get_vram', get_vram) | |
disp.extension_add_method('display', 'nvcontrol_get_irq', get_irq) | |
disp.extension_add_method('display', 'nvcontrol_supports_framelock', supports_framelock) | |
disp.extension_add_method('display', 'nvcontrol_get_core_temp', get_core_temp) | |
disp.extension_add_method('display', 'nvcontrol_get_core_threshold', get_core_threshold) | |
disp.extension_add_method('display', 'nvcontrol_get_default_core_threshold', get_default_core_threshold) | |
disp.extension_add_method('display', 'nvcontrol_get_max_core_threshold', get_max_core_threshold) | |
disp.extension_add_method('display', 'nvcontrol_get_ambient_temp', get_ambient_temp) | |
disp.extension_add_method('display', 'nvcontrol_get_cuda_cores', get_cuda_cores) | |
disp.extension_add_method('display', 'nvcontrol_get_memory_bus_width', get_memory_bus_width) | |
disp.extension_add_method('display', 'nvcontrol_get_total_dedicated_gpu_memory', get_total_dedicated_gpu_memory) | |
disp.extension_add_method('display', 'nvcontrol_get_used_dedicated_gpu_memory', get_used_dedicated_gpu_memory) | |
disp.extension_add_method('display', 'nvcontrol_get_curr_pcie_link_width', get_curr_pcie_link_width) | |
disp.extension_add_method('display', 'nvcontrol_get_max_pcie_link_width', get_max_pcie_link_width) | |
disp.extension_add_method('display', 'nvcontrol_get_curr_pcie_link_generation', get_curr_pcie_link_generation) | |
disp.extension_add_method('display', 'nvcontrol_get_encoder_utilization', get_encoder_utilization) | |
disp.extension_add_method('display', 'nvcontrol_get_decoder_utilization', get_decoder_utilization) | |
disp.extension_add_method('display', 'nvcontrol_get_current_performance_level', get_current_performance_level) | |
disp.extension_add_method('display', 'nvcontrol_get_gpu_nvclock_offset', get_gpu_nvclock_offset) | |
disp.extension_add_method('display', 'nvcontrol_set_gpu_nvclock_offset', set_gpu_nvclock_offset) | |
disp.extension_add_method('display', 'nvcontrol_set_gpu_nvclock_offset_all_levels', set_gpu_nvclock_offset_all_levels) | |
disp.extension_add_method('display', 'nvcontrol_get_mem_transfer_rate_offset', get_mem_transfer_rate_offset) | |
disp.extension_add_method('display', 'nvcontrol_set_mem_transfer_rate_offset', set_mem_transfer_rate_offset) | |
disp.extension_add_method('display', 'nvcontrol_set_mem_transfer_rate_offset_all_levels', set_mem_transfer_rate_offset_all_levels) | |
disp.extension_add_method('display', 'nvcontrol_get_cooler_manual_control_enabled', | |
get_cooler_manual_control_enabled) | |
disp.extension_add_method('display', 'nvcontrol_get_fan_duty', get_fan_duty) | |
disp.extension_add_method('display', 'nvcontrol_set_fan_duty', set_fan_duty) | |
disp.extension_add_method('display', 'nvcontrol_get_fan_rpm', get_fan_rpm) | |
disp.extension_add_method('display', 'nvcontrol_get_coolers_used_by_gpu', get_coolers_used_by_gpu) | |
disp.extension_add_method('display', 'nvcontrol_get_max_displays', get_max_displays) | |
disp.extension_add_method('display', 'nvcontrol_get_name', get_name) | |
disp.extension_add_method('display', 'nvcontrol_get_driver_version', get_driver_version) | |
disp.extension_add_method('display', 'nvcontrol_get_vbios_version', get_vbios_version) | |
disp.extension_add_method('display', 'nvcontrol_get_gpu_uuid', get_gpu_uuid) | |
disp.extension_add_method('display', 'nvcontrol_get_utilization_rates', get_utilization_rates) | |
disp.extension_add_method('display', 'nvcontrol_get_performance_modes', get_performance_modes) | |
disp.extension_add_method('display', 'nvcontrol_get_clock_info', get_clock_info) | |
disp.extension_add_method('display', 'nvcontrol_set_cooler_manual_control_enabled', | |
set_cooler_manual_control_enabled) | |
disp.extension_add_method('display', 'nvcontrol_get_gpu_nvclock_offset_range', | |
get_gpu_nvclock_offset_range) | |
disp.extension_add_method('display', 'nvcontrol_get_mem_transfer_rate_offset_range', | |
get_mem_transfer_rate_offset_range) | |
############################################################################ | |
# | |
# Attributes | |
# | |
# Some attributes may only be read; some may require a display_mask | |
# argument and others may be valid only for specific target types. | |
# This information is encoded in the "permission" comment after each | |
# attribute #define, and can be queried at run time with | |
# XNVCTRLQueryValidAttributeValues() and/or | |
# XNVCTRLQueryValidTargetAttributeValues() | |
# | |
# Key to Integer Attribute "Permissions": | |
# | |
# R: The attribute is readable (in general, all attributes will be | |
# readable) | |
# | |
# W: The attribute is writable (attributes may not be writable for | |
# various reasons: they represent static system information, they | |
# can only be changed by changing an XF86Config option, etc). | |
# | |
# D: The attribute requires the display mask argument. The | |
# attributes NV_CTRL_CONNECTED_DISPLAYS and NV_CTRL_ENABLED_DISPLAYS | |
# will be a bitmask of what display devices are connected and what | |
# display devices are enabled for use in X, respectively. Each bit | |
# in the bitmask represents a display device; it is these bits which | |
# should be used as the display_mask when dealing with attributes | |
# 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(). | |
# | |
# F: The attribute may be queried using an NV_CTRL_TARGET_TYPE_FRAMELOCK | |
# target type via XNVCTRLQueryTargetAttribute(). | |
# | |
# X: When Xinerama is enabled, this attribute is kept consistent across | |
# all Physical X Screens; assignment of this attribute will be | |
# broadcast by the NVIDIA X Driver to all X Screens. | |
# | |
# V: The attribute may be queried using an NV_CTRL_TARGET_TYPE_VCSC | |
# target type via XNVCTRLQueryTargetAttribute(). | |
# | |
# I: The attribute may be queried using an NV_CTRL_TARGET_TYPE_GVI target type | |
# via XNVCTRLQueryTargetAttribute(). | |
# | |
# 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 | |
# XNVCTRLQueryTargetAttribute(). | |
# | |
############################################################################ | |
# | |
# Integer attributes: | |
# | |
# Integer attributes can be queried through the XNVCTRLQueryAttribute() and | |
# XNVCTRLQueryTargetAttribute() function calls. | |
# | |
# Integer attributes can be set through the XNVCTRLSetAttribute() and | |
# XNVCTRLSetTargetAttribute() function calls. | |
# | |
# Unless otherwise noted, all integer attributes can be queried/set | |
# using an NV_CTRL_TARGET_TYPE_X_SCREEN target. Attributes that cannot | |
# take an NV_CTRL_TARGET_TYPE_X_SCREEN also cannot be queried/set through | |
# XNVCTRLQueryAttribute()/XNVCTRLSetAttribute() (Since these assume | |
# an X Screen target). | |
# | |
# | |
# NV_CTRL_FLATPANEL_SCALING - not supported | |
# | |
NV_CTRL_FLATPANEL_SCALING = 2 # not supported | |
NV_CTRL_FLATPANEL_SCALING_DEFAULT = 0 # not supported | |
NV_CTRL_FLATPANEL_SCALING_NATIVE = 1 # not supported | |
NV_CTRL_FLATPANEL_SCALING_SCALED = 2 # not supported | |
NV_CTRL_FLATPANEL_SCALING_CENTERED = 3 # not supported | |
NV_CTRL_FLATPANEL_SCALING_ASPECT_SCALED = 4 # not supported | |
# | |
# NV_CTRL_FLATPANEL_DITHERING - not supported | |
# | |
# NV_CTRL_DITHERING should be used instead. | |
# | |
NV_CTRL_FLATPANEL_DITHERING = 3 # not supported | |
NV_CTRL_FLATPANEL_DITHERING_DEFAULT = 0 # not supported | |
NV_CTRL_FLATPANEL_DITHERING_ENABLED = 1 # not supported | |
NV_CTRL_FLATPANEL_DITHERING_DISABLED = 2 # not supported | |
# | |
# NV_CTRL_DITHERING - the requested dithering configuration; | |
# possible values are: | |
# | |
# 0: auto (the driver will decide when to dither) | |
# 1: enabled (the driver will always dither when possible) | |
# 2: disabled (the driver will never dither) | |
# | |
NV_CTRL_DITHERING = 3 # RWDG | |
NV_CTRL_DITHERING_AUTO = 0 | |
NV_CTRL_DITHERING_ENABLED = 1 | |
NV_CTRL_DITHERING_DISABLED = 2 | |
# | |
# NV_CTRL_DIGITAL_VIBRANCE - sets the digital vibrance level for the | |
# specified display device. | |
# | |
NV_CTRL_DIGITAL_VIBRANCE = 4 # RWDG | |
# | |
# NV_CTRL_BUS_TYPE - returns the bus type through which the specified device | |
# is connected to the computer. | |
# When this attribute is queried on an X screen target, the bus type of the | |
# GPU driving the X screen is returned. | |
# | |
NV_CTRL_BUS_TYPE = 5 # R--GI | |
NV_CTRL_BUS_TYPE_AGP = 0 | |
NV_CTRL_BUS_TYPE_PCI = 1 | |
NV_CTRL_BUS_TYPE_PCI_EXPRESS = 2 | |
NV_CTRL_BUS_TYPE_INTEGRATED = 3 | |
# | |
# NV_CTRL_TOTAL_GPU_MEMORY - returns the total amount of memory available | |
# to the specified GPU (or the GPU driving the specified X | |
# screen). Note: if the GPU supports TurboCache(TM), the value | |
# reported may exceed the amount of video memory installed on the | |
# GPU. The value reported for integrated GPUs may likewise exceed | |
# the amount of dedicated system memory set aside by the system | |
# BIOS for use by the integrated GPU. | |
# | |
NV_CTRL_TOTAL_GPU_MEMORY = 6 # R--G | |
NV_CTRL_VIDEO_RAM = NV_CTRL_TOTAL_GPU_MEMORY | |
# | |
# NV_CTRL_IRQ - returns the interrupt request line used by the specified | |
# device. | |
# When this attribute is queried on an X screen target, the IRQ of the GPU | |
# driving the X screen is returned. | |
# | |
NV_CTRL_IRQ = 7 # R--GI | |
# | |
# NV_CTRL_OPERATING_SYSTEM - returns the operating system on which | |
# the X server is running. | |
# | |
NV_CTRL_OPERATING_SYSTEM = 8 # R--G | |
NV_CTRL_OPERATING_SYSTEM_LINUX = 0 | |
NV_CTRL_OPERATING_SYSTEM_FREEBSD = 1 | |
NV_CTRL_OPERATING_SYSTEM_SUNOS = 2 | |
# | |
# NV_CTRL_SYNC_TO_VBLANK - enables sync to vblank for OpenGL clients. | |
# This setting is only applied to OpenGL clients that are started | |
# after this setting is applied. | |
# | |
NV_CTRL_SYNC_TO_VBLANK = 9 # RW-X | |
NV_CTRL_SYNC_TO_VBLANK_OFF = 0 | |
NV_CTRL_SYNC_TO_VBLANK_ON = 1 | |
# | |
# NV_CTRL_LOG_ANISO - enables anisotropic filtering for OpenGL | |
# clients; on some NVIDIA hardware, this can only be enabled or | |
# disabled; on other hardware different levels of anisotropic | |
# filtering can be specified. This setting is only applied to OpenGL | |
# clients that are started after this setting is applied. | |
# | |
NV_CTRL_LOG_ANISO = 10 # RW-X | |
# | |
# NV_CTRL_FSAA_MODE - the FSAA setting for OpenGL clients; possible | |
# FSAA modes: | |
# | |
# NV_CTRL_FSAA_MODE_2x "2x Bilinear Multisampling" | |
# NV_CTRL_FSAA_MODE_2x_5t "2x Quincunx Multisampling" | |
# NV_CTRL_FSAA_MODE_15x15 "1.5 x 1.5 Supersampling" | |
# NV_CTRL_FSAA_MODE_2x2 "2 x 2 Supersampling" | |
# NV_CTRL_FSAA_MODE_4x "4x Bilinear Multisampling" | |
# NV_CTRL_FSAA_MODE_4x_9t "4x Gaussian Multisampling" | |
# NV_CTRL_FSAA_MODE_8x "2x Bilinear Multisampling by 4x Supersampling" | |
# NV_CTRL_FSAA_MODE_16x "4x Bilinear Multisampling by 4x Supersampling" | |
# NV_CTRL_FSAA_MODE_8xS "4x Multisampling by 2x Supersampling" | |
# | |
# This setting is only applied to OpenGL clients that are started | |
# after this setting is applied. | |
# | |
NV_CTRL_FSAA_MODE = 11 # RW-X | |
NV_CTRL_FSAA_MODE_NONE = 0 | |
NV_CTRL_FSAA_MODE_2x = 1 | |
NV_CTRL_FSAA_MODE_2x_5t = 2 | |
NV_CTRL_FSAA_MODE_15x15 = 3 | |
NV_CTRL_FSAA_MODE_2x2 = 4 | |
NV_CTRL_FSAA_MODE_4x = 5 | |
NV_CTRL_FSAA_MODE_4x_9t = 6 | |
NV_CTRL_FSAA_MODE_8x = 7 | |
NV_CTRL_FSAA_MODE_16x = 8 | |
NV_CTRL_FSAA_MODE_8xS = 9 | |
NV_CTRL_FSAA_MODE_8xQ = 10 | |
NV_CTRL_FSAA_MODE_16xS = 11 | |
NV_CTRL_FSAA_MODE_16xQ = 12 | |
NV_CTRL_FSAA_MODE_32xS = 13 | |
NV_CTRL_FSAA_MODE_32x = 14 | |
NV_CTRL_FSAA_MODE_64xS = 15 | |
NV_CTRL_FSAA_MODE_MAX = NV_CTRL_FSAA_MODE_64xS | |
# | |
# NV_CTRL_UBB - returns whether UBB is enabled for the specified X | |
# screen. | |
# | |
NV_CTRL_UBB = 13 # R-- | |
NV_CTRL_UBB_OFF = 0 | |
NV_CTRL_UBB_ON = 1 | |
# | |
# NV_CTRL_OVERLAY - returns whether the RGB overlay is enabled for | |
# the specified X screen. | |
# | |
NV_CTRL_OVERLAY = 14 # R-- | |
NV_CTRL_OVERLAY_OFF = 0 | |
NV_CTRL_OVERLAY_ON = 1 | |
# | |
# NV_CTRL_STEREO - returns whether stereo (and what type) is enabled | |
# for the specified X screen. | |
# | |
NV_CTRL_STEREO = 16 # R-- | |
NV_CTRL_STEREO_OFF = 0 | |
NV_CTRL_STEREO_DDC = 1 | |
NV_CTRL_STEREO_BLUELINE = 2 | |
NV_CTRL_STEREO_DIN = 3 | |
NV_CTRL_STEREO_PASSIVE_EYE_PER_DPY = 4 | |
NV_CTRL_STEREO_VERTICAL_INTERLACED = 5 | |
NV_CTRL_STEREO_COLOR_INTERLACED = 6 | |
NV_CTRL_STEREO_HORIZONTAL_INTERLACED = 7 | |
NV_CTRL_STEREO_CHECKERBOARD_PATTERN = 8 | |
NV_CTRL_STEREO_INVERSE_CHECKERBOARD_PATTERN = 9 | |
NV_CTRL_STEREO_3D_VISION = 10 | |
NV_CTRL_STEREO_3D_VISION_PRO = 11 | |
NV_CTRL_STEREO_HDMI_3D = 12 | |
NV_CTRL_STEREO_TRIDELITY_SL = 13 | |
NV_CTRL_STEREO_INBAND_STEREO_SIGNALING = 14 | |
NV_CTRL_STEREO_MAX = NV_CTRL_STEREO_INBAND_STEREO_SIGNALING | |
# | |
# NV_CTRL_EMULATE - not supported | |
# | |
NV_CTRL_EMULATE = 17 # not supported | |
NV_CTRL_EMULATE_NONE = 0 # not supported | |
# | |
# NV_CTRL_TWINVIEW - returns whether TwinView is enabled for the | |
# specified X screen. | |
# | |
NV_CTRL_TWINVIEW = 18 # R-- | |
NV_CTRL_TWINVIEW_NOT_ENABLED = 0 | |
NV_CTRL_TWINVIEW_ENABLED = 1 | |
# | |
# NV_CTRL_CONNECTED_DISPLAYS - deprecated | |
# | |
# NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU and | |
# NV_CTRL_BINARY_DATA_DISPLAYS_ASSIGNED_TO_XSCREEN should be used instead. | |
# | |
NV_CTRL_CONNECTED_DISPLAYS = 19 # deprecated | |
# | |
# NV_CTRL_ENABLED_DISPLAYS - Event that notifies when one or more display | |
# devices are enabled or disabled on a GPU and/or X screen. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
# Note: Querying this value has been deprecated. | |
# NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU, | |
# NV_CTRL_DISPLAY_ENABLED, and | |
# NV_CTRL_BINARY_DATA_DISPLAYS_ENABLED_ON_XSCREEN should be used | |
# instead to obtain the list of enabled displays. | |
# | |
NV_CTRL_ENABLED_DISPLAYS = 20 # ---G | |
############################################################################ | |
# | |
# Integer attributes specific to configuring Frame Lock on boards that | |
# support it. | |
# | |
# | |
# NV_CTRL_FRAMELOCK - returns whether the underlying GPU supports | |
# Frame Lock. All of the other frame lock attributes are only | |
# applicable if NV_CTRL_FRAMELOCK is _SUPPORTED. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_FRAMELOCK = 21 # R--G | |
NV_CTRL_FRAMELOCK_NOT_SUPPORTED = 0 | |
NV_CTRL_FRAMELOCK_SUPPORTED = 1 | |
# | |
# NV_CTRL_FRAMELOCK_MASTER - deprecated | |
# | |
# NV_CTRL_FRAMELOCK_DISPLAY_CONFIG should be used instead. | |
# | |
NV_CTRL_FRAMELOCK_MASTER = 22 # deprecated | |
NV_CTRL_FRAMELOCK_MASTER_FALSE = 0 # deprecated | |
NV_CTRL_FRAMELOCK_MASTER_TRUE = 1 # deprecated | |
# | |
# NV_CTRL_FRAMELOCK_POLARITY - sync either to the rising edge of the | |
# frame lock pulse, the falling edge of the frame lock pulse or both. | |
# | |
# On Quadro Sync II, this attribute is ignored when | |
# NV_CTRL_USE_HOUSE_SYNC is OUTPUT. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_POLARITY = 23 # RW-F | |
NV_CTRL_FRAMELOCK_POLARITY_RISING_EDGE = 0x1 | |
NV_CTRL_FRAMELOCK_POLARITY_FALLING_EDGE = 0x2 | |
NV_CTRL_FRAMELOCK_POLARITY_BOTH_EDGES = 0x3 | |
# | |
# NV_CTRL_FRAMELOCK_SYNC_DELAY - delay between the frame lock pulse | |
# and the GPU sync. This value must be multiplied by | |
# NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION to determine the sync delay in | |
# nanoseconds. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
# USAGE NOTE: NV_CTRL_FRAMELOCK_SYNC_DELAY_MAX and | |
# NV_CTRL_FRAMELOCK_SYNC_DELAY_FACTOR are deprecated. | |
# The Sync Delay _MAX and _FACTOR are different for different | |
# Quadro Sync products and so, to be correct, the valid values for | |
# NV_CTRL_FRAMELOCK_SYNC_DELAY must be queried to get the range | |
# of acceptable sync delay values, and | |
# NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION must be queried to | |
# obtain the correct factor. | |
# | |
NV_CTRL_FRAMELOCK_SYNC_DELAY = 24 # RW-F | |
NV_CTRL_FRAMELOCK_SYNC_DELAY_MAX = 2047 # deprecated | |
NV_CTRL_FRAMELOCK_SYNC_DELAY_FACTOR = 7.81 # deprecated | |
# | |
# NV_CTRL_FRAMELOCK_SYNC_INTERVAL - how many house sync pulses | |
# between the frame lock sync generation (0 == sync every house sync); | |
# this only applies to the master when receiving house sync. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_SYNC_INTERVAL = 25 # RW-F | |
# | |
# NV_CTRL_FRAMELOCK_PORT0_STATUS - status of the rj45 port0. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_PORT0_STATUS = 26 # R--F | |
NV_CTRL_FRAMELOCK_PORT0_STATUS_INPUT = 0 | |
NV_CTRL_FRAMELOCK_PORT0_STATUS_OUTPUT = 1 | |
# | |
# NV_CTRL_FRAMELOCK_PORT1_STATUS - status of the rj45 port1. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_PORT1_STATUS = 27 # R--F | |
NV_CTRL_FRAMELOCK_PORT1_STATUS_INPUT = 0 | |
NV_CTRL_FRAMELOCK_PORT1_STATUS_OUTPUT = 1 | |
# | |
# NV_CTRL_FRAMELOCK_HOUSE_STATUS - returns whether or not the house | |
# sync input signal was detected on the BNC connector of the frame lock | |
# board. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_HOUSE_STATUS = 28 # R--F | |
NV_CTRL_FRAMELOCK_HOUSE_STATUS_NOT_DETECTED = 0 | |
NV_CTRL_FRAMELOCK_HOUSE_STATUS_DETECTED = 1 | |
# | |
# NV_CTRL_FRAMELOCK_SYNC - enable/disable the syncing of display | |
# devices to the frame lock pulse as specified by previous calls to | |
# NV_CTRL_FRAMELOCK_DISPLAY_CONFIG. | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU target. This attribute cannot be | |
# queried using a NV_CTRL_TARGET_TYPE_X_SCREEN. | |
# | |
NV_CTRL_FRAMELOCK_SYNC = 29 # RW-G | |
NV_CTRL_FRAMELOCK_SYNC_DISABLE = 0 | |
NV_CTRL_FRAMELOCK_SYNC_ENABLE = 1 | |
# | |
# NV_CTRL_FRAMELOCK_SYNC_READY - reports whether a frame lock | |
# board is receiving sync (regardless of whether or not any display | |
# devices are using the sync). | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_SYNC_READY = 30 # R--F | |
NV_CTRL_FRAMELOCK_SYNC_READY_FALSE = 0 | |
NV_CTRL_FRAMELOCK_SYNC_READY_TRUE = 1 | |
# | |
# NV_CTRL_FRAMELOCK_STEREO_SYNC - this indicates that the GPU stereo | |
# signal is in sync with the frame lock stereo signal. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_STEREO_SYNC = 31 # R--G | |
NV_CTRL_FRAMELOCK_STEREO_SYNC_FALSE = 0 | |
NV_CTRL_FRAMELOCK_STEREO_SYNC_TRUE = 1 | |
# | |
# NV_CTRL_FRAMELOCK_TEST_SIGNAL - to test the connections in the sync | |
# group, tell the master to enable a test signal, then query port[01] | |
# status and sync_ready on all slaves. When done, tell the master to | |
# disable the test signal. Test signal should only be manipulated | |
# while NV_CTRL_FRAMELOCK_SYNC is enabled. | |
# | |
# The TEST_SIGNAL is also used to reset the Universal Frame Count (as | |
# returned by the glXQueryFrameCountNV() function in the | |
# GLX_NV_swap_group extension). Note: for best accuracy of the | |
# Universal Frame Count, it is recommended to toggle the TEST_SIGNAL | |
# on and off after enabling frame lock. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_FRAMELOCK_TEST_SIGNAL = 32 # RW-G | |
NV_CTRL_FRAMELOCK_TEST_SIGNAL_DISABLE = 0 | |
NV_CTRL_FRAMELOCK_TEST_SIGNAL_ENABLE = 1 | |
# | |
# NV_CTRL_FRAMELOCK_ETHERNET_DETECTED - The frame lock boards are | |
# cabled together using regular cat5 cable, connecting to rj45 ports | |
# on the backplane of the card. There is some concern that users may | |
# think these are ethernet ports and connect them to a | |
# router/hub/etc. The hardware can detect this and will shut off to | |
# prevent damage (either to itself or to the router). | |
# NV_CTRL_FRAMELOCK_ETHERNET_DETECTED may be called to find out if | |
# ethernet is connected to one of the rj45 ports. An appropriate | |
# error message should then be displayed. The _PORT0 and _PORT1 | |
# values may be or'ed together. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_ETHERNET_DETECTED = 33 # R--F | |
NV_CTRL_FRAMELOCK_ETHERNET_DETECTED_NONE = 0 | |
NV_CTRL_FRAMELOCK_ETHERNET_DETECTED_PORT0 = 0x1 | |
NV_CTRL_FRAMELOCK_ETHERNET_DETECTED_PORT1 = 0x2 | |
# | |
# NV_CTRL_FRAMELOCK_VIDEO_MODE - get/set what video mode is used | |
# to interperate the house sync signal. This should only be set | |
# on the master. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_VIDEO_MODE = 34 # RW-F | |
NV_CTRL_FRAMELOCK_VIDEO_MODE_NONE = 0 | |
NV_CTRL_FRAMELOCK_VIDEO_MODE_TTL = 1 | |
NV_CTRL_FRAMELOCK_VIDEO_MODE_NTSCPALSECAM = 2 | |
NV_CTRL_FRAMELOCK_VIDEO_MODE_HDTV = 3 | |
# | |
# During FRAMELOCK bring-up, the above values were redefined to | |
# these: | |
# | |
NV_CTRL_FRAMELOCK_VIDEO_MODE_COMPOSITE_AUTO = 0 | |
NV_CTRL_FRAMELOCK_VIDEO_MODE_COMPOSITE_BI_LEVEL = 2 | |
NV_CTRL_FRAMELOCK_VIDEO_MODE_COMPOSITE_TRI_LEVEL = 3 | |
# | |
# NV_CTRL_FRAMELOCK_SYNC_RATE - this is the refresh rate that the | |
# frame lock board is sending to the GPU, in milliHz. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_SYNC_RATE = 35 # R--F | |
############################################################################ | |
# | |
# NV_CTRL_FORCE_GENERIC_CPU - not supported | |
# | |
NV_CTRL_FORCE_GENERIC_CPU = 37 # not supported | |
NV_CTRL_FORCE_GENERIC_CPU_DISABLE = 0 # not supported | |
NV_CTRL_FORCE_GENERIC_CPU_ENABLE = 1 # not supported | |
# | |
# NV_CTRL_OPENGL_AA_LINE_GAMMA - for OpenGL clients, allow | |
# Gamma-corrected antialiased lines to consider variances in the | |
# color display capabilities of output devices when rendering smooth | |
# lines. Only available on recent Quadro GPUs. This setting is only | |
# applied to OpenGL clients that are started after this setting is | |
# applied. | |
# | |
NV_CTRL_OPENGL_AA_LINE_GAMMA = 38 # RW-X | |
NV_CTRL_OPENGL_AA_LINE_GAMMA_DISABLE = 0 | |
NV_CTRL_OPENGL_AA_LINE_GAMMA_ENABLE = 1 | |
# | |
# NV_CTRL_FRAMELOCK_TIMING - this is TRUE when the gpu is both receiving | |
# and locked to an input timing signal. Timing information may come from | |
# the following places: Another frame lock device that is set to master, | |
# the house sync signal, or the GPU's internal timing from a display | |
# device. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_FRAMELOCK_TIMING = 39 # R--G | |
NV_CTRL_FRAMELOCK_TIMING_FALSE = 0 | |
NV_CTRL_FRAMELOCK_TIMING_TRUE = 1 | |
# | |
# NV_CTRL_FLIPPING_ALLOWED - when TRUE, OpenGL will swap by flipping | |
# when possible; when FALSE, OpenGL will always swap by blitting. | |
# | |
NV_CTRL_FLIPPING_ALLOWED = 40 # RW-X | |
NV_CTRL_FLIPPING_ALLOWED_FALSE = 0 | |
NV_CTRL_FLIPPING_ALLOWED_TRUE = 1 | |
# | |
# NV_CTRL_ARCHITECTURE - returns the architecture on which the X server is | |
# running. | |
# | |
NV_CTRL_ARCHITECTURE = 41 # R-- | |
NV_CTRL_ARCHITECTURE_X86 = 0 | |
NV_CTRL_ARCHITECTURE_X86_64 = 1 | |
NV_CTRL_ARCHITECTURE_IA64 = 2 | |
NV_CTRL_ARCHITECTURE_ARM = 3 | |
NV_CTRL_ARCHITECTURE_AARCH64 = 4 | |
NV_CTRL_ARCHITECTURE_PPC64LE = 5 | |
# | |
# NV_CTRL_TEXTURE_CLAMPING - texture clamping mode in OpenGL. By | |
# default, _SPEC is used, which forces OpenGL texture clamping to | |
# conform with the OpenGL specification. _EDGE forces NVIDIA's | |
# OpenGL implementation to remap GL_CLAMP to GL_CLAMP_TO_EDGE, | |
# which is not strictly conformant, but some applications rely on | |
# the non-conformant behavior. | |
# | |
NV_CTRL_TEXTURE_CLAMPING = 42 # RW-X | |
NV_CTRL_TEXTURE_CLAMPING_EDGE = 0 | |
NV_CTRL_TEXTURE_CLAMPING_SPEC = 1 | |
# | |
# The NV_CTRL_CURSOR_SHADOW - not supported | |
# | |
# use an ARGB cursor instead. | |
# | |
NV_CTRL_CURSOR_SHADOW = 43 # not supported | |
NV_CTRL_CURSOR_SHADOW_DISABLE = 0 # not supported | |
NV_CTRL_CURSOR_SHADOW_ENABLE = 1 # not supported | |
NV_CTRL_CURSOR_SHADOW_ALPHA = 44 # not supported | |
NV_CTRL_CURSOR_SHADOW_RED = 45 # not supported | |
NV_CTRL_CURSOR_SHADOW_GREEN = 46 # not supported | |
NV_CTRL_CURSOR_SHADOW_BLUE = 47 # not supported | |
NV_CTRL_CURSOR_SHADOW_X_OFFSET = 48 # not supported | |
NV_CTRL_CURSOR_SHADOW_Y_OFFSET = 49 # not supported | |
# | |
# When Application Control for FSAA is enabled, then what the | |
# application requests is used, and NV_CTRL_FSAA_MODE is ignored. If | |
# this is disabled, then any application setting is overridden with | |
# NV_CTRL_FSAA_MODE | |
# | |
NV_CTRL_FSAA_APPLICATION_CONTROLLED = 50 # RW-X | |
NV_CTRL_FSAA_APPLICATION_CONTROLLED_ENABLED = 1 | |
NV_CTRL_FSAA_APPLICATION_CONTROLLED_DISABLED = 0 | |
# | |
# When Application Control for LogAniso is enabled, then what the | |
# application requests is used, and NV_CTRL_LOG_ANISO is ignored. If | |
# this is disabled, then any application setting is overridden with | |
# NV_CTRL_LOG_ANISO | |
# | |
NV_CTRL_LOG_ANISO_APPLICATION_CONTROLLED = 51 # RW-X | |
NV_CTRL_LOG_ANISO_APPLICATION_CONTROLLED_ENABLED = 1 | |
NV_CTRL_LOG_ANISO_APPLICATION_CONTROLLED_DISABLED = 0 | |
# | |
# IMAGE_SHARPENING adjusts the sharpness of the display's image | |
# quality by amplifying high frequency content. Valid values will | |
# normally be in the range [0,32). Only available on GeForceFX or | |
# newer. | |
# | |
NV_CTRL_IMAGE_SHARPENING = 52 # RWDG | |
# | |
# NV_CTRL_TV_OVERSCAN - not supported | |
# | |
NV_CTRL_TV_OVERSCAN = 53 # not supported | |
# | |
# NV_CTRL_TV_FLICKER_FILTER - not supported | |
# | |
NV_CTRL_TV_FLICKER_FILTER = 54 # not supported | |
# | |
# NV_CTRL_TV_BRIGHTNESS - not supported | |
# | |
NV_CTRL_TV_BRIGHTNESS = 55 # not supported | |
# | |
# NV_CTRL_TV_HUE - not supported | |
# | |
NV_CTRL_TV_HUE = 56 # not supported | |
# | |
# NV_CTRL_TV_CONTRAST - not suppoerted | |
# | |
NV_CTRL_TV_CONTRAST = 57 # not supported | |
# | |
# NV_CTRL_TV_SATURATION - not supported | |
# | |
NV_CTRL_TV_SATURATION = 58 # not supported | |
# | |
# NV_CTRL_TV_RESET_SETTINGS - not supported | |
# | |
NV_CTRL_TV_RESET_SETTINGS = 59 # not supported | |
# | |
# NV_CTRL_GPU_CORE_TEMPERATURE reports the current core temperature | |
# of the GPU driving the X screen. | |
# | |
NV_CTRL_GPU_CORE_TEMPERATURE = 60 # R--G | |
# | |
# 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 | |
# GPU is throttled to prevent overheating. | |
# | |
NV_CTRL_GPU_CORE_THRESHOLD = 61 # R--G | |
NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD = 62 # R--G | |
NV_CTRL_GPU_MAX_CORE_THRESHOLD = 63 # R--G | |
# | |
# NV_CTRL_AMBIENT_TEMPERATURE reports the current temperature in the | |
# immediate neighbourhood of the GPU driving the X screen. | |
# | |
NV_CTRL_AMBIENT_TEMPERATURE = 64 # R--G | |
# | |
# NV_CTRL_PBUFFER_SCANOUT_SUPPORTED - returns whether this X screen | |
# supports scanout of FP pbuffers; | |
# | |
# if this screen does not support PBUFFER_SCANOUT, then all other | |
# PBUFFER_SCANOUT attributes are unavailable. | |
# | |
# PBUFFER_SCANOUT is supported if and only if: | |
# - Twinview is configured with clone mode. The secondary screen is used to | |
# scanout the pbuffer. | |
# - The desktop is running in with 16 bits per pixel. | |
# | |
NV_CTRL_PBUFFER_SCANOUT_SUPPORTED = 65 # not supported | |
NV_CTRL_PBUFFER_SCANOUT_FALSE = 0 | |
NV_CTRL_PBUFFER_SCANOUT_TRUE = 1 | |
# | |
# NV_CTRL_PBUFFER_SCANOUT_XID indicates the XID of the pbuffer used for | |
# scanout. | |
# | |
NV_CTRL_PBUFFER_SCANOUT_XID = 66 # not supported | |
############################################################################ | |
# | |
# The NV_CTRL_GVO_* integer attributes are used to configure GVO | |
# (Graphics to Video Out). This functionality is available, for | |
# example, on the Quadro SDI Output card. | |
# | |
# The following is a typical usage pattern for the GVO attributes: | |
# | |
# - query NV_CTRL_GVO_SUPPORTED to determine if the X screen supports GV0. | |
# | |
# - specify NV_CTRL_GVO_SYNC_MODE (one of FREE_RUNNING, GENLOCK, or | |
# FRAMELOCK); if you specify GENLOCK or FRAMELOCK, you should also | |
# specify NV_CTRL_GVO_SYNC_SOURCE. | |
# | |
# - Use NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED and | |
# NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED to detect what input syncs are | |
# present. | |
# | |
# (If no analog sync is detected but it is known that a valid | |
# bi-level or tri-level sync is connected set | |
# NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE appropriately and | |
# retest with NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED). | |
# | |
# - if syncing to input sync, query the | |
# NV_CTRL_GVIO_DETECTED_VIDEO_FORMAT attribute; note that Input video | |
# format can only be queried after SYNC_SOURCE is specified. | |
# | |
# - specify the NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT | |
# | |
# - specify the NV_CTRL_GVO_DATA_FORMAT | |
# | |
# - specify any custom Color Space Conversion (CSC) matrix, offset, | |
# and scale with XNVCTRLSetGvoColorConversion(). | |
# | |
# - if using the GLX_NV_video_out extension to display one or more | |
# pbuffers, call glXGetVideoDeviceNV() to lock the GVO output for use | |
# by the GLX client; then bind the pbuffer(s) to the GVO output with | |
# glXBindVideoImageNV() and send pbuffers to the GVO output with | |
# glXSendPbufferToVideoNV(); see the GLX_NV_video_out spec for more | |
# details. | |
# | |
# - if using the GLX_NV_present_video extension, call | |
# glXBindVideoDeviceNV() to bind the GVO video device to current | |
# OpenGL context. | |
# | |
# Note that setting most GVO attributes only causes the value to be | |
# cached in the X server. The values will be flushed to the hardware | |
# either when the next MetaMode is set that uses the GVO display | |
# device, or when a GLX pbuffer is bound to the GVO output (with | |
# glXBindVideoImageNV()). | |
# | |
# Note that GLX_NV_video_out/GLX_NV_present_video and X screen use | |
# are mutually exclusive. If a MetaMode is currently using the GVO | |
# device, then glXGetVideoDeviceNV and glXBindVideoImageNV() will | |
# fail. Similarly, if a GLX client has locked the GVO output (via | |
# glXGetVideoDeviceNV or glXBindVideoImageNV), then setting a | |
# MetaMode that uses the GVO device will fail. The | |
# NV_CTRL_GVO_GLX_LOCKED event will be sent when a GLX client locks | |
# the GVO output. | |
# | |
# | |
# | |
# NV_CTRL_GVO_SUPPORTED - returns whether this X screen supports GVO; | |
# if this screen does not support GVO output, then all other GVO | |
# attributes are unavailable. | |
# | |
NV_CTRL_GVO_SUPPORTED = 67 # R-- | |
NV_CTRL_GVO_SUPPORTED_FALSE = 0 | |
NV_CTRL_GVO_SUPPORTED_TRUE = 1 | |
# | |
# NV_CTRL_GVO_SYNC_MODE - selects the GVO sync mode; possible values | |
# are: | |
# | |
# FREE_RUNNING - GVO does not sync to any external signal | |
# | |
# GENLOCK - the GVO output is genlocked to an incoming sync signal; | |
# genlocking locks at hsync. This requires that the output video | |
# format exactly match the incoming sync video format. | |
# | |
# FRAMELOCK - the GVO output is frame locked to an incoming sync | |
# signal; frame locking locks at vsync. This requires that the output | |
# video format have the same refresh rate as the incoming sync video | |
# format. | |
# | |
NV_CTRL_GVO_SYNC_MODE = 68 # RW- | |
NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING = 0 | |
NV_CTRL_GVO_SYNC_MODE_GENLOCK = 1 | |
NV_CTRL_GVO_SYNC_MODE_FRAMELOCK = 2 | |
# | |
# NV_CTRL_GVO_SYNC_SOURCE - if NV_CTRL_GVO_SYNC_MODE is set to either | |
# GENLOCK or FRAMELOCK, this controls which sync source is used as | |
# the incoming sync signal (either Composite or SDI). If | |
# NV_CTRL_GVO_SYNC_MODE is FREE_RUNNING, this attribute has no | |
# effect. | |
# | |
NV_CTRL_GVO_SYNC_SOURCE = 69 # RW- | |
NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE = 0 | |
NV_CTRL_GVO_SYNC_SOURCE_SDI = 1 | |
# | |
# NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT - specifies the desired output video | |
# format for GVO devices or the desired input video format for GVI devices. | |
# | |
# Note that for GVO, the valid video formats may vary depending on | |
# the NV_CTRL_GVO_SYNC_MODE and the incoming sync video format. See | |
# the definition of NV_CTRL_GVO_SYNC_MODE. | |
# | |
# Note that when querying the ValidValues for this data type, the | |
# values are reported as bits within a bitmask | |
# (ATTRIBUTE_TYPE_INT_BITS); unfortunately, there are more valid | |
# value bits than will fit in a single 32-bit value. To solve this, | |
# query the ValidValues for NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT to | |
# check which of the first 31 VIDEO_FORMATS are valid, query the | |
# ValidValues for NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT2 to check which | |
# of the 32-63 VIDEO_FORMATS are valid, and query the ValidValues of | |
# NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT3 to check which of the 64-95 | |
# VIDEO_FORMATS are valid. | |
# | |
# Note: Setting this attribute on a GVI device may also result in the | |
# following NV-CONTROL attributes being reset on that device (to | |
# ensure the configuration remains valid): | |
# NV_CTRL_GVI_REQUESTED_STREAM_BITS_PER_COMPONENT | |
# NV_CTRL_GVI_REQUESTED_STREAM_COMPONENT_SAMPLING | |
# | |
NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT = 70 # RW--I | |
NV_CTRL_GVIO_VIDEO_FORMAT_NONE = 0 | |
NV_CTRL_GVIO_VIDEO_FORMAT_487I_59_94_SMPTE259_NTSC = 1 | |
NV_CTRL_GVIO_VIDEO_FORMAT_576I_50_00_SMPTE259_PAL = 2 | |
NV_CTRL_GVIO_VIDEO_FORMAT_720P_59_94_SMPTE296 = 3 | |
NV_CTRL_GVIO_VIDEO_FORMAT_720P_60_00_SMPTE296 = 4 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1035I_59_94_SMPTE260 = 5 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1035I_60_00_SMPTE260 = 6 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_50_00_SMPTE295 = 7 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_50_00_SMPTE274 = 8 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_59_94_SMPTE274 = 9 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_60_00_SMPTE274 = 10 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_23_976_SMPTE274 = 11 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_24_00_SMPTE274 = 12 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_25_00_SMPTE274 = 13 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_29_97_SMPTE274 = 14 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_30_00_SMPTE274 = 15 | |
NV_CTRL_GVIO_VIDEO_FORMAT_720P_50_00_SMPTE296 = 16 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_48_00_SMPTE274 = 17 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_47_96_SMPTE274 = 18 | |
NV_CTRL_GVIO_VIDEO_FORMAT_720P_30_00_SMPTE296 = 19 | |
NV_CTRL_GVIO_VIDEO_FORMAT_720P_29_97_SMPTE296 = 20 | |
NV_CTRL_GVIO_VIDEO_FORMAT_720P_25_00_SMPTE296 = 21 | |
NV_CTRL_GVIO_VIDEO_FORMAT_720P_24_00_SMPTE296 = 22 | |
NV_CTRL_GVIO_VIDEO_FORMAT_720P_23_98_SMPTE296 = 23 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_25_00_SMPTE274 = 24 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_29_97_SMPTE274 = 25 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_30_00_SMPTE274 = 26 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_24_00_SMPTE274 = 27 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_23_98_SMPTE274 = 28 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_30_00_SMPTE372 = 29 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_29_97_SMPTE372 = 30 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_60_00_SMPTE372 = 31 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_59_94_SMPTE372 = 32 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_25_00_SMPTE372 = 33 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_50_00_SMPTE372 = 34 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_24_00_SMPTE372 = 35 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_23_98_SMPTE372 = 36 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_48_00_SMPTE372 = 37 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_47_96_SMPTE372 = 38 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_50_00_3G_LEVEL_A_SMPTE274 = 39 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_59_94_3G_LEVEL_A_SMPTE274 = 40 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_60_00_3G_LEVEL_A_SMPTE274 = 41 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_60_00_3G_LEVEL_B_SMPTE274 = 42 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_60_00_3G_LEVEL_B_SMPTE274 = 43 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_60_00_3G_LEVEL_B_SMPTE372 = 44 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_50_00_3G_LEVEL_B_SMPTE274 = 45 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_50_00_3G_LEVEL_B_SMPTE274 = 46 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_50_00_3G_LEVEL_B_SMPTE372 = 47 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_30_00_3G_LEVEL_B_SMPTE274 = 48 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_30_00_3G_LEVEL_B_SMPTE372 = 49 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_25_00_3G_LEVEL_B_SMPTE274 = 50 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_25_00_3G_LEVEL_B_SMPTE372 = 51 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_24_00_3G_LEVEL_B_SMPTE274 = 52 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_24_00_3G_LEVEL_B_SMPTE372 = 53 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_48_00_3G_LEVEL_B_SMPTE274 = 54 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_48_00_3G_LEVEL_B_SMPTE372 = 55 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_59_94_3G_LEVEL_B_SMPTE274 = 56 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_59_94_3G_LEVEL_B_SMPTE274 = 57 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_59_94_3G_LEVEL_B_SMPTE372 = 58 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_29_97_3G_LEVEL_B_SMPTE274 = 59 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_29_97_3G_LEVEL_B_SMPTE372 = 60 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080P_23_98_3G_LEVEL_B_SMPTE274 = 61 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048P_23_98_3G_LEVEL_B_SMPTE372 = 62 | |
NV_CTRL_GVIO_VIDEO_FORMAT_1080I_47_96_3G_LEVEL_B_SMPTE274 = 63 | |
NV_CTRL_GVIO_VIDEO_FORMAT_2048I_47_96_3G_LEVEL_B_SMPTE372 = 64 | |
# | |
# The following have been renamed; NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT and the | |
# corresponding NV_CTRL_GVIO_* formats should be used instead. | |
# | |
NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT = 70 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_NONE = 0 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_487I_59_94_SMPTE259_NTSC = 1 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_576I_50_00_SMPTE259_PAL = 2 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_720P_59_94_SMPTE296 = 3 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_720P_60_00_SMPTE296 = 4 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1035I_59_94_SMPTE260 = 5 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1035I_60_00_SMPTE260 = 6 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE295 = 7 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE274 = 8 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080I_59_94_SMPTE274 = 9 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080I_60_00_SMPTE274 = 10 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080P_23_976_SMPTE274 = 11 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080P_24_00_SMPTE274 = 12 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080P_25_00_SMPTE274 = 13 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080P_29_97_SMPTE274 = 14 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080P_30_00_SMPTE274 = 15 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_720P_50_00_SMPTE296 = 16 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080I_48_00_SMPTE274 = 17 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080I_47_96_SMPTE274 = 18 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_720P_30_00_SMPTE296 = 19 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_720P_29_97_SMPTE296 = 20 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_720P_25_00_SMPTE296 = 21 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_720P_24_00_SMPTE296 = 22 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_720P_23_98_SMPTE296 = 23 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_25_00_SMPTE274 = 24 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_29_97_SMPTE274 = 25 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_30_00_SMPTE274 = 26 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_24_00_SMPTE274 = 27 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_23_98_SMPTE274 = 28 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048P_30_00_SMPTE372 = 29 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048P_29_97_SMPTE372 = 30 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048I_60_00_SMPTE372 = 31 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048I_59_94_SMPTE372 = 32 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048P_25_00_SMPTE372 = 33 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048I_50_00_SMPTE372 = 34 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048P_24_00_SMPTE372 = 35 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048P_23_98_SMPTE372 = 36 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048I_48_00_SMPTE372 = 37 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_2048I_47_96_SMPTE372 = 38 # renamed | |
# | |
# NV_CTRL_GVIO_DETECTED_VIDEO_FORMAT - indicates the input video format | |
# detected for GVO or GVI devices; the possible values are the | |
# NV_CTRL_GVIO_VIDEO_FORMAT constants. | |
# | |
# For GVI devices, the jack number should be specified in the lower | |
# 16 bits of the "display_mask" parameter, while the channel number should be | |
# specified in the upper 16 bits. | |
# | |
NV_CTRL_GVIO_DETECTED_VIDEO_FORMAT = 71 # R--I | |
# | |
# NV_CTRL_GVO_INPUT_VIDEO_FORMAT - renamed | |
# | |
# NV_CTRL_GVIO_DETECTED_VIDEO_FORMAT should be used instead. | |
# | |
NV_CTRL_GVO_INPUT_VIDEO_FORMAT = 71 # renamed | |
# | |
# NV_CTRL_GVO_DATA_FORMAT - This controls how the data in the source | |
# (either the X screen or the GLX pbuffer) is interpretted and | |
# displayed. | |
# | |
# Note: some of the below DATA_FORMATS have been renamed. For | |
# example, R8G8B8_TO_RGB444 has been renamed to X8X8X8_444_PASSTHRU. | |
# This is to more accurately reflect DATA_FORMATS where the | |
# per-channel data could be either RGB or YCrCb -- the point is that | |
# the driver and GVO hardware do not perform any implicit color space | |
# conversion on the data; it is passed through to the SDI out. | |
# | |
NV_CTRL_GVO_DATA_FORMAT = 72 # RW- | |
NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB444 = 0 | |
NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_YCRCBA4444 = 1 | |
NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_YCRCBZ4444 = 2 | |
NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB422 = 3 | |
NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_YCRCBA4224 = 4 | |
NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_YCRCBZ4224 = 5 | |
NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_RGB444 = 6 # renamed | |
NV_CTRL_GVO_DATA_FORMAT_X8X8X8_444_PASSTHRU = 6 | |
NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_RGBA4444 = 7 # renamed | |
NV_CTRL_GVO_DATA_FORMAT_X8X8X8A8_4444_PASSTHRU = 7 | |
NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_RGBZ4444 = 8 # renamed | |
NV_CTRL_GVO_DATA_FORMAT_X8X8X8Z8_4444_PASSTHRU = 8 | |
NV_CTRL_GVO_DATA_FORMAT_Y10CR10CB10_TO_YCRCB444 = 9 # renamed | |
NV_CTRL_GVO_DATA_FORMAT_X10X10X10_444_PASSTHRU = 9 | |
NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8_TO_YCRCB444 = 10 # renamed | |
NV_CTRL_GVO_DATA_FORMAT_X10X8X8_444_PASSTHRU = 10 | |
NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8A10_TO_YCRCBA4444 = 11 # renamed | |
NV_CTRL_GVO_DATA_FORMAT_X10X8X8A10_4444_PASSTHRU = 11 | |
NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8Z10_TO_YCRCBZ4444 = 12 # renamed | |
NV_CTRL_GVO_DATA_FORMAT_X10X8X8Z10_4444_PASSTHRU = 12 | |
NV_CTRL_GVO_DATA_FORMAT_DUAL_R8G8B8_TO_DUAL_YCRCB422 = 13 | |
NV_CTRL_GVO_DATA_FORMAT_DUAL_Y8CR8CB8_TO_DUAL_YCRCB422 = 14 # renamed | |
NV_CTRL_GVO_DATA_FORMAT_DUAL_X8X8X8_TO_DUAL_422_PASSTHRU = 14 | |
NV_CTRL_GVO_DATA_FORMAT_R10G10B10_TO_YCRCB422 = 15 | |
NV_CTRL_GVO_DATA_FORMAT_R10G10B10_TO_YCRCB444 = 16 | |
NV_CTRL_GVO_DATA_FORMAT_Y12CR12CB12_TO_YCRCB444 = 17 # renamed | |
NV_CTRL_GVO_DATA_FORMAT_X12X12X12_444_PASSTHRU = 17 | |
NV_CTRL_GVO_DATA_FORMAT_R12G12B12_TO_YCRCB444 = 18 | |
NV_CTRL_GVO_DATA_FORMAT_X8X8X8_422_PASSTHRU = 19 | |
NV_CTRL_GVO_DATA_FORMAT_X8X8X8A8_4224_PASSTHRU = 20 | |
NV_CTRL_GVO_DATA_FORMAT_X8X8X8Z8_4224_PASSTHRU = 21 | |
NV_CTRL_GVO_DATA_FORMAT_X10X10X10_422_PASSTHRU = 22 | |
NV_CTRL_GVO_DATA_FORMAT_X10X8X8_422_PASSTHRU = 23 | |
NV_CTRL_GVO_DATA_FORMAT_X10X8X8A10_4224_PASSTHRU = 24 | |
NV_CTRL_GVO_DATA_FORMAT_X10X8X8Z10_4224_PASSTHRU = 25 | |
NV_CTRL_GVO_DATA_FORMAT_X12X12X12_422_PASSTHRU = 26 | |
NV_CTRL_GVO_DATA_FORMAT_R12G12B12_TO_YCRCB422 = 27 | |
# | |
# NV_CTRL_GVO_DISPLAY_X_SCREEN - not supported | |
# | |
NV_CTRL_GVO_DISPLAY_X_SCREEN = 73 # not supported | |
NV_CTRL_GVO_DISPLAY_X_SCREEN_ENABLE = 1 # not supported | |
NV_CTRL_GVO_DISPLAY_X_SCREEN_DISABLE = 0 # not supported | |
# | |
# NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED - indicates whether | |
# Composite Sync input is detected. | |
# | |
NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED = 74 # R-- | |
NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_FALSE = 0 | |
NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_TRUE = 1 | |
# | |
# NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE - get/set the | |
# Composite Sync input detect mode. | |
# | |
NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE = 75 # RW- | |
NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_AUTO = 0 | |
NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_BI_LEVEL = 1 | |
NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_TRI_LEVEL = 2 | |
# | |
# NV_CTRL_GVO_SYNC_INPUT_DETECTED - indicates whether SDI Sync input | |
# is detected, and what type. | |
# | |
NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED = 76 # R-- | |
NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_NONE = 0 | |
NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_HD = 1 | |
NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_SD = 2 | |
# | |
# NV_CTRL_GVO_VIDEO_OUTPUTS - indicates which GVO video output | |
# connectors are currently outputing data. | |
# | |
NV_CTRL_GVO_VIDEO_OUTPUTS = 77 # R-- | |
NV_CTRL_GVO_VIDEO_OUTPUTS_NONE = 0 | |
NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO1 = 1 | |
NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO2 = 2 | |
NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO_BOTH = 3 | |
# | |
# NV_CTRL_GVO_FIRMWARE_VERSION - deprecated | |
# | |
# NV_CTRL_STRING_GVIO_FIRMWARE_VERSION should be used instead. | |
# | |
NV_CTRL_GVO_FIRMWARE_VERSION = 78 # deprecated | |
# | |
# NV_CTRL_GVO_SYNC_DELAY_PIXELS - controls the delay between the | |
# input sync and the output sync in numbers of pixels from hsync; | |
# this is a 12 bit value. | |
# | |
# If the NV_CTRL_GVO_CAPABILITIES_ADVANCE_SYNC_SKEW bit is set, | |
# then setting this value will set an advance instead of a delay. | |
# | |
NV_CTRL_GVO_SYNC_DELAY_PIXELS = 79 # RW- | |
# | |
# NV_CTRL_GVO_SYNC_DELAY_LINES - controls the delay between the input | |
# sync and the output sync in numbers of lines from vsync; this is a | |
# 12 bit value. | |
# | |
# If the NV_CTRL_GVO_CAPABILITIES_ADVANCE_SYNC_SKEW bit is set, | |
# then setting this value will set an advance instead of a delay. | |
# | |
NV_CTRL_GVO_SYNC_DELAY_LINES = 80 # RW- | |
# | |
# NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE - must be set for a period | |
# of about 2 seconds for the new InputVideoFormat to be properly | |
# locked to. In nvidia-settings, we do a reacquire whenever genlock | |
# or frame lock mode is entered into, when the user clicks the | |
# "detect" button. This value can be written, but always reads back | |
# _FALSE. | |
# | |
NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE = 81 # -W- | |
NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_FALSE = 0 | |
NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_TRUE = 1 | |
# | |
# NV_CTRL_GVO_GLX_LOCKED - deprecated | |
# | |
# NV_CTRL_GVO_LOCK_OWNER should be used instead. | |
# | |
NV_CTRL_GVO_GLX_LOCKED = 82 # deprecated | |
NV_CTRL_GVO_GLX_LOCKED_FALSE = 0 # deprecated | |
NV_CTRL_GVO_GLX_LOCKED_TRUE = 1 # deprecated | |
# | |
# NV_CTRL_GVIO_VIDEO_FORMAT_{WIDTH,HEIGHT,REFRESH_RATE} - query the | |
# width, height, and refresh rate for the specified | |
# NV_CTRL_GVIO_VIDEO_FORMAT_*. So that this can be queried with | |
# existing interfaces, XNVCTRLQueryAttribute() should be used, and | |
# the video format specified in the display_mask field; eg: | |
# | |
# XNVCTRLQueryAttribute (dpy, | |
# screen, | |
# NV_CTRL_GVIO_VIDEO_FORMAT_487I_59_94_SMPTE259_NTSC, | |
# NV_CTRL_GVIO_VIDEO_FORMAT_WIDTH, | |
# &value); | |
# | |
# Note that Refresh Rate is in milliHertz values | |
# | |
NV_CTRL_GVIO_VIDEO_FORMAT_WIDTH = 83 # R--I | |
NV_CTRL_GVIO_VIDEO_FORMAT_HEIGHT = 84 # R--I | |
NV_CTRL_GVIO_VIDEO_FORMAT_REFRESH_RATE = 85 # R--I | |
# The following have been renamed; use the NV_CTRL_GVIO_* versions, instead | |
NV_CTRL_GVO_VIDEO_FORMAT_WIDTH = 83 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_HEIGHT = 84 # renamed | |
NV_CTRL_GVO_VIDEO_FORMAT_REFRESH_RATE = 85 # renamed | |
# | |
# NV_CTRL_GVO_X_SCREEN_PAN_[XY] - not supported | |
# | |
NV_CTRL_GVO_X_SCREEN_PAN_X = 86 # not supported | |
NV_CTRL_GVO_X_SCREEN_PAN_Y = 87 # not supported | |
# | |
# NV_CTRL_GPU_OVERCLOCKING_STATE - not supported | |
# | |
NV_CTRL_GPU_OVERCLOCKING_STATE = 88 # not supported | |
NV_CTRL_GPU_OVERCLOCKING_STATE_NONE = 0 # not supported | |
NV_CTRL_GPU_OVERCLOCKING_STATE_MANUAL = 1 # not supported | |
# | |
# NV_CTRL_GPU_{2,3}D_CLOCK_FREQS - not supported | |
# | |
NV_CTRL_GPU_2D_CLOCK_FREQS = 89 # not supported | |
NV_CTRL_GPU_3D_CLOCK_FREQS = 90 # not supported | |
# | |
# NV_CTRL_GPU_DEFAULT_{2,3}D_CLOCK_FREQS - not supported | |
# | |
NV_CTRL_GPU_DEFAULT_2D_CLOCK_FREQS = 91 # not supported | |
NV_CTRL_GPU_DEFAULT_3D_CLOCK_FREQS = 92 # not supported | |
# | |
# NV_CTRL_GPU_CURRENT_CLOCK_FREQS - query the current GPU and memory | |
# clocks of the graphics device driving the X screen. | |
# | |
# NV_CTRL_GPU_CURRENT_CLOCK_FREQS is a "packed" integer attribute; | |
# the GPU clock is stored in the upper 16 bits of the integer, and | |
# the memory clock is stored in the lower 16 bits of the integer. | |
# All clock values are in MHz. All clock values are in MHz. | |
# | |
NV_CTRL_GPU_CURRENT_CLOCK_FREQS = 93 # R--G | |
# | |
# NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS - not supported | |
# | |
NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS = 94 # not supported | |
NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_INVALID = 0 # not supported | |
# | |
# NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION - not supported | |
# | |
NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION = 95 # not supported | |
NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_START = 0 # not supported | |
NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_CANCEL = 1 # not supported | |
# | |
# NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE - not supported | |
# | |
NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE = 96 # not supported | |
NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE_IDLE = 0 # not supported | |
NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE_BUSY = 1 # not supported | |
# | |
# NV_CTRL_FLATPANEL_CHIP_LOCATION - for the specified display device, | |
# report whether the flat panel is driven by the on-chip controller, | |
# or a separate controller chip elsewhere on the graphics board. | |
# This attribute is only available for flat panels. | |
# | |
NV_CTRL_FLATPANEL_CHIP_LOCATION = 215 # R-DG | |
NV_CTRL_FLATPANEL_CHIP_LOCATION_INTERNAL = 0 | |
NV_CTRL_FLATPANEL_CHIP_LOCATION_EXTERNAL = 1 | |
# | |
# NV_CTRL_FLATPANEL_LINK - report the number of links for a DVI connection, or | |
# the main link's active lane count for DisplayPort. | |
# This attribute is only available for flat panels. | |
# | |
NV_CTRL_FLATPANEL_LINK = 216 # R-DG | |
NV_CTRL_FLATPANEL_LINK_SINGLE = 0 | |
NV_CTRL_FLATPANEL_LINK_DUAL = 1 | |
NV_CTRL_FLATPANEL_LINK_QUAD = 3 | |
# | |
# NV_CTRL_FLATPANEL_SIGNAL - for the specified display device, report | |
# whether the flat panel is driven by an LVDS, TMDS, or DisplayPort signal. | |
# This attribute is only available for flat panels. | |
# | |
NV_CTRL_FLATPANEL_SIGNAL = 217 # R-DG | |
NV_CTRL_FLATPANEL_SIGNAL_LVDS = 0 | |
NV_CTRL_FLATPANEL_SIGNAL_TMDS = 1 | |
NV_CTRL_FLATPANEL_SIGNAL_DISPLAYPORT = 2 | |
# | |
# NV_CTRL_USE_HOUSE_SYNC - when INPUT, the server (master) frame lock | |
# device will propagate the incoming house sync signal as the outgoing | |
# frame lock sync signal. If the frame lock device cannot detect a | |
# frame lock sync signal, it will default to using the internal timings | |
# from the GPU connected to the primary connector. | |
# | |
# When set to OUTPUT, the server (master) frame lock device will | |
# generate a house sync signal from its internal timing and output | |
# this signal over the BNC connector on the frame lock device. This | |
# is only allowed on a Quadro Sync II device. If an incoming house | |
# sync signal is present on the BNC connector, this setting will | |
# have no effect. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_USE_HOUSE_SYNC = 218 # RW-F | |
NV_CTRL_USE_HOUSE_SYNC_DISABLED = 0 # aliases with FALSE | |
NV_CTRL_USE_HOUSE_SYNC_INPUT = 1 # aliases with TRUE | |
NV_CTRL_USE_HOUSE_SYNC_OUTPUT = 2 | |
NV_CTRL_USE_HOUSE_SYNC_FALSE = 0 | |
NV_CTRL_USE_HOUSE_SYNC_TRUE = 1 | |
# | |
# NV_CTRL_EDID_AVAILABLE - report if an EDID is available for the | |
# specified display device. | |
# | |
# This attribute may also be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_EDID_AVAILABLE = 219 # R-DG | |
NV_CTRL_EDID_AVAILABLE_FALSE = 0 | |
NV_CTRL_EDID_AVAILABLE_TRUE = 1 | |
# | |
# NV_CTRL_FORCE_STEREO - when TRUE, OpenGL will force stereo flipping | |
# even when no stereo drawables are visible (if the device is configured | |
# to support it, see the "Stereo" X config option). | |
# When false, fall back to the default behavior of only flipping when a | |
# stereo drawable is visible. | |
# | |
NV_CTRL_FORCE_STEREO = 220 # RW- | |
NV_CTRL_FORCE_STEREO_FALSE = 0 | |
NV_CTRL_FORCE_STEREO_TRUE = 1 | |
# | |
# NV_CTRL_IMAGE_SETTINGS - the image quality setting for OpenGL clients. | |
# | |
# This setting is only applied to OpenGL clients that are started | |
# after this setting is applied. | |
# | |
NV_CTRL_IMAGE_SETTINGS = 221 # RW-X | |
NV_CTRL_IMAGE_SETTINGS_HIGH_QUALITY = 0 | |
NV_CTRL_IMAGE_SETTINGS_QUALITY = 1 | |
NV_CTRL_IMAGE_SETTINGS_PERFORMANCE = 2 | |
NV_CTRL_IMAGE_SETTINGS_HIGH_PERFORMANCE = 3 | |
# | |
# NV_CTRL_XINERAMA - return whether xinerama is enabled | |
# | |
NV_CTRL_XINERAMA = 222 # R--G | |
NV_CTRL_XINERAMA_OFF = 0 | |
NV_CTRL_XINERAMA_ON = 1 | |
# | |
# NV_CTRL_XINERAMA_STEREO - when TRUE, OpenGL will allow stereo flipping | |
# on multiple X screens configured with Xinerama. | |
# When FALSE, flipping is allowed only on one X screen at a time. | |
# | |
NV_CTRL_XINERAMA_STEREO = 223 # RW- | |
NV_CTRL_XINERAMA_STEREO_FALSE = 0 | |
NV_CTRL_XINERAMA_STEREO_TRUE = 1 | |
# | |
# NV_CTRL_BUS_RATE - if the bus type of the specified device is AGP, then | |
# NV_CTRL_BUS_RATE returns the configured AGP transfer rate. If the bus type | |
# is PCI Express, then this attribute returns the maximum link width. | |
# When this attribute is queried on an X screen target, the bus rate of the | |
# GPU driving the X screen is returned. | |
# | |
NV_CTRL_BUS_RATE = 224 # R--GI | |
# | |
# NV_CTRL_GPU_PCIE_MAX_LINK_WIDTH - returns the maximum | |
# PCIe link width, in number of lanes. | |
# | |
NV_CTRL_GPU_PCIE_MAX_LINK_WIDTH = NV_CTRL_BUS_RATE | |
# | |
# NV_CTRL_SHOW_SLI_VISUAL_INDICATOR - when TRUE, OpenGL will draw information | |
# about the current SLI mode. | |
# | |
NV_CTRL_SHOW_SLI_VISUAL_INDICATOR = 225 # RW-X | |
NV_CTRL_SHOW_SLI_VISUAL_INDICATOR_FALSE = 0 | |
NV_CTRL_SHOW_SLI_VISUAL_INDICATOR_TRUE = 1 | |
# | |
# NV_CTRL_SHOW_SLI_HUD - when TRUE, OpenGL will draw information about the | |
# current SLI mode. | |
# Renamed this attribute to NV_CTRL_SHOW_SLI_VISUAL_INDICATOR | |
# | |
NV_CTRL_SHOW_SLI_HUD = NV_CTRL_SHOW_SLI_VISUAL_INDICATOR | |
NV_CTRL_SHOW_SLI_HUD_FALSE = NV_CTRL_SHOW_SLI_VISUAL_INDICATOR_FALSE | |
NV_CTRL_SHOW_SLI_HUD_TRUE = NV_CTRL_SHOW_SLI_VISUAL_INDICATOR_TRUE | |
# | |
# NV_CTRL_XV_SYNC_TO_DISPLAY - deprecated | |
# | |
# NV_CTRL_XV_SYNC_TO_DISPLAY_ID should be used instead. | |
# | |
NV_CTRL_XV_SYNC_TO_DISPLAY = 226 # deprecated | |
# | |
# NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT2 - this attribute is only | |
# intended to be used to query the ValidValues for | |
# NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT for VIDEO_FORMAT values between | |
# 31 and 63. See NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT for details. | |
# | |
NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT2 = 227 # ---GI | |
# | |
# NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT2 - renamed | |
# | |
# NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT2 should be used instead. | |
# | |
NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT2 = 227 # renamed | |
# | |
# NV_CTRL_GVO_OVERRIDE_HW_CSC - Override the SDI hardware's Color Space | |
# Conversion with the values controlled through | |
# XNVCTRLSetGvoColorConversion() and XNVCTRLGetGvoColorConversion(). If | |
# this attribute is FALSE, then the values specified through | |
# XNVCTRLSetGvoColorConversion() are ignored. | |
# | |
NV_CTRL_GVO_OVERRIDE_HW_CSC = 228 # RW- | |
NV_CTRL_GVO_OVERRIDE_HW_CSC_FALSE = 0 | |
NV_CTRL_GVO_OVERRIDE_HW_CSC_TRUE = 1 | |
# | |
# NV_CTRL_GVO_CAPABILITIES - this read-only attribute describes GVO | |
# capabilities that differ between NVIDIA SDI products. This value | |
# is a bitmask where each bit indicates whether that capability is | |
# available. | |
# | |
# APPLY_CSC_IMMEDIATELY - whether the CSC matrix, offset, and scale | |
# specified through XNVCTRLSetGvoColorConversion() will take affect | |
# immediately, or only after SDI output is disabled and enabled | |
# again. | |
# | |
# APPLY_CSC_TO_X_SCREEN - whether the CSC matrix, offset, and scale | |
# specified through XNVCTRLSetGvoColorConversion() will also apply | |
# to GVO output of an X screen, or only to OpenGL GVO output, as | |
# enabled through the GLX_NV_video_out extension. | |
# | |
# COMPOSITE_TERMINATION - whether the 75 ohm termination of the | |
# SDI composite input signal can be programmed through the | |
# NV_CTRL_GVO_COMPOSITE_TERMINATION attribute. | |
# | |
# SHARED_SYNC_BNC - whether the SDI device has a single BNC | |
# connector used for both (SDI & Composite) incoming signals. | |
# | |
# MULTIRATE_SYNC - whether the SDI device supports synchronization | |
# of input and output video modes that match in being odd or even | |
# modes (ie, AA.00 Hz modes can be synched to other BB.00 Hz modes and | |
# AA.XX Hz can match to BB.YY Hz where .XX and .YY are not .00) | |
# | |
NV_CTRL_GVO_CAPABILITIES = 229 # R-- | |
NV_CTRL_GVO_CAPABILITIES_APPLY_CSC_IMMEDIATELY = 0x00000001 | |
NV_CTRL_GVO_CAPABILITIES_APPLY_CSC_TO_X_SCREEN = 0x00000002 | |
NV_CTRL_GVO_CAPABILITIES_COMPOSITE_TERMINATION = 0x00000004 | |
NV_CTRL_GVO_CAPABILITIES_SHARED_SYNC_BNC = 0x00000008 | |
NV_CTRL_GVO_CAPABILITIES_MULTIRATE_SYNC = 0x00000010 | |
NV_CTRL_GVO_CAPABILITIES_ADVANCE_SYNC_SKEW = 0x00000020 | |
# | |
# NV_CTRL_GVO_COMPOSITE_TERMINATION - enable or disable 75 ohm | |
# termination of the SDI composite input signal. | |
# | |
NV_CTRL_GVO_COMPOSITE_TERMINATION = 230 # RW- | |
NV_CTRL_GVO_COMPOSITE_TERMINATION_ENABLE = 1 | |
NV_CTRL_GVO_COMPOSITE_TERMINATION_DISABLE = 0 | |
# | |
# NV_CTRL_ASSOCIATED_DISPLAY_DEVICES - deprecated | |
# | |
# NV_CTRL_BINARY_DATA_DISPLAYS_ASSIGNED_TO_XSCREEN should be used instead. | |
# | |
NV_CTRL_ASSOCIATED_DISPLAY_DEVICES = 231 # deprecated | |
# | |
# NV_CTRL_FRAMELOCK_SLAVES - deprecated | |
# | |
# NV_CTRL_FRAMELOCK_DISPLAY_CONFIG should be used instead. | |
# | |
NV_CTRL_FRAMELOCK_SLAVES = 232 # deprecated | |
# | |
# NV_CTRL_FRAMELOCK_MASTERABLE - deprecated | |
# | |
# NV_CTRL_FRAMELOCK_DISPLAY_CONFIG should be used instead. | |
# | |
NV_CTRL_FRAMELOCK_MASTERABLE = 233 # deprecated | |
# | |
# NV_CTRL_PROBE_DISPLAYS - re-probes the hardware to detect what | |
# display devices are connected to the GPU or GPU driving the | |
# specified X screen. The return value is deprecated and should not be used. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_PROBE_DISPLAYS = 234 # R--G | |
# | |
# NV_CTRL_REFRESH_RATE - Returns the refresh rate of the specified | |
# display device in 100# Hz (ie. to get the refresh rate in Hz, divide | |
# the returned value by 100.) | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_REFRESH_RATE = 235 # R-DG | |
# | |
# NV_CTRL_GVO_FLIP_QUEUE_SIZE - The Graphics to Video Out interface | |
# exposed through NV-CONTROL and the GLX_NV_video_out extension uses | |
# an internal flip queue when pbuffers are sent to the video device | |
# (via glXSendPbufferToVideoNV()). The NV_CTRL_GVO_FLIP_QUEUE_SIZE | |
# can be used to query and assign the flip queue size. This | |
# attribute is applied to GLX when glXGetVideoDeviceNV() is called by | |
# the application. | |
# | |
NV_CTRL_GVO_FLIP_QUEUE_SIZE = 236 # RW- | |
# | |
# NV_CTRL_CURRENT_SCANLINE - query the current scanline for the | |
# specified display device. | |
# | |
NV_CTRL_CURRENT_SCANLINE = 237 # R-DG | |
# | |
# NV_CTRL_INITIAL_PIXMAP_PLACEMENT - Controls where X pixmaps are initially | |
# created. | |
# | |
# NV_CTRL_INITIAL_PIXMAP_PLACEMENT_FORCE_SYSMEM causes pixmaps to stay in | |
# system memory. These pixmaps can't be accelerated by the NVIDIA driver; this | |
# will cause blank windows if used with an OpenGL compositing manager. | |
# NV_CTRL_INITIAL_PIXMAP_PLACEMENT_SYSMEM creates pixmaps in system memory | |
# initially, but allows them to migrate to video memory. | |
# NV_CTRL_INITIAL_PIXMAP_PLACEMENT_VIDMEM creates pixmaps in video memory | |
# when enough resources are available. | |
# NV_CTRL_INITIAL_PIXMAP_PLACEMENT_RESERVED is currently reserved for future | |
# use. Behavior is undefined. | |
# NV_CTRL_INITIAL_PIXMAP_PLACEMENT_GPU_SYSMEM creates pixmaps in GPU accessible | |
# system memory when enough resources are available. | |
# | |
NV_CTRL_INITIAL_PIXMAP_PLACEMENT = 238 # RW- | |
NV_CTRL_INITIAL_PIXMAP_PLACEMENT_FORCE_SYSMEM = 0 | |
NV_CTRL_INITIAL_PIXMAP_PLACEMENT_SYSMEM = 1 | |
NV_CTRL_INITIAL_PIXMAP_PLACEMENT_VIDMEM = 2 | |
NV_CTRL_INITIAL_PIXMAP_PLACEMENT_RESERVED = 3 | |
NV_CTRL_INITIAL_PIXMAP_PLACEMENT_GPU_SYSMEM = 4 | |
# | |
# NV_CTRL_PCI_BUS - Returns the PCI bus number the specified device is using. | |
# | |
NV_CTRL_PCI_BUS = 239 # R--GI | |
# | |
# NV_CTRL_PCI_DEVICE - Returns the PCI device number the specified device is | |
# using. | |
# | |
NV_CTRL_PCI_DEVICE = 240 # R--GI | |
# | |
# NV_CTRL_PCI_FUNCTION - Returns the PCI function number the specified device | |
# is using. | |
# | |
NV_CTRL_PCI_FUNCTION = 241 # R--GI | |
# | |
# NV_CTRL_FRAMELOCK_FPGA_REVISION - Queries the FPGA revision of the | |
# Frame Lock device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK target. | |
# | |
NV_CTRL_FRAMELOCK_FPGA_REVISION = 242 # R--F | |
# | |
# NV_CTRL_MAX_SCREEN_{WIDTH,HEIGHT} - the maximum allowable size, in | |
# pixels, of either the specified X screen (if the target_type of the | |
# query is an X screen), or any X screen on the specified GPU (if the | |
# target_type of the query is a GPU). | |
# | |
NV_CTRL_MAX_SCREEN_WIDTH = 243 # R--G | |
NV_CTRL_MAX_SCREEN_HEIGHT = 244 # R--G | |
# | |
# NV_CTRL_MAX_DISPLAYS - The maximum number of display devices that | |
# can be driven simultaneously on a GPU (e.g., that can be used in a | |
# MetaMode at once). Note that this does not indicate the maximum | |
# number of displays that are listed in NV_CTRL_BINARY_DATA_DISPLAYS_ON_GPU | |
# and NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU because more display | |
# devices can be connected than are actively in use. | |
# | |
NV_CTRL_MAX_DISPLAYS = 245 # R--G | |
# | |
# NV_CTRL_DYNAMIC_TWINVIEW - Returns whether or not the screen | |
# supports dynamic twinview. | |
# | |
NV_CTRL_DYNAMIC_TWINVIEW = 246 # R-- | |
# | |
# NV_CTRL_MULTIGPU_DISPLAY_OWNER - Returns the (NV-CONTROL) GPU ID of | |
# the GPU that has the display device(s) used for showing the X Screen. | |
# | |
NV_CTRL_MULTIGPU_DISPLAY_OWNER = 247 # R-- | |
# | |
# NV_CTRL_GPU_SCALING - not supported | |
# | |
NV_CTRL_GPU_SCALING = 248 # not supported | |
NV_CTRL_GPU_SCALING_TARGET_INVALID = 0 # not supported | |
NV_CTRL_GPU_SCALING_TARGET_FLATPANEL_BEST_FIT = 1 # not supported | |
NV_CTRL_GPU_SCALING_TARGET_FLATPANEL_NATIVE = 2 # not supported | |
NV_CTRL_GPU_SCALING_METHOD_INVALID = 0 # not supported | |
NV_CTRL_GPU_SCALING_METHOD_STRETCHED = 1 # not supported | |
NV_CTRL_GPU_SCALING_METHOD_CENTERED = 2 # not supported | |
NV_CTRL_GPU_SCALING_METHOD_ASPECT_SCALED = 3 # not supported | |
# | |
# NV_CTRL_FRONTEND_RESOLUTION - not supported | |
# | |
NV_CTRL_FRONTEND_RESOLUTION = 249 # not supported | |
# | |
# NV_CTRL_BACKEND_RESOLUTION - not supported | |
# | |
NV_CTRL_BACKEND_RESOLUTION = 250 # not supported | |
# | |
# NV_CTRL_FLATPANEL_NATIVE_RESOLUTION - not supported | |
# | |
NV_CTRL_FLATPANEL_NATIVE_RESOLUTION = 251 # not supported | |
# | |
# NV_CTRL_FLATPANEL_BEST_FIT_RESOLUTION - not supported | |
# | |
NV_CTRL_FLATPANEL_BEST_FIT_RESOLUTION = 252 # not supported | |
# | |
# NV_CTRL_GPU_SCALING_ACTIVE - not supported | |
# | |
NV_CTRL_GPU_SCALING_ACTIVE = 253 # not supported | |
# | |
# NV_CTRL_DFP_SCALING_ACTIVE - not supported | |
# | |
NV_CTRL_DFP_SCALING_ACTIVE = 254 # not supported | |
# | |
# NV_CTRL_FSAA_APPLICATION_ENHANCED - Controls how the NV_CTRL_FSAA_MODE | |
# is applied when NV_CTRL_FSAA_APPLICATION_CONTROLLED is set to | |
# NV_CTRL_APPLICATION_CONTROLLED_DISABLED. When | |
# NV_CTRL_FSAA_APPLICATION_ENHANCED is _DISABLED, OpenGL applications will | |
# be forced to use the FSAA mode specified by NV_CTRL_FSAA_MODE. when set | |
# to _ENABLED, only those applications that have selected a multisample | |
# FBConfig will be made to use the NV_CTRL_FSAA_MODE specified. | |
# | |
# This attribute is ignored when NV_CTRL_FSAA_APPLICATION_CONTROLLED is | |
# set to NV_CTRL_FSAA_APPLICATION_CONTROLLED_ENABLED. | |
# | |
NV_CTRL_FSAA_APPLICATION_ENHANCED = 255 # RW-X | |
NV_CTRL_FSAA_APPLICATION_ENHANCED_ENABLED = 1 | |
NV_CTRL_FSAA_APPLICATION_ENHANCED_DISABLED = 0 | |
# | |
# NV_CTRL_FRAMELOCK_SYNC_RATE_4 - This is the refresh rate that the | |
# frame lock board is sending to the GPU with 4 digits of precision. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK. | |
# | |
NV_CTRL_FRAMELOCK_SYNC_RATE_4 = 256 # R--F | |
# | |
# NV_CTRL_GVO_LOCK_OWNER - indicates that the GVO device is available | |
# or in use (by GLX or an X screen). | |
# | |
# The GVO device is locked by GLX when either glXGetVideoDeviceNV | |
# (part of GLX_NV_video_out) or glXBindVideoDeviceNV (part of | |
# GLX_NV_present_video) is called. All GVO output resources are | |
# locked until released by the GLX_NV_video_out/GLX_NV_present_video | |
# client. | |
# | |
# The GVO device is locked/unlocked by an X screen, when the GVO device is | |
# used in a MetaMode on an X screen. | |
# | |
# When the GVO device is locked, setting of the following GVO NV-CONTROL | |
# attributes will not happen immediately and will instead be cached. The | |
# GVO resource will need to be disabled/released and re-enabled/claimed for | |
# the values to be flushed. These attributes are: | |
# | |
# NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT | |
# NV_CTRL_GVO_DATA_FORMAT | |
# NV_CTRL_GVO_FLIP_QUEUE_SIZE | |
# | |
NV_CTRL_GVO_LOCK_OWNER = 257 # R-- | |
NV_CTRL_GVO_LOCK_OWNER_NONE = 0 | |
NV_CTRL_GVO_LOCK_OWNER_GLX = 1 | |
NV_CTRL_GVO_LOCK_OWNER_CLONE = 2 # not supported | |
NV_CTRL_GVO_LOCK_OWNER_X_SCREEN = 3 | |
# | |
# NV_CTRL_HWOVERLAY - when a workstation overlay is in use, reports | |
# whether the hardware overlay is used, or if the overlay is emulated. | |
# | |
NV_CTRL_HWOVERLAY = 258 # R-- | |
NV_CTRL_HWOVERLAY_FALSE = 0 | |
NV_CTRL_HWOVERLAY_TRUE = 1 | |
# | |
# NV_CTRL_NUM_GPU_ERRORS_RECOVERED - Returns the number of GPU errors | |
# occured. This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_NUM_GPU_ERRORS_RECOVERED = 259 # R--- | |
# | |
# NV_CTRL_REFRESH_RATE_3 - Returns the refresh rate of the specified | |
# display device in 1000# Hz (ie. to get the refresh rate in Hz, divide | |
# the returned value by 1000.) | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_REFRESH_RATE_3 = 260 # R-DG | |
# | |
# NV_CTRL_ONDEMAND_VBLANK_INTERRUPTS - not supported | |
# | |
NV_CTRL_ONDEMAND_VBLANK_INTERRUPTS = 261 # not supported | |
NV_CTRL_ONDEMAND_VBLANK_INTERRUPTS_OFF = 0 # not supported | |
NV_CTRL_ONDEMAND_VBLANK_INTERRUPTS_ON = 1 # not supported | |
# | |
# NV_CTRL_GPU_POWER_SOURCE reports the type of power source | |
# of the GPU driving the X screen. | |
# | |
NV_CTRL_GPU_POWER_SOURCE = 262 # R--G | |
NV_CTRL_GPU_POWER_SOURCE_AC = 0 | |
NV_CTRL_GPU_POWER_SOURCE_BATTERY = 1 | |
# | |
# NV_CTRL_GPU_CURRENT_PERFORMANCE_MODE - not supported | |
# | |
NV_CTRL_GPU_CURRENT_PERFORMANCE_MODE = 263 # not supported | |
NV_CTRL_GPU_CURRENT_PERFORMANCE_MODE_DESKTOP = 0 # not supported | |
NV_CTRL_GPU_CURRENT_PERFORMANCE_MODE_MAXPERF = 1 # not supported | |
# NV_CTRL_GLYPH_CACHE - Enables RENDER Glyph Caching to VRAM | |
NV_CTRL_GLYPH_CACHE = 264 # RW- | |
NV_CTRL_GLYPH_CACHE_DISABLED = 0 | |
NV_CTRL_GLYPH_CACHE_ENABLED = 1 | |
# | |
# NV_CTRL_GPU_CURRENT_PERFORMANCE_LEVEL reports the current | |
# Performance level of the GPU driving the X screen. Each | |
# Performance level has associated NVClock and Mem Clock values. | |
# | |
NV_CTRL_GPU_CURRENT_PERFORMANCE_LEVEL = 265 # R--G | |
# | |
# NV_CTRL_GPU_ADAPTIVE_CLOCK_STATE reports if Adaptive Clocking | |
# is Enabled on the GPU driving the X screen. | |
# | |
NV_CTRL_GPU_ADAPTIVE_CLOCK_STATE = 266 # R--G | |
NV_CTRL_GPU_ADAPTIVE_CLOCK_STATE_DISABLED = 0 | |
NV_CTRL_GPU_ADAPTIVE_CLOCK_STATE_ENABLED = 1 | |
# | |
# NV_CTRL_GVO_OUTPUT_VIDEO_LOCKED - Returns whether or not the GVO output | |
# video is locked to the GPU. | |
# | |
NV_CTRL_GVO_OUTPUT_VIDEO_LOCKED = 267 # R--- | |
NV_CTRL_GVO_OUTPUT_VIDEO_LOCKED_FALSE = 0 | |
NV_CTRL_GVO_OUTPUT_VIDEO_LOCKED_TRUE = 1 | |
# | |
# NV_CTRL_GVO_SYNC_LOCK_STATUS - Returns whether or not the GVO device | |
# is locked to the input ref signal. If the sync mode is set to | |
# NV_CTRL_GVO_SYNC_MODE_GENLOCK, then this returns the genlock | |
# sync status, and if the sync mode is set to NV_CTRL_GVO_SYNC_MODE_FRAMELOCK, | |
# then this reports the frame lock status. | |
# | |
NV_CTRL_GVO_SYNC_LOCK_STATUS = 268 # R--- | |
NV_CTRL_GVO_SYNC_LOCK_STATUS_UNLOCKED = 0 | |
NV_CTRL_GVO_SYNC_LOCK_STATUS_LOCKED = 1 | |
# | |
# NV_CTRL_GVO_ANC_TIME_CODE_GENERATION - Allows SDI device to generate | |
# time codes in the ANC region of the SDI video output stream. | |
# | |
NV_CTRL_GVO_ANC_TIME_CODE_GENERATION = 269 # RW-- | |
NV_CTRL_GVO_ANC_TIME_CODE_GENERATION_DISABLE = 0 | |
NV_CTRL_GVO_ANC_TIME_CODE_GENERATION_ENABLE = 1 | |
# | |
# NV_CTRL_GVO_COMPOSITE - Enables/Disables SDI compositing. This attribute | |
# is only available when an SDI input source is detected and is in genlock | |
# mode. | |
# | |
NV_CTRL_GVO_COMPOSITE = 270 # RW-- | |
NV_CTRL_GVO_COMPOSITE_DISABLE = 0 | |
NV_CTRL_GVO_COMPOSITE_ENABLE = 1 | |
# | |
# NV_CTRL_GVO_COMPOSITE_ALPHA_KEY - When compositing is enabled, this | |
# enables/disables alpha blending. | |
# | |
NV_CTRL_GVO_COMPOSITE_ALPHA_KEY = 271 # RW-- | |
NV_CTRL_GVO_COMPOSITE_ALPHA_KEY_DISABLE = 0 | |
NV_CTRL_GVO_COMPOSITE_ALPHA_KEY_ENABLE = 1 | |
# | |
# NV_CTRL_GVO_COMPOSITE_LUMA_KEY_RANGE - Set the values of a luma | |
# channel range. This is a packed int that has the following format | |
# (in order of high-bits to low bits): | |
# | |
# Range # (11 bits), (Enabled 1 bit), min value (10 bits), max value (10 bits) | |
# | |
# To query the current values, pass the range # throught the display_mask | |
# variable. | |
# | |
NV_CTRL_GVO_COMPOSITE_LUMA_KEY_RANGE = 272 # RW-- | |
# | |
# NV_CTRL_GVO_COMPOSITE_CR_KEY_RANGE - Set the values of a CR | |
# channel range. This is a packed int that has the following format | |
# (in order of high-bits to low bits): | |
# | |
# Range # (11 bits), (Enabled 1 bit), min value (10 bits), max value (10 bits) | |
# | |
# To query the current values, pass the range # throught he display_mask | |
# variable. | |
# | |
NV_CTRL_GVO_COMPOSITE_CR_KEY_RANGE = 273 # RW-- | |
# | |
# NV_CTRL_GVO_COMPOSITE_CB_KEY_RANGE - Set the values of a CB | |
# channel range. This is a packed int that has the following format | |
# (in order of high-bits to low bits): | |
# | |
# Range # (11 bits), (Enabled 1 bit), min value (10 bits), max value (10 bits) | |
# | |
# To query the current values, pass the range # throught he display_mask | |
# variable. | |
# | |
NV_CTRL_GVO_COMPOSITE_CB_KEY_RANGE = 274 # RW-- | |
# | |
# NV_CTRL_GVO_COMPOSITE_NUM_KEY_RANGES - Returns the number of ranges | |
# available for each channel (Y/Luma, Cr, and Cb.) | |
# | |
NV_CTRL_GVO_COMPOSITE_NUM_KEY_RANGES = 275 # R--- | |
# | |
# NV_CTRL_SWITCH_TO_DISPLAYS - not supported | |
# | |
NV_CTRL_SWITCH_TO_DISPLAYS = 276 # not supported | |
# | |
# NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT - not supported | |
# | |
NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT = 277 # not supported | |
# | |
# NV_CTRL_NOTEBOOK_INTERNAL_LCD - deprecated | |
# | |
NV_CTRL_NOTEBOOK_INTERNAL_LCD = 278 # deprecated | |
# | |
# NV_CTRL_DEPTH_30_ALLOWED - returns whether the NVIDIA X driver supports | |
# depth 30 on the specified X screen or GPU. | |
# | |
NV_CTRL_DEPTH_30_ALLOWED = 279 # R--G | |
# | |
# NV_CTRL_MODE_SET_EVENT This attribute is sent as an event | |
# when hotkey, ctrl-alt-+/- or randr event occurs. Note that | |
# This attribute cannot be set or queried and is meant to | |
# be received by clients that wish to be notified of when | |
# mode set events occur. | |
# | |
NV_CTRL_MODE_SET_EVENT = 280 # --- | |
# | |
# NV_CTRL_OPENGL_AA_LINE_GAMMA_VALUE - the gamma value used by | |
# OpenGL when NV_CTRL_OPENGL_AA_LINE_GAMMA is enabled | |
# | |
NV_CTRL_OPENGL_AA_LINE_GAMMA_VALUE = 281 # RW-X | |
# | |
# NV_CTRL_VCSC_HIGH_PERF_MODE - deprecated | |
# | |
# Is used to both query High Performance Mode status on the Visual Computing | |
# System, and also to enable or disable High Performance Mode. | |
# | |
NV_CTRL_VCSC_HIGH_PERF_MODE = 282 # RW-V | |
NV_CTRL_VCSC_HIGH_PERF_MODE_DISABLE = 0 | |
NV_CTRL_VCSC_HIGH_PERF_MODE_ENABLE = 1 | |
# | |
# NV_CTRL_DISPLAYPORT_LINK_RATE - returns the negotiated lane bandwidth of the | |
# DisplayPort main link. The numerical value of this attribute is the link | |
# rate in bps divided by 27000000. | |
# This attribute is only available for DisplayPort flat panels. | |
# | |
NV_CTRL_DISPLAYPORT_LINK_RATE = 291 # R-DG | |
NV_CTRL_DISPLAYPORT_LINK_RATE_DISABLED = 0x0 | |
NV_CTRL_DISPLAYPORT_LINK_RATE_1_62GBPS = 0x6 # deprecated | |
NV_CTRL_DISPLAYPORT_LINK_RATE_2_70GBPS = 0xA # deprecated | |
# | |
# NV_CTRL_STEREO_EYES_EXCHANGE - Controls whether or not the left and right | |
# eyes of a stereo image are flipped. | |
# | |
NV_CTRL_STEREO_EYES_EXCHANGE = 292 # RW-X | |
NV_CTRL_STEREO_EYES_EXCHANGE_OFF = 0 | |
NV_CTRL_STEREO_EYES_EXCHANGE_ON = 1 | |
# | |
# NV_CTRL_NO_SCANOUT - returns whether the special "NoScanout" mode is | |
# enabled on the specified X screen or GPU; for details on this mode, | |
# see the description of the "none" value for the "UseDisplayDevice" | |
# X configuration option in the NVIDIA driver README. | |
# | |
NV_CTRL_NO_SCANOUT = 293 # R--G | |
NV_CTRL_NO_SCANOUT_DISABLED = 0 | |
NV_CTRL_NO_SCANOUT_ENABLED = 1 | |
# | |
# NV_CTRL_GVO_CSC_CHANGED_EVENT This attribute is sent as an event | |
# when the color space conversion matrix has been altered by another | |
# client. | |
# | |
NV_CTRL_GVO_CSC_CHANGED_EVENT = 294 # --- | |
# | |
# NV_CTRL_FRAMELOCK_SLAVEABLE - deprecated | |
# | |
# NV_CTRL_FRAMELOCK_DISPLAY_CONFIG should be used instead. | |
# | |
NV_CTRL_FRAMELOCK_SLAVEABLE = 295 # deprecated | |
# | |
# NV_CTRL_GVO_SYNC_TO_DISPLAY This attribute controls whether or not | |
# the non-SDI display device will be sync'ed to the SDI display device | |
# (when configured in TwinView, Clone Mode or when using the SDI device | |
# with OpenGL). | |
# | |
NV_CTRL_GVO_SYNC_TO_DISPLAY = 296 # --- | |
NV_CTRL_GVO_SYNC_TO_DISPLAY_DISABLE = 0 | |
NV_CTRL_GVO_SYNC_TO_DISPLAY_ENABLE = 1 | |
# | |
# NV_CTRL_X_SERVER_UNIQUE_ID - returns a pseudo-unique identifier for this | |
# X server. Intended for use in cases where an NV-CONTROL client communicates | |
# with multiple X servers, and wants some level of confidence that two | |
# X Display connections correspond to the same or different X servers. | |
# | |
NV_CTRL_X_SERVER_UNIQUE_ID = 297 # R--- | |
# | |
# NV_CTRL_PIXMAP_CACHE - This attribute controls whether the driver attempts to | |
# store video memory pixmaps in a cache. The cache speeds up allocation and | |
# deallocation of pixmaps, but could use more memory than when the cache is | |
# disabled. | |
# | |
NV_CTRL_PIXMAP_CACHE = 298 # RW-X | |
NV_CTRL_PIXMAP_CACHE_DISABLE = 0 | |
NV_CTRL_PIXMAP_CACHE_ENABLE = 1 | |
# | |
# NV_CTRL_PIXMAP_CACHE_ROUNDING_SIZE_KB - When the pixmap cache is enabled and | |
# there is not enough free space in the cache to fit a new pixmap, the driver | |
# will round up to the next multiple of this number of kilobytes when | |
# allocating more memory for the cache. | |
# | |
NV_CTRL_PIXMAP_CACHE_ROUNDING_SIZE_KB = 299 # RW-X | |
# | |
# NV_CTRL_IS_GVO_DISPLAY - returns whether or not a given display is an | |
# SDI device. | |
# | |
NV_CTRL_IS_GVO_DISPLAY = 300 # R-D | |
NV_CTRL_IS_GVO_DISPLAY_FALSE = 0 | |
NV_CTRL_IS_GVO_DISPLAY_TRUE = 1 | |
# | |
# NV_CTRL_PCI_ID - Returns the PCI vendor and device ID of the specified | |
# device. | |
# | |
# NV_CTRL_PCI_ID is a "packed" integer attribute; the PCI vendor ID is stored | |
# in the upper 16 bits of the integer, and the PCI device ID is stored in the | |
# lower 16 bits of the integer. | |
# | |
NV_CTRL_PCI_ID = 301 # R--GI | |
# | |
# NV_CTRL_GVO_FULL_RANGE_COLOR - Allow full range color data [4-1019] | |
# without clamping to [64-940]. | |
# | |
NV_CTRL_GVO_FULL_RANGE_COLOR = 302 # RW- | |
NV_CTRL_GVO_FULL_RANGE_COLOR_DISABLED = 0 | |
NV_CTRL_GVO_FULL_RANGE_COLOR_ENABLED = 1 | |
# | |
# NV_CTRL_SLI_MOSAIC_MODE_AVAILABLE - Returns whether or not | |
# SLI Mosaic Mode supported. | |
# | |
NV_CTRL_SLI_MOSAIC_MODE_AVAILABLE = 303 # R-- | |
NV_CTRL_SLI_MOSAIC_MODE_AVAILABLE_FALSE = 0 | |
NV_CTRL_SLI_MOSAIC_MODE_AVAILABLE_TRUE = 1 | |
# | |
# NV_CTRL_GVO_ENABLE_RGB_DATA - Allows clients to specify when | |
# the GVO board should process colors as RGB when the output data | |
# format is one of the NV_CTRL_GVO_DATA_FORMAT_???_PASSTRHU modes. | |
# | |
NV_CTRL_GVO_ENABLE_RGB_DATA = 304 # RW- | |
NV_CTRL_GVO_ENABLE_RGB_DATA_DISABLE = 0 | |
NV_CTRL_GVO_ENABLE_RGB_DATA_ENABLE = 1 | |
# | |
# NV_CTRL_IMAGE_SHARPENING_DEFAULT - Returns default value of | |
# Image Sharpening. | |
# | |
NV_CTRL_IMAGE_SHARPENING_DEFAULT = 305 # R-- | |
# | |
# NV_CTRL_PCI_DOMAIN - Returns the PCI domain number the specified device is | |
# using. | |
# | |
NV_CTRL_PCI_DOMAIN = 306 # R--GI | |
# | |
# NV_CTRL_GVI_NUM_JACKS - Returns the number of input BNC jacks available | |
# on a GVI device. | |
# | |
NV_CTRL_GVI_NUM_JACKS = 307 # R--I | |
# | |
# NV_CTRL_GVI_MAX_LINKS_PER_STREAM - Returns the maximum supported number of | |
# links that can be tied to one stream. | |
# | |
NV_CTRL_GVI_MAX_LINKS_PER_STREAM = 308 # R--I | |
# | |
# NV_CTRL_GVI_DETECTED_CHANNEL_BITS_PER_COMPONENT - Returns the detected | |
# number of bits per component (BPC) of data on the given input jack+ | |
# channel. | |
# | |
# The jack number should be specified in the lower 16 bits of the | |
# "display_mask" parameter, while the channel number should be specified in | |
# the upper 16 bits. | |
# | |
NV_CTRL_GVI_DETECTED_CHANNEL_BITS_PER_COMPONENT = 309 # R--I | |
NV_CTRL_GVI_BITS_PER_COMPONENT_UNKNOWN = 0 | |
NV_CTRL_GVI_BITS_PER_COMPONENT_8 = 1 | |
NV_CTRL_GVI_BITS_PER_COMPONENT_10 = 2 | |
NV_CTRL_GVI_BITS_PER_COMPONENT_12 = 3 | |
# | |
# NV_CTRL_GVI_REQUESTED_STREAM_BITS_PER_COMPONENT - Specify the number of | |
# bits per component (BPC) of data for the captured stream. | |
# The stream number should be specified in the "display_mask" parameter. | |
# | |
# Note: Setting this attribute may also result in the following | |
# NV-CONTROL attributes being reset on the GVI device (to ensure | |
# the configuration remains valid): | |
# NV_CTRL_GVI_REQUESTED_STREAM_COMPONENT_SAMPLING | |
# | |
NV_CTRL_GVI_REQUESTED_STREAM_BITS_PER_COMPONENT = 310 # RW-I | |
# | |
# NV_CTRL_GVI_DETECTED_CHANNEL_COMPONENT_SAMPLING - Returns the detected | |
# sampling format for the input jack+channel. | |
# | |
# The jack number should be specified in the lower 16 bits of the | |
# "display_mask" parameter, while the channel number should be specified in | |
# the upper 16 bits. | |
# | |
NV_CTRL_GVI_DETECTED_CHANNEL_COMPONENT_SAMPLING = 311 # R--I | |
NV_CTRL_GVI_COMPONENT_SAMPLING_UNKNOWN = 0 | |
NV_CTRL_GVI_COMPONENT_SAMPLING_4444 = 1 | |
NV_CTRL_GVI_COMPONENT_SAMPLING_4224 = 2 | |
NV_CTRL_GVI_COMPONENT_SAMPLING_444 = 3 | |
NV_CTRL_GVI_COMPONENT_SAMPLING_422 = 4 | |
NV_CTRL_GVI_COMPONENT_SAMPLING_420 = 5 | |
# | |
# NV_CTRL_GVI_REQUESTED_COMPONENT_SAMPLING - Specify the sampling format for | |
# the captured stream. | |
# The possible values are the NV_CTRL_GVI_DETECTED_COMPONENT_SAMPLING | |
# constants. | |
# The stream number should be specified in the "display_mask" parameter. | |
# | |
NV_CTRL_GVI_REQUESTED_STREAM_COMPONENT_SAMPLING = 312 # RW-I | |
# | |
# NV_CTRL_GVI_CHROMA_EXPAND - Enable or disable 4:2:2 -> 4:4:4 chroma | |
# expansion for the captured stream. This value is ignored when a | |
# COMPONENT_SAMPLING format is selected that does not use chroma subsampling, | |
# or if a BITS_PER_COMPONENT value is selected that is not supported. | |
# The stream number should be specified in the "display_mask" parameter. | |
# | |
NV_CTRL_GVI_REQUESTED_STREAM_CHROMA_EXPAND = 313 # RW-I | |
NV_CTRL_GVI_CHROMA_EXPAND_FALSE = 0 | |
NV_CTRL_GVI_CHROMA_EXPAND_TRUE = 1 | |
# | |
# NV_CTRL_GVI_DETECTED_CHANNEL_COLOR_SPACE - Returns the detected color space | |
# of the input jack+channel. | |
# | |
# The jack number should be specified in the lower 16 bits of the | |
# "display_mask" parameter, while the channel number should be specified in | |
# the upper 16 bits. | |
# | |
NV_CTRL_GVI_DETECTED_CHANNEL_COLOR_SPACE = 314 # R--I | |
NV_CTRL_GVI_COLOR_SPACE_UNKNOWN = 0 | |
NV_CTRL_GVI_COLOR_SPACE_GBR = 1 | |
NV_CTRL_GVI_COLOR_SPACE_GBRA = 2 | |
NV_CTRL_GVI_COLOR_SPACE_GBRD = 3 | |
NV_CTRL_GVI_COLOR_SPACE_YCBCR = 4 | |
NV_CTRL_GVI_COLOR_SPACE_YCBCRA = 5 | |
NV_CTRL_GVI_COLOR_SPACE_YCBCRD = 6 | |
# | |
# NV_CTRL_GVI_DETECTED_CHANNEL_LINK_ID - Returns the detected link identifier | |
# for the given input jack+channel. | |
# | |
# The jack number should be specified in the lower 16 bits of the | |
# "display_mask" parameter, while the channel number should be specified in | |
# the upper 16 bits. | |
# | |
NV_CTRL_GVI_DETECTED_CHANNEL_LINK_ID = 315 # R--I | |
NV_CTRL_GVI_LINK_ID_UNKNOWN = 0xFFFF | |
# | |
# NV_CTRL_GVI_DETECTED_CHANNEL_SMPTE352_IDENTIFIER - Returns the 4-byte | |
# SMPTE 352 identifier from the given input jack+channel. | |
# | |
# The jack number should be specified in the lower 16 bits of the | |
# "display_mask" parameter, while the channel number should be specified in | |
# the upper 16 bits. | |
# | |
NV_CTRL_GVI_DETECTED_CHANNEL_SMPTE352_IDENTIFIER = 316 # R--I | |
# | |
# NV_CTRL_GVI_GLOBAL_IDENTIFIER - Returns a global identifier for the | |
# GVI device. This identifier can be used to relate GVI devices named | |
# in NV-CONTROL with those enumerated in OpenGL. | |
# | |
NV_CTRL_GVI_GLOBAL_IDENTIFIER = 317 # R--I | |
# | |
# NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION - Returns the number of nanoseconds | |
# that one unit of NV_CTRL_FRAMELOCK_SYNC_DELAY corresponds to. | |
# | |
NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION = 318 # R-- | |
# | |
# NV_CTRL_GPU_COOLER_MANUAL_CONTROL - Query the current or set a new | |
# cooler control state; the value of this attribute controls the | |
# availability of additional cooler control attributes (see below). | |
# | |
# Note: this attribute is unavailable unless cooler control support | |
# has been enabled in the X server (by the user). | |
# | |
NV_CTRL_GPU_COOLER_MANUAL_CONTROL = 319 # RW-G | |
NV_CTRL_GPU_COOLER_MANUAL_CONTROL_FALSE = 0 | |
NV_CTRL_GPU_COOLER_MANUAL_CONTROL_TRUE = 1 | |
# | |
# NV_CTRL_THERMAL_COOLER_LEVEL - The cooler's target level. | |
# Normally, the driver dynamically adjusts the cooler based on | |
# the needs of the GPU. But when NV_CTRL_GPU_COOLER_MANUAL_CONTROL=TRUE, | |
# the driver will attempt to make the cooler achieve the setting in | |
# NV_CTRL_THERMAL_COOLER_LEVEL. The actual current level of the cooler | |
# is reported in NV_CTRL_THERMAL_COOLER_CURRENT_LEVEL. | |
# | |
NV_CTRL_THERMAL_COOLER_LEVEL = 320 # RW-C | |
# NV_CTRL_THERMAL_COOLER_LEVEL_SET_DEFAULT - Sets default values of | |
# cooler. | |
# | |
NV_CTRL_THERMAL_COOLER_LEVEL_SET_DEFAULT = 321 # -W-C | |
# | |
# NV_CTRL_THERMAL_COOLER_CONTROL_TYPE - | |
# Returns a cooler's control signal characteristics. | |
# The possible types are restricted, Variable and Toggle. | |
# | |
NV_CTRL_THERMAL_COOLER_CONTROL_TYPE = 322 # R--C | |
NV_CTRL_THERMAL_COOLER_CONTROL_TYPE_NONE = 0 | |
NV_CTRL_THERMAL_COOLER_CONTROL_TYPE_TOGGLE = 1 | |
NV_CTRL_THERMAL_COOLER_CONTROL_TYPE_VARIABLE = 2 | |
# | |
# NV_CTRL_THERMAL_COOLER_TARGET - Returns objects that cooler cools. | |
# Targets may be GPU, Memory, Power Supply or All of these. | |
# GPU_RELATED = GPU | MEMORY | POWER_SUPPLY | |
# | |
# | |
NV_CTRL_THERMAL_COOLER_TARGET = 323 # R--C | |
NV_CTRL_THERMAL_COOLER_TARGET_NONE = 0 | |
NV_CTRL_THERMAL_COOLER_TARGET_GPU = 1 | |
NV_CTRL_THERMAL_COOLER_TARGET_MEMORY = 2 | |
NV_CTRL_THERMAL_COOLER_TARGET_POWER_SUPPLY = 4 | |
NV_CTRL_THERMAL_COOLER_TARGET_GPU_RELATED = NV_CTRL_THERMAL_COOLER_TARGET_GPU | NV_CTRL_THERMAL_COOLER_TARGET_MEMORY | NV_CTRL_THERMAL_COOLER_TARGET_POWER_SUPPLY | |
# | |
# NV_CTRL_GPU_ECC_SUPPORTED - Reports whether ECC is supported by the | |
# targeted GPU. | |
# | |
NV_CTRL_GPU_ECC_SUPPORTED = 324 # R--G | |
NV_CTRL_GPU_ECC_SUPPORTED_FALSE = 0 | |
NV_CTRL_GPU_ECC_SUPPORTED_TRUE = 1 | |
# | |
# NV_CTRL_GPU_ECC_STATUS - Returns the current hardware ECC setting | |
# for the targeted GPU. | |
# | |
NV_CTRL_GPU_ECC_STATUS = 325 # R--G | |
NV_CTRL_GPU_ECC_STATUS_DISABLED = 0 | |
NV_CTRL_GPU_ECC_STATUS_ENABLED = 1 | |
# | |
# NV_CTRL_GPU_ECC_CONFIGURATION - Reports whether ECC can be configured | |
# dynamically for the GPU in question. | |
# | |
NV_CTRL_GPU_ECC_CONFIGURATION_SUPPORTED = 326 # R--G | |
NV_CTRL_GPU_ECC_CONFIGURATION_SUPPORTED_FALSE = 0 | |
NV_CTRL_GPU_ECC_CONFIGURATION_SUPPORTED_TRUE = 1 | |
# | |
# NV_CTRL_GPU_ECC_CONFIGURATION_SETTING - Returns the current ECC | |
# configuration setting or specifies new settings. New settings do not | |
# take effect until the next POST. | |
# | |
NV_CTRL_GPU_ECC_CONFIGURATION = 327 # RW-G | |
NV_CTRL_GPU_ECC_CONFIGURATION_DISABLED = 0 | |
NV_CTRL_GPU_ECC_CONFIGURATION_ENABLED = 1 | |
# | |
# NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION_SETTING - Returns the default | |
# ECC configuration setting. | |
# | |
NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION = 328 # R--G | |
NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION_DISABLED = 0 | |
NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION_ENABLED = 1 | |
# | |
# NV_CTRL_GPU_ECC_SINGLE_BIT_ERRORS - Returns the number of single-bit | |
# ECC errors detected by the targeted GPU since the last POST. | |
# Note: this attribute is a 64-bit integer attribute. | |
# | |
NV_CTRL_GPU_ECC_SINGLE_BIT_ERRORS = 329 # R--GQ | |
# | |
# NV_CTRL_GPU_ECC_DOUBLE_BIT_ERRORS - Returns the number of double-bit | |
# ECC errors detected by the targeted GPU since the last POST. | |
# Note: this attribute is a 64-bit integer attribute. | |
# | |
NV_CTRL_GPU_ECC_DOUBLE_BIT_ERRORS = 330 # R--GQ | |
# | |
# NV_CTRL_GPU_ECC_AGGREGATE_SINGLE_BIT_ERRORS - Returns the number of | |
# single-bit ECC errors detected by the targeted GPU since the | |
# last counter reset. | |
# Note: this attribute is a 64-bit integer attribute. | |
# | |
NV_CTRL_GPU_ECC_AGGREGATE_SINGLE_BIT_ERRORS = 331 # R--GQ | |
# | |
# NV_CTRL_GPU_ECC_AGGREGATE_DOUBLE_BIT_ERRORS - Returns the number of | |
# double-bit ECC errors detected by the targeted GPU since the | |
# last counter reset. | |
# Note: this attribute is a 64-bit integer attribute. | |
# | |
NV_CTRL_GPU_ECC_AGGREGATE_DOUBLE_BIT_ERRORS = 332 # R--GQ | |
# | |
# NV_CTRL_GPU_ECC_RESET_ERROR_STATUS - Resets the volatile/aggregate | |
# single-bit and double-bit error counters. This attribute is a | |
# bitmask attribute. | |
# | |
NV_CTRL_GPU_ECC_RESET_ERROR_STATUS = 333 # -W-G | |
NV_CTRL_GPU_ECC_RESET_ERROR_STATUS_VOLATILE = 0x00000001 | |
NV_CTRL_GPU_ECC_RESET_ERROR_STATUS_AGGREGATE = 0x00000002 | |
# | |
# NV_CTRL_GPU_POWER_MIZER_MODE - Provides a hint to the driver | |
# as to how to manage the performance of the GPU. | |
# | |
# ADAPTIVE - adjust GPU clocks based on GPU | |
# utilization | |
# PREFER_MAXIMUM_PERFORMANCE - raise GPU clocks to favor | |
# maximum performance, to the extent | |
# that thermal and other constraints | |
# allow | |
# AUTO - let the driver choose the performance | |
# policy | |
# PREFER_CONSISTENT_PERFORMANCE - lock to GPU base clocks | |
# | |
NV_CTRL_GPU_POWER_MIZER_MODE = 334 # RW-G | |
NV_CTRL_GPU_POWER_MIZER_MODE_ADAPTIVE = 0 | |
NV_CTRL_GPU_POWER_MIZER_MODE_PREFER_MAXIMUM_PERFORMANCE = 1 | |
NV_CTRL_GPU_POWER_MIZER_MODE_AUTO = 2 | |
NV_CTRL_GPU_POWER_MIZER_MODE_PREFER_CONSISTENT_PERFORMANCE = 3 | |
# | |
# NV_CTRL_GVI_SYNC_OUTPUT_FORMAT - Returns the output sync signal | |
# from the GVI device. | |
# | |
NV_CTRL_GVI_SYNC_OUTPUT_FORMAT = 335 # R--I | |
# | |
# NV_CTRL_GVI_MAX_CHANNELS_PER_JACK - Returns the maximum | |
# supported number of (logical) channels within a single physical jack of | |
# a GVI device. For most SDI video formats, there is only one channel | |
# (channel 0). But for 3G video formats (as specified in SMPTE 425), | |
# as an example, there are two channels (channel 0 and channel 1) per | |
# physical jack. | |
# | |
NV_CTRL_GVI_MAX_CHANNELS_PER_JACK = 336 # R--I | |
# | |
# NV_CTRL_GVI_MAX_STREAMS - Returns the maximum number of streams | |
# that can be configured on the GVI device. | |
# | |
NV_CTRL_GVI_MAX_STREAMS = 337 # R--I | |
# | |
# NV_CTRL_GVI_NUM_CAPTURE_SURFACES - The GVI interface exposed through | |
# NV-CONTROL and the GLX_NV_video_input extension uses internal capture | |
# surfaces when frames are read from the GVI device. The | |
# NV_CTRL_GVI_NUM_CAPTURE_SURFACES can be used to query and assign the | |
# number of capture surfaces. This attribute is applied when | |
# glXBindVideoCaptureDeviceNV() is called by the application. | |
# | |
# A lower number of capture surfaces will mean less video memory is used, | |
# but can result in frames being dropped if the application cannot keep up | |
# with the capture device. A higher number will prevent frames from being | |
# dropped, making capture more reliable but will consume move video memory. | |
# | |
NV_CTRL_GVI_NUM_CAPTURE_SURFACES = 338 # RW-I | |
# | |
# NV_CTRL_OVERSCAN_COMPENSATION - not supported | |
# | |
NV_CTRL_OVERSCAN_COMPENSATION = 339 # not supported | |
# | |
# NV_CTRL_GPU_PCIE_GENERATION - Reports the current PCIe generation. | |
# | |
NV_CTRL_GPU_PCIE_GENERATION = 341 # R--GI | |
NV_CTRL_GPU_PCIE_GENERATION1 = 0x00000001 | |
NV_CTRL_GPU_PCIE_GENERATION2 = 0x00000002 | |
NV_CTRL_GPU_PCIE_GENERATION3 = 0x00000003 | |
# | |
# NV_CTRL_GVI_BOUND_GPU - Returns the NV_CTRL_TARGET_TYPE_GPU target_id of | |
# the GPU currently bound to the GVI device. Returns -1 if no GPU is | |
# currently bound to the GVI device. | |
# | |
NV_CTRL_GVI_BOUND_GPU = 342 # R--I | |
# | |
# NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT3 - this attribute is only | |
# intended to be used to query the ValidValues for | |
# NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT for VIDEO_FORMAT values between | |
# 64 and 95. See NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT for details. | |
# | |
NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT3 = 343 # ---GI | |
# | |
# NV_CTRL_ACCELERATE_TRAPEZOIDS - Toggles RENDER Trapezoid acceleration | |
# | |
NV_CTRL_ACCELERATE_TRAPEZOIDS = 344 # RW- | |
NV_CTRL_ACCELERATE_TRAPEZOIDS_DISABLE = 0 | |
NV_CTRL_ACCELERATE_TRAPEZOIDS_ENABLE = 1 | |
# | |
# NV_CTRL_GPU_CORES - Returns number of GPU cores supported by the graphics | |
# pipeline. | |
# | |
NV_CTRL_GPU_CORES = 345 # R--G | |
# | |
# NV_CTRL_GPU_MEMORY_BUS_WIDTH - Returns memory bus bandwidth on the associated | |
# subdevice. | |
# | |
NV_CTRL_GPU_MEMORY_BUS_WIDTH = 346 # R--G | |
# | |
# NV_CTRL_GVI_TEST_MODE - This attribute controls the GVI test mode. When | |
# enabled, the GVI device will generate fake data as quickly as possible. All | |
# GVI settings are still valid when this is enabled (e.g., the requested video | |
# format is honored and sets the video size). | |
# This may be used to test the pipeline. | |
# | |
NV_CTRL_GVI_TEST_MODE = 347 # R--I | |
NV_CTRL_GVI_TEST_MODE_DISABLE = 0 | |
NV_CTRL_GVI_TEST_MODE_ENABLE = 1 | |
# | |
# NV_CTRL_COLOR_SPACE - This option controls the preferred color space of the | |
# video signal. This may not match the current color space depending on the | |
# current mode on this display. | |
# | |
# NV_CTRL_CURRENT_COLOR_SPACE will reflect the actual color space in use. | |
# | |
NV_CTRL_COLOR_SPACE = 348 # RWDG | |
NV_CTRL_COLOR_SPACE_RGB = 0 | |
NV_CTRL_COLOR_SPACE_YCbCr422 = 1 | |
NV_CTRL_COLOR_SPACE_YCbCr444 = 2 | |
# | |
# NV_CTRL_COLOR_RANGE - This option controls the preferred color range of the | |
# video signal. | |
# | |
# If the current color space requires it, the actual color range will be | |
# limited. | |
# | |
# NV_CTRL_CURRENT_COLOR_RANGE will reflect the actual color range in use. | |
# | |
NV_CTRL_COLOR_RANGE = 349 # RWDG | |
NV_CTRL_COLOR_RANGE_FULL = 0 | |
NV_CTRL_COLOR_RANGE_LIMITED = 1 | |
# | |
# NV_CTRL_GPU_SCALING_DEFAULT_TARGET - not supported | |
# | |
NV_CTRL_GPU_SCALING_DEFAULT_TARGET = 350 # not supported | |
# | |
# NV_CTRL_GPU_SCALING_DEFAULT_METHOD - not supported | |
# | |
NV_CTRL_GPU_SCALING_DEFAULT_METHOD = 351 # not supported | |
# | |
# NV_CTRL_DITHERING_MODE - Controls the dithering mode, when | |
# NV_CTRL_CURRENT_DITHERING is Enabled. | |
# | |
# AUTO: allow the driver to choose the dithering mode automatically. | |
# | |
# DYNAMIC_2X2: use a 2x2 matrix to dither from the GPU's pixel | |
# pipeline to the bit depth of the flat panel. The matrix values | |
# are changed from frame to frame. | |
# | |
# STATIC_2X2: use a 2x2 matrix to dither from the GPU's pixel | |
# pipeline to the bit depth of the flat panel. The matrix values | |
# do not change from frame to frame. | |
# | |
# TEMPORAL: use a pseudorandom value from a uniform distribution calculated at | |
# every pixel to achieve stochastic dithering. This method produces a better | |
# visual result than 2x2 matrix approaches. | |
# | |
NV_CTRL_DITHERING_MODE = 352 # RWDG | |
NV_CTRL_DITHERING_MODE_AUTO = 0 | |
NV_CTRL_DITHERING_MODE_DYNAMIC_2X2 = 1 | |
NV_CTRL_DITHERING_MODE_STATIC_2X2 = 2 | |
NV_CTRL_DITHERING_MODE_TEMPORAL = 3 | |
# | |
# NV_CTRL_CURRENT_DITHERING - Returns the current dithering state. | |
# | |
NV_CTRL_CURRENT_DITHERING = 353 # R-DG | |
NV_CTRL_CURRENT_DITHERING_DISABLED = 0 | |
NV_CTRL_CURRENT_DITHERING_ENABLED = 1 | |
# | |
# NV_CTRL_CURRENT_DITHERING_MODE - Returns the current dithering | |
# mode. | |
# | |
NV_CTRL_CURRENT_DITHERING_MODE = 354 # R-DG | |
NV_CTRL_CURRENT_DITHERING_MODE_NONE = 0 | |
NV_CTRL_CURRENT_DITHERING_MODE_DYNAMIC_2X2 = 1 | |
NV_CTRL_CURRENT_DITHERING_MODE_STATIC_2X2 = 2 | |
NV_CTRL_CURRENT_DITHERING_MODE_TEMPORAL = 3 | |
# | |
# NV_CTRL_THERMAL_SENSOR_READING - Returns the thermal sensor's current | |
# reading. | |
# | |
NV_CTRL_THERMAL_SENSOR_READING = 355 # R--S | |
# | |
# NV_CTRL_THERMAL_SENSOR_PROVIDER - Returns the hardware device that | |
# provides the thermal sensor. | |
# | |
NV_CTRL_THERMAL_SENSOR_PROVIDER = 356 # R--S | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_NONE = 0 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_GPU_INTERNAL = 1 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_ADM1032 = 2 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_ADT7461 = 3 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_MAX6649 = 4 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_MAX1617 = 5 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_LM99 = 6 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_LM89 = 7 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_LM64 = 8 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_G781 = 9 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_ADT7473 = 10 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_SBMAX6649 = 11 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_VBIOSEVT = 12 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_OS = 13 | |
NV_CTRL_THERMAL_SENSOR_PROVIDER_UNKNOWN = 0xFFFFFFFF | |
# | |
# NV_CTRL_THERMAL_SENSOR_TARGET - Returns what hardware component | |
# the thermal sensor is measuring. | |
# | |
NV_CTRL_THERMAL_SENSOR_TARGET = 357 # R--S | |
NV_CTRL_THERMAL_SENSOR_TARGET_NONE = 0 | |
NV_CTRL_THERMAL_SENSOR_TARGET_GPU = 1 | |
NV_CTRL_THERMAL_SENSOR_TARGET_MEMORY = 2 | |
NV_CTRL_THERMAL_SENSOR_TARGET_POWER_SUPPLY = 4 | |
NV_CTRL_THERMAL_SENSOR_TARGET_BOARD = 8 | |
NV_CTRL_THERMAL_SENSOR_TARGET_UNKNOWN = 0xFFFFFFFF | |
# | |
# NV_CTRL_SHOW_MULTIGPU_VISUAL_INDICATOR - when TRUE, OpenGL will | |
# draw information about the current MULTIGPU mode. | |
# | |
NV_CTRL_SHOW_MULTIGPU_VISUAL_INDICATOR = 358 # RW-X | |
NV_CTRL_SHOW_MULTIGPU_VISUAL_INDICATOR_FALSE = 0 | |
NV_CTRL_SHOW_MULTIGPU_VISUAL_INDICATOR_TRUE = 1 | |
# | |
# NV_CTRL_GPU_CURRENT_PROCESSOR_CLOCK_FREQS - Returns GPU's processor | |
# clock freqs. | |
# | |
NV_CTRL_GPU_CURRENT_PROCESSOR_CLOCK_FREQS = 359 # RW-G | |
# | |
# NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS - query the flags (various information | |
# for the specified NV_CTRL_GVIO_VIDEO_FORMAT_*. So that this can be | |
# queried with existing interfaces, the video format should be specified | |
# in the display_mask field; eg: | |
# | |
# XNVCTRLQueryTargetAttribute(dpy, | |
# NV_CTRL_TARGET_TYPE_GVI, | |
# gvi, | |
# NV_CTRL_GVIO_VIDEO_FORMAT_720P_60_00_SMPTE296, | |
# NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS, | |
# &flags); | |
# | |
# Note: The NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_1080P_NO_12BPC flag is set | |
# for those 1080P 3G modes (level A and B) that do not support | |
# 12 bits per component (when configuring a GVI stream.) | |
# | |
NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS = 360 # R--I | |
NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_NONE = 0x00000000 | |
NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_INTERLACED = 0x00000001 | |
NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_PROGRESSIVE = 0x00000002 | |
NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_PSF = 0x00000004 | |
NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_LEVEL_A = 0x00000008 | |
NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_LEVEL_B = 0x00000010 | |
NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G = NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_LEVEL_A | NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_LEVEL_B | |
NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_1080P_NO_12BPC = 0x00000020 | |
# | |
# NV_CTRL_GPU_PCIE_MAX_LINK_SPEED - returns maximum PCIe link speed, | |
# in gigatransfers per second (GT/s). | |
# | |
NV_CTRL_GPU_PCIE_MAX_LINK_SPEED = 361 # R--GI | |
# | |
# NV_CTRL_3D_VISION_PRO_RESET_TRANSCEIVER_TO_FACTORY_SETTINGS - Resets the | |
# 3D Vision Pro transceiver to its factory settings. | |
# | |
NV_CTRL_3D_VISION_PRO_RESET_TRANSCEIVER_TO_FACTORY_SETTINGS = 363 # -W-T | |
# | |
# NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL - Controls the channel that is | |
# currently used by the 3D Vision Pro transceiver. | |
# | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL = 364 # RW-T | |
# | |
# NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE - Controls the mode in which the | |
# 3D Vision Pro transceiver operates. | |
# NV_CTRL_3D_VISION_PRO_TM_LOW_RANGE is bidirectional | |
# NV_CTRL_3D_VISION_PRO_TM_MEDIUM_RANGE is bidirectional | |
# NV_CTRL_3D_VISION_PRO_TM_HIGH_RANGE may be bidirectional just up to a | |
# given range, and unidirectional beyond it | |
# NV_CTRL_3D_VISION_PRO_TM_COUNT is the total number of | |
# 3D Vision Pro transceiver modes | |
# | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE = 365 # RW-T | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_INVALID = 0 | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_LOW_RANGE = 1 | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_MEDIUM_RANGE = 2 | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_HIGH_RANGE = 3 | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_COUNT = 4 | |
# | |
# NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES - controls whether updates to the color | |
# lookup table (LUT) are synchronous with respect to X rendering. For example, | |
# if an X client sends XStoreColors followed by XFillRectangle, the driver will | |
# guarantee that the FillRectangle request is not processed until after the | |
# updated LUT colors are actually visible on the screen if | |
# NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES is enabled. Otherwise, the rendering may | |
# occur first. | |
# | |
# This makes a difference for applications that use the LUT to animate, such as | |
# XPilot. If you experience flickering in applications that use LUT | |
# animations, try enabling this attribute. | |
# | |
# When synchronous updates are enabled, XStoreColors requests will be processed | |
# at your screen's refresh rate. | |
# | |
NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES = 367 # RWDG | |
NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES_DISABLE = 0 | |
NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES_ENABLE = 1 | |
# | |
# NV_CTRL_DITHERING_DEPTH - Controls the dithering depth when | |
# NV_CTRL_CURRENT_DITHERING is ENABLED. Some displays connected | |
# to the GPU via the DVI or LVDS interfaces cannot display the | |
# full color range of ten bits per channel, so the GPU will | |
# dither to either 6 or 8 bits per channel. | |
# | |
NV_CTRL_DITHERING_DEPTH = 368 # RWDG | |
NV_CTRL_DITHERING_DEPTH_AUTO = 0 | |
NV_CTRL_DITHERING_DEPTH_6_BITS = 1 | |
NV_CTRL_DITHERING_DEPTH_8_BITS = 2 | |
# | |
# NV_CTRL_CURRENT_DITHERING_DEPTH - Returns the current dithering | |
# depth value. | |
# | |
NV_CTRL_CURRENT_DITHERING_DEPTH = 369 # R-DG | |
NV_CTRL_CURRENT_DITHERING_DEPTH_NONE = 0 | |
NV_CTRL_CURRENT_DITHERING_DEPTH_6_BITS = 1 | |
NV_CTRL_CURRENT_DITHERING_DEPTH_8_BITS = 2 | |
# | |
# NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_FREQUENCY - Returns the | |
# frequency of the channel(in kHz) of the 3D Vision Pro transceiver. | |
# Use the display_mask parameter to specify the channel number. | |
# | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_FREQUENCY = 370 # R--T | |
# | |
# NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_QUALITY - Returns the | |
# quality of the channel(in percentage) of the 3D Vision Pro transceiver. | |
# Use the display_mask parameter to specify the channel number. | |
# | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_QUALITY = 371 # R--T | |
# | |
# NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_COUNT - Returns the number of | |
# channels on the 3D Vision Pro transceiver. | |
# | |
NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_COUNT = 372 # R--T | |
# | |
# NV_CTRL_3D_VISION_PRO_PAIR_GLASSES - Puts the 3D Vision Pro | |
# transceiver into pairing mode to gather additional glasses. | |
# NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_STOP - stops any pairing | |
# NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_BEACON - starts continuous | |
# pairing via beacon mode | |
# Any other value, N - Puts the 3D Vision Pro transceiver into | |
# authenticated pairing mode for N seconds. | |
# | |
NV_CTRL_3D_VISION_PRO_PAIR_GLASSES = 373 # -W-T | |
NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_STOP = 0 | |
NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_BEACON = 0xFFFFFFFF | |
# | |
# NV_CTRL_3D_VISION_PRO_UNPAIR_GLASSES - Tells a specific pair | |
# of glasses to unpair. The glasses will "forget" the address | |
# of the 3D Vision Pro transceiver to which they have been paired. | |
# To unpair all the currently paired glasses, specify | |
# the glasses id as 0. | |
# | |
NV_CTRL_3D_VISION_PRO_UNPAIR_GLASSES = 374 # -W-T | |
# | |
# NV_CTRL_3D_VISION_PRO_DISCOVER_GLASSES - Tells the 3D Vision Pro | |
# transceiver about the glasses that have been paired using | |
# NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_BEACON. Unless this is done, | |
# the 3D Vision Pro transceiver will not know about glasses paired in | |
# beacon mode. | |
# | |
NV_CTRL_3D_VISION_PRO_DISCOVER_GLASSES = 375 # -W-T | |
# | |
# NV_CTRL_3D_VISION_PRO_IDENTIFY_GLASSES - Causes glasses LEDs to | |
# flash for a short period of time. | |
# | |
NV_CTRL_3D_VISION_PRO_IDENTIFY_GLASSES = 376 # -W-T | |
# | |
# NV_CTRL_3D_VISION_PRO_GLASSES_SYNC_CYCLE - Controls the | |
# sync cycle duration(in milliseconds) of the glasses. | |
# Use the display_mask parameter to specify the glasses id. | |
# | |
NV_CTRL_3D_VISION_PRO_GLASSES_SYNC_CYCLE = 378 # RW-T | |
# | |
# NV_CTRL_3D_VISION_PRO_GLASSES_MISSED_SYNC_CYCLES - Returns the | |
# number of state sync cycles recently missed by the glasses. | |
# Use the display_mask parameter to specify the glasses id. | |
# | |
NV_CTRL_3D_VISION_PRO_GLASSES_MISSED_SYNC_CYCLES = 379 # R--T | |
# | |
# NV_CTRL_3D_VISION_PRO_GLASSES_BATTERY_LEVEL - Returns the | |
# battery level(in percentage) of the glasses. | |
# Use the display_mask parameter to specify the glasses id. | |
# | |
NV_CTRL_3D_VISION_PRO_GLASSES_BATTERY_LEVEL = 380 # R--T | |
# | |
# NV_CTRL_GVO_ANC_PARITY_COMPUTATION - Controls the SDI device's computation | |
# of the parity bit (bit 8) for ANC data words. | |
# | |
NV_CTRL_GVO_ANC_PARITY_COMPUTATION = 381 # RW--- | |
NV_CTRL_GVO_ANC_PARITY_COMPUTATION_AUTO = 0 | |
NV_CTRL_GVO_ANC_PARITY_COMPUTATION_ON = 1 | |
NV_CTRL_GVO_ANC_PARITY_COMPUTATION_OFF = 2 | |
# | |
# NV_CTRL_3D_VISION_PRO_GLASSES_PAIR_EVENT - This attribute is sent | |
# as an event when glasses get paired in response to pair command | |
# from any of the clients. | |
# | |
NV_CTRL_3D_VISION_PRO_GLASSES_PAIR_EVENT = 382 # ---T | |
# | |
# NV_CTRL_3D_VISION_PRO_GLASSES_UNPAIR_EVENT - This attribute is sent | |
# as an event when glasses get unpaired in response to unpair command | |
# from any of the clients. | |
# | |
NV_CTRL_3D_VISION_PRO_GLASSES_UNPAIR_EVENT = 383 # ---T | |
# | |
# NV_CTRL_GPU_PCIE_CURRENT_LINK_WIDTH - returns the current | |
# PCIe link width, in number of lanes. | |
# | |
NV_CTRL_GPU_PCIE_CURRENT_LINK_WIDTH = 384 # R--GI | |
# | |
# NV_CTRL_GPU_PCIE_CURRENT_LINK_SPEED - returns the current | |
# PCIe link speed, in megatransfers per second (GT/s). | |
# | |
NV_CTRL_GPU_PCIE_CURRENT_LINK_SPEED = 385 # R--GI | |
# | |
# NV_CTRL_GVO_AUDIO_BLANKING - specifies whether the GVO device should delete | |
# audio ancillary data packets when frames are repeated. | |
# | |
# When a new frame is not ready in time, the current frame, including all | |
# ancillary data packets, is repeated. When this data includes audio packets, | |
# this can result in stutters or clicks. When this option is enabled, the GVO | |
# device will detect when frames are repeated, identify audio ancillary data | |
# packets, and mark them for deletion. | |
# | |
# This option is applied when the GVO device is bound. | |
# | |
NV_CTRL_GVO_AUDIO_BLANKING = 386 # RW- | |
NV_CTRL_GVO_AUDIO_BLANKING_DISABLE = 0 | |
NV_CTRL_GVO_AUDIO_BLANKING_ENABLE = 1 | |
# | |
# NV_CTRL_CURRENT_METAMODE_ID - switch modes to the MetaMode with | |
# the specified ID. | |
# | |
NV_CTRL_CURRENT_METAMODE_ID = 387 # RW- | |
# | |
# NV_CTRL_DISPLAY_ENABLED - Returns whether or not the display device | |
# is currently enabled. | |
# | |
NV_CTRL_DISPLAY_ENABLED = 388 # R-D | |
NV_CTRL_DISPLAY_ENABLED_TRUE = 1 | |
NV_CTRL_DISPLAY_ENABLED_FALSE = 0 | |
# | |
# NV_CTRL_FRAMELOCK_INCOMING_HOUSE_SYNC_RATE: this is the rate | |
# of an incomming house sync signal to the frame lock board, in milliHz. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN | |
# target. | |
# | |
NV_CTRL_FRAMELOCK_INCOMING_HOUSE_SYNC_RATE = 389 # R--F | |
# | |
# NV_CTRL_FXAA - enables FXAA. A pixel shader based anti- | |
# aliasing method. | |
# | |
NV_CTRL_FXAA = 390 # RW-X | |
NV_CTRL_FXAA_DISABLE = 0 | |
NV_CTRL_FXAA_ENABLE = 1 | |
# | |
# NV_CTRL_DISPLAY_RANDR_OUTPUT_ID - the RandR Output ID (type RROutput) | |
# that corresponds to the specified Display Device target. If a new | |
# enough version of RandR is not available in the X server, | |
# DISPLAY_RANDR_OUTPUT_ID will be 0. | |
# | |
NV_CTRL_DISPLAY_RANDR_OUTPUT_ID = 391 # R-D- | |
# | |
# NV_CTRL_FRAMELOCK_DISPLAY_CONFIG - Configures whether the display device | |
# should listen, ignore or drive the framelock sync signal. | |
# | |
# Note that whether or not a display device may be set as a client/server | |
# depends on the current configuration. For example, only one server may be | |
# set per Quadro Sync device, and displays can only be configured as a client | |
# if their refresh rate sufficiently matches the refresh rate of the server | |
# device. | |
# | |
# Note that when querying the ValidValues for this data type, the values are | |
# reported as bits within a bitmask (ATTRIBUTE_TYPE_INT_BITS); | |
# | |
NV_CTRL_FRAMELOCK_DISPLAY_CONFIG = 392 # RWD | |
NV_CTRL_FRAMELOCK_DISPLAY_CONFIG_DISABLED = 0 | |
NV_CTRL_FRAMELOCK_DISPLAY_CONFIG_CLIENT = 1 | |
NV_CTRL_FRAMELOCK_DISPLAY_CONFIG_SERVER = 2 | |
# | |
# NV_CTRL_TOTAL_DEDICATED_GPU_MEMORY - Returns the total amount of dedicated | |
# GPU video memory, in MB, on the specified GPU. This excludes any TurboCache | |
# padding included in the value returned by NV_CTRL_TOTAL_GPU_MEMORY. | |
# | |
NV_CTRL_TOTAL_DEDICATED_GPU_MEMORY = 393 # R--G | |
# | |
# NV_CTRL_USED_DEDICATED_GPU_MEMORY- Returns the amount of video memory | |
# currently used on the graphics card in MB. | |
# | |
NV_CTRL_USED_DEDICATED_GPU_MEMORY = 394 # R--G | |
# | |
# NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_IMMEDIATE | |
# Some GPUs can make a tradeoff between double-precision floating-point | |
# performance and clock speed. Enabling double-precision floating point | |
# performance may benefit CUDA or OpenGL applications that require high | |
# bandwidth double-precision performance. Disabling this feature may benefit | |
# graphics applications that require higher clock speeds. | |
# | |
# This attribute is only available when toggling double precision boost | |
# can be done immediately (without need for a rebooot). | |
# | |
NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_IMMEDIATE = 395 # RW-G | |
NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_IMMEDIATE_DISABLED = 0 | |
NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_IMMEDIATE_ENABLED = 1 | |
# | |
# NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_REBOOT | |
# Some GPUs can make a tradeoff between double-precision floating-point | |
# performance and clock speed. Enabling double-precision floating point | |
# performance may benefit CUDA or OpenGL applications that require high | |
# bandwidth double-precision performance. Disabling this feature may benefit | |
# graphics applications that require higher clock speeds. | |
# | |
# This attribute is only available when toggling double precision boost | |
# requires a reboot. | |
# | |
NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_REBOOT = 396 # RW-G | |
NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_REBOOT_DISABLED = 0 | |
NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_REBOOT_ENALED = 1 | |
# | |
# NV_CTRL_DPY_HDMI_3D - Returns whether the specified display device is | |
# currently using HDMI 3D Frame Packed Stereo mode. Clients may use this | |
# to help interpret the refresh rate returned by NV_CTRL_REFRESH_RATE or | |
# NV_CTRL_REFRESH_RATE_3, which will be doubled when using HDMI 3D mode. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU target. | |
# | |
NV_CTRL_DPY_HDMI_3D = 397 # R-DG | |
NV_CTRL_DPY_HDMI_3D_DISABLED = 0 | |
NV_CTRL_DPY_HDMI_3D_ENABLED = 1 | |
# | |
# NV_CTRL_BASE_MOSAIC - Returns whether Base Mosaic is currently enabled on the | |
# given GPU. Querying the valid values of this attribute returns capabilities. | |
# | |
NV_CTRL_BASE_MOSAIC = 398 # R--G | |
NV_CTRL_BASE_MOSAIC_DISABLED = 0 | |
NV_CTRL_BASE_MOSAIC_FULL = 1 | |
NV_CTRL_BASE_MOSAIC_LIMITED = 2 | |
# | |
# NV_CTRL_MULTIGPU_MASTER_POSSIBLE - Returns whether the GPU can be configured | |
# as the master GPU in a Multi GPU configuration (SLI, SLI Mosaic, | |
# Base Mosaic). | |
# | |
NV_CTRL_MULTIGPU_MASTER_POSSIBLE = 399 # R--G | |
NV_CTRL_MULTIGPU_MASTER_POSSIBLE_FALSE = 0 | |
NV_CTRL_MULTIGPU_MASTER_POSSIBLE_TRUE = 1 | |
# | |
# NV_CTRL_GPU_POWER_MIZER_DEFAULT_MODE - Returns the default PowerMizer mode | |
# for the given GPU. | |
# | |
NV_CTRL_GPU_POWER_MIZER_DEFAULT_MODE = 400 # R--G | |
# | |
# NV_CTRL_XV_SYNC_TO_DISPLAY_ID - When XVideo Sync To VBlank is enabled, this | |
# controls which display device will be synched to if the display is enabled. | |
# Returns NV_CTRL_XV_SYNC_TO_DISPLAY_ID_AUTO if no display has been | |
# selected. | |
# | |
NV_CTRL_XV_SYNC_TO_DISPLAY_ID = 401 # RW- | |
NV_CTRL_XV_SYNC_TO_DISPLAY_ID_AUTO = 0xFFFFFFFF | |
# | |
# NV_CTRL_BACKLIGHT_BRIGHTNESS - The backlight brightness of an internal panel. | |
# | |
NV_CTRL_BACKLIGHT_BRIGHTNESS = 402 # RWD- | |
# | |
# NV_CTRL_GPU_LOGO_BRIGHTNESS - Controls brightness | |
# of the logo on the GPU, if any. The value is variable from 0% - 100%. | |
# | |
NV_CTRL_GPU_LOGO_BRIGHTNESS = 403 # RW-G | |
# | |
# NV_CTRL_GPU_SLI_LOGO_BRIGHTNESS - Controls brightness of the logo | |
# on the SLI bridge, if any. The value is variable from 0% - 100%. | |
# | |
NV_CTRL_GPU_SLI_LOGO_BRIGHTNESS = 404 # RW-G | |
# | |
# NV_CTRL_THERMAL_COOLER_SPEED - Returns cooler's current operating speed in | |
# rotations per minute (RPM). | |
# | |
NV_CTRL_THERMAL_COOLER_SPEED = 405 # R--C | |
# | |
# NV_CTRL_PALETTE_UPDATE_EVENT - The Color Palette has been changed and the | |
# color correction info needs to be updated. | |
# | |
NV_CTRL_PALETTE_UPDATE_EVENT = 406 # --- | |
# | |
# NV_CTRL_VIDEO_ENCODER_UTILIZATION - Returns the video encoder engine | |
# utilization as a percentage. | |
# | |
NV_CTRL_VIDEO_ENCODER_UTILIZATION = 407 # R--G | |
# | |
# NV_CTRL_GSYNC_ALLOWED - when TRUE, OpenGL will enable G-SYNC when possible; | |
# when FALSE, OpenGL will always use a fixed monitor refresh rate. | |
# | |
NV_CTRL_GSYNC_ALLOWED = 408 # RW-X | |
NV_CTRL_GSYNC_ALLOWED_FALSE = 0 | |
NV_CTRL_GSYNC_ALLOWED_TRUE = 1 | |
# | |
# NV_CTRL_GPU_NVCLOCK_OFFSET - This attribute controls the GPU clock offsets | |
# (in MHz) used for overclocking per performance level. | |
# Use the display_mask parameter to specify the performance level. | |
# | |
# Note: To enable overclocking support, set the X configuration | |
# option "Coolbits" to value "8". | |
# | |
# This offset can have any integer value between | |
# NVCTRLAttributeValidValues.u.range.min and | |
# NVCTRLAttributeValidValues.u.range.max (inclusive). | |
# | |
# This attribute is available on GeForce GTX 400 series and later | |
# Geforce GPUs. | |
# | |
NV_CTRL_GPU_NVCLOCK_OFFSET = 409 # RW-G | |
# | |
# NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET - This attribute controls | |
# the memory transfer rate offsets (in MHz) used for overclocking | |
# per performance level. | |
# Use the display_mask parameter to specify the performance level. | |
# | |
# Note: To enable overclocking support, set the X configuration | |
# option "Coolbits" to value "8". | |
# | |
# This offset can have any integer value between | |
# NVCTRLAttributeValidValues.u.range.min and | |
# NVCTRLAttributeValidValues.u.range.max (inclusive). | |
# | |
# This attribute is available on GeForce GTX 400 series and later | |
# Geforce GPUs. | |
# | |
NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET = 410 # RW-G | |
# | |
# NV_CTRL_VIDEO_DECODER_UTILIZATION - Returns the video decoder engine | |
# utilization as a percentage. | |
# | |
NV_CTRL_VIDEO_DECODER_UTILIZATION = 411 # R--G | |
# | |
# NV_CTRL_GPU_OVER_VOLTAGE_OFFSET - This attribute controls | |
# the overvoltage offset in microvolts (uV). | |
# | |
# Note: To enable overvoltage support, set the X configuration | |
# option "Coolbits" to value "16". | |
# | |
# This offset can have any integer value between | |
# NVCTRLAttributeValidValues.u.range.min and | |
# NVCTRLAttributeValidValues.u.range.max (inclusive). | |
# | |
# This attribute is available on GeForce GTX 400 series and later | |
# Geforce GPUs. | |
# | |
NV_CTRL_GPU_OVER_VOLTAGE_OFFSET = 412 # RW-G | |
# | |
# NV_CTRL_GPU_CURRENT_CORE_VOLTAGE - This attribute returns the | |
# GPU's current operating voltage in microvolts (uV). | |
# | |
# This attribute is available on GPUs that support | |
# NV_CTRL_GPU_OVER_VOLTAGE_OFFSET. | |
# | |
NV_CTRL_GPU_CURRENT_CORE_VOLTAGE = 413 # R--G | |
# | |
# NV_CTRL_CURRENT_COLOR_SPACE - Returns the current color space of the video | |
# signal. | |
# | |
# This will match NV_CTRL_COLOR_SPACE unless the current mode on this display | |
# device is an HDMI 2.0 4K@60Hz mode and the display device or GPU does not | |
# support driving this mode in RGB, in which case YCbCr420 will be returned. | |
# | |
NV_CTRL_CURRENT_COLOR_SPACE = 414 # R-DG | |
NV_CTRL_CURRENT_COLOR_SPACE_RGB = 0 | |
NV_CTRL_CURRENT_COLOR_SPACE_YCbCr422 = 1 | |
NV_CTRL_CURRENT_COLOR_SPACE_YCbCr444 = 2 | |
NV_CTRL_CURRENT_COLOR_SPACE_YCbCr420 = 3 | |
# | |
# NV_CTRL_CURRENT_COLOR_RANGE - Returns the current color range of the video | |
# signal. | |
# | |
NV_CTRL_CURRENT_COLOR_RANGE = 415 # R-DG | |
NV_CTRL_CURRENT_COLOR_RANGE_FULL = 0 | |
NV_CTRL_CURRENT_COLOR_RANGE_LIMITED = 1 | |
# | |
# NV_CTRL_SHOW_GSYNC_VISUAL_INDICATOR - when TRUE, OpenGL will indicate when | |
# G-SYNC is in use for full-screen applications. | |
# | |
NV_CTRL_SHOW_GSYNC_VISUAL_INDICATOR = 416 # RW-X | |
NV_CTRL_SHOW_GSYNC_VISUAL_INDICATOR_FALSE = 0 | |
NV_CTRL_SHOW_GSYNC_VISUAL_INDICATOR_TRUE = 1 | |
# | |
# NV_CTRL_THERMAL_COOLER_CURRENT_LEVEL - Returns cooler's current | |
# operating level. This may fluctuate dynamically. When | |
# NV_CTRL_GPU_COOLER_MANUAL_CONTROL=TRUE, the driver attempts | |
# to make this match NV_CTRL_THERMAL_COOLER_LEVEL. When | |
# NV_CTRL_GPU_COOLER_MANUAL_CONTROL=FALSE, the driver adjusts the | |
# current level based on the needs of the GPU. | |
# | |
NV_CTRL_THERMAL_COOLER_CURRENT_LEVEL = 417 # R--C | |
# | |
# NV_CTRL_STEREO_SWAP_MODE - This attribute controls the swap mode when | |
# Quad-Buffered stereo is used. | |
# NV_CTRL_STEREO_SWAP_MODE_APPLICATION_CONTROL : Stereo swap mode is derived | |
# from the value of swap interval. | |
# If it's odd, the per eye swap mode is used. | |
# If it's even, the per eye pair swap mode is used. | |
# NV_CTRL_STEREO_SWAP_MODE_PER_EYE : The driver swaps each eye as it is ready. | |
# NV_CTRL_STEREO_SWAP_MODE_PER_EYE_PAIR : The driver waits for both eyes to | |
# complete rendering before swapping. | |
# | |
NV_CTRL_STEREO_SWAP_MODE = 418 # RW-X | |
NV_CTRL_STEREO_SWAP_MODE_APPLICATION_CONTROL = 0 | |
NV_CTRL_STEREO_SWAP_MODE_PER_EYE = 1 | |
NV_CTRL_STEREO_SWAP_MODE_PER_EYE_PAIR = 2 | |
# | |
# NV_CTRL_CURRENT_XV_SYNC_TO_DISPLAY_ID - When XVideo Sync To VBlank is | |
# enabled, this returns the display id of the device currently synched to. | |
# Returns NV_CTRL_XV_SYNC_TO_DISPLAY_ID_AUTO if no display is currently | |
# set. | |
# | |
NV_CTRL_CURRENT_XV_SYNC_TO_DISPLAY_ID = 419 # R-- | |
# | |
# NV_CTRL_GPU_FRAMELOCK_FIRMWARE_UNSUPPORTED - Returns true if the | |
# Quadro Sync card connected to this GPU has a firmware version incompatible | |
# with this GPU. | |
# | |
NV_CTRL_GPU_FRAMELOCK_FIRMWARE_UNSUPPORTED = 420 # R--G | |
NV_CTRL_GPU_FRAMELOCK_FIRMWARE_UNSUPPORTED_FALSE = 0 | |
NV_CTRL_GPU_FRAMELOCK_FIRMWARE_UNSUPPORTED_TRUE = 1 | |
# | |
# NV_CTRL_DISPLAYPORT_CONNECTOR_TYPE - Returns the connector type used by | |
# a DisplayPort display. | |
# | |
NV_CTRL_DISPLAYPORT_CONNECTOR_TYPE = 421 # R-DG | |
NV_CTRL_DISPLAYPORT_CONNECTOR_TYPE_UNKNOWN = 0 | |
NV_CTRL_DISPLAYPORT_CONNECTOR_TYPE_DISPLAYPORT = 1 | |
NV_CTRL_DISPLAYPORT_CONNECTOR_TYPE_HDMI = 2 | |
NV_CTRL_DISPLAYPORT_CONNECTOR_TYPE_DVI = 3 | |
NV_CTRL_DISPLAYPORT_CONNECTOR_TYPE_VGA = 4 | |
# | |
# NV_CTRL_DISPLAYPORT_IS_MULTISTREAM - Returns multi-stream support for | |
# DisplayPort displays. | |
# | |
NV_CTRL_DISPLAYPORT_IS_MULTISTREAM = 422 # R-DG | |
# | |
# NV_CTRL_DISPLAYPORT_SINK_IS_AUDIO_CAPABLE - Returns whether a DisplayPort | |
# device supports audio. | |
# | |
NV_CTRL_DISPLAYPORT_SINK_IS_AUDIO_CAPABLE = 423 # R-DG | |
# | |
# NV_CTRL_GPU_NVCLOCK_OFFSET_ALL_PERFORMANCE_LEVELS - This attribute | |
# controls the GPU clock offsets (in MHz) used for overclocking. | |
# The offset is applied to all performance levels. | |
# | |
# Note: To enable overclocking support, set the X configuration | |
# option "Coolbits" to value "8". | |
# | |
# This offset can have any integer value between | |
# NVCTRLAttributeValidValues.u.range.min and | |
# NVCTRLAttributeValidValues.u.range.max (inclusive). | |
# | |
# This attribute is available on GeForce GTX 1000 series and later | |
# Geforce GPUs. | |
# | |
NV_CTRL_GPU_NVCLOCK_OFFSET_ALL_PERFORMANCE_LEVELS = 424 # RW-G | |
# | |
# NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET_ALL_PERFORMANCE_LEVELS - This | |
# attribute controls the memory transfer rate offsets (in MHz) used | |
# for overclocking. The offset is applied to all performance levels. | |
# | |
# Note: To enable overclocking support, set the X configuration | |
# option "Coolbits" to value "8". | |
# | |
# This offset can have any integer value between | |
# NVCTRLAttributeValidValues.u.range.min and | |
# NVCTRLAttributeValidValues.u.range.max (inclusive). | |
# | |
# This attribute is available on GeForce GTX 1000 series and later | |
# Geforce GPUs. | |
# | |
NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET_ALL_PERFORMANCE_LEVELS = 425 # RW-G | |
# | |
# NV_CTRL_FRAMELOCK_FIRMWARE_VERSION - Queries the firmware major version of | |
# the Frame Lock device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK target. | |
# | |
NV_CTRL_FRAMELOCK_FIRMWARE_VERSION = 426 # R--F | |
# | |
# NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION - Queries the firmware minor | |
# version of the Frame Lock device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetAttribute() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK target. | |
# | |
NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION = 427 # R--F | |
# | |
# NV_CTRL_SHOW_GRAPHICS_VISUAL_INDICATOR - when TRUE, graphics APIs will | |
# indicate various runtime information such as flip/blit, vsync status, API | |
# in use. | |
# | |
NV_CTRL_SHOW_GRAPHICS_VISUAL_INDICATOR = 428 # RW-X | |
NV_CTRL_SHOW_GRAPHICS_VISUAL_INDICATOR_FALSE = 0 | |
NV_CTRL_SHOW_GRAPHICS_VISUAL_INDICATOR_TRUE = 1 | |
NV_CTRL_LAST_ATTRIBUTE = NV_CTRL_SHOW_GRAPHICS_VISUAL_INDICATOR | |
############################################################################ | |
# | |
# String Attributes: | |
# | |
# String attributes can be queryied through the XNVCTRLQueryStringAttribute() | |
# and XNVCTRLQueryTargetStringAttribute() function calls. | |
# | |
# String attributes can be set through the XNVCTRLSetStringAttribute() | |
# function call. (There are currently no string attributes that can be | |
# set on non-X Screen targets.) | |
# | |
# Unless otherwise noted, all string attributes can be queried/set using an | |
# NV_CTRL_TARGET_TYPE_X_SCREEN target. Attributes that cannot take an | |
# NV_CTRL_TARGET_TYPE_X_SCREEN target also cannot be queried/set through | |
# XNVCTRLQueryStringAttribute()/XNVCTRLSetStringAttribute() (Since | |
# these assume an X Screen target). | |
# | |
# | |
# NV_CTRL_STRING_PRODUCT_NAME - the product name on which the | |
# specified X screen is running, or the product name of the specified | |
# Frame Lock device. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target to | |
# return the product name of the GPU, or a NV_CTRL_TARGET_TYPE_FRAMELOCK to | |
# return the product name of the Frame Lock device. | |
# | |
NV_CTRL_STRING_PRODUCT_NAME = 0 # R--GF | |
# | |
# NV_CTRL_STRING_VBIOS_VERSION - the video bios version on the GPU on | |
# which the specified X screen is running. | |
# | |
NV_CTRL_STRING_VBIOS_VERSION = 1 # R--G | |
# | |
# NV_CTRL_STRING_NVIDIA_DRIVER_VERSION - string representation of the | |
# NVIDIA driver version number for the NVIDIA X driver in use. | |
# | |
NV_CTRL_STRING_NVIDIA_DRIVER_VERSION = 3 # R--G | |
# | |
# NV_CTRL_STRING_DISPLAY_DEVICE_NAME - name of the display device | |
# specified in the display_mask argument. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_STRING_DISPLAY_DEVICE_NAME = 4 # R-DG | |
# | |
# NV_CTRL_STRING_TV_ENCODER_NAME - not supported | |
# | |
NV_CTRL_STRING_TV_ENCODER_NAME = 5 # not supported | |
# | |
# NV_CTRL_STRING_GVIO_FIRMWARE_VERSION - indicates the version of the | |
# Firmware on the GVIO device. | |
# | |
NV_CTRL_STRING_GVIO_FIRMWARE_VERSION = 8 # R--I | |
# | |
# NV_CTRL_STRING_GVO_FIRMWARE_VERSION - renamed | |
# | |
# NV_CTRL_STRING_GVIO_FIRMWARE_VERSION should be used instead. | |
# | |
NV_CTRL_STRING_GVO_FIRMWARE_VERSION = 8 # renamed | |
# | |
# NV_CTRL_STRING_CURRENT_MODELINE - Return the ModeLine currently | |
# being used by the specified display device. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetStringAttribute() | |
# using an NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
# The ModeLine string may be prepended with a comma-separated list of | |
# "token=value" pairs, separated from the ModeLine string by "::". | |
# This "token=value" syntax is the same as that used in | |
# NV_CTRL_BINARY_DATA_MODELINES | |
# | |
NV_CTRL_STRING_CURRENT_MODELINE = 9 # R-DG | |
# | |
# NV_CTRL_STRING_ADD_MODELINE - Adds a ModeLine to the specified | |
# display device. The ModeLine is not added if validation fails. | |
# | |
# The ModeLine string should have the same syntax as a ModeLine in | |
# the X configuration file; e.g., | |
# | |
# "1600x1200" 229.5 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync | |
# | |
NV_CTRL_STRING_ADD_MODELINE = 10 # -WDG | |
# | |
# NV_CTRL_STRING_DELETE_MODELINE - Deletes an existing ModeLine | |
# from the specified display device. The currently selected | |
# ModeLine cannot be deleted. (This also means you cannot delete | |
# the last ModeLine.) | |
# | |
# The ModeLine string should have the same syntax as a ModeLine in | |
# the X configuration file; e.g., | |
# | |
# "1600x1200" 229.5 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync | |
# | |
NV_CTRL_STRING_DELETE_MODELINE = 11 # -WDG | |
# | |
# NV_CTRL_STRING_CURRENT_METAMODE - Returns the metamode currently | |
# being used by the specified X screen. The MetaMode string has the | |
# same syntax as the MetaMode X configuration option, as documented | |
# in the NVIDIA driver README. | |
# | |
# The returned string may be prepended with a comma-separated list of | |
# "token=value" pairs, separated from the MetaMode string by "::". | |
# This "token=value" syntax is the same as that used in | |
# NV_CTRL_BINARY_DATA_METAMODES. | |
# | |
NV_CTRL_STRING_CURRENT_METAMODE = 12 # RW-- | |
NV_CTRL_STRING_CURRENT_METAMODE_VERSION_1 = NV_CTRL_STRING_CURRENT_METAMODE | |
# | |
# NV_CTRL_STRING_ADD_METAMODE - Adds a MetaMode to the specified | |
# X Screen. | |
# | |
# It is recommended to not use this attribute, but instead use | |
# NV_CTRL_STRING_OPERATION_ADD_METAMODE. | |
# | |
NV_CTRL_STRING_ADD_METAMODE = 13 # -W-- | |
# | |
# NV_CTRL_STRING_DELETE_METAMODE - Deletes an existing MetaMode from | |
# the specified X Screen. The currently selected MetaMode cannot be | |
# deleted. (This also means you cannot delete the last MetaMode). | |
# The MetaMode string should have the same syntax as the MetaMode X | |
# configuration option, as documented in the NVIDIA driver README. | |
# | |
NV_CTRL_STRING_DELETE_METAMODE = 14 # -WD-- | |
# | |
# NV_CTRL_STRING_VCSC_PRODUCT_NAME - deprecated | |
# | |
# Queries the product name of the VCSC device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
NV_CTRL_STRING_VCSC_PRODUCT_NAME = 15 # R---V | |
# | |
# NV_CTRL_STRING_VCSC_PRODUCT_ID - deprecated | |
# | |
# Queries the product ID of the VCSC device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
NV_CTRL_STRING_VCSC_PRODUCT_ID = 16 # R---V | |
# | |
# NV_CTRL_STRING_VCSC_SERIAL_NUMBER - deprecated | |
# | |
# Queries the unique serial number of the VCS device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
NV_CTRL_STRING_VCSC_SERIAL_NUMBER = 17 # R---V | |
# | |
# NV_CTRL_STRING_VCSC_BUILD_DATE - deprecated | |
# | |
# Queries the date of the VCS device. the returned string is in the following | |
# format: "Week.Year" | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
NV_CTRL_STRING_VCSC_BUILD_DATE = 18 # R---V | |
# | |
# NV_CTRL_STRING_VCSC_FIRMWARE_VERSION - deprecated | |
# | |
# Queries the firmware version of the VCS device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
NV_CTRL_STRING_VCSC_FIRMWARE_VERSION = 19 # R---V | |
# | |
# NV_CTRL_STRING_VCSC_FIRMWARE_REVISION - deprecated | |
# | |
# Queries the firmware revision of the VCS device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCS target. | |
# | |
NV_CTRL_STRING_VCSC_FIRMWARE_REVISION = 20 # R---V | |
# | |
# NV_CTRL_STRING_VCSC_HARDWARE_VERSION - deprecated | |
# | |
# Queries the hardware version of the VCS device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
NV_CTRL_STRING_VCSC_HARDWARE_VERSION = 21 # R---V | |
# | |
# NV_CTRL_STRING_VCSC_HARDWARE_REVISION - deprecated | |
# | |
# Queries the hardware revision of the VCS device. | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
NV_CTRL_STRING_VCSC_HARDWARE_REVISION = 22 # R---V | |
# | |
# NV_CTRL_STRING_MOVE_METAMODE - Moves a MetaMode to the specified | |
# index location. The MetaMode must already exist in the X Screen's | |
# list of MetaModes (as returned by the NV_CTRL_BINARY_DATA_METAMODES | |
# attribute). If the index is larger than the number of MetaModes in | |
# the list, the MetaMode is moved to the end of the list. The | |
# MetaMode string should have the same syntax as the MetaMode X | |
# configuration option, as documented in the NVIDIA driver README. | |
# The MetaMode string must be prepended with a comma-separated list | |
# of "token=value" pairs, separated from the MetaMode string by "::". | |
# Currently, the only valid token is "index", which indicates where | |
# in the MetaMode list the MetaMode should be moved to. | |
# | |
# Other tokens may be added in the future. | |
# | |
# E.g., | |
# "index=5 :: CRT-0: 1024x768 @1024x768 +0+0" | |
# | |
NV_CTRL_STRING_MOVE_METAMODE = 23 # -W-- | |
# | |
# NV_CTRL_STRING_VALID_HORIZ_SYNC_RANGES - returns the valid | |
# horizontal sync ranges used to perform mode validation for the | |
# specified display device. The ranges are in the same format as the | |
# "HorizSync" X config option: | |
# | |
# "horizsync-range may be a comma separated list of either discrete | |
# values or ranges of values. A range of values is two values | |
# separated by a dash." | |
# | |
# The values are in kHz. | |
# | |
# Additionally, the string may be prepended with a comma-separated | |
# list of "token=value" pairs, separated from the HorizSync string by | |
# "::". Valid tokens: | |
# | |
# Token Value | |
# "source" "edid" - HorizSync is from the display device's EDID | |
# "xconfig" - HorizSync is from the "HorizSync" entry in | |
# the Monitor section of the X config file | |
# "option" - HorizSync is from the "HorizSync" NVIDIA X | |
# config option | |
# "builtin" - HorizSync is from NVIDIA X driver builtin | |
# default values | |
# | |
# Additional tokens and/or values may be added in the future. | |
# | |
# Example: "source=edid :: 30.000-62.000" | |
# | |
NV_CTRL_STRING_VALID_HORIZ_SYNC_RANGES = 24 # R-DG | |
# | |
# NV_CTRL_STRING_VALID_VERT_REFRESH_RANGES - returns the valid | |
# vertical refresh ranges used to perform mode validation for the | |
# specified display device. The ranges are in the same format as the | |
# "VertRefresh" X config option: | |
# | |
# "vertrefresh-range may be a comma separated list of either discrete | |
# values or ranges of values. A range of values is two values | |
# separated by a dash." | |
# | |
# The values are in Hz. | |
# | |
# Additionally, the string may be prepended with a comma-separated | |
# list of "token=value" pairs, separated from the VertRefresh string by | |
# "::". Valid tokens: | |
# | |
# Token Value | |
# "source" "edid" - VertRefresh is from the display device's EDID | |
# "xconfig" - VertRefresh is from the "VertRefresh" entry in | |
# the Monitor section of the X config file | |
# "option" - VertRefresh is from the "VertRefresh" NVIDIA X | |
# config option | |
# "builtin" - VertRefresh is from NVIDIA X driver builtin | |
# default values | |
# | |
# Additional tokens and/or values may be added in the future. | |
# | |
# Example: "source=edid :: 50.000-75.000" | |
# | |
NV_CTRL_STRING_VALID_VERT_REFRESH_RANGES = 25 # R-DG | |
# | |
# NV_CTRL_STRING_SCREEN_RECTANGLE - returns the physical X Screen's | |
# initial position and size (in absolute coordinates) within the | |
# desktop as the "token=value" string: "x=#, y=#, width=#, height=#" | |
# | |
# Querying this attribute returns success only when Xinerama is enabled | |
# or the X server ABI is greater than equal to 12. | |
# | |
NV_CTRL_STRING_SCREEN_RECTANGLE = 26 # R--- | |
# | |
# NV_CTRL_STRING_XINERAMA_SCREEN_INFO - renamed | |
# | |
# NV_CTRL_STRING_SCREEN_RECTANGLE should be used instead. | |
# | |
NV_CTRL_STRING_XINERAMA_SCREEN_INFO = 26 # renamed | |
# | |
# NV_CTRL_STRING_TWINVIEW_XINERAMA_INFO_ORDER - used to specify the | |
# order that display devices will be returned via Xinerama when | |
# nvidiaXineramaInfo is enabled. Follows the same syntax as the | |
# nvidiaXineramaInfoOrder X config option. | |
# | |
NV_CTRL_STRING_NVIDIA_XINERAMA_INFO_ORDER = 27 # RW-- | |
NV_CTRL_STRING_TWINVIEW_XINERAMA_INFO_ORDER = NV_CTRL_STRING_NVIDIA_XINERAMA_INFO_ORDER # for backwards compatibility: | |
# | |
# NV_CTRL_STRING_SLI_MODE - returns a string describing the current | |
# SLI mode, if any, or FALSE if SLI is not currently enabled. | |
# | |
# This string should be used for informational purposes only, and | |
# should not be used to distinguish between SLI modes, other than to | |
# recognize when SLI is disabled (FALSE is returned) or | |
# enabled (the returned string is non-NULL and describes the current | |
# SLI configuration). | |
# | |
NV_CTRL_STRING_SLI_MODE = 28 # R---*/ | |
# | |
# NV_CTRL_STRING_PERFORMANCE_MODES - returns a string with all the | |
# performance modes defined for this GPU along with their associated | |
# NV Clock and Memory Clock values. | |
# Not all tokens will be reported on all GPUs, and additional tokens | |
# may be added in the future. | |
# For backwards compatibility we still provide nvclock, memclock, and | |
# processorclock those are the same as nvclockmin, memclockmin and | |
# processorclockmin. | |
# | |
# Note: These clock values take into account the offset | |
# set by clients through NV_CTRL_GPU_NVCLOCK_OFFSET and | |
# NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET. | |
# | |
# Each performance modes are returned as a comma-separated list of | |
# "token=value" pairs. Each set of performance mode tokens are separated | |
# by a ";". Valid tokens: | |
# | |
# Token Value | |
# "perf" integer - the Performance level | |
# "nvclock" integer - the GPU clocks (in MHz) for the perf level | |
# "nvclockmin" integer - the GPU clocks min (in MHz) for the perf level | |
# "nvclockmax" integer - the GPU clocks max (in MHz) for the perf level | |
# "nvclockeditable" integer - if the GPU clock domain is editable | |
# for the perf level | |
# "memclock" integer - the memory clocks (in MHz) for the perf level | |
# "memclockmin" integer - the memory clocks min (in MHz) for the perf level | |
# "memclockmax" integer - the memory clocks max (in MHz) for the perf level | |
# "memclockeditable" integer - if the memory clock domain is editable | |
# for the perf level | |
# "memtransferrate" integer - the memory transfer rate (in MHz) | |
# for the perf level | |
# "memtransferratemin" integer - the memory transfer rate min (in MHz) | |
# for the perf level | |
# "memtransferratemax" integer - the memory transfer rate max (in MHz) | |
# for the perf level | |
# "memtransferrateeditable" integer - if the memory transfer rate is editable | |
# for the perf level | |
# "processorclock" integer - the processor clocks (in MHz) | |
# for the perf level | |
# "processorclockmin" integer - the processor clocks min (in MHz) | |
# for the perf level | |
# "processorclockmax" integer - the processor clocks max (in MHz) | |
# for the perf level | |
# "processorclockeditable" integer - if the processor clock domain is editable | |
# for the perf level | |
# | |
# Example: | |
# | |
# perf=0, nvclock=324, nvclockmin=324, nvclockmax=324, nvclockeditable=0, | |
# memclock=324, memclockmin=324, memclockmax=324, memclockeditable=0, | |
# memtransferrate=648, memtransferratemin=648, memtransferratemax=648, | |
# memtransferrateeditable=0 ; | |
# perf=1, nvclock=324, nvclockmin=324, nvclockmax=640, nvclockeditable=0, | |
# memclock=810, memclockmin=810, memclockmax=810, memclockeditable=0, | |
# memtransferrate=1620, memtransferrate=1620, memtransferrate=1620, | |
# memtransferrateeditable=0 ; | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_STRING_PERFORMANCE_MODES = 29 # R--G | |
# | |
# NV_CTRL_STRING_VCSC_FAN_STATUS - deprecated | |
# | |
# Returns a string with status of all the fans in the Visual Computing System, | |
# if such a query is supported. Fan information is reported along with its | |
# tachometer reading (in RPM) and a flag indicating whether the fan has failed | |
# or not. | |
# | |
# Valid tokens: | |
# | |
# Token Value | |
# "fan" integer - the Fan index | |
# "speed" integer - the tachometer reading of the fan in rpm | |
# "fail" integer - flag to indicate whether the fan has failed | |
# | |
# Example: | |
# | |
# fan=0, speed=694, fail=0 ; fan=1, speed=693, fail=0 | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
# | |
NV_CTRL_STRING_VCSC_FAN_STATUS = 30 # R---V | |
# | |
# NV_CTRL_STRING_VCSC_TEMPERATURES - Deprecated | |
# | |
# Returns a string with all Temperature readings in the Visual Computing | |
# System, if such a query is supported. Intake, Exhaust and Board Temperature | |
# values are reported in Celcius. | |
# | |
# Valid tokens: | |
# | |
# Token Value | |
# "intake" integer - the intake temperature for the VCS | |
# "exhaust" integer - the exhaust temperature for the VCS | |
# "board" integer - the board temperature of the VCS | |
# | |
# Example: | |
# | |
# intake=29, exhaust=46, board=41 | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
# | |
NV_CTRL_STRING_VCSC_TEMPERATURES = 31 # R---V | |
# | |
# NV_CTRL_STRING_VCSC_PSU_INFO - Deprecated | |
# | |
# Returns a string with all Power Supply Unit related readings in the Visual | |
# Computing System, if such a query is supported. Current in amperes, Power | |
# in watts, Voltage in volts and PSU state may be reported. Not all PSU types | |
# support all of these values, and therefore some readings may be unknown. | |
# | |
# Valid tokens: | |
# | |
# Token Value | |
# "current" integer - the current drawn in amperes by the VCS | |
# "power" integer - the power drawn in watts by the VCS | |
# "voltage" integer - the voltage reading of the VCS | |
# "state" integer - flag to indicate whether PSU is operating normally | |
# | |
# Example: | |
# | |
# current=10, power=15, voltage=unknown, state=normal | |
# | |
# This attribute must be queried through XNVCTRLQueryTargetStringAttribute() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. | |
# | |
# | |
NV_CTRL_STRING_VCSC_PSU_INFO = 32 # R---V | |
# | |
# NV_CTRL_STRING_GVIO_VIDEO_FORMAT_NAME - query the name for the specified | |
# NV_CTRL_GVIO_VIDEO_FORMAT_*. So that this can be queried with existing | |
# interfaces, XNVCTRLQueryStringAttribute() should be used, and the video | |
# format specified in the display_mask field; eg: | |
# | |
# XNVCTRLQueryStringAttribute(dpy, | |
# screen, | |
# NV_CTRL_GVIO_VIDEO_FORMAT_720P_60_00_SMPTE296, | |
# NV_CTRL_GVIO_VIDEO_FORMAT_NAME, | |
# &name); | |
# | |
NV_CTRL_STRING_GVIO_VIDEO_FORMAT_NAME = 33 # R--GI | |
# | |
# NV_CTRL_STRING_GVO_VIDEO_FORMAT_NAME - renamed | |
# | |
# NV_CTRL_STRING_GVIO_VIDEO_FORMAT_NAME should be used instead. | |
# | |
NV_CTRL_STRING_GVO_VIDEO_FORMAT_NAME = 33 # renamed | |
# | |
# NV_CTRL_STRING_GPU_CURRENT_CLOCK_FREQS - returns a string with the | |
# associated NV Clock, Memory Clock and Processor Clock values. | |
# | |
# Current valid tokens are "nvclock", "nvclockmin", "nvclockmax", | |
# "memclock", "memclockmin", "memclockmax", "processorclock", | |
# "processorclockmin" and "processorclockmax". | |
# Not all tokens will be reported on all GPUs, and additional tokens | |
# may be added in the future. | |
# | |
# Note: These clock values take into account the offset | |
# set by clients through NV_CTRL_GPU_NVCLOCK_OFFSET and | |
# NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET. | |
# | |
# Clock values are returned as a comma-separated list of | |
# "token=value" pairs. | |
# Valid tokens: | |
# | |
# Token Value | |
# "nvclock" integer - the GPU clocks (in MHz) for the perf level | |
# "nvclockmin" integer - the GPU clocks min (in MHz) for the perf level | |
# "nvclockmax" integer - the GPU clocks max (in MHz) for the perf level | |
# "nvclockeditable" integer - if the GPU clock domain is editable | |
# for the perf level | |
# "memclock" integer - the memory clocks (in MHz) for the perf level | |
# "memclockmin" integer - the memory clocks min (in MHz) for the perf level | |
# "memclockmax" integer - the memory clocks (max in MHz) for the perf level | |
# "memclockeditable" integer - if the memory clock domain is editable | |
# for the perf level | |
# "memtransferrate" integer - the memory transfer rate (in MHz) | |
# for the perf level | |
# "memtransferratemin" integer - the memory transfer rate min (in MHz) | |
# for the perf level | |
# "memtransferratemax" integer - the memory transfer rate max (in MHz) | |
# for the perf level | |
# "memtransferrateeditable" integer - if the memory transfer rate is editable | |
# for the perf level | |
# "processorclock" integer - the processor clocks (in MHz) | |
# for the perf level | |
# "processorclockmin" integer - the processor clocks min (in MHz) | |
# for the perf level | |
# "processorclockmax" integer - the processor clocks max (in MHz) | |
# for the perf level | |
# "processorclockeditable" integer - if the processor clock domain is editable | |
# for the perf level | |
# | |
# Example: | |
# | |
# nvclock=324, nvclockmin=324, nvclockmax=324, nvclockeditable=0 | |
# memclock=324, memclockmin=324, memclockmax=324, memclockeditable=0 | |
# memtrasferrate=628 | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetStringAttribute() | |
# using an NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_STRING_GPU_CURRENT_CLOCK_FREQS = 34 # RW-G | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_HARDWARE_REVISION - Returns the | |
# hardware revision of the 3D Vision Pro transceiver. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_HARDWARE_REVISION = 35 # R--T | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_VERSION_A - Returns the | |
# firmware version of chip A of the 3D Vision Pro transceiver. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_VERSION_A = 36 # R--T | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_DATE_A - Returns the | |
# date of the firmware of chip A of the 3D Vision Pro transceiver. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_DATE_A = 37 # R--T | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_VERSION_B - Returns the | |
# firmware version of chip B of the 3D Vision Pro transceiver. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_VERSION_B = 38 # R--T | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_DATE_B - Returns the | |
# date of the firmware of chip B of the 3D Vision Pro transceiver. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_DATE_B = 39 # R--T | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_ADDRESS - Returns the RF address | |
# of the 3D Vision Pro transceiver. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_ADDRESS = 40 # R--T | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_GLASSES_FIRMWARE_VERSION_A - Returns the | |
# firmware version of chip A of the glasses. | |
# Use the display_mask parameter to specify the glasses id. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_GLASSES_FIRMWARE_VERSION_A = 41 # R--T | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_GLASSES_FIRMWARE_DATE_A - Returns the | |
# date of the firmware of chip A of the glasses. | |
# Use the display_mask parameter to specify the glasses id. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_GLASSES_FIRMWARE_DATE_A = 42 # R--T | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_GLASSES_ADDRESS - Returns the RF address | |
# of the glasses. | |
# Use the display_mask parameter to specify the glasses id. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_GLASSES_ADDRESS = 43 # R--T | |
# | |
# NV_CTRL_STRING_3D_VISION_PRO_GLASSES_NAME - Controls the name the | |
# glasses should use. | |
# Use the display_mask parameter to specify the glasses id. | |
# Glasses' name should start and end with an alpha-numeric character. | |
# | |
NV_CTRL_STRING_3D_VISION_PRO_GLASSES_NAME = 44 # RW-T | |
# | |
# NV_CTRL_STRING_CURRENT_METAMODE_VERSION_2 - Returns the metamode currently | |
# being used by the specified X screen. The MetaMode string has the same | |
# syntax as the MetaMode X configuration option, as documented in the NVIDIA | |
# driver README. Also, see NV_CTRL_BINARY_DATA_METAMODES_VERSION_2 for more | |
# details on the base syntax. | |
# | |
# The returned string may also be prepended with a comma-separated list of | |
# "token=value" pairs, separated from the MetaMode string by "::". | |
# | |
NV_CTRL_STRING_CURRENT_METAMODE_VERSION_2 = 45 # RW-- | |
# | |
# NV_CTRL_STRING_DISPLAY_NAME_TYPE_BASENAME - Returns a type name for the | |
# display device ("CRT", "DFP", or "TV"). However, note that the determination | |
# of the name is based on the protocol through which the X driver communicates | |
# to the display device. E.g., if the driver communicates using VGA ,then the | |
# basename is "CRT"; if the driver communicates using TMDS, LVDS, or DP, then | |
# the name is "DFP". | |
# | |
NV_CTRL_STRING_DISPLAY_NAME_TYPE_BASENAME = 46 # R-D- | |
# | |
# NV_CTRL_STRING_DISPLAY_NAME_TYPE_ID - Returns the type-based name + ID for | |
# the display device, e.g. "CRT-0", "DFP-1", "TV-2". If this device is a | |
# DisplayPort multistream device, then this name will also be prepended with the | |
# device's port address like so: "DFP-1.0.1.2.3". See | |
# NV_CTRL_STRING_DISPLAY_NAME_TYPE_BASENAME for more information about the | |
# construction of type-based names. | |
# | |
NV_CTRL_STRING_DISPLAY_NAME_TYPE_ID = 47 # R-D- | |
# | |
# NV_CTRL_STRING_DISPLAY_NAME_DP_GUID - Returns the GUID of the DisplayPort | |
# display device. e.g. "DP-GUID-f16a5bde-79f3-11e1-b2ae-8b5a8969ba9c" | |
# | |
# The display device must be a DisplayPort 1.2 device. | |
# | |
NV_CTRL_STRING_DISPLAY_NAME_DP_GUID = 48 # R-D- | |
# | |
# NV_CTRL_STRING_DISPLAY_NAME_EDID_HASH - Returns the SHA-1 hash of the | |
# display device's EDID in 8-4-4-4-12 UID format. e.g. | |
# "DPY-EDID-f16a5bde-79f3-11e1-b2ae-8b5a8969ba9c" | |
# | |
# The display device must have a valid EDID. | |
# | |
NV_CTRL_STRING_DISPLAY_NAME_EDID_HASH = 49 # R-D- | |
# | |
# NV_CTRL_STRING_DISPLAY_NAME_TARGET_INDEX - Returns the current NV-CONTROL | |
# target ID (name) of the display device. e.g. "DPY-1", "DPY-4" | |
# | |
# This name for the display device is not guarenteed to be the same between | |
# different runs of the X server. | |
# | |
NV_CTRL_STRING_DISPLAY_NAME_TARGET_INDEX = 50 # R-D- | |
# | |
# NV_CTRL_STRING_DISPLAY_NAME_RANDR - Returns the RandR output name for the | |
# display device. e.g. "VGA-1", "DVI-I-0", "DVI-D-3", "LVDS-1", "DP-2", | |
# "HDMI-3", "eDP-6". This name should match If this device is a DisplayPort | |
# 1.2 device, then this name will also be prepended with the device's port | |
# address like so: "DVI-I-3.0.1.2.3" | |
# | |
NV_CTRL_STRING_DISPLAY_NAME_RANDR = 51 # R-D- | |
# | |
# NV_CTRL_STRING_GPU_UUID - Returns the UUID of the given GPU. | |
# | |
NV_CTRL_STRING_GPU_UUID = 52 # R--G | |
# | |
# NV_CTRL_STRING_GPU_UTILIZATION - Returns the current percentage usage | |
# of the various components of the GPU. | |
# | |
# Current valid tokens are "graphics", "memory", "video" and "PCIe". | |
# Not all tokens will be reported on all GPUs, and additional tokens | |
# may be added in the future. | |
# | |
# Utilization values are returned as a comma-separated list of | |
# "token=value" pairs. | |
# Valid tokens: | |
# | |
# Token Value | |
# "graphics" integer - the percentage usage of graphics engine. | |
# "memory" integer - the percentage usage of FB. | |
# "video" integer - the percentage usage of video engine. | |
# "PCIe" integer - the percentage usage of PCIe bandwidth. | |
# | |
# | |
# Example: | |
# | |
# graphics=45, memory=6, video=0, PCIe=0 | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetStringAttribute() | |
# using an NV_CTRL_TARGET_TYPE_GPU. | |
# | |
NV_CTRL_STRING_GPU_UTILIZATION = 53 # R--G | |
# | |
# NV_CTRL_STRING_MULTIGPU_MODE - returns a string describing the current | |
# MULTIGPU mode, if any, or FALSE if MULTIGPU is not currently enabled. | |
# | |
NV_CTRL_STRING_MULTIGPU_MODE = 54 # R--- | |
# | |
# NV_CTRL_STRING_PRIME_OUTPUTS_DATA - returns a semicolon delimited list of | |
# strings that describe all PRIME configured displays. | |
# | |
# ex. "xpos=1920, ypos=0, width=1280, height=1024, screen=0;xpos=3200, | |
# ypos=0, width=800, height=600, screen=0;" | |
# | |
NV_CTRL_STRING_PRIME_OUTPUTS_DATA = 55 # R--- | |
NV_CTRL_STRING_LAST_ATTRIBUTE = NV_CTRL_STRING_PRIME_OUTPUTS_DATA | |
############################################################################ | |
# | |
# Binary Data Attributes: | |
# | |
# Binary data attributes can be queryied through the XNVCTRLQueryBinaryData() | |
# and XNVCTRLQueryTargetBinaryData() function calls. | |
# | |
# There are currently no binary data attributes that can be set. | |
# | |
# Unless otherwise noted, all Binary data attributes can be queried | |
# using an NV_CTRL_TARGET_TYPE_X_SCREEN target. Attributes that cannot take | |
# an NV_CTRL_TARGET_TYPE_X_SCREEN target also cannot be queried through | |
# XNVCTRLQueryBinaryData() (Since an X Screen target is assumed). | |
# | |
# | |
# NV_CTRL_BINARY_DATA_EDID - Returns a display device's EDID information | |
# data. | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
NV_CTRL_BINARY_DATA_EDID = 0 # R-DG | |
# | |
# NV_CTRL_BINARY_DATA_MODELINES - Returns a display device's supported | |
# ModeLines. ModeLines are returned in a buffer, separated by a single | |
# '\0' and terminated by two consecutive '\0' s like so: | |
# | |
# "ModeLine 1\0ModeLine 2\0ModeLine 3\0Last ModeLine\0\0" | |
# | |
# This attribute may be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
# Each ModeLine string may be prepended with a comma-separated list | |
# of "token=value" pairs, separated from the ModeLine string with a | |
# "::". Valid tokens: | |
# | |
# Token Value | |
# "source" "xserver" - the ModeLine is from the core X server | |
# "xconfig" - the ModeLine was specified in the X config file | |
# "builtin" - the NVIDIA driver provided this builtin ModeLine | |
# "vesa" - this is a VESA standard ModeLine | |
# "edid" - the ModeLine was in the display device's EDID | |
# "nv-control" - the ModeLine was specified via NV-CONTROL | |
# | |
# "xconfig-name" - for ModeLines that were specified in the X config | |
# file, this is the name the X config file | |
# gave for the ModeLine. | |
# | |
# Note that a ModeLine can have several sources; the "source" token | |
# can appear multiple times in the "token=value" pairs list. | |
# Additional source values may be specified in the future. | |
# | |
# Additional tokens may be added in the future, so it is recommended | |
# that any token parser processing the returned string from | |
# NV_CTRL_BINARY_DATA_MODELINES be implemented to gracefully ignore | |
# unrecognized tokens. | |
# | |
# E.g., | |
# | |
# "source=xserver, source=vesa, source=edid :: "1024x768_70" 75.0 1024 1048 1184 1328 768 771 777 806 -HSync -VSync" | |
# "source=xconfig, xconfig-name=1600x1200_60.00 :: "1600x1200_60_0" 161.0 1600 1704 1880 2160 1200 1201 1204 1242 -HSync +VSync" | |
# | |
NV_CTRL_BINARY_DATA_MODELINES = 1 # R-DG | |
# | |
# NV_CTRL_BINARY_DATA_METAMODES - Returns an X Screen's supported | |
# MetaModes. MetaModes are returned in a buffer separated by a | |
# single '\0' and terminated by two consecutive '\0' s like so: | |
# | |
# "MetaMode 1\0MetaMode 2\0MetaMode 3\0Last MetaMode\0\0" | |
# | |
# The MetaMode string should have the same syntax as the MetaMode X | |
# configuration option, as documented in the NVIDIA driver README. | |
# Each MetaMode string may be prepended with a comma-separated list | |
# of "token=value" pairs, separated from the MetaMode string with | |
# "::". Currently, valid tokens are: | |
# | |
# Token Value | |
# "id" <number> - the id of this MetaMode; this is stored in | |
# the Vertical Refresh field, as viewed | |
# by the XRandR and XF86VidMode X# | |
# extensions. | |
# | |
# "switchable" "yes"/"no" - whether this MetaMode may be switched to via | |
# ctrl-alt-+/-; Implicit MetaModes (see | |
# the "IncludeImplicitMetaModes" X | |
# config option), for example, are not | |
# normally made available through | |
# ctrl-alt-+/-. | |
# | |
# "source" "xconfig" - the MetaMode was specified in the X | |
# config file. | |
# "implicit" - the MetaMode was implicitly added; see the | |
# "IncludeImplicitMetaModes" X config option | |
# for details. | |
# "nv-control" - the MetaMode was added via the NV-CONTROL X | |
# extension to the currently running X server. | |
# "RandR" - the MetaMode was modified in response to an | |
# RandR RRSetCrtcConfig request. | |
# | |
# Additional tokens may be added in the future, so it is recommended | |
# that any token parser processing the returned string from | |
# NV_CTRL_BINARY_DATA_METAMODES be implemented to gracefully ignore | |
# unrecognized tokens. | |
# | |
# E.g., | |
# | |
# "id=50, switchable=yes, source=xconfig :: CRT-0: 1024x768 @1024x768 +0+0" | |
# | |
NV_CTRL_BINARY_DATA_METAMODES = 2 # R-D- | |
NV_CTRL_BINARY_DATA_METAMODES_VERSION_1 = NV_CTRL_BINARY_DATA_METAMODES | |
# | |
# NV_CTRL_BINARY_DATA_XSCREENS_USING_GPU - Returns the list of X | |
# screens currently driven by the given GPU. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of screens | |
# 4# n CARD32 screen indices | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_GPU target. This attribute cannot be | |
# queried using a NV_CTRL_TARGET_TYPE_X_SCREEN. | |
# | |
NV_CTRL_BINARY_DATA_XSCREENS_USING_GPU = 3 # R-DG | |
# | |
# NV_CTRL_BINARY_DATA_GPUS_USED_BY_XSCREEN - Returns the list of GPUs | |
# currently in use by the given X screen. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of GPUs | |
# 4# n CARD32 GPU indices | |
# | |
NV_CTRL_BINARY_DATA_GPUS_USED_BY_XSCREEN = 4 # R--- | |
# | |
# NV_CTRL_BINARY_DATA_GPUS_USING_FRAMELOCK - Returns the list of | |
# GPUs currently connected to the given frame lock board. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of GPUs | |
# 4# n CARD32 GPU indices | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_FRAMELOCK target. This attribute cannot be | |
# queried using a NV_CTRL_TARGET_TYPE_X_SCREEN. | |
# | |
NV_CTRL_BINARY_DATA_GPUS_USING_FRAMELOCK = 5 # R-DF | |
# | |
# NV_CTRL_BINARY_DATA_DISPLAY_VIEWPORT - Returns the Display Device's | |
# viewport box into the given X Screen (in X Screen coordinates.) | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 Offset X | |
# 4 CARD32 Offset Y | |
# 4 CARD32 Width | |
# 4 CARD32 Height | |
# | |
NV_CTRL_BINARY_DATA_DISPLAY_VIEWPORT = 6 # R-DG | |
# | |
# NV_CTRL_BINARY_DATA_FRAMELOCKS_USED_BY_GPU - Returns the list of | |
# Framelock devices currently connected to the given GPU. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of Framelocks | |
# 4# n CARD32 Framelock indices | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_GPU target. This attribute cannot be | |
# queried using a NV_CTRL_TARGET_TYPE_X_SCREEN. | |
# | |
NV_CTRL_BINARY_DATA_FRAMELOCKS_USED_BY_GPU = 7 # R-DG | |
# | |
# NV_CTRL_BINARY_DATA_GPUS_USING_VCSC - Deprecated | |
# | |
# Returns the list of GPU devices connected to the given VCS. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of GPUs | |
# 4# n CARD32 GPU indices | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_VCSC target. This attribute cannot be | |
# queried using a NV_CTRL_TARGET_TYPE_X_SCREEN and cannot be queried using | |
# a NV_CTRL_TARGET_TYPE_X_GPU | |
# | |
NV_CTRL_BINARY_DATA_GPUS_USING_VCSC = 8 # R-DV | |
# | |
# NV_CTRL_BINARY_DATA_VCSCS_USED_BY_GPU - Deprecated | |
# | |
# Returns the VCSC device that is controlling the given GPU. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of VCS (always 1) | |
# 4# n CARD32 VCS indices | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_GPU target. This attribute cannot be | |
# queried using a NV_CTRL_TARGET_TYPE_X_SCREEN | |
# | |
NV_CTRL_BINARY_DATA_VCSCS_USED_BY_GPU = 9 # R-DG | |
# | |
# NV_CTRL_BINARY_DATA_COOLERS_USED_BY_GPU - Returns the coolers that | |
# are cooling the given GPU. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of COOLER | |
# 4# n CARD32 COOLER indices | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_GPU target. This attribute cannot be | |
# queried using a NV_CTRL_TARGET_TYPE_X_SCREEN | |
# | |
NV_CTRL_BINARY_DATA_COOLERS_USED_BY_GPU = 10 # R-DG | |
# | |
# NV_CTRL_BINARY_DATA_GPUS_USED_BY_LOGICAL_XSCREEN - Returns the list of | |
# GPUs currently driving the given X screen. If Xinerama is enabled, this | |
# will return all GPUs that are driving any X screen. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of GPUs | |
# 4# n CARD32 GPU indices | |
# | |
NV_CTRL_BINARY_DATA_GPUS_USED_BY_LOGICAL_XSCREEN = 11 # R--- | |
# | |
# NV_CTRL_BINARY_DATA_THERMAL_SENSORS_USED_BY_GPU - Returns the sensors that | |
# are attached to the given GPU. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of SENSOR | |
# 4# n CARD32 SENSOR indices | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_GPU target. This attribute cannot be | |
# queried using a NV_CTRL_TARGET_TYPE_X_SCREEN | |
# | |
NV_CTRL_BINARY_DATA_THERMAL_SENSORS_USED_BY_GPU = 12 # R--G | |
# | |
# NV_CTRL_BINARY_DATA_GLASSES_PAIRED_TO_3D_VISION_PRO_TRANSCEIVER - Returns | |
# the id of the glasses that are currently paired to the given | |
# 3D Vision Pro transceiver. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of glasses | |
# 4# n CARD32 id of glasses | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_3D_VISION_PRO_TRANSCEIVER target. | |
# | |
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(). | |
# | |
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. | |
# | |
NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU = 15 # R--G | |
# | |
# NV_CTRL_BINARY_DATA_METAMODES_VERSION_2 - Returns values similar to | |
# NV_CTRL_BINARY_DATA_METAMODES(_VERSION_1) but also returns extended syntax | |
# information to indicate a specific display device, as well as other per- | |
# display deviceflags as "token=value" pairs. For example: | |
# | |
# "DPY-1: 1280x1024 {Stereo=PassiveLeft}, | |
# DPY-2: 1280x1024 {Stereo=PassiveRight}," | |
# | |
# The display device names have the form "DPY-%d", where the integer | |
# part of the name is the NV-CONTROL target ID for that display device | |
# for this instance of the X server. Note that display device NV-CONTROL | |
# target IDs are not guaranteed to be the same from one run of the X | |
# server to the next. | |
# | |
NV_CTRL_BINARY_DATA_METAMODES_VERSION_2 = 16 # R-D- | |
# | |
# NV_CTRL_BINARY_DATA_DISPLAYS_ENABLED_ON_XSCREEN - Returns the list of | |
# display devices that are currently scanning out the X screen 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_X_SCREEN target. | |
# | |
NV_CTRL_BINARY_DATA_DISPLAYS_ENABLED_ON_XSCREEN = 17 # R--- | |
# | |
# NV_CTRL_BINARY_DATA_DISPLAYS_ASSIGNED_TO_XSCREEN - Returns the list of | |
# display devices that are currently assigned the X screen 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_X_SCREEN target. | |
# | |
NV_CTRL_BINARY_DATA_DISPLAYS_ASSIGNED_TO_XSCREEN = 18 # R--- | |
# | |
# NV_CTRL_BINARY_DATA_GPU_FLAGS - Returns a list of flags for the | |
# given GPU. A flag can, for instance, be a capability which enables | |
# or disables some features according to the GPU state. | |
# | |
# The format of the returned data is: | |
# | |
# 4 CARD32 number of GPU flags | |
# 4# n CARD32 GPU flag | |
# | |
# This attribute can only be queried through XNVCTRLQueryTargetBinaryData() | |
# using a NV_CTRL_TARGET_TYPE_GPU target. | |
# | |
NV_CTRL_BINARY_DATA_GPU_FLAGS = 19 # R--- | |
# Stereo and display composition transformations are mutually exclusive. | |
NV_CTRL_BINARY_DATA_GPU_FLAGS_STEREO_DISPLAY_TRANSFORM_EXCLUSIVE = 0 | |
# Overlay and display composition transformations are mutually exclusive. | |
NV_CTRL_BINARY_DATA_GPU_FLAGS_OVERLAY_DISPLAY_TRANSFORM_EXCLUSIVE = 1 | |
# Depth 8 and display composition transformations are mutually exclusive. | |
NV_CTRL_BINARY_DATA_GPU_FLAGS_DEPTH_8_DISPLAY_TRANSFORM_EXCLUSIVE = 2 | |
# | |
# NV_CTRL_BINARY_DATA_DISPLAYS_ON_GPU - Returns the list of valid | |
# display devices that can be 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. | |
# | |
NV_CTRL_BINARY_DATA_DISPLAYS_ON_GPU = 20 # R--G | |
NV_CTRL_BINARY_DATA_LAST_ATTRIBUTE = NV_CTRL_BINARY_DATA_DISPLAYS_ON_GPU | |
############################################################################ | |
# | |
# String Operation Attributes: | |
# | |
# These attributes are used with the XNVCTRLStringOperation() | |
# function; a string is specified as input, and a string is returned | |
# as output. | |
# | |
# Unless otherwise noted, all attributes can be operated upon using | |
# an NV_CTRL_TARGET_TYPE_X_SCREEN target. | |
# | |
# | |
# NV_CTRL_STRING_OPERATION_ADD_METAMODE - provide a MetaMode string | |
# as input, and returns a string containing comma-separated list of | |
# "token=value" pairs as output. Currently, the only output token is | |
# "id", which indicates the id that was assigned to the MetaMode. | |
# | |
# All ModeLines referenced in the MetaMode must already exist for | |
# each display device (as returned by the | |
# NV_CTRL_BINARY_DATA_MODELINES attribute). | |
# | |
# The MetaMode string should have the same syntax as the MetaMode X | |
# configuration option, as documented in the NVIDIA driver README. | |
# | |
# The input string can optionally be prepended with a string of | |
# comma-separated "token=value" pairs, separated from the MetaMode | |
# string by "::". Currently, the only valid token is "index" which | |
# indicates the insertion index for the MetaMode. | |
# | |
# E.g., | |
# | |
# Input: "index=5 :: 1600x1200+0+0, 1600x1200+1600+0" | |
# Output: "id=58" | |
# | |
# which causes the MetaMode to be inserted at position 5 in the | |
# MetaMode list (all entries after 5 will be shifted down one slot in | |
# the list), and the X server's containing mode stores 58 as the | |
# VRefresh, so that the MetaMode can be uniquely identifed through | |
# XRandR and XF86VidMode. | |
# | |
NV_CTRL_STRING_OPERATION_ADD_METAMODE = 0 # ---- | |
# | |
# NV_CTRL_STRING_OPERATION_GTF_MODELINE - provide as input a string | |
# of comma-separated "token=value" pairs, and returns a ModeLine | |
# string, computed using the GTF formula using the parameters from | |
# the input string. Valid tokens for the input string are "width", | |
# "height", and "refreshrate". | |
# | |
# E.g., | |
# | |
# Input: "width=1600, height=1200, refreshrate=60" | |
# Output: "160.96 1600 1704 1880 2160 1200 1201 1204 1242 -HSync +VSync" | |
# | |
# This operation does not have any impact on any display device's | |
# modePool, and the ModeLine is not validated; it is simply intended | |
# for generating ModeLines. | |
# | |
NV_CTRL_STRING_OPERATION_GTF_MODELINE = 1 # --- | |
# | |
# NV_CTRL_STRING_OPERATION_CVT_MODELINE - provide as input a string | |
# of comma-separated "token=value" pairs, and returns a ModeLine | |
# string, computed using the CVT formula using the parameters from | |
# the input string. Valid tokens for the input string are "width", | |
# "height", "refreshrate", and "reduced-blanking". The | |
# "reduced-blanking" argument can be "0" or "1", to enable or disable | |
# use of reduced blanking for the CVT formula. | |
# | |
# E.g., | |
# | |
# Input: "width=1600, height=1200, refreshrate=60, reduced-blanking=1" | |
# Output: "130.25 1600 1648 1680 1760 1200 1203 1207 1235 +HSync -VSync" | |
# | |
# This operation does not have any impact on any display device's | |
# modePool, and the ModeLine is not validated; it is simply intended | |
# for generating ModeLines. | |
# | |
NV_CTRL_STRING_OPERATION_CVT_MODELINE = 2 # --- | |
# | |
# NV_CTRL_STRING_OPERATION_BUILD_MODEPOOL - build a ModePool for the | |
# specified display device on the specified target (either an X | |
# screen or a GPU). This is typically used to generate a ModePool | |
# for a display device on a GPU on which no X screens are present. | |
# | |
# Currently, a display device's ModePool is static for the life of | |
# the X server, so XNVCTRLStringOperation will return FALSE if | |
# requested to build a ModePool on a display device that already has | |
# a ModePool. | |
# | |
# The string input to BUILD_MODEPOOL may be NULL. If it is not NULL, | |
# then it is interpreted as a double-colon ("::") separated list | |
# of "option=value" pairs, where the options and the syntax of their | |
# values are the X configuration options that impact the behavior of | |
# modePool construction; namely: | |
# | |
# "ModeValidation" | |
# "HorizSync" | |
# "VertRefresh" | |
# "FlatPanelProperties" | |
# "ExactModeTimingsDVI" | |
# "UseEdidFreqs" | |
# | |
# An example input string might look like: | |
# | |
# "ModeValidation=NoVesaModes :: HorizSync=50-110 :: VertRefresh=50-150" | |
# | |
# This request currently does not return a string. | |
# | |
NV_CTRL_STRING_OPERATION_BUILD_MODEPOOL = 3 # DG | |
# | |
# NV_CTRL_STRING_OPERATION_GVI_CONFIGURE_STREAMS - Configure the streams- | |
# to-jack+channel topology for a GVI (Graphics capture board). | |
# | |
# The string input to GVI_CONFIGURE_STREAMS may be NULL. If this is the | |
# case, then the current topology is returned. | |
# | |
# If the input string to GVI_CONFIGURE_STREAMS is not NULL, the string | |
# is interpreted as a semicolon (";") separated list of comma-separated | |
# lists of "option=value" pairs that define a stream's composition. The | |
# available options and their values are: | |
# | |
# "stream": Defines which stream this comma-separated list describes. | |
# Valid values are the integers between 0 and | |
# NV_CTRL_GVI_NUM_STREAMS-1 (inclusive). | |
# | |
# "linkN": Defines a jack+channel pair to use for the given link N. | |
# Valid options are the string "linkN", where N is an integer | |
# between 0 and NV_CTRL_GVI_MAX_LINKS_PER_STREAM-1 (inclusive). | |
# Valid values for these options are strings of the form | |
# "jackX" and/or "jackX.Y", where X is an integer between 0 and | |
# NV_CTRL_GVI_NUM_JACKS-1 (inclusive), and Y (optional) is an | |
# integer between 0 and NV_CTRL_GVI_MAX_CHANNELS_PER_JACK-1 | |
# (inclusive). | |
# | |
# An example input string might look like: | |
# | |
# "stream=0, link0=jack0, link1=jack1; stream=1, link0=jack2.1" | |
# | |
# This example specifies two streams, stream 0 and stream 1. Stream 0 | |
# is defined to capture link0 data from the first channel (channel 0) of | |
# BNC jack 0 and link1 data from the first channel of BNC jack 1. The | |
# second stream (Stream 1) is defined to capture link0 data from channel 1 | |
# (second channel) of BNC jack 2. | |
# | |
# This example shows a possible configuration for capturing 3G input: | |
# | |
# "stream=0, link0=jack0.0, link1=jack0.1" | |
# | |
# Applications should query the following attributes to determine | |
# possible combinations: | |
# | |
# NV_CTRL_GVI_MAX_STREAMS | |
# NV_CTRL_GVI_MAX_LINKS_PER_STREAM | |
# NV_CTRL_GVI_NUM_JACKS | |
# NV_CTRL_GVI_MAX_CHANNELS_PER_JACK | |
# | |
# Note: A jack+channel pair can only be tied to one link/stream. | |
# | |
# Upon successful configuration or querying of this attribute, a string | |
# representing the current topology for all known streams on the device | |
# will be returned. On failure, NULL is returned. | |
# | |
# Note: Setting this attribute may also result in the following | |
# NV-CONTROL attributes being reset on the GVI device (to ensure | |
# the configuration remains valid): | |
# NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT | |
# NV_CTRL_GVI_REQUESTED_STREAM_BITS_PER_COMPONENT | |
# NV_CTRL_GVI_REQUESTED_STREAM_COMPONENT_SAMPLING | |
# | |
NV_CTRL_STRING_OPERATION_GVI_CONFIGURE_STREAMS = 4 # RW-I | |
# | |
# NV_CTRL_STRING_OPERATION_PARSE_METAMODE - Parses the given MetaMode string | |
# and returns the validated MetaMode string - possibly re-calculating various | |
# values such as ViewPortIn. If the MetaMode matches an existing MetaMode, | |
# the details of the existing MetaMode are returned. If the MetaMode fails to | |
# be parsed, NULL is returned. | |
# | |
NV_CTRL_STRING_OPERATION_PARSE_METAMODE = 5 # R--- | |
NV_CTRL_STRING_OPERATION_LAST_ATTRIBUTE = NV_CTRL_STRING_OPERATION_PARSE_METAMODE | |
############################################################################### | |
# NV-CONTROL major op numbers. these constants identify the request type | |
# | |
X_nvCtrlQueryExtension = 0 | |
X_nvCtrlQueryAttribute = 2 | |
X_nvCtrlQueryStringAttribute = 4 | |
X_nvCtrlQueryValidAttributeValues = 5 | |
X_nvCtrlSetStringAttribute = 9 | |
X_nvCtrlSetAttributeAndGetStatus = 19 | |
X_nvCtrlQueryBinaryData = 20 | |
X_nvCtrlQueryTargetCount = 24 | |
X_nvCtrlStringOperation = 25 | |
############################################################################### | |
# various lists that go with attrs, but are handled more compactly | |
# this way. these lists are indexed by the possible values of their attrs | |
# and are explained in NVCtrl.h | |
# | |
ATTRIBUTE_TYPE_UNKNOWN = 0 | |
ATTRIBUTE_TYPE_INTEGER = 1 | |
ATTRIBUTE_TYPE_BITMASK = 2 | |
ATTRIBUTE_TYPE_BOOL = 3 | |
ATTRIBUTE_TYPE_RANGE = 4 | |
ATTRIBUTE_TYPE_INT_BITS = 5 | |
ATTRIBUTE_TYPE_READ = 0x01 | |
ATTRIBUTE_TYPE_WRITE = 0x02 | |
ATTRIBUTE_TYPE_DISPLAY = 0x04 | |
ATTRIBUTE_TYPE_GPU = 0x08 | |
ATTRIBUTE_TYPE_FRAMELOCK = 0x10 | |
ATTRIBUTE_TYPE_X_SCREEN = 0x20 | |
ATTRIBUTE_TYPE_XINERAMA = 0x40 | |
ATTRIBUTE_TYPE_VCSC = 0x80 | |
############################################################################ | |
# | |
# Attribute Targets | |
# | |
# Targets define attribute groups. For example, some attributes are only | |
# valid to set on a GPU, others are only valid when talking about an | |
# X Screen. Target types are then what is used to identify the target | |
# group of the attribute you wish to set/query. | |
# | |
# Here are the supported target types: | |
# | |
NV_CTRL_TARGET_TYPE_X_SCREEN = 0 | |
NV_CTRL_TARGET_TYPE_GPU = 1 | |
NV_CTRL_TARGET_TYPE_FRAMELOCK = 2 | |
# Visual Computing System - deprecated. To be removed along with all | |
# VCS-specific attributes in a later release. | |
NV_CTRL_TARGET_TYPE_VCSC = 3 | |
NV_CTRL_TARGET_TYPE_GVI = 4 | |
NV_CTRL_TARGET_TYPE_COOLER = 5 # e.g., fan | |
NV_CTRL_TARGET_TYPE_THERMAL_SENSOR = 6 | |
NV_CTRL_TARGET_TYPE_3D_VISION_PRO_TRANSCEIVER = 7 | |
NV_CTRL_TARGET_TYPE_DISPLAY = 8 | |
############################################################################### | |
# Targets, to indicate where a command should be executed. | |
# | |
class Target(object): | |
def __init__(self): | |
self._id = -1 | |
self._type = -1 | |
self._name = '' | |
def id(self): | |
return self._id | |
def type(self): | |
return self._type | |
def __str__(self): | |
return '<nVidia {} #{}>'.format(self._name, self.id()) | |
class Gpu(Target): | |
def __init__(self, ngpu=0): | |
"""Target a GPU""" | |
super(self.__class__, self).__init__() | |
self._id = ngpu | |
self._type = NV_CTRL_TARGET_TYPE_GPU | |
self._name = 'GPU' | |
class Screen(Target): | |
def __init__(self, nscr=0): | |
"""Target an X screen""" | |
super(self.__class__, self).__init__() | |
self._id = nscr | |
self._type = NV_CTRL_TARGET_TYPE_X_SCREEN | |
self._name = 'X screen' | |
class Cooler(Target): | |
def __init__(self, nfan=0): | |
"""Target a fann""" | |
super(self.__class__, self).__init__() | |
self._id = nfan | |
self._type = NV_CTRL_TARGET_TYPE_COOLER | |
self._name = 'Cooler' | |
class NVCtrlQueryTargetCountReplyRequest(rq.ReplyRequest): | |
_request = rq.Struct( | |
rq.Card8('opcode'), | |
rq.Opcode(X_nvCtrlQueryTargetCount), | |
rq.RequestLength(), | |
rq.Card32('target_type'), | |
) | |
_reply = rq.Struct( | |
rq.ReplyCode(), | |
rq.Card8('padb1'), | |
rq.Card16('sequence_number'), | |
rq.ReplyLength(), | |
rq.Card32('count'), | |
rq.Card32('pad4'), | |
rq.Card32('pad5'), | |
rq.Card32('pad6'), | |
rq.Card32('pad7'), | |
rq.Card32('pad8'), | |
) | |
class NVCtrlQueryAttributeReplyRequest(rq.ReplyRequest): | |
_request = rq.Struct( | |
rq.Card8('opcode'), | |
rq.Opcode(X_nvCtrlQueryAttribute), | |
rq.RequestLength(), | |
rq.Card16('target_id'), | |
rq.Card16('target_type'), | |
rq.Card32('display_mask'), | |
rq.Card32('attr'), | |
) | |
_reply = rq.Struct( | |
rq.ReplyCode(), | |
rq.Card8('pad0'), | |
rq.Card16('sequence_number'), | |
rq.ReplyLength(), | |
rq.Card32('flags'), | |
rq.Int32('value'), | |
rq.Card32('pad4'), | |
rq.Card32('pad5'), | |
rq.Card32('pad6'), | |
rq.Card32('pad7'), | |
) | |
class NVCtrlSetAttributeAndGetStatusReplyRequest(rq.ReplyRequest): | |
_request = rq.Struct( | |
rq.Card8('opcode'), | |
rq.Opcode(X_nvCtrlSetAttributeAndGetStatus), | |
rq.RequestLength(), | |
rq.Card16('target_id'), | |
rq.Card16('target_type'), | |
rq.Card32('display_mask'), | |
rq.Card32('attr'), | |
rq.Int32('value') | |
) | |
_reply = rq.Struct( | |
rq.ReplyCode(), | |
rq.Card8('pad0'), | |
rq.Card16('sequence_number'), | |
rq.ReplyLength(), | |
rq.Card32('flags'), | |
rq.Card32('pad3'), | |
rq.Card32('pad4'), | |
rq.Card32('pad5'), | |
rq.Card32('pad6'), | |
rq.Card32('pad7'), | |
) | |
class NVCtrlQueryStringAttributeReplyRequest(rq.ReplyRequest): | |
_request = rq.Struct( | |
rq.Card8('opcode'), | |
rq.Opcode(X_nvCtrlQueryStringAttribute), | |
rq.RequestLength(), | |
rq.Card16('target_id'), | |
rq.Card16('target_type'), | |
rq.Card32('display_mask'), | |
rq.Card32('attr'), | |
) | |
_reply = rq.Struct( | |
rq.ReplyCode(), | |
rq.Card8('pad0'), | |
rq.Card16('sequence_number'), | |
rq.ReplyLength(), | |
rq.Card32('flags'), | |
rq.Card32('string', 4), | |
rq.Card32('pad4'), | |
rq.Card32('pad5'), | |
rq.Card32('pad6'), | |
rq.Card32('pad7'), | |
rq.String8('string'), | |
) | |
class NVCtrlQueryValidAttributeValuesReplyRequest(rq.ReplyRequest): | |
_request = rq.Struct( | |
rq.Card8('opcode'), | |
rq.Opcode(X_nvCtrlQueryValidAttributeValues), | |
rq.RequestLength(), | |
rq.Card16('target_id'), | |
rq.Card16('target_type'), | |
rq.Card32('display_mask'), | |
rq.Card32('attr'), | |
) | |
_reply = rq.Struct( | |
rq.ReplyCode(), | |
rq.Card8('pad0'), | |
rq.Card16('sequence_number'), | |
rq.ReplyLength(), | |
rq.Card32('flags'), | |
rq.Int32('attr_type'), | |
rq.Int32('min'), | |
rq.Int32('max'), | |
rq.Card32('bits'), | |
rq.Card32('perms'), | |
) | |
class NVCtrlQueryBinaryDataReplyRequest(rq.ReplyRequest): | |
_request = rq.Struct( | |
rq.Card8('opcode'), | |
rq.Opcode(X_nvCtrlQueryBinaryData), | |
rq.RequestLength(), | |
rq.Card16('target_id'), | |
rq.Card16('target_type'), | |
rq.Card32('display_mask'), | |
rq.Card32('attr'), | |
) | |
_reply = rq.Struct( | |
rq.ReplyCode(), | |
rq.Card8('pad0'), | |
rq.Card16('sequence_number'), | |
rq.ReplyLength(), | |
rq.Card32('flags'), | |
rq.Card32('data', 4), | |
rq.Card32('pad4'), | |
rq.Card32('pad5'), | |
rq.Card32('pad6'), | |
rq.Card32('pad7'), | |
rq.Binary('data'), | |
) | |
class NVCtrlQueryListCard32ReplyRequest(rq.ReplyRequest): | |
_request = rq.Struct( | |
rq.Card8('opcode'), | |
rq.Opcode(X_nvCtrlQueryBinaryData), | |
rq.RequestLength(), | |
rq.Card16('target_id'), | |
rq.Card16('target_type'), | |
rq.Card32('display_mask'), | |
rq.Card32('attr'), | |
) | |
_reply = rq.Struct( | |
rq.ReplyCode(), | |
rq.Card8('pad0'), | |
rq.Card16('sequence_number'), | |
rq.ReplyLength(), | |
rq.Card32('flags'), | |
rq.Card32('list', 4), | |
rq.Card32('pad4'), | |
rq.Card32('pad5'), | |
rq.Card32('pad6'), | |
rq.Card32('pad7'), | |
rq.List('list', rq.Card32), | |
) | |