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

Side by Side Diff: gpu/command_buffer/client/gles2_implementation_impl_autogen.h

Issue 935333002: Update from https://crrev.com/316786 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // This file is auto-generated from 5 // This file is auto-generated from
6 // gpu/command_buffer/build_gles2_cmd_buffer.py 6 // gpu/command_buffer/build_gles2_cmd_buffer.py
7 // It's formatted by clang-format using chromium coding style: 7 // It's formatted by clang-format using chromium coding style:
8 // clang-format -i -style=chromium filename 8 // clang-format -i -style=chromium filename
9 // DO NOT EDIT! 9 // DO NOT EDIT!
10 10
(...skipping 1729 matching lines...) Expand 10 before | Expand all | Expand 10 after
1740 } 1740 }
1741 } else { 1741 } else {
1742 GPU_CLIENT_LOG(" " << ii << ": NULL"); 1742 GPU_CLIENT_LOG(" " << ii << ": NULL");
1743 } 1743 }
1744 } 1744 }
1745 }); 1745 });
1746 if (count < 0) { 1746 if (count < 0) {
1747 SetGLError(GL_INVALID_VALUE, "glShaderSource", "count < 0"); 1747 SetGLError(GL_INVALID_VALUE, "glShaderSource", "count < 0");
1748 return; 1748 return;
1749 } 1749 }
1750 // Compute the total size. 1750
1751 base::CheckedNumeric<size_t> total_size = count; 1751 if (!PackStringsToBucket(count, str, length, "glShaderSource")) {
1752 total_size += 1;
1753 total_size *= sizeof(GLint);
1754 if (!total_size.IsValid()) {
1755 SetGLError(GL_INVALID_VALUE, "glShaderSource", "overflow");
1756 return; 1752 return;
1757 } 1753 }
1758 size_t header_size = total_size.ValueOrDefault(0);
1759 std::vector<GLint> header(count + 1);
1760 header[0] = static_cast<GLint>(count);
1761 for (GLsizei ii = 0; ii < count; ++ii) {
1762 GLint len = 0;
1763 if (str[ii]) {
1764 len = (length && length[ii] >= 0)
1765 ? length[ii]
1766 : base::checked_cast<GLint>(strlen(str[ii]));
1767 }
1768 total_size += len;
1769 total_size += 1; // NULL at the end of each char array.
1770 if (!total_size.IsValid()) {
1771 SetGLError(GL_INVALID_VALUE, "glShaderSource", "overflow");
1772 return;
1773 }
1774 header[ii + 1] = len;
1775 }
1776 // Pack data into a bucket on the service.
1777 helper_->SetBucketSize(kResultBucketId, total_size.ValueOrDefault(0));
1778 size_t offset = 0;
1779 for (GLsizei ii = 0; ii <= count; ++ii) {
1780 const char* src =
1781 (ii == 0) ? reinterpret_cast<const char*>(&header[0]) : str[ii - 1];
1782 base::CheckedNumeric<size_t> checked_size =
1783 (ii == 0) ? header_size : static_cast<size_t>(header[ii]);
1784 if (ii > 0) {
1785 checked_size += 1; // NULL in the end.
1786 }
1787 if (!checked_size.IsValid()) {
1788 SetGLError(GL_INVALID_VALUE, "glShaderSource", "overflow");
1789 return;
1790 }
1791 size_t size = checked_size.ValueOrDefault(0);
1792 while (size) {
1793 ScopedTransferBufferPtr buffer(size, helper_, transfer_buffer_);
1794 if (!buffer.valid() || buffer.size() == 0) {
1795 SetGLError(GL_OUT_OF_MEMORY, "glShaderSource", "too large");
1796 return;
1797 }
1798 size_t copy_size = buffer.size();
1799 if (ii > 0 && buffer.size() == size)
1800 --copy_size;
1801 if (copy_size)
1802 memcpy(buffer.address(), src, copy_size);
1803 if (copy_size < buffer.size()) {
1804 // Append NULL in the end.
1805 DCHECK(copy_size + 1 == buffer.size());
1806 char* str = reinterpret_cast<char*>(buffer.address());
1807 str[copy_size] = 0;
1808 }
1809 helper_->SetBucketData(kResultBucketId, offset, buffer.size(),
1810 buffer.shm_id(), buffer.offset());
1811 offset += buffer.size();
1812 src += buffer.size();
1813 size -= buffer.size();
1814 }
1815 }
1816 DCHECK_EQ(total_size.ValueOrDefault(0), offset);
1817 helper_->ShaderSourceBucket(shader, kResultBucketId); 1754 helper_->ShaderSourceBucket(shader, kResultBucketId);
1818 helper_->SetBucketSize(kResultBucketId, 0); 1755 helper_->SetBucketSize(kResultBucketId, 0);
1819 CheckGLError(); 1756 CheckGLError();
1820 } 1757 }
1821 1758
1822 void GLES2Implementation::StencilFunc(GLenum func, GLint ref, GLuint mask) { 1759 void GLES2Implementation::StencilFunc(GLenum func, GLint ref, GLuint mask) {
1823 GPU_CLIENT_SINGLE_THREAD_CHECK(); 1760 GPU_CLIENT_SINGLE_THREAD_CHECK();
1824 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFunc(" 1761 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFunc("
1825 << GLES2Util::GetStringCmpFunction(func) << ", " << ref 1762 << GLES2Util::GetStringCmpFunction(func) << ", " << ref
1826 << ", " << mask << ")"); 1763 << ", " << mask << ")");
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1983 GPU_CLIENT_LOG(" " << ii << ": ---\n" << varyings[ii] << "\n---"); 1920 GPU_CLIENT_LOG(" " << ii << ": ---\n" << varyings[ii] << "\n---");
1984 } else { 1921 } else {
1985 GPU_CLIENT_LOG(" " << ii << ": NULL"); 1922 GPU_CLIENT_LOG(" " << ii << ": NULL");
1986 } 1923 }
1987 } 1924 }
1988 }); 1925 });
1989 if (count < 0) { 1926 if (count < 0) {
1990 SetGLError(GL_INVALID_VALUE, "glTransformFeedbackVaryings", "count < 0"); 1927 SetGLError(GL_INVALID_VALUE, "glTransformFeedbackVaryings", "count < 0");
1991 return; 1928 return;
1992 } 1929 }
1993 // Compute the total size. 1930
1994 base::CheckedNumeric<size_t> total_size = count; 1931 if (!PackStringsToBucket(count, varyings, NULL,
1995 total_size += 1; 1932 "glTransformFeedbackVaryings")) {
1996 total_size *= sizeof(GLint);
1997 if (!total_size.IsValid()) {
1998 SetGLError(GL_INVALID_VALUE, "glTransformFeedbackVaryings", "overflow");
1999 return; 1933 return;
2000 } 1934 }
2001 size_t header_size = total_size.ValueOrDefault(0);
2002 std::vector<GLint> header(count + 1);
2003 header[0] = static_cast<GLint>(count);
2004 for (GLsizei ii = 0; ii < count; ++ii) {
2005 GLint len = 0;
2006 if (varyings[ii]) {
2007 len = static_cast<GLint>(strlen(varyings[ii]));
2008 }
2009 total_size += len;
2010 total_size += 1; // NULL at the end of each char array.
2011 if (!total_size.IsValid()) {
2012 SetGLError(GL_INVALID_VALUE, "glTransformFeedbackVaryings", "overflow");
2013 return;
2014 }
2015 header[ii + 1] = len;
2016 }
2017 // Pack data into a bucket on the service.
2018 helper_->SetBucketSize(kResultBucketId, total_size.ValueOrDefault(0));
2019 size_t offset = 0;
2020 for (GLsizei ii = 0; ii <= count; ++ii) {
2021 const char* src = (ii == 0) ? reinterpret_cast<const char*>(&header[0])
2022 : varyings[ii - 1];
2023 base::CheckedNumeric<size_t> checked_size =
2024 (ii == 0) ? header_size : static_cast<size_t>(header[ii]);
2025 if (ii > 0) {
2026 checked_size += 1; // NULL in the end.
2027 }
2028 if (!checked_size.IsValid()) {
2029 SetGLError(GL_INVALID_VALUE, "glTransformFeedbackVaryings", "overflow");
2030 return;
2031 }
2032 size_t size = checked_size.ValueOrDefault(0);
2033 while (size) {
2034 ScopedTransferBufferPtr buffer(size, helper_, transfer_buffer_);
2035 if (!buffer.valid() || buffer.size() == 0) {
2036 SetGLError(GL_OUT_OF_MEMORY, "glTransformFeedbackVaryings",
2037 "too large");
2038 return;
2039 }
2040 size_t copy_size = buffer.size();
2041 if (ii > 0 && buffer.size() == size)
2042 --copy_size;
2043 if (copy_size)
2044 memcpy(buffer.address(), src, copy_size);
2045 if (copy_size < buffer.size()) {
2046 // Append NULL in the end.
2047 DCHECK(copy_size + 1 == buffer.size());
2048 char* str = reinterpret_cast<char*>(buffer.address());
2049 str[copy_size] = 0;
2050 }
2051 helper_->SetBucketData(kResultBucketId, offset, buffer.size(),
2052 buffer.shm_id(), buffer.offset());
2053 offset += buffer.size();
2054 src += buffer.size();
2055 size -= buffer.size();
2056 }
2057 }
2058 DCHECK_EQ(total_size.ValueOrDefault(0), offset);
2059 helper_->TransformFeedbackVaryingsBucket(program, kResultBucketId, 1935 helper_->TransformFeedbackVaryingsBucket(program, kResultBucketId,
2060 buffermode); 1936 buffermode);
2061 helper_->SetBucketSize(kResultBucketId, 0); 1937 helper_->SetBucketSize(kResultBucketId, 0);
2062 CheckGLError(); 1938 CheckGLError();
2063 } 1939 }
2064 1940
2065 void GLES2Implementation::Uniform1f(GLint location, GLfloat x) { 1941 void GLES2Implementation::Uniform1f(GLint location, GLfloat x) {
2066 GPU_CLIENT_SINGLE_THREAD_CHECK(); 1942 GPU_CLIENT_SINGLE_THREAD_CHECK();
2067 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1f(" << location << ", " 1943 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1f(" << location << ", "
2068 << x << ")"); 1944 << x << ")");
(...skipping 1379 matching lines...) Expand 10 before | Expand all | Expand 10 after
3448 3324
3449 void GLES2Implementation::BlendBarrierKHR() { 3325 void GLES2Implementation::BlendBarrierKHR() {
3450 GPU_CLIENT_SINGLE_THREAD_CHECK(); 3326 GPU_CLIENT_SINGLE_THREAD_CHECK();
3451 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendBarrierKHR(" 3327 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendBarrierKHR("
3452 << ")"); 3328 << ")");
3453 helper_->BlendBarrierKHR(); 3329 helper_->BlendBarrierKHR();
3454 CheckGLError(); 3330 CheckGLError();
3455 } 3331 }
3456 3332
3457 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_IMPL_AUTOGEN_H_ 3333 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_IMPL_AUTOGEN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698