15 #include "config_dxgsg9.h" 16 #include "dxGraphicsStateGuardian9.h" 17 #include "dxTextureContext9.h" 18 #include "dxVertexBufferContext9.h" 19 #include "dxIndexBufferContext9.h" 20 #include "dxOcclusionQueryContext9.h" 21 #include "dxShaderContext9.h" 22 #include "dxGeomMunger9.h" 23 #include "graphicsPipeSelection.h" 24 #include "wdxGraphicsWindow9.h" 25 #include "wdxGraphicsPipe9.h" 26 #include "wdxGraphicsBuffer9.h" 27 #include "pandaSystem.h" 31 DToolConfigure(config_dxgsg9);
32 NotifyCategoryDef(dxgsg9,
":display:gsg");
33 NotifyCategoryDef(wdxdisplay9,
"display");
39 (
"dx-show-transforms",
false);
43 (
"dx-no-vertex-fog",
false);
47 (
"dx-show-cursor-watermark",
57 (
"dx-use-triangle-mipgen-filter",
false);
60 (
"dx-broken-max-index",
false,
61 PRC_DESC(
"Configure this true if you have a buggy graphics driver that " 62 "doesn't correctly implement the third parameter, NumVertices, " 63 "of DrawIndexedPrimitive(). In particular, the NVIDIA Quadro " 64 "driver version 6.14.10.7184 seems to treat this as a maximum " 65 "vertex index, rather than a delta between the maximum and " 66 "minimum vertex index. Turn this on if you are seeing stray " 67 "triangles, or you are not seeing all of your triangles. Enabling " 68 "this should work around this bug, at the cost of some additional " 69 "rendering overhead on the GPU."));
72 (
"dx-broken-depth-bias",
true,
73 PRC_DESC(
"Configure this true if your graphics driver claims to support " 74 "D3DPRASTERCAPS_DEPTHBIAS, but doesn't appear to do anything " 75 "useful when you set it. In fact, there's not much reason not " 76 "to just leave this set, since the workaround seems to be " 77 "sufficient for all cases."));
80 (
"dx-depth-bias-scale", 0.000001,
81 PRC_DESC(
"If depth bias is not directly supported by the graphics driver " 82 "(or if dx-broken-depth-bias is set true), this configures the " 83 "amount by which we slide the viewport back to achieve the effect " 84 "of a depth bias. It should generally be a small number."));
87 (
"dx-count-all-cards-memory",
true,
88 PRC_DESC(
"Set this to false to skip the counting of extra cards memory " 95 (
"dx-force-backface-culling", 0);
99 (
"dx-mipmap-everything",
false);
101 (
"dx-ignore-mipmaps",
false);
105 (
"dx-use-rangebased-fog",
false);
107 (
"dx-no-dithering",
false);
109 (
"dx-force-16bpp-zbuffer",
false);
111 (
"do-vidmemsize-check",
true);
119 (
"dx-preserve-fpu-state",
true);
122 (
"dx-preferred-device-id", -1);
125 (
"dx-intel-compressed-texture-bug",
true,
126 PRC_DESC(
"Set this true to work around a bug in the Intel driver " 127 "igdumd32.dll, for at least the 965 Express chipset family, " 128 "which breaks compressed texture images smaller " 129 "than about 256x256 (even mipmap levels). The workaround is " 130 "simply to disable compressed texture support when this " 131 "driver is detected."));
135 (
"dx-global-miplevel-bias", 0.0);
137 (
"dx-debug-view-mipmaps",
false);
141 (
"dx-force-anisotropic-filtering",
false);
146 (
"link-tristrips",
false);
151 (
"dx-management",
false);
157 (
"dx-texture-management",
true);
163 (
"dx-lru-management",
true);
169 (
"dx-lru-maximum-pages", 8192);
175 (
"dx-lru-free-memory-requirement", 12000000);
179 (
"dx-lru-minimum-memory-requirement", 64000000);
184 (
"dx-lru-maximum-memory-requirement", 0);
189 (
"dx-lru-maximum-page-updates-per-frame", 40);
193 (
"dx-lru-debug",
false);
198 (
"dx-lru-debug-frames-til-output", 500);
202 (
"dx-lru-debug-textures",
false);
206 (
"dx-lru-debug-vertex-buffers",
false);
209 (
"dx-use-dynamic-textures",
true);
213 (
"dx-use-multithread",
false);
217 (
"dx-use-puredevice",
false);
221 (
"dx-disable-driver-management",
false);
225 (
"dx-disable-driver-management-ex",
false);
229 (
"dx-use-nvperfhud",
false);
231 ConfigureFn(config_dxgsg9) {
245 static bool initialized =
false;
251 DXGraphicsStateGuardian9::init_type();
252 DXTextureContext9::init_type();
253 DXVertexBufferContext9::init_type();
254 DXIndexBufferContext9::init_type();
255 DXOcclusionQueryContext9::init_type();
256 DXShaderContext9::init_type();
257 DXGeomMunger9::init_type();
259 wdxGraphicsPipe9::init_type();
260 wdxGraphicsWindow9::init_type();
261 wdxGraphicsBuffer9::init_type();
265 wdxGraphicsPipe9::pipe_constructor);
static PandaSystem * get_global_ptr()
Returns the global PandaSystem object.
This class is used as a namespace to group several global properties of Panda.
This is a convenience class to specialize ConfigVariable as a boolean type.
void add_system(const string &system)
Intended for use by each subsystem to register itself at startup.
This is a convenience class to specialize ConfigVariable as a floating-point type.
This maintains a list of GraphicsPipes by type that are available for creation.
static GraphicsPipeSelection * get_global_ptr()
Returns a pointer to the one global GraphicsPipeSelection object.
bool add_pipe_type(TypeHandle type, PipeConstructorFunc *func)
Adds a new kind of GraphicsPipe to the list of available pipes for creation.
This is a convenience class to specialize ConfigVariable as an integer type.