Functions | |
void | Define_Driver_Config (const char *driver, const char *id, const char *version, const char *config) |
Sets up driver device-dependent configuration. More... | |
Detailed Description
Function Documentation
◆ Define_Driver_Config()
void Define_Driver_Config | ( | const char * | driver, |
const char * | id, | ||
const char * | version, | ||
const char * | config | ||
) |
Sets up driver device-dependent configuration.
- Parameters
-
driver - The driver to configure. id - The driver ID string. version - Constraints (by default, a lower bound) on the driver version. config - A pre-defined configuration string of comma-separated values. See below for details.
DETAILS
Define_Driver_Config invokes certain driver configurations, such as graphics-card-dependent logic, withough forcing the user to recompile the driver code. In order to take effect, this function must be called before driver startup. After the first update, the driver config cannot be changed without shutting down the driver and starting a new one. This feature is only available for 3D drivers (DX11, OpenGL, and OpenGL2).
This function should not be needed unless there are specific hardware problems that must be avoided. Unless absolutely needed, it is best not to attempt to use this unless instructed by Tech Soft Support.
driver, id and version can all take '*' as a wildcard.
version should be formatted as a list of decimal-separated integers (e.g. "8.5.7.4" or "8.301"), optionally prepended with >=, <=,!=, > or < to specify the comparison type.
The comparison between specified and actual versions proceeds one integer (repeat: one complete integer, not just one digit) at a time, and halts when it either comes to the end of one list or the other. If it reacheas the end or a "*", the versions are considered equal. The supplied string is considered a match on its non-wildcard characters if the actual driver string as extracted from the registry or environment is equal to or greater than the supplied list. Examples:
8.99 is less than 8.301 8.4.9 is less than 8.5.7.4 8.5 is equal to 8.5.7.4 8.4.7.4 is equal to 8.5
If no comparison type is given, >= is assumed.
config is a comma-separated list of options. Valid choices for config include:
reset
Restores the built in defaults for Radeon cards. For example:
HC_Define_Driver_Config ("opengl", "radeon*", "*", "reset");
flush
Removes all configs for Radeon cards. For example:
HC_Define_Driver_Config ("opengl", "radeon*", "*", "flush");
tristrip minimum = ddd
Controls when tristrips or triangle primitives are used to draw tristrips. Driver dependent. Currently supported only with OpenGL.
display list tristrip minimum = ddd
Controls when tristrips or triangle primitives are used to draw tristrips. Driver dependent. Currently supported only with OpenGL.
flat tristrip minimum = ddd
Controls when tristrips or triangle primitives are used to draw tristrips. Driver dependent. Currently supported only with OpenGL.
flat display list tristrip minimum = ddd
Controls when tristrips or triangle primitives are used to draw tristrips. Driver dependent. Currently supported only with OpenGL.
general tristrip minimum = ddd
Sets all four of the above setting to one value. Driver dependent. Currently supported only with OpenGL.
config = (token, token, token, ...)
A list of special strings to control the way the driver behaves. In general these are workarounds for hardware bugs. Driver dependent.
Valid choices for OpenGL 1 ("opengl1_deprecated" driver):
4142_WORKAROUND | ALLOW_DRAWPIXEL_RESTORE | BAD_16BIT_ACCUMULATION_BUFFER | BAD_ACCUMULATION_BUFFER |
BAD_CUT_POINTS | BAD_DISPLAY_LIST | BAD_ELEMENT_BUFFER | BAD_FLAT_VERTEX_ARRAYS |
BAD_FRAGMENT_PROGRAM | BAD_KTX | BAD_NONDL_VERTEX_ARRAYS | BAD_MULTILIGHT |
BAD_OVERLAY | BAD_PATTERNED_LINES | BAD_PBUFFER | BAD_PIXEL_STORE |
BAD_PHONG | BAD_MULTIPLE_CLIP_PLANES | BAD_MSAA_ACCUMULATION_BUFFER | BAD_MSAA_WGL_ARB_BUFFER |
BAD_SCISSORING | BAD_SEPARATE_SPECULAR | BAD_SINGLE_BUFFERING | BAD_SPOTLIGHT_TEXTURE |
BAD_STENCIL | BAD_TEXTURE_RECTANGLE | BAD_TRANSPARENT_POINT | BAD_TWO_SIDED_LIGHTING |
BAD_VERTEX_ARRAYS | BAD_VERTEX_BUFFER_OBJECT | BAD_WGL_ARB_BUFFER | DELAYED_VERTEX_ARRAYS |
DOUBLE_BUFFER_COPY_ONLY | DOUBLE_BUFFER_SWAP_ONLY | EYE_SPACE_DEPTH | FLAT_TRISTRIP_MISMATCH |
FORCE_DEFAULT_SOFTWARE | FORCE_OLD_CHOOSE_PIXEL_FORMAT | LIES_ABOUT_SWAP | LINE_PATTERN_NEEDS_BLENDING |
PIXEL_OPERATIONS_EXPENSIVE | RASTERS_AS_VERTICES | RESTORE_REGION_ZBUFFER_OFF | SLOW_MSAA_DEPTH_TEXTURE |
SLOW_PEELED_LINESMOOTH | UNDRAW_OVERLAY_FRONT_AND_BACK | WGL_ARB_BUFFER_1024_LIMIT |
Valid choices for DirectX11 are:
XBIT_NONE
XBIT_FORCE_SM3
XBIT_SLOW_PIXEL_OIT
XBIT_FORCE_STANDARD_MULTISAMPLE_PATTERN
XBIT_BAD_RESOLVE_TO_BACK_BUFFER
XBIT_BAD_DEPTH_ONLY_CLEAR
FORCE_DEFAULT_SOFTWARE
OpenGL 2 users:
XBIT_NONE
XBIT_BAD_MSAA_SPRITING
XBIT_BAD_NON_POWER_OF_2_TEXTURES
XBIT_TEXTURE_SIZE_OFF_BY_ONE
XBIT_BAD_GLSL4_SAMPLER_CUBE
XBIT_FORCE_GLSL2
XBIT_BAD_BLIT_FILTER
XBIT_BROKEN
XBIT_NO_ANTIALIAS
XBIT_AMD_BAD_DOUBLE_PRECISION
XBIT_BAD_POINT_SPRITES
XBIT_AMD_BAD_RGB24_TEXTURE
XBIT_ANDROID_BAD_BLIT_TO_BACK_BUFFER
XBIT_BAD_CONTEXT_SHARING
XBIT_FORCE_NO_DEPTH_COPY
XBIT_BAD_SHADER_DERIVATIVES
Please note that FORCE_DEFAULT_SOFTWARE is not an available option for OpenGL 2 drivers.
NOTES
No show type interface defined yet.
- See also
- Set_Driver_Options