Browse Source

add DO_PIPELINING

David Rose 24 years ago
parent
commit
c1f893ce30
2 changed files with 16 additions and 1 deletions
  1. 12 0
      dtool/Config.pp
  2. 4 1
      dtool/LocalSetup.pp

+ 12 - 0
dtool/Config.pp

@@ -154,6 +154,18 @@
 // to enable it only for optimize levels 1 and 2.
 #defer TRACK_IN_INTERPRETER $[<= $[OPTIMIZE], 2]
 
+// Do you want to compile in support for pipelining?  This enables
+// setting and accessing multiple different copies of frame-specific
+// data stored in nodes, etc.  At the moment, Panda cannot actually
+// take advantage of this support to do anything useful, but
+// eventually this will enable multi-stage pipelining of the render
+// process, as well as potentially remote rendering using a
+// distributed scene graph.  For now, we enable this when building
+// optimize 1 only, since turning this on does perform some additional
+// sanity checks, but doesn't do anything else useful other than
+// increase run-time overhead.
+#define DO_PIPELINING $[<= $[OPTIMIZE], 1]
+
 // Is NSPR installed, and where?  This is the Netscape Portable
 // Runtime library, downloadable as part of the Mozilla package from
 // mozilla.org.  It provides portable threading and networking

+ 4 - 1
dtool/LocalSetup.pp

@@ -31,9 +31,12 @@ $[cdefine HAVE_DINKUM]
 /* Define if we have Python installed.  */
 $[cdefine HAVE_PYTHON]
 
-/* Define if we have want to track callbacks from within the show code.  */
+/* Define if we want to track callbacks from within the show code.  */
 $[cdefine TRACK_IN_INTERPRETER]
 
+/* Define if we want to compile in support for pipelining.  */
+$[cdefine DO_PIPELINING]
+
 /* Define if we have RAD game tools, Miles Sound System installed.  */
 $[cdefine HAVE_RAD_MSS]