diff options
Diffstat (limited to 'gpu/command_buffer/build_gles2_cmd_buffer.py')
-rwxr-xr-x | gpu/command_buffer/build_gles2_cmd_buffer.py | 100 |
1 files changed, 95 insertions, 5 deletions
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py index 1bac988..2a56576 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 = { @@ -735,6 +736,87 @@ _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', ], @@ -2367,6 +2449,13 @@ _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>'], @@ -6054,17 +6143,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) |