| // 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', |
| '--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: { |
| 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]); |
| })(); |