Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1276)

Side by Side Diff: gpu/command_buffer/client/gles2_implementation.cc

Issue 299043003: Adding bindless variants mailbox produce/consume (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 // A class to emulate GLES2 over command buffers. 5 // A class to emulate GLES2 over command buffers.
6 6
7 #include "gpu/command_buffer/client/gles2_implementation.h" 7 #include "gpu/command_buffer/client/gles2_implementation.h"
8 8
9 #include <GLES2/gl2ext.h> 9 #include <GLES2/gl2ext.h>
10 #include <GLES2/gl2extchromium.h> 10 #include <GLES2/gl2extchromium.h>
(...skipping 3578 matching lines...) Expand 10 before | Expand all | Expand 10 after
3589 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glProduceTextureCHROMIUM(" 3589 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glProduceTextureCHROMIUM("
3590 << static_cast<const void*>(data) << ")"); 3590 << static_cast<const void*>(data) << ")");
3591 const Mailbox& mailbox = *reinterpret_cast<const Mailbox*>(data); 3591 const Mailbox& mailbox = *reinterpret_cast<const Mailbox*>(data);
3592 DCHECK(mailbox.Verify()) << "ProduceTextureCHROMIUM was passed a " 3592 DCHECK(mailbox.Verify()) << "ProduceTextureCHROMIUM was passed a "
3593 "mailbox that was not generated by " 3593 "mailbox that was not generated by "
3594 "GenMailboxCHROMIUM."; 3594 "GenMailboxCHROMIUM.";
3595 helper_->ProduceTextureCHROMIUMImmediate(target, data); 3595 helper_->ProduceTextureCHROMIUMImmediate(target, data);
3596 CheckGLError(); 3596 CheckGLError();
3597 } 3597 }
3598 3598
3599 void GLES2Implementation::ProduceTextureBindlessCHROMIUM(
3600 GLuint texture, GLenum target, const GLbyte* data) {
3601 GPU_CLIENT_SINGLE_THREAD_CHECK();
3602 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glProduceTextureBindlessCHROMIUM("
3603 << static_cast<const void*>(data) << ")");
3604 const Mailbox& mailbox = *reinterpret_cast<const Mailbox*>(data);
3605 DCHECK(mailbox.Verify()) << "ProduceTextureBindlessCHROMIUM was passed a "
3606 "mailbox that was not generated by "
3607 "GenMailboxCHROMIUM.";
3608 helper_->ProduceTextureBindlessCHROMIUMImmediate(texture, target, data);
3609 CheckGLError();
3610 }
3611
3599 void GLES2Implementation::ConsumeTextureCHROMIUM(GLenum target, 3612 void GLES2Implementation::ConsumeTextureCHROMIUM(GLenum target,
3600 const GLbyte* data) { 3613 const GLbyte* data) {
3601 GPU_CLIENT_SINGLE_THREAD_CHECK(); 3614 GPU_CLIENT_SINGLE_THREAD_CHECK();
3602 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glConsumeTextureCHROMIUM(" 3615 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glConsumeTextureCHROMIUM("
3603 << static_cast<const void*>(data) << ")"); 3616 << static_cast<const void*>(data) << ")");
3604 const Mailbox& mailbox = *reinterpret_cast<const Mailbox*>(data); 3617 const Mailbox& mailbox = *reinterpret_cast<const Mailbox*>(data);
3605 DCHECK(mailbox.Verify()) << "ConsumeTextureCHROMIUM was passed a " 3618 DCHECK(mailbox.Verify()) << "ConsumeTextureCHROMIUM was passed a "
3606 "mailbox that was not generated by " 3619 "mailbox that was not generated by "
3607 "GenMailboxCHROMIUM."; 3620 "GenMailboxCHROMIUM.";
3608 helper_->ConsumeTextureCHROMIUMImmediate(target, data); 3621 helper_->ConsumeTextureCHROMIUMImmediate(target, data);
3609 CheckGLError(); 3622 CheckGLError();
3610 } 3623 }
3611 3624
3625 GLuint GLES2Implementation::CreateAndConsumeTextureCHROMIUM(
3626 GLenum target, const GLbyte* data) {
3627 GPU_CLIENT_SINGLE_THREAD_CHECK();
3628 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateAndConsumeTextureCHROMIUM("
3629 << static_cast<const void*>(data) << ")");
3630 const Mailbox& mailbox = *reinterpret_cast<const Mailbox*>(data);
3631 DCHECK(mailbox.Verify()) << "CreateAndConsumeTextureCHROMIUM was passed a "
3632 "mailbox that was not generated by "
3633 "GenMailboxCHROMIUM.";
3634 GLuint client_id;
3635 GetIdHandler(id_namespaces::kTextures)->MakeIds(this, 0, 1, &client_id);
3636 helper_->CreateAndConsumeTextureCHROMIUMImmediate(target,
3637 client_id, data);
3638 CheckGLError();
3639 return client_id;
3640 }
3641
3612 void GLES2Implementation::PushGroupMarkerEXT( 3642 void GLES2Implementation::PushGroupMarkerEXT(
3613 GLsizei length, const GLchar* marker) { 3643 GLsizei length, const GLchar* marker) {
3614 GPU_CLIENT_SINGLE_THREAD_CHECK(); 3644 GPU_CLIENT_SINGLE_THREAD_CHECK();
3615 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glPushGroupMarkerEXT(" 3645 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glPushGroupMarkerEXT("
3616 << length << ", " << marker << ")"); 3646 << length << ", " << marker << ")");
3617 if (!marker) { 3647 if (!marker) {
3618 marker = ""; 3648 marker = "";
3619 } 3649 }
3620 SetBucketAsString( 3650 SetBucketAsString(
3621 kResultBucketId, 3651 kResultBucketId,
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
4136 return true; 4166 return true;
4137 } 4167 }
4138 4168
4139 // Include the auto-generated part of this file. We split this because it means 4169 // Include the auto-generated part of this file. We split this because it means
4140 // we can easily edit the non-auto generated parts right here in this file 4170 // we can easily edit the non-auto generated parts right here in this file
4141 // instead of having to edit some template or the code generator. 4171 // instead of having to edit some template or the code generator.
4142 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h" 4172 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h"
4143 4173
4144 } // namespace gles2 4174 } // namespace gles2
4145 } // namespace gpu 4175 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698