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

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

Issue 962723002: Change CHROMIUM_image declarations to support multi planar input. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: reveman@ comments. Created 5 years, 9 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 // 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 4771 matching lines...) Expand 10 before | Expand all | Expand 10 after
4782 case GL_MAP_CHROMIUM: 4782 case GL_MAP_CHROMIUM:
4783 case GL_SCANOUT_CHROMIUM: 4783 case GL_SCANOUT_CHROMIUM:
4784 return true; 4784 return true;
4785 default: 4785 default:
4786 return false; 4786 return false;
4787 } 4787 }
4788 } 4788 }
4789 4789
4790 } // namespace 4790 } // namespace
4791 4791
4792 GLuint GLES2Implementation::CreateImageCHROMIUMHelper(ClientBuffer buffer, 4792 GLuint GLES2Implementation::CreateImageCHROMIUMHelper(
4793 GLsizei width, 4793 ClientBuffer* const buffers,
4794 GLsizei height, 4794 GLsizei width,
4795 GLenum internalformat) { 4795 GLsizei height,
4796 GLenum internalformat) {
4796 if (width <= 0) { 4797 if (width <= 0) {
4797 SetGLError(GL_INVALID_VALUE, "glCreateImageCHROMIUM", "width <= 0"); 4798 SetGLError(GL_INVALID_VALUE, "glCreateImageCHROMIUM", "width <= 0");
4798 return 0; 4799 return 0;
4799 } 4800 }
4800 4801
4801 if (height <= 0) { 4802 if (height <= 0) {
4802 SetGLError(GL_INVALID_VALUE, "glCreateImageCHROMIUM", "height <= 0"); 4803 SetGLError(GL_INVALID_VALUE, "glCreateImageCHROMIUM", "height <= 0");
4803 return 0; 4804 return 0;
4804 } 4805 }
4805 4806
4806 if (!ValidImageFormat(internalformat)) { 4807 if (!ValidImageFormat(internalformat)) {
4807 SetGLError(GL_INVALID_VALUE, "glCreateImageCHROMIUM", "invalid format"); 4808 SetGLError(GL_INVALID_ENUM, "glCreateImageCHROMIUM", "invalid format");
4808 return 0; 4809 return 0;
4809 } 4810 }
4810 4811
4811 int32_t image_id = 4812 int32_t image_id =
4812 gpu_control_->CreateImage(buffer, width, height, internalformat); 4813 gpu_control_->CreateImage(buffers, width, height, internalformat);
4813 if (image_id < 0) { 4814 if (image_id < 0) {
4814 SetGLError(GL_OUT_OF_MEMORY, "glCreateImageCHROMIUM", "image_id < 0"); 4815 SetGLError(GL_OUT_OF_MEMORY, "glCreateImageCHROMIUM", "image_id < 0");
4815 return 0; 4816 return 0;
4816 } 4817 }
4817 return image_id; 4818 return image_id;
4818 } 4819 }
4819 4820
4820 GLuint GLES2Implementation::CreateImageCHROMIUM(ClientBuffer buffer, 4821 GLuint GLES2Implementation::CreateImageCHROMIUM(
4821 GLsizei width, 4822 ClientBuffer* buffers,
4822 GLsizei height, 4823 GLsizei width,
4823 GLenum internalformat) { 4824 GLsizei height,
4825 GLenum internalformat) {
4824 GPU_CLIENT_SINGLE_THREAD_CHECK(); 4826 GPU_CLIENT_SINGLE_THREAD_CHECK();
4825 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateImageCHROMIUM(" << width 4827 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateImageCHROMIUM(" << width
4826 << ", " << height << ", " 4828 << ", " << height << ", "
4827 << GLES2Util::GetStringImageInternalFormat(internalformat) 4829 << GLES2Util::GetStringImageInternalFormat(internalformat)
4828 << ")"); 4830 << ")");
4829 GLuint image_id = 4831 GLuint image_id =
4830 CreateImageCHROMIUMHelper(buffer, width, height, internalformat); 4832 CreateImageCHROMIUMHelper(buffers, width, height, internalformat);
4831 CheckGLError(); 4833 CheckGLError();
4832 return image_id; 4834 return image_id;
4833 } 4835 }
4834 4836
4835 void GLES2Implementation::DestroyImageCHROMIUMHelper(GLuint image_id) { 4837 void GLES2Implementation::DestroyImageCHROMIUMHelper(GLuint image_id) {
4836 // Flush the command stream to make sure all pending commands 4838 // Flush the command stream to make sure all pending commands
4837 // that may refer to the image_id are executed on the service side. 4839 // that may refer to the image_id are executed on the service side.
4838 helper_->CommandBufferHelper::Flush(); 4840 helper_->CommandBufferHelper::Flush();
4839 gpu_control_->DestroyImage(image_id); 4841 gpu_control_->DestroyImage(image_id);
4840 } 4842 }
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
5067 CheckGLError(); 5069 CheckGLError();
5068 } 5070 }
5069 5071
5070 // Include the auto-generated part of this file. We split this because it means 5072 // Include the auto-generated part of this file. We split this because it means
5071 // we can easily edit the non-auto generated parts right here in this file 5073 // we can easily edit the non-auto generated parts right here in this file
5072 // instead of having to edit some template or the code generator. 5074 // instead of having to edit some template or the code generator.
5073 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h" 5075 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h"
5074 5076
5075 } // namespace gles2 5077 } // namespace gles2
5076 } // namespace gpu 5078 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698