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

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

Issue 2764833003: Make gl_clear_broken workaround support core profile and use it under AMD Linux Catalyst driver (Closed)
Patch Set: uniform location should be GLint Created 3 years, 8 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 (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 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include <limits.h> 7 #include <limits.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <stdio.h> 10 #include <stdio.h>
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 584
585 void WaitForReadPixels(base::Closure callback) override; 585 void WaitForReadPixels(base::Closure callback) override;
586 586
587 Logger* GetLogger() override; 587 Logger* GetLogger() override;
588 588
589 void BeginDecoding() override; 589 void BeginDecoding() override;
590 void EndDecoding() override; 590 void EndDecoding() override;
591 591
592 ErrorState* GetErrorState() override; 592 ErrorState* GetErrorState() override;
593 const ContextState* GetContextState() override { return &state_; } 593 const ContextState* GetContextState() override { return &state_; }
594 scoped_refptr<ShaderTranslatorInterface> GetTranslator(GLenum type) override; 594 scoped_refptr<ShaderTranslatorInterface> GetTranslator(
595 GLenum type) const override;
595 596
596 void SetShaderCacheCallback(const ShaderCacheCallback& callback) override; 597 void SetShaderCacheCallback(const ShaderCacheCallback& callback) override;
597 void SetFenceSyncReleaseCallback( 598 void SetFenceSyncReleaseCallback(
598 const FenceSyncReleaseCallback& callback) override; 599 const FenceSyncReleaseCallback& callback) override;
599 void SetWaitSyncTokenCallback(const WaitSyncTokenCallback& callback) override; 600 void SetWaitSyncTokenCallback(const WaitSyncTokenCallback& callback) override;
600 601
601 void SetDescheduleUntilFinishedCallback( 602 void SetDescheduleUntilFinishedCallback(
602 const NoParamCallback& callback) override; 603 const NoParamCallback& callback) override;
603 void SetRescheduleAfterFinishedCallback( 604 void SetRescheduleAfterFinishedCallback(
604 const NoParamCallback& callback) override; 605 const NoParamCallback& callback) override;
(...skipping 2997 matching lines...) Expand 10 before | Expand all | Expand 10 after
3602 glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT); 3603 glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT);
3603 } 3604 }
3604 3605
3605 if (workarounds().unbind_fbo_on_context_switch) { 3606 if (workarounds().unbind_fbo_on_context_switch) {
3606 context_->SetUnbindFboOnMakeCurrent(); 3607 context_->SetUnbindFboOnMakeCurrent();
3607 } 3608 }
3608 3609
3609 if (workarounds().gl_clear_broken) { 3610 if (workarounds().gl_clear_broken) {
3610 DCHECK(!clear_framebuffer_blit_.get()); 3611 DCHECK(!clear_framebuffer_blit_.get());
3611 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("glClearWorkaroundInit"); 3612 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("glClearWorkaroundInit");
3612 clear_framebuffer_blit_.reset(new ClearFramebufferResourceManager(this)); 3613 clear_framebuffer_blit_.reset(
3614 new ClearFramebufferResourceManager(this, gl_version_info()));
3613 if (LOCAL_PEEK_GL_ERROR("glClearWorkaroundInit") != GL_NO_ERROR) 3615 if (LOCAL_PEEK_GL_ERROR("glClearWorkaroundInit") != GL_NO_ERROR)
3614 return false; 3616 return false;
3615 } 3617 }
3616 3618
3617 if (group_->gpu_preferences().enable_gpu_driver_debug_logging && 3619 if (group_->gpu_preferences().enable_gpu_driver_debug_logging &&
3618 feature_info_->feature_flags().khr_debug) { 3620 feature_info_->feature_flags().khr_debug) {
3619 InitializeGLDebugLogging(); 3621 InitializeGLDebugLogging();
3620 } 3622 }
3621 3623
3622 return true; 3624 return true;
(...skipping 6822 matching lines...) Expand 10 before | Expand all | Expand 10 after
10445 GLenum buffer_mode) { 10447 GLenum buffer_mode) {
10446 Program* program = GetProgramInfoNotShader( 10448 Program* program = GetProgramInfoNotShader(
10447 client_program_id, "glTransformFeedbackVaryings"); 10449 client_program_id, "glTransformFeedbackVaryings");
10448 if (!program) { 10450 if (!program) {
10449 return; 10451 return;
10450 } 10452 }
10451 program->TransformFeedbackVaryings(count, varyings, buffer_mode); 10453 program->TransformFeedbackVaryings(count, varyings, buffer_mode);
10452 } 10454 }
10453 10455
10454 scoped_refptr<ShaderTranslatorInterface> GLES2DecoderImpl::GetTranslator( 10456 scoped_refptr<ShaderTranslatorInterface> GLES2DecoderImpl::GetTranslator(
10455 GLenum type) { 10457 GLenum type) const {
10456 return type == GL_VERTEX_SHADER ? vertex_translator_ : fragment_translator_; 10458 return type == GL_VERTEX_SHADER ? vertex_translator_ : fragment_translator_;
10457 } 10459 }
10458 10460
10459 void GLES2DecoderImpl::DoCompileShader(GLuint client_id) { 10461 void GLES2DecoderImpl::DoCompileShader(GLuint client_id) {
10460 TRACE_EVENT0("gpu", "GLES2DecoderImpl::DoCompileShader"); 10462 TRACE_EVENT0("gpu", "GLES2DecoderImpl::DoCompileShader");
10461 Shader* shader = GetShaderInfoNotProgram(client_id, "glCompileShader"); 10463 Shader* shader = GetShaderInfoNotProgram(client_id, "glCompileShader");
10462 if (!shader) { 10464 if (!shader) {
10463 return; 10465 return;
10464 } 10466 }
10465 10467
(...skipping 9047 matching lines...) Expand 10 before | Expand all | Expand 10 after
19513 } 19515 }
19514 19516
19515 // Include the auto-generated part of this file. We split this because it means 19517 // Include the auto-generated part of this file. We split this because it means
19516 // we can easily edit the non-auto generated parts right here in this file 19518 // we can easily edit the non-auto generated parts right here in this file
19517 // instead of having to edit some template or the code generator. 19519 // instead of having to edit some template or the code generator.
19518 #include "base/macros.h" 19520 #include "base/macros.h"
19519 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" 19521 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h"
19520 19522
19521 } // namespace gles2 19523 } // namespace gles2
19522 } // namespace gpu 19524 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.h ('k') | gpu/command_buffer/service/gles2_cmd_decoder_mock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698