diff options
Diffstat (limited to 'content/browser/resources/gpu/browser_bridge_tests.js')
-rw-r--r-- | content/browser/resources/gpu/browser_bridge_tests.js | 346 |
1 files changed, 346 insertions, 0 deletions
diff --git a/content/browser/resources/gpu/browser_bridge_tests.js b/content/browser/resources/gpu/browser_bridge_tests.js new file mode 100644 index 0000000..ebff6a7 --- /dev/null +++ b/content/browser/resources/gpu/browser_bridge_tests.js @@ -0,0 +1,346 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +var commandLineFlags = ['--flag-switches-begin', + '--show-composited-layer-borders', + '--show-fps-counter', + '--flag-switches-end']; +var commandLineStr = './out/Debug/chrome ' + commandLineFlags.join(' '); + +var glValueArray = ['GL_ARB_compatibility', + 'GL_ARB_copy_buffer', + 'GL_ARB_depth_buffer_float', + 'GL_ARB_depth_clamp', + 'GL_ARB_depth_texture', + 'GL_ARB_draw_buffers', + 'GL_ARB_draw_elements_base_vertex', + 'GL_ARB_draw_instanced', + 'GL_ARB_fragment_coord_conventions', + 'GL_ARB_fragment_program', + 'GL_ARB_fragment_program_shadow', + 'GL_ARB_fragment_shader', + 'GL_ARB_framebuffer_object', + 'GL_ARB_framebuffer_sRGB', + 'GL_ARB_geometry_shader4', + 'GL_ARB_half_float_pixel', + 'GL_ARB_half_float_vertex', + 'GL_ARB_imaging', + 'GL_ARB_map_buffer_range', + 'GL_ARB_multisample', + 'GL_ARB_multitexture', + 'GL_ARB_occlusion_query', + 'GL_ARB_pixel_buffer_object', + 'GL_ARB_point_parameters', + 'GL_ARB_point_sprite', + 'GL_ARB_provoking_vertex', + 'GL_ARB_seamless_cube_map', + 'GL_ARB_shader_objects', + 'GL_ARB_shading_language_100', + 'GL_ARB_shadow', + 'GL_ARB_sync', + 'GL_ARB_texture_border_clamp', + 'GL_ARB_texture_buffer_object', + 'GL_ARB_texture_compression', + 'GL_ARB_texture_compression_rgtc', + 'GL_ARB_texture_cube_map', + 'GL_ARB_texture_env_add', + 'GL_ARB_texture_env_combine', + 'GL_ARB_texture_env_crossbar', + 'GL_ARB_texture_env_dot3', + 'GL_ARB_texture_float', + 'GL_ARB_texture_mirrored_repeat', + 'GL_ARB_texture_multisample', + 'GL_ARB_texture_non_power_of_two', + 'GL_ARB_texture_rectangle', + 'GL_ARB_texture_rg', + 'GL_ARB_transpose_matrix', + 'GL_ARB_uniform_buffer_object', + 'GL_ARB_vertex_array_bgra', + 'GL_ARB_vertex_array_object', + 'GL_ARB_vertex_buffer_object', + 'GL_ARB_vertex_program', + 'GL_ARB_vertex_shader', + 'GL_ARB_window_pos', + 'GL_ATI_draw_buffers', + 'GL_ATI_texture_float', + 'GL_ATI_texture_mirror_once', + 'GL_S3_s3tc', + 'GL_EXT_texture_env_add', + 'GL_EXT_abgr', + 'GL_EXT_bgra', + 'GL_EXT_bindable_uniform', + 'GL_EXT_blend_color', + 'GL_EXT_blend_equation_separate', + 'GL_EXT_blend_func_separate', + 'GL_EXT_blend_minmax', + 'GL_EXT_blend_subtract', + 'GL_EXT_compiled_vertex_array', + 'GL_EXT_Cg_shader', + 'GL_EXT_depth_bounds_test', + 'GL_EXT_direct_state_access', + 'GL_EXT_draw_buffers2', + 'GL_EXT_draw_instanced', + 'GL_EXT_draw_range_elements', + 'GL_EXT_fog_coord', + 'GL_EXT_framebuffer_blit', + 'GL_EXT_framebuffer_multisample', + 'GL_EXTX_framebuffer_mixed_formats', + 'GL_EXT_framebuffer_object', + 'GL_EXT_framebuffer_sRGB', + 'GL_EXT_geometry_shader4', + 'GL_EXT_gpu_program_parameters', + 'GL_EXT_gpu_shader4', + 'GL_EXT_multi_draw_arrays', + 'GL_EXT_packed_depth_stencil', + 'GL_EXT_packed_float', + 'GL_EXT_packed_pixels', + 'GL_EXT_pixel_buffer_object', + 'GL_EXT_point_parameters', + 'GL_EXT_provoking_vertex', + 'GL_EXT_rescale_normal', + 'GL_EXT_secondary_color', + 'GL_EXT_separate_shader_objects', + 'GL_EXT_separate_specular_color', + 'GL_EXT_shadow_funcs', + 'GL_EXT_stencil_two_side', + 'GL_EXT_stencil_wrap', + 'GL_EXT_texture3D', + 'GL_EXT_texture_array', + 'GL_EXT_texture_buffer_object', + 'GL_EXT_texture_compression_latc', + 'GL_EXT_texture_compression_rgtc', + 'GL_EXT_texture_compression_s3tc', + 'GL_EXT_texture_cube_map', + 'GL_EXT_texture_edge_clamp', + 'GL_EXT_texture_env_combine', + 'GL_EXT_texture_env_dot3', + 'GL_EXT_texture_filter_anisotropic', + 'GL_EXT_texture_integer', + 'GL_EXT_texture_lod', + 'GL_EXT_texture_lod_bias', + 'GL_EXT_texture_mirror_clamp', + 'GL_EXT_texture_object', + 'GL_EXT_texture_shared_exponent', + 'GL_EXT_texture_sRGB', + 'GL_EXT_texture_swizzle', + 'GL_EXT_timer_query', + 'GL_EXT_vertex_array', + 'GL_EXT_vertex_array_bgra', + 'GL_IBM_rasterpos_clip', + 'GL_IBM_texture_mirrored_repeat', + 'GL_KTX_buffer_region', + 'GL_NV_blend_square', + 'GL_NV_conditional_render', + 'GL_NV_copy_depth_to_color', + 'GL_NV_copy_image', + 'GL_NV_depth_buffer_float', + 'GL_NV_depth_clamp', + 'GL_NV_explicit_multisample', + 'GL_NV_fence', + 'GL_NV_float_buffer', + 'GL_NV_fog_distance', + 'GL_NV_fragment_program', + 'GL_NV_fragment_program_option', + 'GL_NV_fragment_program2', + 'GL_NV_framebuffer_multisample_coverage', + 'GL_NV_geometry_shader4', + 'GL_NV_gpu_program4', + 'GL_NV_half_float', + 'GL_NV_light_max_exponent', + 'GL_NV_multisample_coverage', + 'GL_NV_multisample_filter_hint', + 'GL_NV_occlusion_query', + 'GL_NV_packed_depth_stencil', + 'GL_NV_parameter_buffer_object', + 'GL_NV_parameter_buffer_object2', + 'GL_NV_pixel_data_range', + 'GL_NV_point_sprite', + 'GL_NV_primitive_restart', + 'GL_NV_register_combiners', + 'GL_NV_register_combiners2', + 'GL_NV_shader_buffer_load', + 'GL_NV_texgen_reflection', + 'GL_NV_texture_barrier', + 'GL_NV_texture_compression_vtc', + 'GL_NV_texture_env_combine4', + 'GL_NV_texture_expand_normal', + 'GL_NV_texture_rectangle', + 'GL_NV_texture_shader', + 'GL_NV_texture_shader2', + 'GL_NV_texture_shader3', + 'GL_NV_transform_feedback', + 'GL_NV_vertex_array_range', + 'GL_NV_vertex_array_range2', + 'GL_NV_vertex_buffer_unified_memory', + 'GL_NV_vertex_program', + 'GL_NV_vertex_program1_1', + 'GL_NV_vertex_program2', + 'GL_NV_vertex_program2_option', + 'GL_NV_vertex_program3', + 'GL_NVX_conditional_render', + 'GL_NVX_gpu_memory_info', + 'GL_SGIS_generate_mipmap', + 'GL_SGIS_texture_lod', + 'GL_SGIX_depth_texture', + 'GL_SGIX_shadow', + 'GL_SUN_slice_accum']; +(function() { + var dataSets = [ + { + name: 'full_data_linux', + gpuInfo: { + basic_info: [ + { + description: 'Initialization time', + value: '111' + }, + { + description: 'Vendor Id', + value: '0x10de' + }, + { + description: 'Device Id', + value: '0x0658' + }, + { + description: 'Driver vendor', + value: 'NVIDIA' + }, + { + description: 'Driver version', + value: '195.36.24' + }, + { + description: 'Driver date', + value: '' + }, + { + description: 'Pixel shader version', + value: '1.50' + }, + { + description: 'Vertex shader version', + value: '1.50' + }, + { + description: 'GL version', + value: '3.2' + }, + { + description: 'GL_VENDOR', + value: 'NVIDIA Corporation' + }, + { + description: 'GL_RENDERER', + value: 'Quadro FX 380/PCI/SSE2' + }, + { + description: 'GL_VERSION', + value: '3.2.0 NVIDIA 195.36.24' + }, + { + description: 'GL_EXTENSIONS', + value: glValueArray.join(' '), + } + ], + featureStatus: { + featureStatus: + [ + {'status': 'enabled', name: '2d_canvas'}, + {'status': 'enabled', name: '3d_css'}, + {'status': 'enabled', name: 'compositing'}, + {'status': 'enabled', name: 'webgl'}, + {'status': 'enabled', name: 'multisampling'} + ], + problems: [] + } + }, + clientInfo: { + blacklist_version: '1.10', + command_line: commandLineStr, + version: 'Chrome/12.0.729.0', + }, + logMessages: [] + }, + { + name: 'no_data', + gpuInfo: undefined, + clientInfo: undefined, + logMessages: undefined + }, + { + name: 'logs', + gpuInfo: undefined, + clientInfo: undefined, + logMessages: [ + {header: 'foo', message: 'Bar'} + ] + }, + + // tests for 'status' + { + name: 'feature_states', + gpuInfo: { + basic_info: undefined, + featureStatus: { + featureStatus: [ + {'status': 'disabled_off', name: '2d_canvas'}, + {'status': 'unavailable_software', name: '3d_css'}, + {'status': 'disabled_software', name: 'compositing'}, + {'status': 'software', name: 'compositing'}, + {'status': 'unavailable_off', name: 'webgl'}, + {'status': 'enabled', name: 'multisampling'} + ], + problems: [ + { + description: 'Something wrong', + crBugs: [], + webkitBugs: [] + }, + { + description: 'SomethingElse', + crBugs: [], + webkitBugs: [] + }, + { + description: 'WebKit and Chrome bug', + crBugs: [23456], + webkitBugs: [789, 2123] + } + ] + } + }, + clientInfo: undefined, + logMessages: [] + } + + ]; + + var selectEl = document.createElement('select'); + for (var i = 0; i < dataSets.length; ++i) { + var optionEl = document.createElement('option'); + optionEl.textContent = dataSets[i].name; + optionEl.dataSet = dataSets[i]; + selectEl.add(optionEl); + } + selectEl.addEventListener('change', function() { + browserBridge.applySimulatedData_(dataSets[selectEl.selectedIndex]); + }); + selectEl.addEventListener('keydown', function() { + window.setTimeout(function() { + browserBridge.applySimulatedData_(dataSets[selectEl.selectedIndex]); + }, 0); + }); + + var controlEl = document.createElement('div'); + var textEl = document.createElement('span'); + textEl.textContent = 'GPU Info:'; + controlEl.appendChild(textEl); + controlEl.appendChild(selectEl); + + document.querySelector('#debug-div').appendChild(controlEl, + document.body.firstChild); + + browserBridge.applySimulatedData_(dataSets[0]); + + })(); |