OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include <stddef.h> | 4 #include <stddef.h> |
5 #include <stdint.h> | 5 #include <stdint.h> |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/at_exit.h" | 10 #include "base/at_exit.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 #include "gpu/command_buffer/service/command_executor.h" | 22 #include "gpu/command_buffer/service/command_executor.h" |
23 #include "gpu/command_buffer/service/context_group.h" | 23 #include "gpu/command_buffer/service/context_group.h" |
24 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 24 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
25 #include "gpu/command_buffer/service/logger.h" | 25 #include "gpu/command_buffer/service/logger.h" |
26 #include "gpu/command_buffer/service/mailbox_manager_impl.h" | 26 #include "gpu/command_buffer/service/mailbox_manager_impl.h" |
27 #include "gpu/command_buffer/service/sync_point_manager.h" | 27 #include "gpu/command_buffer/service/sync_point_manager.h" |
28 #include "gpu/command_buffer/service/transfer_buffer_manager.h" | 28 #include "gpu/command_buffer/service/transfer_buffer_manager.h" |
29 #include "ui/gfx/geometry/size.h" | 29 #include "ui/gfx/geometry/size.h" |
30 #include "ui/gl/gl_context.h" | 30 #include "ui/gl/gl_context.h" |
31 #include "ui/gl/gl_context_egl.h" | 31 #include "ui/gl/gl_context_egl.h" |
32 #include "ui/gl/gl_context_stub_with_extensions.h" | 32 #include "ui/gl/gl_context_stub.h" |
33 #include "ui/gl/gl_image_ref_counted_memory.h" | 33 #include "ui/gl/gl_image_ref_counted_memory.h" |
34 #include "ui/gl/gl_share_group.h" | 34 #include "ui/gl/gl_share_group.h" |
35 #include "ui/gl/gl_stub_api.h" | 35 #include "ui/gl/gl_stub_api.h" |
36 #include "ui/gl/gl_surface.h" | 36 #include "ui/gl/gl_surface.h" |
37 #include "ui/gl/gl_surface_egl.h" | 37 #include "ui/gl/gl_surface_egl.h" |
38 #include "ui/gl/gl_surface_stub.h" | 38 #include "ui/gl/gl_surface_stub.h" |
39 #include "ui/gl/init/gl_factory.h" | 39 #include "ui/gl/init/gl_factory.h" |
40 #include "ui/gl/test/gl_surface_test_support.h" | 40 #include "ui/gl/test/gl_surface_test_support.h" |
41 | 41 |
42 namespace gpu { | 42 namespace gpu { |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 gl::kANGLEImplementationNullName); | 104 gl::kANGLEImplementationNullName); |
105 gl::init::InitializeGLOneOffImplementation(gl::kGLImplementationEGLGLES2, | 105 gl::init::InitializeGLOneOffImplementation(gl::kGLImplementationEGLGLES2, |
106 false, false, false); | 106 false, false, false); |
107 surface_ = new gl::PbufferGLSurfaceEGL(gfx::Size()); | 107 surface_ = new gl::PbufferGLSurfaceEGL(gfx::Size()); |
108 surface_->Initialize(); | 108 surface_->Initialize(); |
109 | 109 |
110 context_ = new gl::GLContextEGL(share_group_.get()); | 110 context_ = new gl::GLContextEGL(share_group_.get()); |
111 context_->Initialize(surface_.get(), gl::GLContextAttribs()); | 111 context_->Initialize(surface_.get(), gl::GLContextAttribs()); |
112 #else | 112 #else |
113 surface_ = new gl::GLSurfaceStub; | 113 surface_ = new gl::GLSurfaceStub; |
114 context_ = new gl::GLContextStub(share_group_.get()); | 114 scoped_refptr<gl::GLContextStub> context_stub = |
| 115 new gl::GLContextStub(share_group_.get()); |
| 116 context_stub->SetGLVersionString("OpenGL ES 3.1"); |
| 117 context_stub->SetExtensionsString(kExtensions); |
| 118 context_stub->SetUseStubApi(true); |
| 119 context_ = context_stub; |
115 gl::GLSurfaceTestSupport::InitializeOneOffWithMockBindings(); | 120 gl::GLSurfaceTestSupport::InitializeOneOffWithMockBindings(); |
116 | |
117 api_ = base::MakeUnique<gl::GLStubApi>(); | |
118 api_->set_version("OpenGL ES 3.1"); | |
119 api_->set_extensions(kExtensions); | |
120 gl::SetStubGLApi(api_.get()); | |
121 #endif | 121 #endif |
122 | 122 |
123 sync_point_client_ = sync_point_manager_->CreateSyncPointClient( | 123 sync_point_client_ = sync_point_manager_->CreateSyncPointClient( |
124 sync_point_order_data_, CommandBufferNamespace::IN_PROCESS, | 124 sync_point_order_data_, CommandBufferNamespace::IN_PROCESS, |
125 command_buffer_id_); | 125 command_buffer_id_); |
126 | 126 |
127 translator_cache_ = new gles2::ShaderTranslatorCache(gpu_preferences_); | 127 translator_cache_ = new gles2::ShaderTranslatorCache(gpu_preferences_); |
128 completeness_cache_ = new gles2::FramebufferCompletenessCache; | 128 completeness_cache_ = new gles2::FramebufferCompletenessCache; |
129 } | 129 } |
130 | 130 |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 | 283 |
284 std::unique_ptr<SyncPointManager> sync_point_manager_; | 284 std::unique_ptr<SyncPointManager> sync_point_manager_; |
285 scoped_refptr<SyncPointOrderData> sync_point_order_data_; | 285 scoped_refptr<SyncPointOrderData> sync_point_order_data_; |
286 std::unique_ptr<SyncPointClient> sync_point_client_; | 286 std::unique_ptr<SyncPointClient> sync_point_client_; |
287 scoped_refptr<gles2::MailboxManager> mailbox_manager_; | 287 scoped_refptr<gles2::MailboxManager> mailbox_manager_; |
288 scoped_refptr<gl::GLShareGroup> share_group_; | 288 scoped_refptr<gl::GLShareGroup> share_group_; |
289 const gpu::CommandBufferId command_buffer_id_; | 289 const gpu::CommandBufferId command_buffer_id_; |
290 | 290 |
291 scoped_refptr<gl::GLSurface> surface_; | 291 scoped_refptr<gl::GLSurface> surface_; |
292 scoped_refptr<gl::GLContext> context_; | 292 scoped_refptr<gl::GLContext> context_; |
293 #if !defined(GPU_FUZZER_USE_ANGLE) | |
294 std::unique_ptr<gl::GLStubApi> api_; | |
295 #endif | |
296 | 293 |
297 scoped_refptr<gles2::ShaderTranslatorCache> translator_cache_; | 294 scoped_refptr<gles2::ShaderTranslatorCache> translator_cache_; |
298 scoped_refptr<gles2::FramebufferCompletenessCache> completeness_cache_; | 295 scoped_refptr<gles2::FramebufferCompletenessCache> completeness_cache_; |
299 | 296 |
300 std::unique_ptr<CommandBufferService> command_buffer_; | 297 std::unique_ptr<CommandBufferService> command_buffer_; |
301 | 298 |
302 std::unique_ptr<gles2::GLES2Decoder> decoder_; | 299 std::unique_ptr<gles2::GLES2Decoder> decoder_; |
303 std::unique_ptr<CommandExecutor> executor_; | 300 std::unique_ptr<CommandExecutor> executor_; |
304 | 301 |
305 scoped_refptr<gles2::ShaderTranslatorInterface> vertex_translator_; | 302 scoped_refptr<gles2::ShaderTranslatorInterface> vertex_translator_; |
(...skipping 10 matching lines...) Expand all Loading... |
316 // registered, causing crashes. | 313 // registered, causing crashes. |
317 CommandBufferSetup* g_setup = new CommandBufferSetup(); | 314 CommandBufferSetup* g_setup = new CommandBufferSetup(); |
318 | 315 |
319 } // anonymous namespace | 316 } // anonymous namespace |
320 } // namespace gpu | 317 } // namespace gpu |
321 | 318 |
322 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { | 319 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { |
323 gpu::g_setup->RunCommandBuffer(data, size); | 320 gpu::g_setup->RunCommandBuffer(data, size); |
324 return 0; | 321 return 0; |
325 } | 322 } |
OLD | NEW |