diff --git a/indra/newview/lldrawpool.h b/indra/newview/lldrawpool.h
index b73ae94bbb6fc99e1253c53b29e193b7498785c1..f7fc2d20611e11fe99b675164d6b7e1966e0f258 100644
--- a/indra/newview/lldrawpool.h
+++ b/indra/newview/lldrawpool.h
@@ -48,6 +48,7 @@ class LLDrawPool
 	enum
 	{
 		// Correspond to LLPipeline render type
+        // NOTE: Keep in sync with gPoolNames
 		POOL_SIMPLE = 1,
 		POOL_GROUND,
 		POOL_FULLBRIGHT,
@@ -130,6 +131,7 @@ class LLRenderPass : public LLDrawPool
 public:
     // list of possible LLRenderPass types to assign a render batch to
     // NOTE: "rigged" variant MUST be non-rigged variant + 1
+    // see LLVolumeGeometryManager::registerFace()
 	enum
 	{
 		PASS_SIMPLE = NUM_POOL_TYPES,
@@ -191,6 +193,8 @@ class LLRenderPass : public LLDrawPool
         PASS_FULLBRIGHT_ALPHA_MASK_RIGGED,
 		PASS_ALPHA_INVISIBLE,
         PASS_ALPHA_INVISIBLE_RIGGED,
+        PASS_PBR_OPAQUE,
+        PASS_PBR_OPAQUE_RIGGED,
 		NUM_RENDER_TYPES,
 	};
 
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index c9f3eb907604268cf5a00f86037bd0c2ed76585f..82a5b285762a1a9d86f520f54e3c85e4829466cd 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -281,29 +281,33 @@ static LLStaticHashedString sKern("kern");
 static LLStaticHashedString sKernScale("kern_scale");
 
 //----------------------------------------
-std::string gPoolNames[] = 
+#if 0
+std::string gPoolNames[LLDrawPool::NUM_POOL_TYPES] =
 {
 	// Correspond to LLDrawpool enum render type
-	"NONE",
-	"POOL_SIMPLE",
-	"POOL_GROUND",
-	"POOL_FULLBRIGHT",
-	"POOL_BUMP",
-	"POOL_MATERIALS",
-	"POOL_TERRAIN,"	
-	"POOL_SKY",
-	"POOL_WL_SKY",
-	"POOL_TREE",
-	"POOL_ALPHA_MASK",
-	"POOL_FULLBRIGHT_ALPHA_MASK",
-	"POOL_GRASS",
-	"POOL_INVISIBLE",
-	"POOL_AVATAR",
-	"POOL_VOIDWATER",
-	"POOL_WATER",
-	"POOL_GLOW",
-	"POOL_ALPHA"
+	  "NONE"
+	, "POOL_SIMPLE"
+	, "POOL_GROUND"
+	, "POOL_FULLBRIGHT"
+	, "POOL_BUMP"
+	, "POOL_MATERIALS"
+	, "POOL_TERRAIN"
+	, "POOL_SKY"
+	, "POOL_WL_SKY"
+	, "POOL_TREE"
+	, "POOL_ALPHA_MASK"
+	, "POOL_FULLBRIGHT_ALPHA_MASK"
+	, "POOL_GRASS"
+	, "POOL_INVISIBLE"
+	, "POOL_AVATAR"
+	, "POOL_CONTROL_AV" // Animesh
+	, "POOL_VOIDWATER"
+	, "POOL_WATER"
+	, "POOL_GLOW"
+	, "POOL_ALPHA"
+	, "POOL_PBR_OPAQUE"
 };
+#endif
 
 void drawBox(const LLVector4a& c, const LLVector4a& r);
 void drawBoxOutline(const LLVector3& pos, const LLVector3& size);
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index c83d7c16ebafae37cb9735f9a3040b4adb6abe37..cd7d0b88d8af9b7a9f0cd5d7c802b92ab047cdea 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -528,6 +528,8 @@ class LLPipeline
         RENDER_TYPE_PASS_NORMSPEC_MASK_RIGGED = LLRenderPass::PASS_NORMSPEC_MASK_RIGGED,
 		RENDER_TYPE_PASS_NORMSPEC_EMISSIVE		= LLRenderPass::PASS_NORMSPEC_EMISSIVE,
         RENDER_TYPE_PASS_NORMSPEC_EMISSIVE_RIGGED = LLRenderPass::PASS_NORMSPEC_EMISSIVE_RIGGED,
+        RENDER_TYPE_PASS_PBR_OPAQUE               = LLRenderPass::PASS_PBR_OPAQUE,
+        RENDER_TYPE_PASS_PBR_OPAQUE_RIGGED        = LLRenderPass::PASS_PBR_OPAQUE_RIGGED,
 		// Following are object types (only used in drawable mRenderType)
 		RENDER_TYPE_HUD = LLRenderPass::NUM_RENDER_TYPES,
 		RENDER_TYPE_VOLUME,