| Index: gpu/command_buffer/service/texture_manager.h
|
| diff --git a/gpu/command_buffer/service/texture_manager.h b/gpu/command_buffer/service/texture_manager.h
|
| index c5a5c052514fdb53f115b4b87fdfec29a217647e..567b4f033a60251b54c1ea3b76439285f392a277 100644
|
| --- a/gpu/command_buffer/service/texture_manager.h
|
| +++ b/gpu/command_buffer/service/texture_manager.h
|
| @@ -660,7 +660,9 @@ struct DecoderTextureState {
|
| workarounds.force_cube_map_positive_x_allocation),
|
| force_cube_complete(workarounds.force_cube_complete),
|
| unpack_alignment_workaround_with_unpack_buffer(
|
| - workarounds.unpack_alignment_workaround_with_unpack_buffer) {}
|
| + workarounds.unpack_alignment_workaround_with_unpack_buffer),
|
| + unpack_overlapping_rows_separately_unpack_buffer(
|
| + workarounds.unpack_overlapping_rows_separately_unpack_buffer) {}
|
|
|
| // This indicates all the following texSubImage*D calls that are part of the
|
| // failed texImage*D call should be ignored. The client calls have a lock
|
| @@ -676,6 +678,7 @@ struct DecoderTextureState {
|
| bool force_cube_map_positive_x_allocation;
|
| bool force_cube_complete;
|
| bool unpack_alignment_workaround_with_unpack_buffer;
|
| + bool unpack_overlapping_rows_separately_unpack_buffer;
|
| };
|
|
|
| // This class keeps track of the textures and their sizes so we can do NPOT and
|
| @@ -1086,6 +1089,11 @@ class GPU_EXPORT TextureManager : public base::trace_event::MemoryDumpProvider {
|
| ContextState* state,
|
| const DoTexSubImageArguments& args);
|
|
|
| + void DoTexSubImageRowByRowWorkaround(DecoderTextureState* texture_state,
|
| + ContextState* state,
|
| + const DoTexSubImageArguments& args,
|
| + const PixelStoreParams& unpack_params);
|
| +
|
| void StartTracking(TextureRef* texture);
|
| void StopTracking(TextureRef* texture);
|
|
|
|
|