// Copyright 2018 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.

// This file is auto-generated from build_workaround_header.py
// DO NOT EDIT!

#define GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP)              \
  GPU_OP(ADD_AND_TRUE_TO_LOOP_CONDITION,                \
         add_and_true_to_loop_condition)                \
  GPU_OP(DISABLE_BLEND_EQUATION_ADVANCED,               \
         disable_blend_equation_advanced)               \
  GPU_OP(DISABLE_DISCARD_FRAMEBUFFER,                   \
         disable_discard_framebuffer)                   \
  GPU_OP(DISABLE_TEXTURE_STORAGE,                       \
         disable_texture_storage)                       \
  GPU_OP(DISALLOW_LARGE_INSTANCED_DRAW,                 \
         disallow_large_instanced_draw)                 \
  GPU_OP(EMULATE_ABS_INT_FUNCTION,                      \
         emulate_abs_int_function)                      \
  GPU_OP(FLUSH_ON_FRAMEBUFFER_CHANGE,                   \
         flush_on_framebuffer_change)                   \
  GPU_OP(GL_CLEAR_BROKEN,                               \
         gl_clear_broken)                               \
  GPU_OP(MAX_FRAGMENT_UNIFORM_VECTORS_32,               \
         max_fragment_uniform_vectors_32)               \
  GPU_OP(MAX_MSAA_SAMPLE_COUNT_4,                       \
         max_msaa_sample_count_4)                       \
  GPU_OP(MAX_TEXTURE_SIZE_LIMIT_4096,                   \
         max_texture_size_limit_4096)                   \
  GPU_OP(PACK_PARAMETERS_WORKAROUND_WITH_PACK_BUFFER,   \
         pack_parameters_workaround_with_pack_buffer)   \
  GPU_OP(REMOVE_POW_WITH_CONSTANT_EXPONENT,             \
         remove_pow_with_constant_exponent)             \
  GPU_OP(RESTORE_SCISSOR_ON_FBO_CHANGE,                 \
         restore_scissor_on_fbo_change)                 \
  GPU_OP(REWRITE_DO_WHILE_LOOPS,                        \
         rewrite_do_while_loops)                        \
  GPU_OP(UNBIND_ATTACHMENTS_ON_BOUND_RENDER_FBO_DELETE, \
         unbind_attachments_on_bound_render_fbo_delete) \
  GPU_OP(UNFOLD_SHORT_CIRCUIT_AS_TERNARY_OPERATION,     \
         unfold_short_circuit_as_ternary_operation)     \
// The End
