| Index: gpu/command_buffer/service/mailbox_manager.h
|
| diff --git a/gpu/command_buffer/service/mailbox_manager.h b/gpu/command_buffer/service/mailbox_manager.h
|
| index 8f97dd4af6d867b4ee96b906c8af998b186649da..30d36cd23ab3e83eea2ce858ae7cad88b62eb868 100644
|
| --- a/gpu/command_buffer/service/mailbox_manager.h
|
| +++ b/gpu/command_buffer/service/mailbox_manager.h
|
| @@ -24,7 +24,7 @@ typedef signed char GLbyte;
|
| namespace gpu {
|
| namespace gles2 {
|
|
|
| -class TextureDefinition;
|
| +class Texture;
|
| class TextureManager;
|
|
|
| // Identifies a mailbox where a texture definition can be stored for
|
| @@ -44,18 +44,16 @@ class GPU_EXPORT MailboxManager : public base::RefCounted<MailboxManager> {
|
| // Generate a unique mailbox name signed with the manager's private key.
|
| void GenerateMailboxName(MailboxName* name);
|
|
|
| - // Remove the texture definition from the named mailbox and empty the mailbox.
|
| - TextureDefinition* ConsumeTexture(unsigned target, const MailboxName& name);
|
| + // Look up the texture definition from the named mailbox.
|
| + Texture* ConsumeTexture(unsigned target, const MailboxName& name);
|
|
|
| - // Put the texture definition in the named mailbox.
|
| + // Put the texture into the named mailbox.
|
| bool ProduceTexture(unsigned target,
|
| const MailboxName& name,
|
| - TextureDefinition* definition,
|
| - TextureManager* owner);
|
| + Texture* texture);
|
|
|
| - // Destroy any texture definitions and mailboxes owned by the given texture
|
| - // manager.
|
| - void DestroyOwnedTextures(TextureManager* owner, bool have_context);
|
| + // Destroy any mailbox that reference the given texture.
|
| + void TextureDeleted(Texture* texture);
|
|
|
| std::string private_key() {
|
| return std::string(private_key_, sizeof(private_key_));
|
| @@ -77,23 +75,15 @@ class GPU_EXPORT MailboxManager : public base::RefCounted<MailboxManager> {
|
|
|
| static bool TargetNameLess(const TargetName& lhs, const TargetName& rhs);
|
|
|
| - struct OwnedTextureDefinition {
|
| - OwnedTextureDefinition(TextureDefinition* definition,
|
| - TextureManager* owner);
|
| - ~OwnedTextureDefinition();
|
| - linked_ptr<TextureDefinition> definition;
|
| - TextureManager* owner;
|
| - };
|
| -
|
| typedef std::map<
|
| TargetName,
|
| - OwnedTextureDefinition,
|
| + Texture*,
|
| std::pointer_to_binary_function<
|
| - const TargetName&, const TargetName&, bool> > TextureDefinitionMap;
|
| + const TargetName&, const TargetName&, bool> > TextureMap;
|
|
|
| char private_key_[GL_MAILBOX_SIZE_CHROMIUM / 2];
|
| crypto::HMAC hmac_;
|
| - TextureDefinitionMap textures_;
|
| + TextureMap textures_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MailboxManager);
|
| };
|
|
|