| Index: gpu/command_buffer/service/gpu_driver_bug_workaround_type.h
|
| ===================================================================
|
| --- gpu/command_buffer/service/gpu_driver_bug_workaround_type.h (revision 192406)
|
| +++ gpu/command_buffer/service/gpu_driver_bug_workaround_type.h (working copy)
|
| @@ -7,32 +7,55 @@
|
|
|
| #include "gpu/gpu_export.h"
|
|
|
| +#define GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) \
|
| + GPU_OP(CLEAR_ALPHA_IN_READPIXELS, \
|
| + clear_alpha_in_readpixels) \
|
| + GPU_OP(CLEAR_UNIFORMS_BEFORE_PROGRAM_USE, \
|
| + clear_uniforms_before_program_use) \
|
| + GPU_OP(DELETE_INSTEAD_OF_RESIZE_FBO, \
|
| + delete_instead_of_resize_fbo) \
|
| + GPU_OP(DISABLE_ANGLE_FRAMEBUFFER_MULTISAMPLE, \
|
| + disable_angle_framebuffer_multisample) \
|
| + GPU_OP(DISABLE_DEPTH_TEXTURE, \
|
| + disable_depth_texture) \
|
| + GPU_OP(DISABLE_EXT_OCCLUSION_QUERY, \
|
| + disable_ext_occlusion_query) \
|
| + GPU_OP(ENABLE_CHROMIUM_FAST_NPOT_MO8_TEXTURES, \
|
| + enable_chromium_fast_npot_mo8_textures) \
|
| + GPU_OP(EXIT_ON_CONTEXT_LOST, \
|
| + exit_on_context_lost) \
|
| + GPU_OP(FLUSH_ON_CONTEXT_SWITCH, \
|
| + flush_on_context_switch) \
|
| + GPU_OP(MAX_CUBE_MAP_TEXTURE_SIZE_LIMIT_1024, \
|
| + max_cube_map_texture_size_limit_1024) \
|
| + GPU_OP(MAX_CUBE_MAP_TEXTURE_SIZE_LIMIT_4096, \
|
| + max_cube_map_texture_size_limit_4096) \
|
| + GPU_OP(MAX_CUBE_MAP_TEXTURE_SIZE_LIMIT_512, \
|
| + max_cube_map_texture_size_limit_512) \
|
| + GPU_OP(MAX_TEXTURE_SIZE_LIMIT_4096, \
|
| + max_texture_size_limit_4096) \
|
| + GPU_OP(NEEDS_GLSL_BUILT_IN_FUNCTION_EMULATION, \
|
| + needs_glsl_built_in_function_emulation) \
|
| + GPU_OP(NEEDS_OFFSCREEN_BUFFER_WORKAROUND, \
|
| + needs_offscreen_buffer_workaround) \
|
| + GPU_OP(RESTORE_SCISSOR_ON_FBO_CHANGE, \
|
| + restore_scissor_on_fbo_change) \
|
| + GPU_OP(REVERSE_POINT_SPRITE_COORD_ORIGIN, \
|
| + reverse_point_sprite_coord_origin) \
|
| + GPU_OP(SET_TEXTURE_FILTER_BEFORE_GENERATING_MIPMAP, \
|
| + set_texture_filter_before_generating_mipmap) \
|
| + GPU_OP(USE_CLIENT_SIDE_ARRAYS_FOR_STREAM_BUFFERS, \
|
| + use_client_side_arrays_for_stream_buffers) \
|
| + GPU_OP(USE_CURRENT_PROGRAM_AFTER_SUCCESSFUL_LINK, \
|
| + use_current_program_after_successful_link)
|
| +
|
| namespace gpu {
|
|
|
| -// Provides flags indicating which gpu features are blacklisted for the system
|
| -// on which chrome is currently running.
|
| -// If a bit is set to 1, corresponding feature is blacklisted.
|
| +// Provides all types of GPU driver bug workarounds.
|
| enum GPU_EXPORT GpuDriverBugWorkaroundType {
|
| - CLEAR_ALPHA_IN_READPIXELS = 0,
|
| - CLEAR_UNIFORMS_BEFORE_PROGRAM_USE,
|
| - DELETE_INSTEAD_OF_RESIZE_FBO,
|
| - DISABLE_ANGLE_FRAMEBUFFER_MULTISAMPLE,
|
| - DISABLE_DEPTH_TEXTURE,
|
| - DISABLE_EXT_OCCLUSION_QUERY,
|
| - ENABLE_CHROMIUM_FAST_NPOT_MO8_TEXTURES,
|
| - EXIT_ON_CONTEXT_LOST,
|
| - FLUSH_ON_CONTEXT_SWITCH,
|
| - MAX_CUBE_MAP_TEXTURE_SIZE_LIMIT_1024,
|
| - MAX_CUBE_MAP_TEXTURE_SIZE_LIMIT_4096,
|
| - MAX_CUBE_MAP_TEXTURE_SIZE_LIMIT_512,
|
| - MAX_TEXTURE_SIZE_LIMIT_4096,
|
| - NEEDS_GLSL_BUILT_IN_FUNCTION_EMULATION,
|
| - NEEDS_OFFSCREEN_BUFFER_WORKAROUND,
|
| - RESTORE_SCISSOR_ON_FBO_CHANGE,
|
| - REVERSE_POINT_SPRITE_COORD_ORIGIN,
|
| - SET_TEXTURE_FILTER_BEFORE_GENERATING_MIPMAP,
|
| - USE_CLIENT_SIDE_ARRAYS_FOR_STREAM_BUFFERS,
|
| - USE_CURRENT_PROGRAM_AFTER_SUCCESSFUL_LINK,
|
| +#define GPU_OP(type, name) type,
|
| + GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP)
|
| +#undef GPU_OP
|
| NUMBER_OF_GPU_DRIVER_BUG_WORKAROUND_TYPES
|
| };
|
|
|
|
|