Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/opengl-cts-4.6.1

Change-Id: Ib960c80568640f38b5fe432d0639e055af86292e
diff --git a/external/openglcts/modules/gles31/es31cDrawIndirectTests.cpp b/external/openglcts/modules/gles31/es31cDrawIndirectTests.cpp
index 7adc4f7..e2e7fb3 100644
--- a/external/openglcts/modules/gles31/es31cDrawIndirectTests.cpp
+++ b/external/openglcts/modules/gles31/es31cDrawIndirectTests.cpp
@@ -1375,11 +1375,9 @@
 
 		if (buf)
 		{
-			result.sub_result(BufferCheck(dataRef, dataWidth, dataHeight, buf, dataWidth, dataHeight));
-
 			result.sub_result(StateValidate<api>(GL_TRUE, GL_WRITE_ONLY, GL_MAP_WRITE_BIT, 0,
-												 (GLsizeiptr)(dataRef.size() * sizeof(unsigned int))));
-
+			                                     (GLsizeiptr)(dataRef.size() * sizeof(unsigned int))));
+			memcpy(buf, &dataRef[0], dataRef.size() * sizeof(unsigned int));
 			if (glUnmapBuffer(GL_DRAW_INDIRECT_BUFFER) != GL_TRUE)
 			{
 				result.error() << "glUnmapBuffer(GL_DRAW_INDIRECT_BUFFER) returned GL_FALSE, expected GL_TRUE";
@@ -1583,17 +1581,17 @@
 		}
 
 		buf = glMapBufferRange(GL_DRAW_INDIRECT_BUFFER, 0, (GLsizeiptr)(dataRef.size() / 2 * sizeof(unsigned int)),
-							   GL_MAP_WRITE_BIT);
+							   GL_MAP_READ_BIT);
 		if (buf == 0)
 		{
-			result.error() << "glMapBufferRange(GL_DRAW_INDIRECT_BUFFER, GL_MAP_WRITE_BIT) returned NULL";
+			result.error() << "glMapBufferRange(GL_DRAW_INDIRECT_BUFFER, GL_MAP_READ_BIT) returned NULL";
 		}
 
 		if (buf)
 		{
 			result.sub_result(BufferCheck(dataRef, dataWidth, dataHeight / 2, buf, dataWidth, dataHeight / 2));
 
-			result.sub_result(StateValidate<api>(GL_TRUE, GL_WRITE_ONLY, GL_MAP_WRITE_BIT, 0,
+			result.sub_result(StateValidate<api>(GL_TRUE, GL_READ_ONLY, GL_MAP_READ_BIT, 0,
 												 (GLsizeiptr)(dataRef.size() / 2 * sizeof(unsigned int))));
 
 			if (glUnmapBuffer(GL_DRAW_INDIRECT_BUFFER) == GL_FALSE)
@@ -1606,10 +1604,10 @@
 		}
 
 		buf = glMapBufferRange(GL_DRAW_INDIRECT_BUFFER, (GLintptr)(dataRef.size() / 4 * sizeof(unsigned int)),
-							   (GLsizeiptr)(dataRef.size() / 2 * sizeof(unsigned int)), GL_MAP_WRITE_BIT);
+							   (GLsizeiptr)(dataRef.size() / 2 * sizeof(unsigned int)), GL_MAP_READ_BIT);
 		if (buf == 0)
 		{
-			result.error() << "glMapBufferRange(GL_DRAW_INDIRECT_BUFFER, GL_MAP_WRITE_BIT) returned NULL";
+			result.error() << "glMapBufferRange(GL_DRAW_INDIRECT_BUFFER, GL_MAP_READ_BIT) returned NULL";
 		}
 
 		if (buf)
@@ -1617,7 +1615,7 @@
 			result.sub_result(
 				BufferCheck(dataRef, dataWidth, dataHeight / 2, buf, dataWidth, dataHeight / 2, dataHeight / 4));
 
-			result.sub_result(StateValidate<api>(GL_TRUE, GL_WRITE_ONLY, GL_MAP_WRITE_BIT,
+			result.sub_result(StateValidate<api>(GL_TRUE, GL_READ_ONLY, GL_MAP_READ_BIT,
 												 (GLintptr)(dataRef.size() / 4 * sizeof(unsigned int)),
 												 (GLsizeiptr)(dataRef.size() / 2 * sizeof(unsigned int))));