OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ | 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ |
6 #define GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ | 6 #define GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 void InitTextureMaxAnisotropyIfNeeded(GLenum target); | 315 void InitTextureMaxAnisotropyIfNeeded(GLenum target); |
316 | 316 |
317 void DumpLevelMemory(base::trace_event::ProcessMemoryDump* pmd, | 317 void DumpLevelMemory(base::trace_event::ProcessMemoryDump* pmd, |
318 uint64_t client_tracing_id, | 318 uint64_t client_tracing_id, |
319 const std::string& dump_name) const; | 319 const std::string& dump_name) const; |
320 | 320 |
321 void ApplyFormatWorkarounds(FeatureInfo* feature_info); | 321 void ApplyFormatWorkarounds(FeatureInfo* feature_info); |
322 | 322 |
323 bool EmulatingRGB(); | 323 bool EmulatingRGB(); |
324 | 324 |
| 325 // Causes us to report |service_id| as our service id, but does not delete |
| 326 // it when we are destroyed. Will rebind any OES_EXTERNAL texture units to |
| 327 // our new service id in all contexts. If |service_id| is zero, then we |
| 328 // revert to |owned_service_id_|. |
| 329 void SetStreamTextureServiceId(GLuint service_id); |
| 330 |
325 private: | 331 private: |
326 friend class MailboxManagerImpl; | 332 friend class MailboxManagerImpl; |
327 friend class MailboxManagerSync; | 333 friend class MailboxManagerSync; |
328 friend class MailboxManagerTest; | 334 friend class MailboxManagerTest; |
329 friend class TextureDefinition; | 335 friend class TextureDefinition; |
330 friend class TextureManager; | 336 friend class TextureManager; |
331 friend class TextureRef; | 337 friend class TextureRef; |
332 friend class TextureTestHelper; | 338 friend class TextureTestHelper; |
333 | 339 |
334 ~Texture() override; | 340 ~Texture() override; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 GLint level, | 402 GLint level, |
397 GLenum internal_format, | 403 GLenum internal_format, |
398 GLsizei width, | 404 GLsizei width, |
399 GLsizei height, | 405 GLsizei height, |
400 GLsizei depth, | 406 GLsizei depth, |
401 GLint border, | 407 GLint border, |
402 GLenum format, | 408 GLenum format, |
403 GLenum type, | 409 GLenum type, |
404 const gfx::Rect& cleared_rect); | 410 const gfx::Rect& cleared_rect); |
405 | 411 |
406 // Causes us to report |service_id| as our service id, but does not delete | |
407 // it when we are destroyed. Will rebind any OES_EXTERNAL texture units to | |
408 // our new service id in all contexts. If |service_id| is zero, then we | |
409 // revert to |owned_service_id_|. | |
410 void SetStreamTextureServiceId(GLuint service_id); | |
411 | |
412 void MarkLevelAsInternalWorkaround(GLenum target, GLint level); | 412 void MarkLevelAsInternalWorkaround(GLenum target, GLint level); |
413 | 413 |
414 // In GLES2 "texture complete" means it has all required mips for filtering | 414 // In GLES2 "texture complete" means it has all required mips for filtering |
415 // down to a 1x1 pixel texture, they are in the correct order, they are all | 415 // down to a 1x1 pixel texture, they are in the correct order, they are all |
416 // the same format. | 416 // the same format. |
417 bool texture_complete() const { | 417 bool texture_complete() const { |
418 return texture_complete_; | 418 return texture_complete_; |
419 } | 419 } |
420 | 420 |
421 // In GLES2 "cube complete" means all 6 faces level 0 are defined, all the | 421 // In GLES2 "cube complete" means all 6 faces level 0 are defined, all the |
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1265 private: | 1265 private: |
1266 DecoderTextureState* texture_state_; | 1266 DecoderTextureState* texture_state_; |
1267 base::TimeTicks begin_time_; | 1267 base::TimeTicks begin_time_; |
1268 DISALLOW_COPY_AND_ASSIGN(ScopedTextureUploadTimer); | 1268 DISALLOW_COPY_AND_ASSIGN(ScopedTextureUploadTimer); |
1269 }; | 1269 }; |
1270 | 1270 |
1271 } // namespace gles2 | 1271 } // namespace gles2 |
1272 } // namespace gpu | 1272 } // namespace gpu |
1273 | 1273 |
1274 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ | 1274 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ |
OLD | NEW |