Improve logging of indexed enable and disable calls.

Change-Id: Iddf92e228c2843b06fc89ca181db3d3a07e8c6f1
diff --git a/framework/opengl/gluCallLogWrapper.inl b/framework/opengl/gluCallLogWrapper.inl
index 2e433e0..8f94738 100644
--- a/framework/opengl/gluCallLogWrapper.inl
+++ b/framework/opengl/gluCallLogWrapper.inl
@@ -928,7 +928,7 @@
 void CallLogWrapper::glDisablei (glw::GLenum target, glw::GLuint index)
 {
 	if (m_enableLog)
-		m_log << TestLog::Message << "glDisablei(" << toHex(target) << ", " << index << ");" << TestLog::EndMessage;
+		m_log << TestLog::Message << "glDisablei(" << getIndexedEnableCapStr(target) << ", " << index << ");" << TestLog::EndMessage;
 	m_gl.disablei(target, index);
 }
 
@@ -1117,7 +1117,7 @@
 void CallLogWrapper::glEnablei (glw::GLenum target, glw::GLuint index)
 {
 	if (m_enableLog)
-		m_log << TestLog::Message << "glEnablei(" << toHex(target) << ", " << index << ");" << TestLog::EndMessage;
+		m_log << TestLog::Message << "glEnablei(" << getIndexedEnableCapStr(target) << ", " << index << ");" << TestLog::EndMessage;
 	m_gl.enablei(target, index);
 }
 
@@ -2453,7 +2453,7 @@
 glw::GLboolean CallLogWrapper::glIsEnabledi (glw::GLenum target, glw::GLuint index)
 {
 	if (m_enableLog)
-		m_log << TestLog::Message << "glIsEnabledi(" << toHex(target) << ", " << index << ");" << TestLog::EndMessage;
+		m_log << TestLog::Message << "glIsEnabledi(" << getIndexedEnableCapStr(target) << ", " << index << ");" << TestLog::EndMessage;
 	glw::GLboolean returnValue = m_gl.isEnabledi(target, index);
 	if (m_enableLog)
 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
diff --git a/framework/opengl/gluStrUtil.inl b/framework/opengl/gluStrUtil.inl
index 4e3422d..583b27a 100644
--- a/framework/opengl/gluStrUtil.inl
+++ b/framework/opengl/gluStrUtil.inl
@@ -490,6 +490,15 @@
 	}
 }
 
+const char* getIndexedEnableCapName (int value)
+{
+	switch (value)
+	{
+		case GL_BLEND:	return "GL_BLEND";
+		default:		return DE_NULL;
+	}
+}
+
 const char* getWindingName (int value)
 {
 	switch (value)
@@ -1373,7 +1382,13 @@
 		case GL_IMAGE_BINDING_LAYER:				return "GL_IMAGE_BINDING_LAYER";
 		case GL_IMAGE_BINDING_ACCESS:				return "GL_IMAGE_BINDING_ACCESS";
 		case GL_IMAGE_BINDING_FORMAT:				return "GL_IMAGE_BINDING_FORMAT";
-		case GL_BLEND_EQUATION:						return "GL_BLEND_EQUATION";
+		case GL_BLEND_EQUATION_RGB:					return "GL_BLEND_EQUATION_RGB";
+		case GL_BLEND_EQUATION_ALPHA:				return "GL_BLEND_EQUATION_ALPHA";
+		case GL_BLEND_SRC_RGB:						return "GL_BLEND_SRC_RGB";
+		case GL_BLEND_SRC_ALPHA:					return "GL_BLEND_SRC_ALPHA";
+		case GL_BLEND_DST_RGB:						return "GL_BLEND_DST_RGB";
+		case GL_BLEND_DST_ALPHA:					return "GL_BLEND_DST_ALPHA";
+		case GL_COLOR_WRITEMASK:					return "GL_COLOR_WRITEMASK";
 		default:									return DE_NULL;
 	}
 }
diff --git a/framework/opengl/gluStrUtilPrototypes.inl b/framework/opengl/gluStrUtilPrototypes.inl
index 3cb3546..4c888b8 100644
--- a/framework/opengl/gluStrUtilPrototypes.inl
+++ b/framework/opengl/gluStrUtilPrototypes.inl
@@ -26,6 +26,7 @@
 const char*							getFaceName								(int value);
 const char*							getCompareFuncName						(int value);
 const char*							getEnableCapName						(int value);
+const char*							getIndexedEnableCapName					(int value);
 const char*							getWindingName							(int value);
 const char*							getHintModeName							(int value);
 const char*							getHintName								(int value);
@@ -99,6 +100,7 @@
 inline tcu::Format::Enum<int, 2>	getFaceStr								(int value)		{ return tcu::Format::Enum<int, 2>(getFaceName, value); }
 inline tcu::Format::Enum<int, 2>	getCompareFuncStr						(int value)		{ return tcu::Format::Enum<int, 2>(getCompareFuncName, value); }
 inline tcu::Format::Enum<int, 2>	getEnableCapStr							(int value)		{ return tcu::Format::Enum<int, 2>(getEnableCapName, value); }
+inline tcu::Format::Enum<int, 2>	getIndexedEnableCapStr					(int value)		{ return tcu::Format::Enum<int, 2>(getIndexedEnableCapName, value); }
 inline tcu::Format::Enum<int, 2>	getWindingStr							(int value)		{ return tcu::Format::Enum<int, 2>(getWindingName, value); }
 inline tcu::Format::Enum<int, 2>	getHintModeStr							(int value)		{ return tcu::Format::Enum<int, 2>(getHintModeName, value); }
 inline tcu::Format::Enum<int, 2>	getHintStr								(int value)		{ return tcu::Format::Enum<int, 2>(getHintName, value); }
diff --git a/scripts/opengl/gen_call_log_wrapper.py b/scripts/opengl/gen_call_log_wrapper.py
index f13d7bb..84bf266 100644
--- a/scripts/opengl/gen_call_log_wrapper.py
+++ b/scripts/opengl/gen_call_log_wrapper.py
@@ -95,6 +95,7 @@
 	"glDeleteProgramPipelines":				LogSpec({1: pointer(size = "n")}),
 	"glDepthFunc":							LogSpec({0: enum("CompareFunc")}),
 	"glDisable":							LogSpec({0: enum("EnableCap")}),
+	"glDisablei":							LogSpec({0: enum("IndexedEnableCap")}),
 	"glDrawArrays":							LogSpec({0: enum("PrimitiveType")}),
 	"glDrawArraysInstanced":				LogSpec({0: enum("PrimitiveType")}),
 	"glDrawBuffers":						LogSpec({1: enumPointer("DrawReadBuffer", size = "n")}),
@@ -110,6 +111,7 @@
 	"glMultiDrawElements":					LogSpec({0: enum("PrimitiveType"), 2: enum("Type")}),
 	"glMultiDrawElementsBaseVertex":		LogSpec({0: enum("PrimitiveType"), 2: enum("Type")}),
 	"glEnable":								LogSpec({0: enum("EnableCap")}),
+	"glEnablei":							LogSpec({0: enum("IndexedEnableCap")}),
 	"glEndQuery":							LogSpec({0: enum("QueryTarget")}),
 	"glFramebufferRenderbuffer":			LogSpec({0: enum("FramebufferTarget"), 1: enum("FramebufferAttachment"), 2: enum("FramebufferTarget")}),
 	"glFramebufferTexture2D":				LogSpec({0: enum("FramebufferTarget"), 1: enum("FramebufferAttachment"), 2: enum("TextureTarget")}),
@@ -202,6 +204,7 @@
 #	"glGetVertexAttribPointerv":
 	"glHint":								LogSpec({0: enum("Hint"), 1: enum("HintMode")}),
 	"glIsEnabled":							LogSpec({0: enum("EnableCap")}),
+	"glIsEnabledi":							LogSpec({0: enum("IndexedEnableCap")}),
 	"glPixelStorei":						LogSpec({0: enum("PixelStoreParameter")}),
 	"glReadBuffer":							LogSpec({0: enum("DrawReadBuffer")}),
 	"glReadPixels":							LogSpec({4: enum("PixelFormat"), 5: enum("Type")}),
diff --git a/scripts/opengl/gen_str_util.py b/scripts/opengl/gen_str_util.py
index 0fe7f95..c6b1517 100644
--- a/scripts/opengl/gen_str_util.py
+++ b/scripts/opengl/gen_str_util.py
@@ -328,6 +328,9 @@
 							 "PRIMITIVE_RESTART", "SAMPLE_MASK", "DEBUG_OUTPUT", "DEBUG_OUTPUT_SYNCHRONOUS",
 							 "BLEND_ADVANCED_COHERENT_KHR"]),
 
+	# Indexed enable-disable bit
+	("IndexedEnableCap",	["BLEND"]),
+
 	# Polygon winding
 	("Winding",				["CW", "CCW"]),
 
@@ -788,7 +791,13 @@
 		"IMAGE_BINDING_LAYER",
 		"IMAGE_BINDING_ACCESS",
 		"IMAGE_BINDING_FORMAT",
-		"BLEND_EQUATION",
+		"BLEND_EQUATION_RGB",
+		"BLEND_EQUATION_ALPHA",
+		"BLEND_SRC_RGB",
+		"BLEND_SRC_ALPHA",
+		"BLEND_DST_RGB",
+		"BLEND_DST_ALPHA",
+		"COLOR_WRITEMASK",
 	]),
 
 	("GettableString", [