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

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

Issue 2559523002: Send overlay promotion hints from to GLStreamTextureImage. (Closed)
Patch Set: reverted media Created 4 years 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 1654 matching lines...) Expand 10 before | Expand all | Expand 10 after
1665 bool DoIsTransformFeedback(GLuint client_id); 1665 bool DoIsTransformFeedback(GLuint client_id);
1666 bool DoIsVertexArrayOES(GLuint client_id); 1666 bool DoIsVertexArrayOES(GLuint client_id);
1667 bool DoIsPathCHROMIUM(GLuint client_id); 1667 bool DoIsPathCHROMIUM(GLuint client_id);
1668 bool DoIsSync(GLuint client_id); 1668 bool DoIsSync(GLuint client_id);
1669 1669
1670 void DoLineWidth(GLfloat width); 1670 void DoLineWidth(GLfloat width);
1671 1671
1672 // Wrapper for glLinkProgram 1672 // Wrapper for glLinkProgram
1673 void DoLinkProgram(GLuint program); 1673 void DoLinkProgram(GLuint program);
1674 1674
1675 // Wrapper for glOverlayPromotabilityHintSteramTextureMatrixCHROMIUM
piman 2016/12/06 21:40:56 nit: wrong GL name? glOverlayPromotionHintCHROMIUM
liberato (no reviews please) 2016/12/12 16:44:38 Done.
1676 void DoSendOverlayPromotionHintCHROMIUM(GLuint client_id,
1677 GLboolean promotion_hint,
1678 GLint display_x,
1679 GLint display_y);
1680
1675 // Wrapper for glReadBuffer 1681 // Wrapper for glReadBuffer
1676 void DoReadBuffer(GLenum src); 1682 void DoReadBuffer(GLenum src);
1677 1683
1678 // Wrapper for glRenderbufferStorage. 1684 // Wrapper for glRenderbufferStorage.
1679 void DoRenderbufferStorage( 1685 void DoRenderbufferStorage(
1680 GLenum target, GLenum internalformat, GLsizei width, GLsizei height); 1686 GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
1681 1687
1682 // Handler for glRenderbufferStorageMultisampleCHROMIUM. 1688 // Handler for glRenderbufferStorageMultisampleCHROMIUM.
1683 void DoRenderbufferStorageMultisampleCHROMIUM( 1689 void DoRenderbufferStorageMultisampleCHROMIUM(
1684 GLenum target, GLsizei samples, GLenum internalformat, 1690 GLenum target, GLsizei samples, GLenum internalformat,
(...skipping 6854 matching lines...) Expand 10 before | Expand all | Expand 10 after
8539 if (workarounds().clear_uniforms_before_first_program_use) 8545 if (workarounds().clear_uniforms_before_first_program_use)
8540 program_manager()->ClearUniforms(program); 8546 program_manager()->ClearUniforms(program);
8541 } 8547 }
8542 } 8548 }
8543 8549
8544 // LinkProgram can be very slow. Exit command processing to allow for 8550 // LinkProgram can be very slow. Exit command processing to allow for
8545 // context preemption and GPU watchdog checks. 8551 // context preemption and GPU watchdog checks.
8546 ExitCommandProcessingEarly(); 8552 ExitCommandProcessingEarly();
8547 } 8553 }
8548 8554
8555 void GLES2DecoderImpl::DoSendOverlayPromotionHintCHROMIUM(
8556 GLuint client_id,
8557 GLboolean promotion_hint,
8558 GLint display_x,
8559 GLint display_y) {
8560 if (client_id == 0)
8561 return;
8562
8563 TextureRef* texture_ref = GetTexture(client_id);
8564 if (!texture_ref) {
8565 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE,
8566 "glOverlayPromotionHintStreamTextureMatrix",
piman 2016/12/06 21:40:56 nit: fix gl name
liberato (no reviews please) 2016/12/12 16:44:38 Done.
8567 "invalid texture id");
8568 return;
8569 }
8570 GLStreamTextureImage* image =
8571 texture_ref->texture()->GetLevelStreamTextureImage(
8572 GL_TEXTURE_EXTERNAL_OES, 0);
8573 if (!image) {
8574 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE,
piman 2016/12/06 21:40:56 nit: make this a GL_INVALID_OPERATION, which is mo
liberato (no reviews please) 2016/12/12 16:44:38 Done.
8575 "glOverlayPromotionHintStreamTextureMatrix",
piman 2016/12/06 21:40:56 nit: ditto
liberato (no reviews please) 2016/12/12 16:44:38 Done.
8576 "texture has no StreamTextureImage");
8577 return;
8578 }
8579
8580 image->NotifyPromotionHint(promotion_hint, display_x, display_y);
8581 }
8582
8549 void GLES2DecoderImpl::DoReadBuffer(GLenum src) { 8583 void GLES2DecoderImpl::DoReadBuffer(GLenum src) {
8550 Framebuffer* framebuffer = GetFramebufferInfoForTarget(GL_READ_FRAMEBUFFER); 8584 Framebuffer* framebuffer = GetFramebufferInfoForTarget(GL_READ_FRAMEBUFFER);
8551 if (framebuffer) { 8585 if (framebuffer) {
8552 if (src == GL_BACK) { 8586 if (src == GL_BACK) {
8553 LOCAL_SET_GL_ERROR( 8587 LOCAL_SET_GL_ERROR(
8554 GL_INVALID_ENUM, "glReadBuffer", 8588 GL_INVALID_ENUM, "glReadBuffer",
8555 "invalid src for a named framebuffer"); 8589 "invalid src for a named framebuffer");
8556 return; 8590 return;
8557 } 8591 }
8558 framebuffer->set_read_buffer(src); 8592 framebuffer->set_read_buffer(src);
(...skipping 10341 matching lines...) Expand 10 before | Expand all | Expand 10 after
18900 } 18934 }
18901 18935
18902 // Include the auto-generated part of this file. We split this because it means 18936 // Include the auto-generated part of this file. We split this because it means
18903 // we can easily edit the non-auto generated parts right here in this file 18937 // we can easily edit the non-auto generated parts right here in this file
18904 // instead of having to edit some template or the code generator. 18938 // instead of having to edit some template or the code generator.
18905 #include "base/macros.h" 18939 #include "base/macros.h"
18906 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" 18940 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h"
18907 18941
18908 } // namespace gles2 18942 } // namespace gles2
18909 } // namespace gpu 18943 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698