Commit 066230a8 by Geoff Lang

Added compressed texture tests.

Change-Id: Id6090b134b957ca195afa615d61a10f8b008208e Reviewed-on: https://chromium-review.googlesource.com/179358Reviewed-by: 's avatarNicolas Capens <nicolascapens@chromium.org> Commit-Queue: Nicolas Capens <nicolascapens@chromium.org> Tested-by: 's avatarNicolas Capens <nicolascapens@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 2e475a5a
#include "ANGLETest.h"
#include "media/stanfordbunny.inl"
#include "media/stanforddragon.inl"
class CompressedTextureTest : public ANGLETest
{
protected:
CompressedTextureTest()
{
setWindowWidth(512);
setWindowHeight(512);
setConfigRedBits(8);
setConfigGreenBits(8);
setConfigBlueBits(8);
setConfigAlphaBits(8);
}
virtual void SetUp()
{
ANGLETest::SetUp();
const std::string vsSource = SHADER_SOURCE
(
precision highp float;
attribute vec4 position;
varying vec2 texcoord;
void main()
{
gl_Position = position;
texcoord = (position.xy * 0.5) + 0.5;
texcoord.y = 1.0 - texcoord.y;
}
);
const std::string textureFSSource = SHADER_SOURCE
(
precision highp float;
uniform sampler2D tex;
varying vec2 texcoord;
void main()
{
gl_FragColor = texture2D(tex, texcoord);
}
);
mTextureProgram = compileProgram(vsSource, textureFSSource);
if (mTextureProgram == 0)
{
FAIL() << "shader compilation failed.";
}
mTextureUniformLocation = glGetUniformLocation(mTextureProgram, "tex");
ASSERT_GL_NO_ERROR();
}
virtual void TearDown()
{
glDeleteProgram(mTextureProgram);
ANGLETest::TearDown();
}
GLuint mTextureProgram;
GLint mTextureUniformLocation;
};
TEST_F(CompressedTextureTest, compressed_tex_image)
{
if (getClientVersion() < 3 && !extensionEnabled("GL_EXT_texture_compression_dxt1"))
{
return;
}
GLuint texture;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 0, 1U), std::max(stanfordbunnyHeight >> 0, 1U), 0, sizeof(stanfordbunny_0), stanfordbunny_0);
glCompressedTexImage2D(GL_TEXTURE_2D, 1, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 1, 1U), std::max(stanfordbunnyHeight >> 1, 1U), 0, sizeof(stanfordbunny_1), stanfordbunny_1);
glCompressedTexImage2D(GL_TEXTURE_2D, 2, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 2, 1U), std::max(stanfordbunnyHeight >> 2, 1U), 0, sizeof(stanfordbunny_2), stanfordbunny_2);
glCompressedTexImage2D(GL_TEXTURE_2D, 3, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 3, 1U), std::max(stanfordbunnyHeight >> 3, 1U), 0, sizeof(stanfordbunny_3), stanfordbunny_3);
glCompressedTexImage2D(GL_TEXTURE_2D, 4, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 4, 1U), std::max(stanfordbunnyHeight >> 4, 1U), 0, sizeof(stanfordbunny_4), stanfordbunny_4);
glCompressedTexImage2D(GL_TEXTURE_2D, 5, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 5, 1U), std::max(stanfordbunnyHeight >> 5, 1U), 0, sizeof(stanfordbunny_5), stanfordbunny_5);
glCompressedTexImage2D(GL_TEXTURE_2D, 6, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 6, 1U), std::max(stanfordbunnyHeight >> 6, 1U), 0, sizeof(stanfordbunny_6), stanfordbunny_6);
glCompressedTexImage2D(GL_TEXTURE_2D, 7, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 7, 1U), std::max(stanfordbunnyHeight >> 7, 1U), 0, sizeof(stanfordbunny_7), stanfordbunny_7);
glCompressedTexImage2D(GL_TEXTURE_2D, 8, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 8, 1U), std::max(stanfordbunnyHeight >> 8, 1U), 0, sizeof(stanfordbunny_8), stanfordbunny_8);
glCompressedTexImage2D(GL_TEXTURE_2D, 9, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, std::max(stanfordbunnyWidth >> 9, 1U), std::max(stanfordbunnyHeight >> 9, 1U), 0, sizeof(stanfordbunny_9), stanfordbunny_9);
EXPECT_GL_NO_ERROR();
glUseProgram(mTextureProgram);
glUniform1i(mTextureUniformLocation, 0);
drawQuad(mTextureProgram, "position", 0.5f);
EXPECT_GL_NO_ERROR();
glDeleteTextures(1, &texture);
EXPECT_GL_NO_ERROR();
}
TEST_F(CompressedTextureTest, compressed_tex_storage)
{
if (getClientVersion() < 3 && !extensionEnabled("GL_EXT_texture_compression_dxt1"))
{
return;
}
if (getClientVersion() < 3 && (!extensionEnabled("GL_EXT_texture_storage") || !extensionEnabled("GL_OES_rgb8_rgba8")))
{
return;
}
GLuint texture;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
if (getClientVersion() < 3)
{
glTexStorage2DEXT(GL_TEXTURE_2D, 1, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, stanforddragonWidth, stanforddragonHeight);
}
else
{
glTexStorage2D(GL_TEXTURE_2D, 1, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, stanforddragonWidth, stanforddragonHeight);
}
EXPECT_GL_NO_ERROR();
glCompressedTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, stanforddragonWidth, stanforddragonHeight, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, sizeof(stanforddragon), stanforddragon);
EXPECT_GL_NO_ERROR();
glUseProgram(mTextureProgram);
glUniform1i(mTextureUniformLocation, 0);
drawQuad(mTextureProgram, "position", 0.5f);
EXPECT_GL_NO_ERROR();
glDeleteTextures(1, &texture);
EXPECT_GL_NO_ERROR();
}
This source diff could not be displayed because it is too large. You can view the blob instead.
unsigned int stanforddragonWidth = 60;
unsigned int stanforddragonHeight = 48;
unsigned char stanforddragon[] =
{
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x92,0x94,0x0C,0x00,0x55,0xB5,0xCD,0x49,
0x6D,0x08,0x0C,0x00,0x55,0x55,0x55,0xB5,0x70,0x6B,0x0C,0x00,0x55,0x55,0x75,0x62,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0xD7,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0xCA,0x5A,0x46,0x08,0x55,0x3D,0x57,0x55,0xB5,0xB5,0x69,0x08,0x5F,0x68,0xE3,0x2D,
0xD1,0x9C,0x2B,0x00,0x55,0xF5,0x29,0xE0,0x13,0xA5,0x09,0x00,0x55,0xAA,0x00,0xBF,
0x74,0xAD,0x6B,0x29,0xA9,0xA2,0xC0,0xA2,0x30,0x84,0x28,0x00,0x2A,0xF8,0x5A,0xA0,
0x0D,0x63,0x2C,0x00,0x5C,0x55,0x55,0x6F,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x6D,0x10,0x0C,0x00,0x55,0x55,0x55,0xC5,0xE5,0x39,0x27,0x00,0xF5,0xFD,0x15,0x55,
0xCB,0x5A,0x61,0x08,0x3D,0x75,0xDE,0x56,0x55,0xAD,0xA2,0x10,0x0B,0xBD,0x55,0x55,
0x95,0xAD,0xC3,0x18,0x28,0x02,0xF5,0x55,0xB2,0x94,0x04,0x21,0xE8,0x80,0xF7,0x95,
0xEF,0x7B,0x66,0x31,0xF2,0xBE,0x0A,0x09,0xAD,0x73,0x2B,0x00,0x78,0x56,0x68,0xE0,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x70,0x4A,0x0C,0x00,0x55,0x55,0x55,0x0A,
0x4F,0x4A,0x0C,0x00,0x55,0x55,0x55,0x78,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0xCA,0x5A,0x0C,0x00,0x25,0x55,0x55,0xD5,
0x54,0xAD,0x28,0x08,0x5E,0x8D,0x0B,0x0B,0x55,0xAD,0x4A,0x08,0x55,0x55,0xA8,0x00,
0x55,0xAD,0x47,0x08,0x55,0xD5,0x0A,0x00,0x14,0xA5,0x43,0x08,0xAD,0x02,0x00,0x00,
0x92,0x94,0x6A,0x52,0x80,0x5E,0xA8,0xF0,0x6D,0x6B,0x86,0x31,0xE8,0x22,0x68,0x56,
0xED,0x7B,0x4B,0x08,0x56,0x5A,0xBE,0x15,0xF2,0x9C,0x4C,0x08,0xB5,0x0B,0x02,0x00,
0x18,0xC6,0xD2,0x94,0xAD,0xAB,0x2B,0x48,0xF7,0xBD,0x10,0x7C,0x68,0x80,0x28,0xFD,
0x75,0xAD,0x2C,0x00,0x57,0x5C,0x60,0xC0,0xAA,0x39,0x0C,0x00,0x55,0x55,0x55,0x15,
0x4E,0x6B,0x0C,0x00,0x55,0x55,0x59,0x22,0x6C,0x4A,0x0C,0x00,0x55,0x55,0x57,0x54,
0x62,0x08,0x0D,0x00,0x35,0xB5,0x55,0x55,0xD1,0x9C,0x26,0x08,0x25,0xD5,0x55,0x55,
0x73,0xAD,0x2A,0x08,0x20,0x8B,0xD5,0x55,0xF2,0x9C,0x0B,0x00,0x00,0xFE,0x55,0x55,
0x0F,0x84,0x09,0x00,0x00,0xFF,0x05,0x09,0x92,0x94,0x29,0x4A,0xDE,0x69,0xA0,0x80,
0x4B,0x6B,0x69,0x10,0x5E,0x62,0x70,0x78,0xB0,0x94,0x8C,0x10,0x85,0x8D,0xA1,0x2A,
0x14,0xA5,0xAF,0x7B,0x2B,0x2F,0xEF,0x7F,0xF3,0x9C,0x25,0x29,0xA0,0xA8,0xEA,0x7A,
0xCF,0x7B,0xA2,0x10,0x00,0xAA,0xBF,0x55,0xB2,0x94,0x69,0x52,0x02,0x8A,0xAF,0xBD,
0x0E,0x84,0x47,0x08,0xD5,0xEE,0xFC,0xA8,0x0C,0x63,0x04,0x21,0xE0,0xBF,0x57,0xB7,
0x4D,0x29,0x0C,0x00,0x55,0x54,0x57,0x55,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0xD1,0x9C,0x2C,0x00,0x55,0xD5,0x25,0x2D,0x58,0xCE,0x0D,0x63,0xAD,0x0B,0x0A,0x82,
0xB6,0xB5,0x65,0x29,0xA8,0xE8,0xFA,0x7A,0x2D,0x84,0x49,0x08,0x5E,0xDF,0x17,0x37,
0x71,0x8C,0x2C,0x63,0xB4,0xD6,0x67,0xB5,0x51,0x8C,0x0C,0x63,0xA2,0xE8,0xEA,0x7A,
0xEC,0x7B,0x47,0x08,0x78,0x5E,0x56,0x56,0x8A,0x52,0x61,0x08,0xD5,0xD5,0x2D,0x0A,
0x51,0x8C,0x29,0x4A,0xAD,0xED,0xEB,0xCF,0x95,0xAD,0x28,0x42,0xAF,0x27,0x37,0x97,
0x74,0xAD,0x0C,0x00,0x5F,0x55,0x56,0x5C,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x8D,0x73,0x0C,0x00,0x55,0x55,0x95,0x35,0xF3,0x9C,0x49,0x29,0x09,0x0A,0x02,0x2A,
0x58,0xC6,0x30,0x84,0x78,0x5E,0x5E,0x55,0xAD,0x73,0x06,0x00,0xE0,0x70,0xF8,0x68,
0xCE,0x7B,0x0B,0x00,0x25,0x85,0x8D,0x89,0x51,0x8C,0xCB,0x5A,0x39,0xAD,0xCF,0x2B,
0xEF,0x7B,0xE8,0x39,0x80,0xE0,0xE0,0x68,0x2B,0x63,0x2B,0x00,0xD7,0x15,0x25,0x0D,
0x8D,0x6B,0x8A,0x52,0xFD,0xFF,0xFA,0xE8,0x50,0x84,0x66,0x31,0xCF,0xBF,0x3F,0x37,
0xD2,0x9C,0x07,0x21,0x9E,0xDF,0x77,0x74,0xB5,0xB5,0x6B,0x08,0x50,0x62,0xC2,0x8B,
0x2D,0x08,0x0C,0x00,0x57,0x55,0x55,0x76,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x8A,0x73,0x0B,0x00,0x35,0xA5,0x2D,0xBD,
0xF3,0x9C,0x4D,0x6B,0x0A,0xAD,0xBF,0xA9,0x14,0xA5,0xEF,0x7B,0xEE,0xDF,0xAB,0x2F,
0x33,0xA5,0x49,0x08,0x7E,0xEA,0x08,0x00,0x95,0xB5,0x8C,0x52,0xFD,0xB8,0xA8,0x00,
0x18,0xC6,0xCE,0x73,0x5D,0xFF,0xF8,0xF8,0x0E,0x84,0x49,0x08,0xE8,0x60,0x68,0x78,
0xAD,0x73,0x86,0x10,0x09,0x0B,0x0B,0x0B,0xB2,0x94,0xEB,0x5A,0x5F,0x5F,0x6A,0x82,
0x4D,0x6B,0xC3,0x18,0xAE,0x3E,0xD2,0xA0,0x71,0x8C,0x86,0x31,0x52,0x73,0x69,0xEB,
0xD7,0xBD,0x49,0x4A,0x0D,0x0D,0x0D,0x2D,0x52,0x8C,0x0C,0x00,0x57,0x56,0x54,0x54,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0A,0x63,0x28,0x00,0x09,0x2D,0xBD,0x2D,0x30,0x84,0x8A,0x52,0x0A,0x0F,0xAB,0x95,
0x95,0xAD,0xEB,0x5A,0x2A,0xBB,0xFF,0x57,0x75,0xAD,0x0C,0x63,0x00,0x00,0xAF,0xF5,
0xD7,0xBD,0x30,0x84,0x00,0x8A,0xFA,0xED,0xB6,0xB5,0x2C,0x63,0xA8,0xB8,0x9E,0x5F,
0xCE,0x7B,0x49,0x08,0x58,0xD8,0x5C,0x54,0x6D,0x6B,0xC3,0x18,0x0B,0x2F,0xAD,0xD5,
0xB2,0x94,0x86,0x31,0x80,0xAA,0xFF,0x7F,0x8E,0x73,0x24,0x21,0xA0,0x5E,0xFF,0xE7,
0x55,0xAD,0xA6,0x31,0xFF,0xBD,0xA5,0x8D,0x76,0xB5,0x4D,0x6B,0xAD,0x8B,0xEA,0xFE,
0x30,0x84,0x0C,0x00,0x5C,0x54,0x54,0x56,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0xED,0x20,0x0C,0x00,0x55,0x55,0x55,0x15,0x0B,0x63,0x65,0x10,0xD5,0xBD,0xDB,0x50,
0x2C,0x63,0x25,0x29,0x0A,0xAE,0x0B,0xFD,0xF7,0xBD,0xE7,0x39,0x5F,0xEB,0x83,0xAD,
0x55,0xAD,0xEB,0x5A,0x55,0x02,0x02,0x0A,0x75,0xAD,0x4D,0x6B,0xAD,0xD6,0x60,0xB6,
0x75,0xAD,0xC7,0x39,0x5E,0xAA,0x8A,0xA8,0x52,0xAD,0x4C,0x08,0x56,0x58,0x58,0x7B,
0xB6,0xBD,0x65,0x10,0x55,0x55,0x25,0x2D,0x75,0xAD,0xE4,0x20,0x5D,0x55,0xEA,0x80,
0x2C,0x63,0x04,0x21,0xE5,0x7D,0x9E,0xFC,0xD3,0x9C,0xE7,0x39,0x81,0xAA,0xFF,0x55,
0xCE,0x7B,0x47,0x08,0x00,0xA0,0x7A,0x57,0x6B,0x29,0x0C,0x00,0x54,0x55,0x55,0x55,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x2B,0x29,0x0C,0x00,0x15,0x55,0x55,0x55,
0x8A,0x4A,0x0B,0x00,0x70,0x55,0x55,0x55,0xA4,0x39,0x25,0x08,0x2B,0xAD,0x55,0x55,
0xB2,0x94,0x82,0x10,0x2B,0xAD,0xED,0x75,0xF3,0x9C,0x24,0x21,0x80,0xF0,0x2F,0xAD,
0xF2,0x9C,0x64,0x08,0xBA,0x5A,0x5A,0x72,0x34,0xA5,0xA3,0x10,0x00,0x0B,0xAD,0xB5,
0x94,0xAD,0x2B,0x00,0x62,0x70,0x7A,0x5E,0xCB,0x7B,0x2B,0x00,0xAD,0x1D,0xB5,0x55,
0xF2,0x9C,0x4B,0x08,0x00,0xFA,0x55,0x55,0xAD,0x7B,0x2A,0x00,0x40,0x8E,0x55,0x55,
0x80,0x10,0x0C,0x00,0xA0,0x7F,0x55,0x55,0x44,0x08,0x0C,0x00,0x5C,0x55,0x55,0x55,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0xE0,0x20,0x0B,0x00,0x8D,0xE5,0xF5,0x55,
0x2A,0x63,0x28,0x08,0x02,0xFF,0x55,0x55,0xCB,0x7B,0x0B,0x00,0x42,0x77,0x55,0x55,
0xC6,0x18,0x0C,0x00,0x3D,0x55,0x55,0x55,0xCA,0x18,0x0C,0x00,0x54,0x55,0x55,0x55,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,0x0D,0x08,0x0C,0x00,0xDD,0x77,0xDD,0x5D,
};
......@@ -125,7 +125,7 @@
],
'sources':
[
'<!@(python enumerate_files.py angle_tests -types *.cpp *.h)'
'<!@(python enumerate_files.py angle_tests -types *.cpp *.h *.inl)'
],
},
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment