Browse Source

pgraphnodes: Backport ShaderGenerator stub to 1.10.x

Needed if interrogate is being run with the __aarch64__ definition in a multi-arch build
rdb 5 years ago
parent
commit
b5c857c73f
2 changed files with 37 additions and 3 deletions
  1. 24 0
      panda/src/pgraphnodes/shaderGenerator.cxx
  2. 13 3
      panda/src/pgraphnodes/shaderGenerator.h

+ 24 - 0
panda/src/pgraphnodes/shaderGenerator.cxx

@@ -2028,4 +2028,28 @@ operator == (const ShaderKey &other) const {
       && _light_ramp == other._light_ramp;
 }
 
+#else
+
+// Stubs for when building without Cg support.
+ShaderGenerator::
+ShaderGenerator(const GraphicsStateGuardianBase *gsg) {
+}
+
+ShaderGenerator::
+~ShaderGenerator() {
+}
+
+void ShaderGenerator::
+rehash_generated_shaders() {
+}
+
+void ShaderGenerator::
+clear_generated_shaders() {
+}
+
+CPT(ShaderAttrib) ShaderGenerator::
+synthesize_shader(const RenderState *rs, const GeomVertexAnimationSpec &anim) {
+  return nullptr;
+}
+
 #endif  // HAVE_CG

+ 13 - 3
panda/src/pgraphnodes/shaderGenerator.h

@@ -18,14 +18,14 @@
 
 #include "pandabase.h"
 #include "typedReferenceCount.h"
+#include "graphicsStateGuardianBase.h"
+#include "shaderAttrib.h"
+#include "renderState.h"
 
 #ifdef HAVE_CG
 
-#include "graphicsStateGuardianBase.h"
 #include "graphicsOutputBase.h"
 #include "nodePath.h"
-#include "shaderAttrib.h"
-#include "renderState.h"
 #include "renderAttrib.h"
 
 #include "colorAttrib.h"
@@ -196,6 +196,16 @@ private:
 
 // If we don't have Cg, let's replace this with a stub.
 class EXPCL_PANDA_PGRAPHNODES ShaderGenerator : public TypedReferenceCount {
+PUBLISHED:
+  ShaderGenerator(const GraphicsStateGuardianBase *gsg);
+  virtual ~ShaderGenerator();
+
+  virtual CPT(ShaderAttrib) synthesize_shader(const RenderState *rs,
+                                              const GeomVertexAnimationSpec &anim);
+
+  void rehash_generated_shaders();
+  void clear_generated_shaders();
+
 public:
   static TypeHandle get_class_type() {
     return _type_handle;