| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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_ |
| OLD | NEW |