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

Side by Side Diff: gpu/command_buffer/service/in_process_command_buffer.cc

Issue 1548443002: Introducing gpu::CommandBufferId as a distinct, IdType<...>-based type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@type-safe-save-package-id-self-contained
Patch Set: Rebasing... Created 4 years, 10 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "gpu/command_buffer/service/in_process_command_buffer.h" 5 #include "gpu/command_buffer/service/in_process_command_buffer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <queue> 10 #include <queue>
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 gfx::g_driver_gl.ext.b_GL_OES_get_program_binary) && 191 gfx::g_driver_gl.ext.b_GL_OES_get_program_binary) &&
192 !base::CommandLine::ForCurrentProcess()->HasSwitch( 192 !base::CommandLine::ForCurrentProcess()->HasSwitch(
193 switches::kDisableGpuProgramCache)) { 193 switches::kDisableGpuProgramCache)) {
194 program_cache_.reset(new gpu::gles2::MemoryProgramCache()); 194 program_cache_.reset(new gpu::gles2::MemoryProgramCache());
195 } 195 }
196 return program_cache_.get(); 196 return program_cache_.get();
197 } 197 }
198 198
199 InProcessCommandBuffer::InProcessCommandBuffer( 199 InProcessCommandBuffer::InProcessCommandBuffer(
200 const scoped_refptr<Service>& service) 200 const scoped_refptr<Service>& service)
201 : command_buffer_id_(g_next_command_buffer_id.GetNext()), 201 : command_buffer_id_(
202 CommandBufferId::FromUnsafeValue(g_next_command_buffer_id.GetNext())),
202 context_lost_(false), 203 context_lost_(false),
203 delayed_work_pending_(false), 204 delayed_work_pending_(false),
204 image_factory_(nullptr), 205 image_factory_(nullptr),
205 last_put_offset_(-1), 206 last_put_offset_(-1),
206 gpu_memory_buffer_manager_(nullptr), 207 gpu_memory_buffer_manager_(nullptr),
207 next_fence_sync_release_(1), 208 next_fence_sync_release_(1),
208 flushed_fence_sync_release_(0), 209 flushed_fence_sync_release_(0),
209 flush_event_(false, false), 210 flush_event_(false, false),
210 service_(GetInitialService(service)), 211 service_(GetInitialService(service)),
211 fence_sync_wait_event_(false, false), 212 fence_sync_wait_event_(false, false),
(...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 SyncToken sync_token(GetNamespaceID(), GetExtraCommandBufferData(), 832 SyncToken sync_token(GetNamespaceID(), GetExtraCommandBufferData(),
832 GetCommandBufferID(), release); 833 GetCommandBufferID(), release);
833 mailbox_manager->PushTextureUpdates(sync_token); 834 mailbox_manager->PushTextureUpdates(sync_token);
834 } 835 }
835 836
836 sync_point_client_->ReleaseFenceSync(release); 837 sync_point_client_->ReleaseFenceSync(release);
837 } 838 }
838 839
839 bool InProcessCommandBuffer::WaitFenceSyncOnGpuThread( 840 bool InProcessCommandBuffer::WaitFenceSyncOnGpuThread(
840 gpu::CommandBufferNamespace namespace_id, 841 gpu::CommandBufferNamespace namespace_id,
841 uint64_t command_buffer_id, 842 gpu::CommandBufferId command_buffer_id,
842 uint64_t release) { 843 uint64_t release) {
843 gpu::SyncPointManager* sync_point_manager = service_->sync_point_manager(); 844 gpu::SyncPointManager* sync_point_manager = service_->sync_point_manager();
844 DCHECK(sync_point_manager); 845 DCHECK(sync_point_manager);
845 846
846 scoped_refptr<gpu::SyncPointClientState> release_state = 847 scoped_refptr<gpu::SyncPointClientState> release_state =
847 sync_point_manager->GetSyncPointClientState(namespace_id, 848 sync_point_manager->GetSyncPointClientState(namespace_id,
848 command_buffer_id); 849 command_buffer_id);
849 850
850 if (!release_state) 851 if (!release_state)
851 return true; 852 return true;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 } 917 }
917 918
918 void InProcessCommandBuffer::EnsureWorkVisible() { 919 void InProcessCommandBuffer::EnsureWorkVisible() {
919 // This is only relevant for out-of-process command buffers. 920 // This is only relevant for out-of-process command buffers.
920 } 921 }
921 922
922 CommandBufferNamespace InProcessCommandBuffer::GetNamespaceID() const { 923 CommandBufferNamespace InProcessCommandBuffer::GetNamespaceID() const {
923 return CommandBufferNamespace::IN_PROCESS; 924 return CommandBufferNamespace::IN_PROCESS;
924 } 925 }
925 926
926 uint64_t InProcessCommandBuffer::GetCommandBufferID() const { 927 CommandBufferId InProcessCommandBuffer::GetCommandBufferID() const {
927 return command_buffer_id_; 928 return command_buffer_id_;
928 } 929 }
929 930
930 int32_t InProcessCommandBuffer::GetExtraCommandBufferData() const { 931 int32_t InProcessCommandBuffer::GetExtraCommandBufferData() const {
931 return 0; 932 return 0;
932 } 933 }
933 934
934 uint64_t InProcessCommandBuffer::GenerateFenceSyncRelease() { 935 uint64_t InProcessCommandBuffer::GenerateFenceSyncRelease() {
935 return next_fence_sync_release_++; 936 return next_fence_sync_release_++;
936 } 937 }
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 framebuffer_completeness_cache_ = 1081 framebuffer_completeness_cache_ =
1081 new gpu::gles2::FramebufferCompletenessCache; 1082 new gpu::gles2::FramebufferCompletenessCache;
1082 return framebuffer_completeness_cache_; 1083 return framebuffer_completeness_cache_;
1083 } 1084 }
1084 1085
1085 SyncPointManager* GpuInProcessThread::sync_point_manager() { 1086 SyncPointManager* GpuInProcessThread::sync_point_manager() {
1086 return sync_point_manager_; 1087 return sync_point_manager_;
1087 } 1088 }
1088 1089
1089 } // namespace gpu 1090 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/in_process_command_buffer.h ('k') | gpu/command_buffer/service/mailbox_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698