| Index: gpu/command_buffer/build_gles2_cmd_buffer.py
|
| diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
|
| index a4fcc70c275f9df51905a8eab681e4019a5f7159..bdeb18e4f4b76bafac4bb1ce5ab2029d842ff1a0 100755
|
| --- a/gpu/command_buffer/build_gles2_cmd_buffer.py
|
| +++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
|
| @@ -83,6 +83,7 @@ _CAPABILITY_FLAGS = [
|
| {'name': 'stencil_test',
|
| 'state_flag': 'framebuffer_state_.clear_state_dirty'},
|
| {'name': 'rasterizer_discard', 'es3': True},
|
| + {'name': 'primitive_restart_fixed_index', 'es3': True},
|
| ]
|
|
|
| _STATES = {
|
| @@ -734,6 +735,101 @@ _NAMED_TYPE_INFO = {
|
| 'GL_VERTEX_ARRAY_BINDING_OES',
|
| 'GL_VIEWPORT',
|
| ],
|
| + 'valid_es3': [
|
| + 'GL_COPY_READ_BUFFER_BINDING',
|
| + 'GL_COPY_WRITE_BUFFER_BINDING',
|
| + 'GL_DRAW_BUFFER0',
|
| + 'GL_DRAW_BUFFER1',
|
| + 'GL_DRAW_BUFFER2',
|
| + 'GL_DRAW_BUFFER3',
|
| + 'GL_DRAW_BUFFER4',
|
| + 'GL_DRAW_BUFFER5',
|
| + 'GL_DRAW_BUFFER6',
|
| + 'GL_DRAW_BUFFER7',
|
| + 'GL_DRAW_BUFFER8',
|
| + 'GL_DRAW_BUFFER9',
|
| + 'GL_DRAW_BUFFER10',
|
| + 'GL_DRAW_BUFFER11',
|
| + 'GL_DRAW_BUFFER12',
|
| + 'GL_DRAW_BUFFER13',
|
| + 'GL_DRAW_BUFFER14',
|
| + 'GL_DRAW_BUFFER15',
|
| + 'GL_DRAW_FRAMEBUFFER_BINDING',
|
| + 'GL_FRAGMENT_SHADER_DERIVATIVE_HINT',
|
| + 'GL_MAJOR_VERSION',
|
| + 'GL_MAX_3D_TEXTURE_SIZE',
|
| + 'GL_MAX_ARRAY_TEXTURE_LAYERS',
|
| + 'GL_MAX_COLOR_ATTACHMENTS',
|
| + 'GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS',
|
| + 'GL_MAX_COMBINED_UNIFORM_BLOCKS',
|
| + 'GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS',
|
| + 'GL_MAX_DRAW_BUFFERS',
|
| + 'GL_MAX_ELEMENT_INDEX',
|
| + 'GL_MAX_ELEMENTS_INDICES',
|
| + 'GL_MAX_ELEMENTS_VERTICES',
|
| + 'GL_MAX_FRAGMENT_INPUT_COMPONENTS',
|
| + 'GL_MAX_FRAGMENT_UNIFORM_BLOCKS',
|
| + 'GL_MAX_FRAGMENT_UNIFORM_COMPONENTS',
|
| + 'GL_MAX_PROGRAM_TEXEL_OFFSET',
|
| + 'GL_MAX_SAMPLES',
|
| + 'GL_MAX_SERVER_WAIT_TIMEOUT',
|
| + 'GL_MAX_TEXTURE_LOD_BIAS',
|
| + 'GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS',
|
| + 'GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS',
|
| + 'GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS',
|
| + 'GL_MAX_UNIFORM_BLOCK_SIZE',
|
| + 'GL_MAX_UNIFORM_BUFFER_BINDINGS',
|
| + 'GL_MAX_VARYING_COMPONENTS',
|
| + 'GL_MAX_VERTEX_OUTPUT_COMPONENTS',
|
| + 'GL_MAX_VERTEX_UNIFORM_BLOCKS',
|
| + 'GL_MAX_VERTEX_UNIFORM_COMPONENTS',
|
| + 'GL_MIN_PROGRAM_TEXEL_OFFSET',
|
| + 'GL_MINOR_VERSION',
|
| + 'GL_NUM_EXTENSIONS',
|
| + 'GL_NUM_PROGRAM_BINARY_FORMATS',
|
| + 'GL_PACK_ROW_LENGTH',
|
| + 'GL_PACK_SKIP_PIXELS',
|
| + 'GL_PACK_SKIP_ROWS',
|
| + 'GL_PIXEL_PACK_BUFFER_BINDING',
|
| + 'GL_PIXEL_UNPACK_BUFFER_BINDING',
|
| + 'GL_PROGRAM_BINARY_FORMATS',
|
| + 'GL_READ_BUFFER',
|
| + 'GL_READ_FRAMEBUFFER_BINDING',
|
| + 'GL_SAMPLER_BINDING',
|
| + 'GL_TEXTURE_BINDING_2D_ARRAY',
|
| + 'GL_TEXTURE_BINDING_3D',
|
| + 'GL_TRANSFORM_FEEDBACK_BINDING',
|
| + 'GL_TRANSFORM_FEEDBACK_ACTIVE',
|
| + 'GL_TRANSFORM_FEEDBACK_BUFFER_BINDING',
|
| + 'GL_TRANSFORM_FEEDBACK_PAUSED',
|
| + 'GL_TRANSFORM_FEEDBACK_BUFFER_SIZE',
|
| + 'GL_TRANSFORM_FEEDBACK_BUFFER_START',
|
| + 'GL_UNIFORM_BUFFER_BINDING',
|
| + 'GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT',
|
| + 'GL_UNIFORM_BUFFER_SIZE',
|
| + 'GL_UNIFORM_BUFFER_START',
|
| + 'GL_UNPACK_IMAGE_HEIGHT',
|
| + 'GL_UNPACK_ROW_LENGTH',
|
| + 'GL_UNPACK_SKIP_IMAGES',
|
| + 'GL_UNPACK_SKIP_PIXELS',
|
| + 'GL_UNPACK_SKIP_ROWS',
|
| + # GL_VERTEX_ARRAY_BINDING is the same as GL_VERTEX_ARRAY_BINDING_OES
|
| + # 'GL_VERTEX_ARRAY_BINDING',
|
| + ],
|
| + 'invalid': [
|
| + 'GL_FOG_HINT',
|
| + ],
|
| + },
|
| + 'IndexedGLState': {
|
| + 'type': 'GLenum',
|
| + 'valid': [
|
| + 'GL_TRANSFORM_FEEDBACK_BUFFER_BINDING',
|
| + 'GL_TRANSFORM_FEEDBACK_BUFFER_SIZE',
|
| + 'GL_TRANSFORM_FEEDBACK_BUFFER_START',
|
| + 'GL_UNIFORM_BUFFER_BINDING',
|
| + 'GL_UNIFORM_BUFFER_SIZE',
|
| + 'GL_UNIFORM_BUFFER_START',
|
| + ],
|
| 'invalid': [
|
| 'GL_FOG_HINT',
|
| ],
|
| @@ -1544,6 +1640,21 @@ _NAMED_TYPE_INFO = {
|
| 'GL_DOUBLE',
|
| ],
|
| },
|
| + 'VertexAttribIType': {
|
| + 'type': 'GLenum',
|
| + 'valid': [
|
| + 'GL_BYTE',
|
| + 'GL_UNSIGNED_BYTE',
|
| + 'GL_SHORT',
|
| + 'GL_UNSIGNED_SHORT',
|
| + 'GL_INT',
|
| + 'GL_UNSIGNED_INT',
|
| + ],
|
| + 'invalid': [
|
| + 'GL_FLOAT',
|
| + 'GL_DOUBLE',
|
| + ],
|
| + },
|
| 'TextureBorder': {
|
| 'type': 'GLint',
|
| 'is_complete': True,
|
| @@ -2365,12 +2476,31 @@ _FUNCTION_INFO = {
|
| 'gl_test_func': 'glGetFramebufferAttachmentParameterivEXT',
|
| 'result': ['SizedResult<GLint>'],
|
| },
|
| + 'GetInteger64v': {
|
| + 'type': 'GETn',
|
| + 'result': ['SizedResult<GLint64>'],
|
| + 'client_test': False,
|
| + 'decoder_func': 'DoGetInteger64v',
|
| + 'unsafe': True
|
| + },
|
| 'GetIntegerv': {
|
| 'type': 'GETn',
|
| 'result': ['SizedResult<GLint>'],
|
| 'decoder_func': 'DoGetIntegerv',
|
| 'client_test': False,
|
| },
|
| + 'GetInteger64i_v': {
|
| + 'type': 'GETn',
|
| + 'result': ['SizedResult<GLint64>'],
|
| + 'client_test': False,
|
| + 'unsafe': True
|
| + },
|
| + 'GetIntegeri_v': {
|
| + 'type': 'GETn',
|
| + 'result': ['SizedResult<GLint>'],
|
| + 'client_test': False,
|
| + 'unsafe': True
|
| + },
|
| 'GetInternalformativ': {
|
| 'type': 'GETn',
|
| 'result': ['SizedResult<GLint>'],
|
| @@ -3139,7 +3269,7 @@ _FUNCTION_INFO = {
|
| 'VertexAttribIPointer': {
|
| 'type': 'Manual',
|
| 'cmd_args': 'GLuint indx, GLintVertexAttribSize size, '
|
| - 'GLenumVertexAttribType type, GLsizei stride, '
|
| + 'GLenumVertexAttribIType type, GLsizei stride, '
|
| 'GLuint offset',
|
| 'client_test': False,
|
| 'unsafe': True,
|
| @@ -6063,17 +6193,18 @@ TEST_F(GLES2ImplementationTest, %(name)s) {
|
| struct Cmds {
|
| cmds::%(name)s cmd;
|
| };
|
| - typedef cmds::%(name)s::Result Result;
|
| - Result::Type result = 0;
|
| + typedef cmds::%(name)s::Result::Type ResultType;
|
| + ResultType result = 0;
|
| Cmds expected;
|
| - ExpectedMemoryInfo result1 = GetExpectedResultMemory(4);
|
| + ExpectedMemoryInfo result1 = GetExpectedResultMemory(
|
| + sizeof(uint32_t) + sizeof(ResultType));
|
| expected.cmd.Init(%(cmd_args)s, result1.id, result1.offset);
|
| EXPECT_CALL(*command_buffer(), OnFlush())
|
| - .WillOnce(SetMemory(result1.ptr, SizedResultHelper<Result::Type>(1)))
|
| + .WillOnce(SetMemory(result1.ptr, SizedResultHelper<ResultType>(1)))
|
| .RetiresOnSaturation();
|
| gl_->%(name)s(%(args)s, &result);
|
| EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected)));
|
| - EXPECT_EQ(static_cast<Result::Type>(1), result);
|
| + EXPECT_EQ(static_cast<ResultType>(1), result);
|
| }
|
| """
|
| first_cmd_arg = func.GetCmdArgs()[0].GetValidNonCachedClientSideCmdArg(func)
|
|
|