Index: gpu/command_buffer/client/gles2_implementation.h |
=================================================================== |
--- gpu/command_buffer/client/gles2_implementation.h (revision 112221) |
+++ gpu/command_buffer/client/gles2_implementation.h (working copy) |
@@ -202,6 +202,13 @@ |
void FreeUnusedSharedMemory(); |
private: |
+ // Used to track whether an extension is available |
+ enum ExtensionStatus { |
+ kAvailableExtensionStatus, |
+ kUnavailableExtensionStatus, |
+ kUnknownExtensionStatus |
+ }; |
+ |
// Wraps RingBufferWrapper to provide aligned allocations. |
class AlignedRingBuffer : public RingBufferWrapper { |
public: |
@@ -338,6 +345,9 @@ |
return static_cast<T>(result_buffer_); |
} |
+ // Lazily determines if GL_ANGLE_pack_reverse_row_order is available |
+ bool IsAnglePackReverseRowOrderAvailable(); |
+ |
// Gets the GLError through our wrapper. |
GLenum GetGLError(); |
@@ -432,6 +442,8 @@ |
std::queue<int32> swap_buffers_tokens_; |
std::queue<int32> rate_limit_tokens_; |
+ ExtensionStatus angle_pack_reverse_row_order_status; |
+ |
GLState gl_state_; |
// pack alignment as last set by glPixelStorei |
@@ -443,6 +455,9 @@ |
// unpack yflip as last set by glPixelstorei |
bool unpack_flip_y_; |
+ // pack reverse row order as last set by glPixelstorei |
+ bool pack_reverse_row_order_; |
+ |
scoped_array<TextureUnit> texture_units_; |
// 0 to gl_state_.max_combined_texture_image_units. |