| OLD | NEW |
| 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 // 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 // DO NOT EDIT! | 7 // DO NOT EDIT! |
| 8 | 8 |
| 9 // It is included by gles2_cmd_decoder.cc | 9 // It is included by gles2_cmd_decoder.cc |
| 10 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ | 10 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ |
| (...skipping 1731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1742 } | 1742 } |
| 1743 if (params == NULL) { | 1743 if (params == NULL) { |
| 1744 return error::kOutOfBounds; | 1744 return error::kOutOfBounds; |
| 1745 } | 1745 } |
| 1746 DoTexParameteriv(target, pname, params); | 1746 DoTexParameteriv(target, pname, params); |
| 1747 return error::kNoError; | 1747 return error::kNoError; |
| 1748 } | 1748 } |
| 1749 | 1749 |
| 1750 error::Error GLES2DecoderImpl::HandleUniform1f( | 1750 error::Error GLES2DecoderImpl::HandleUniform1f( |
| 1751 uint32 immediate_data_size, const gles2::Uniform1f& c) { | 1751 uint32 immediate_data_size, const gles2::Uniform1f& c) { |
| 1752 GLint location = static_cast<GLint>(c.location); | 1752 GLint location = program_manager()->UnswizzleLocation( |
| 1753 static_cast<GLint>(c.location)); |
| 1753 GLfloat x = static_cast<GLfloat>(c.x); | 1754 GLfloat x = static_cast<GLfloat>(c.x); |
| 1754 GLfloat temp[1] = { x, }; | 1755 GLfloat temp[1] = { x, }; |
| 1755 DoUniform1fv(location, 1, &temp[0]); | 1756 DoUniform1fv(location, 1, &temp[0]); |
| 1756 return error::kNoError; | 1757 return error::kNoError; |
| 1757 } | 1758 } |
| 1758 | 1759 |
| 1759 error::Error GLES2DecoderImpl::HandleUniform1fv( | 1760 error::Error GLES2DecoderImpl::HandleUniform1fv( |
| 1760 uint32 immediate_data_size, const gles2::Uniform1fv& c) { | 1761 uint32 immediate_data_size, const gles2::Uniform1fv& c) { |
| 1761 GLint location = static_cast<GLint>(c.location); | 1762 GLint location = program_manager()->UnswizzleLocation( |
| 1763 static_cast<GLint>(c.location)); |
| 1762 GLsizei count = static_cast<GLsizei>(c.count); | 1764 GLsizei count = static_cast<GLsizei>(c.count); |
| 1763 uint32 data_size; | 1765 uint32 data_size; |
| 1764 if (!ComputeDataSize(count, sizeof(GLfloat), 1, &data_size)) { | 1766 if (!ComputeDataSize(count, sizeof(GLfloat), 1, &data_size)) { |
| 1765 return error::kOutOfBounds; | 1767 return error::kOutOfBounds; |
| 1766 } | 1768 } |
| 1767 const GLfloat* v = GetSharedMemoryAs<const GLfloat*>( | 1769 const GLfloat* v = GetSharedMemoryAs<const GLfloat*>( |
| 1768 c.v_shm_id, c.v_shm_offset, data_size); | 1770 c.v_shm_id, c.v_shm_offset, data_size); |
| 1769 if (v == NULL) { | 1771 if (v == NULL) { |
| 1770 return error::kOutOfBounds; | 1772 return error::kOutOfBounds; |
| 1771 } | 1773 } |
| 1772 DoUniform1fv(location, count, v); | 1774 DoUniform1fv(location, count, v); |
| 1773 return error::kNoError; | 1775 return error::kNoError; |
| 1774 } | 1776 } |
| 1775 | 1777 |
| 1776 error::Error GLES2DecoderImpl::HandleUniform1fvImmediate( | 1778 error::Error GLES2DecoderImpl::HandleUniform1fvImmediate( |
| 1777 uint32 immediate_data_size, const gles2::Uniform1fvImmediate& c) { | 1779 uint32 immediate_data_size, const gles2::Uniform1fvImmediate& c) { |
| 1778 GLint location = static_cast<GLint>(c.location); | 1780 GLint location = program_manager()->UnswizzleLocation( |
| 1781 static_cast<GLint>(c.location)); |
| 1779 GLsizei count = static_cast<GLsizei>(c.count); | 1782 GLsizei count = static_cast<GLsizei>(c.count); |
| 1780 uint32 data_size; | 1783 uint32 data_size; |
| 1781 if (!ComputeDataSize(count, sizeof(GLfloat), 1, &data_size)) { | 1784 if (!ComputeDataSize(count, sizeof(GLfloat), 1, &data_size)) { |
| 1782 return error::kOutOfBounds; | 1785 return error::kOutOfBounds; |
| 1783 } | 1786 } |
| 1784 if (data_size > immediate_data_size) { | 1787 if (data_size > immediate_data_size) { |
| 1785 return error::kOutOfBounds; | 1788 return error::kOutOfBounds; |
| 1786 } | 1789 } |
| 1787 const GLfloat* v = GetImmediateDataAs<const GLfloat*>( | 1790 const GLfloat* v = GetImmediateDataAs<const GLfloat*>( |
| 1788 c, data_size, immediate_data_size); | 1791 c, data_size, immediate_data_size); |
| 1789 if (v == NULL) { | 1792 if (v == NULL) { |
| 1790 return error::kOutOfBounds; | 1793 return error::kOutOfBounds; |
| 1791 } | 1794 } |
| 1792 DoUniform1fv(location, count, v); | 1795 DoUniform1fv(location, count, v); |
| 1793 return error::kNoError; | 1796 return error::kNoError; |
| 1794 } | 1797 } |
| 1795 | 1798 |
| 1796 error::Error GLES2DecoderImpl::HandleUniform1i( | 1799 error::Error GLES2DecoderImpl::HandleUniform1i( |
| 1797 uint32 immediate_data_size, const gles2::Uniform1i& c) { | 1800 uint32 immediate_data_size, const gles2::Uniform1i& c) { |
| 1798 GLint location = static_cast<GLint>(c.location); | 1801 GLint location = program_manager()->UnswizzleLocation( |
| 1802 static_cast<GLint>(c.location)); |
| 1799 GLint x = static_cast<GLint>(c.x); | 1803 GLint x = static_cast<GLint>(c.x); |
| 1800 DoUniform1i(location, x); | 1804 DoUniform1i(location, x); |
| 1801 return error::kNoError; | 1805 return error::kNoError; |
| 1802 } | 1806 } |
| 1803 | 1807 |
| 1804 error::Error GLES2DecoderImpl::HandleUniform1iv( | 1808 error::Error GLES2DecoderImpl::HandleUniform1iv( |
| 1805 uint32 immediate_data_size, const gles2::Uniform1iv& c) { | 1809 uint32 immediate_data_size, const gles2::Uniform1iv& c) { |
| 1806 GLint location = static_cast<GLint>(c.location); | 1810 GLint location = program_manager()->UnswizzleLocation( |
| 1811 static_cast<GLint>(c.location)); |
| 1807 GLsizei count = static_cast<GLsizei>(c.count); | 1812 GLsizei count = static_cast<GLsizei>(c.count); |
| 1808 uint32 data_size; | 1813 uint32 data_size; |
| 1809 if (!ComputeDataSize(count, sizeof(GLint), 1, &data_size)) { | 1814 if (!ComputeDataSize(count, sizeof(GLint), 1, &data_size)) { |
| 1810 return error::kOutOfBounds; | 1815 return error::kOutOfBounds; |
| 1811 } | 1816 } |
| 1812 const GLint* v = GetSharedMemoryAs<const GLint*>( | 1817 const GLint* v = GetSharedMemoryAs<const GLint*>( |
| 1813 c.v_shm_id, c.v_shm_offset, data_size); | 1818 c.v_shm_id, c.v_shm_offset, data_size); |
| 1814 if (v == NULL) { | 1819 if (v == NULL) { |
| 1815 return error::kOutOfBounds; | 1820 return error::kOutOfBounds; |
| 1816 } | 1821 } |
| 1817 DoUniform1iv(location, count, v); | 1822 DoUniform1iv(location, count, v); |
| 1818 return error::kNoError; | 1823 return error::kNoError; |
| 1819 } | 1824 } |
| 1820 | 1825 |
| 1821 error::Error GLES2DecoderImpl::HandleUniform1ivImmediate( | 1826 error::Error GLES2DecoderImpl::HandleUniform1ivImmediate( |
| 1822 uint32 immediate_data_size, const gles2::Uniform1ivImmediate& c) { | 1827 uint32 immediate_data_size, const gles2::Uniform1ivImmediate& c) { |
| 1823 GLint location = static_cast<GLint>(c.location); | 1828 GLint location = program_manager()->UnswizzleLocation( |
| 1829 static_cast<GLint>(c.location)); |
| 1824 GLsizei count = static_cast<GLsizei>(c.count); | 1830 GLsizei count = static_cast<GLsizei>(c.count); |
| 1825 uint32 data_size; | 1831 uint32 data_size; |
| 1826 if (!ComputeDataSize(count, sizeof(GLint), 1, &data_size)) { | 1832 if (!ComputeDataSize(count, sizeof(GLint), 1, &data_size)) { |
| 1827 return error::kOutOfBounds; | 1833 return error::kOutOfBounds; |
| 1828 } | 1834 } |
| 1829 if (data_size > immediate_data_size) { | 1835 if (data_size > immediate_data_size) { |
| 1830 return error::kOutOfBounds; | 1836 return error::kOutOfBounds; |
| 1831 } | 1837 } |
| 1832 const GLint* v = GetImmediateDataAs<const GLint*>( | 1838 const GLint* v = GetImmediateDataAs<const GLint*>( |
| 1833 c, data_size, immediate_data_size); | 1839 c, data_size, immediate_data_size); |
| 1834 if (v == NULL) { | 1840 if (v == NULL) { |
| 1835 return error::kOutOfBounds; | 1841 return error::kOutOfBounds; |
| 1836 } | 1842 } |
| 1837 DoUniform1iv(location, count, v); | 1843 DoUniform1iv(location, count, v); |
| 1838 return error::kNoError; | 1844 return error::kNoError; |
| 1839 } | 1845 } |
| 1840 | 1846 |
| 1841 error::Error GLES2DecoderImpl::HandleUniform2f( | 1847 error::Error GLES2DecoderImpl::HandleUniform2f( |
| 1842 uint32 immediate_data_size, const gles2::Uniform2f& c) { | 1848 uint32 immediate_data_size, const gles2::Uniform2f& c) { |
| 1843 GLint location = static_cast<GLint>(c.location); | 1849 GLint location = program_manager()->UnswizzleLocation( |
| 1850 static_cast<GLint>(c.location)); |
| 1844 GLfloat x = static_cast<GLfloat>(c.x); | 1851 GLfloat x = static_cast<GLfloat>(c.x); |
| 1845 GLfloat y = static_cast<GLfloat>(c.y); | 1852 GLfloat y = static_cast<GLfloat>(c.y); |
| 1846 GLfloat temp[2] = { x, y, }; | 1853 GLfloat temp[2] = { x, y, }; |
| 1847 DoUniform2fv(location, 1, &temp[0]); | 1854 DoUniform2fv(location, 1, &temp[0]); |
| 1848 return error::kNoError; | 1855 return error::kNoError; |
| 1849 } | 1856 } |
| 1850 | 1857 |
| 1851 error::Error GLES2DecoderImpl::HandleUniform2fv( | 1858 error::Error GLES2DecoderImpl::HandleUniform2fv( |
| 1852 uint32 immediate_data_size, const gles2::Uniform2fv& c) { | 1859 uint32 immediate_data_size, const gles2::Uniform2fv& c) { |
| 1853 GLint location = static_cast<GLint>(c.location); | 1860 GLint location = program_manager()->UnswizzleLocation( |
| 1861 static_cast<GLint>(c.location)); |
| 1854 GLsizei count = static_cast<GLsizei>(c.count); | 1862 GLsizei count = static_cast<GLsizei>(c.count); |
| 1855 uint32 data_size; | 1863 uint32 data_size; |
| 1856 if (!ComputeDataSize(count, sizeof(GLfloat), 2, &data_size)) { | 1864 if (!ComputeDataSize(count, sizeof(GLfloat), 2, &data_size)) { |
| 1857 return error::kOutOfBounds; | 1865 return error::kOutOfBounds; |
| 1858 } | 1866 } |
| 1859 const GLfloat* v = GetSharedMemoryAs<const GLfloat*>( | 1867 const GLfloat* v = GetSharedMemoryAs<const GLfloat*>( |
| 1860 c.v_shm_id, c.v_shm_offset, data_size); | 1868 c.v_shm_id, c.v_shm_offset, data_size); |
| 1861 if (v == NULL) { | 1869 if (v == NULL) { |
| 1862 return error::kOutOfBounds; | 1870 return error::kOutOfBounds; |
| 1863 } | 1871 } |
| 1864 DoUniform2fv(location, count, v); | 1872 DoUniform2fv(location, count, v); |
| 1865 return error::kNoError; | 1873 return error::kNoError; |
| 1866 } | 1874 } |
| 1867 | 1875 |
| 1868 error::Error GLES2DecoderImpl::HandleUniform2fvImmediate( | 1876 error::Error GLES2DecoderImpl::HandleUniform2fvImmediate( |
| 1869 uint32 immediate_data_size, const gles2::Uniform2fvImmediate& c) { | 1877 uint32 immediate_data_size, const gles2::Uniform2fvImmediate& c) { |
| 1870 GLint location = static_cast<GLint>(c.location); | 1878 GLint location = program_manager()->UnswizzleLocation( |
| 1879 static_cast<GLint>(c.location)); |
| 1871 GLsizei count = static_cast<GLsizei>(c.count); | 1880 GLsizei count = static_cast<GLsizei>(c.count); |
| 1872 uint32 data_size; | 1881 uint32 data_size; |
| 1873 if (!ComputeDataSize(count, sizeof(GLfloat), 2, &data_size)) { | 1882 if (!ComputeDataSize(count, sizeof(GLfloat), 2, &data_size)) { |
| 1874 return error::kOutOfBounds; | 1883 return error::kOutOfBounds; |
| 1875 } | 1884 } |
| 1876 if (data_size > immediate_data_size) { | 1885 if (data_size > immediate_data_size) { |
| 1877 return error::kOutOfBounds; | 1886 return error::kOutOfBounds; |
| 1878 } | 1887 } |
| 1879 const GLfloat* v = GetImmediateDataAs<const GLfloat*>( | 1888 const GLfloat* v = GetImmediateDataAs<const GLfloat*>( |
| 1880 c, data_size, immediate_data_size); | 1889 c, data_size, immediate_data_size); |
| 1881 if (v == NULL) { | 1890 if (v == NULL) { |
| 1882 return error::kOutOfBounds; | 1891 return error::kOutOfBounds; |
| 1883 } | 1892 } |
| 1884 DoUniform2fv(location, count, v); | 1893 DoUniform2fv(location, count, v); |
| 1885 return error::kNoError; | 1894 return error::kNoError; |
| 1886 } | 1895 } |
| 1887 | 1896 |
| 1888 error::Error GLES2DecoderImpl::HandleUniform2i( | 1897 error::Error GLES2DecoderImpl::HandleUniform2i( |
| 1889 uint32 immediate_data_size, const gles2::Uniform2i& c) { | 1898 uint32 immediate_data_size, const gles2::Uniform2i& c) { |
| 1890 GLint location = static_cast<GLint>(c.location); | 1899 GLint location = program_manager()->UnswizzleLocation( |
| 1900 static_cast<GLint>(c.location)); |
| 1891 GLint x = static_cast<GLint>(c.x); | 1901 GLint x = static_cast<GLint>(c.x); |
| 1892 GLint y = static_cast<GLint>(c.y); | 1902 GLint y = static_cast<GLint>(c.y); |
| 1893 glUniform2i(location, x, y); | 1903 glUniform2i(location, x, y); |
| 1894 return error::kNoError; | 1904 return error::kNoError; |
| 1895 } | 1905 } |
| 1896 | 1906 |
| 1897 error::Error GLES2DecoderImpl::HandleUniform2iv( | 1907 error::Error GLES2DecoderImpl::HandleUniform2iv( |
| 1898 uint32 immediate_data_size, const gles2::Uniform2iv& c) { | 1908 uint32 immediate_data_size, const gles2::Uniform2iv& c) { |
| 1899 GLint location = static_cast<GLint>(c.location); | 1909 GLint location = program_manager()->UnswizzleLocation( |
| 1910 static_cast<GLint>(c.location)); |
| 1900 GLsizei count = static_cast<GLsizei>(c.count); | 1911 GLsizei count = static_cast<GLsizei>(c.count); |
| 1901 uint32 data_size; | 1912 uint32 data_size; |
| 1902 if (!ComputeDataSize(count, sizeof(GLint), 2, &data_size)) { | 1913 if (!ComputeDataSize(count, sizeof(GLint), 2, &data_size)) { |
| 1903 return error::kOutOfBounds; | 1914 return error::kOutOfBounds; |
| 1904 } | 1915 } |
| 1905 const GLint* v = GetSharedMemoryAs<const GLint*>( | 1916 const GLint* v = GetSharedMemoryAs<const GLint*>( |
| 1906 c.v_shm_id, c.v_shm_offset, data_size); | 1917 c.v_shm_id, c.v_shm_offset, data_size); |
| 1907 if (v == NULL) { | 1918 if (v == NULL) { |
| 1908 return error::kOutOfBounds; | 1919 return error::kOutOfBounds; |
| 1909 } | 1920 } |
| 1910 DoUniform2iv(location, count, v); | 1921 DoUniform2iv(location, count, v); |
| 1911 return error::kNoError; | 1922 return error::kNoError; |
| 1912 } | 1923 } |
| 1913 | 1924 |
| 1914 error::Error GLES2DecoderImpl::HandleUniform2ivImmediate( | 1925 error::Error GLES2DecoderImpl::HandleUniform2ivImmediate( |
| 1915 uint32 immediate_data_size, const gles2::Uniform2ivImmediate& c) { | 1926 uint32 immediate_data_size, const gles2::Uniform2ivImmediate& c) { |
| 1916 GLint location = static_cast<GLint>(c.location); | 1927 GLint location = program_manager()->UnswizzleLocation( |
| 1928 static_cast<GLint>(c.location)); |
| 1917 GLsizei count = static_cast<GLsizei>(c.count); | 1929 GLsizei count = static_cast<GLsizei>(c.count); |
| 1918 uint32 data_size; | 1930 uint32 data_size; |
| 1919 if (!ComputeDataSize(count, sizeof(GLint), 2, &data_size)) { | 1931 if (!ComputeDataSize(count, sizeof(GLint), 2, &data_size)) { |
| 1920 return error::kOutOfBounds; | 1932 return error::kOutOfBounds; |
| 1921 } | 1933 } |
| 1922 if (data_size > immediate_data_size) { | 1934 if (data_size > immediate_data_size) { |
| 1923 return error::kOutOfBounds; | 1935 return error::kOutOfBounds; |
| 1924 } | 1936 } |
| 1925 const GLint* v = GetImmediateDataAs<const GLint*>( | 1937 const GLint* v = GetImmediateDataAs<const GLint*>( |
| 1926 c, data_size, immediate_data_size); | 1938 c, data_size, immediate_data_size); |
| 1927 if (v == NULL) { | 1939 if (v == NULL) { |
| 1928 return error::kOutOfBounds; | 1940 return error::kOutOfBounds; |
| 1929 } | 1941 } |
| 1930 DoUniform2iv(location, count, v); | 1942 DoUniform2iv(location, count, v); |
| 1931 return error::kNoError; | 1943 return error::kNoError; |
| 1932 } | 1944 } |
| 1933 | 1945 |
| 1934 error::Error GLES2DecoderImpl::HandleUniform3f( | 1946 error::Error GLES2DecoderImpl::HandleUniform3f( |
| 1935 uint32 immediate_data_size, const gles2::Uniform3f& c) { | 1947 uint32 immediate_data_size, const gles2::Uniform3f& c) { |
| 1936 GLint location = static_cast<GLint>(c.location); | 1948 GLint location = program_manager()->UnswizzleLocation( |
| 1949 static_cast<GLint>(c.location)); |
| 1937 GLfloat x = static_cast<GLfloat>(c.x); | 1950 GLfloat x = static_cast<GLfloat>(c.x); |
| 1938 GLfloat y = static_cast<GLfloat>(c.y); | 1951 GLfloat y = static_cast<GLfloat>(c.y); |
| 1939 GLfloat z = static_cast<GLfloat>(c.z); | 1952 GLfloat z = static_cast<GLfloat>(c.z); |
| 1940 GLfloat temp[3] = { x, y, z, }; | 1953 GLfloat temp[3] = { x, y, z, }; |
| 1941 DoUniform3fv(location, 1, &temp[0]); | 1954 DoUniform3fv(location, 1, &temp[0]); |
| 1942 return error::kNoError; | 1955 return error::kNoError; |
| 1943 } | 1956 } |
| 1944 | 1957 |
| 1945 error::Error GLES2DecoderImpl::HandleUniform3fv( | 1958 error::Error GLES2DecoderImpl::HandleUniform3fv( |
| 1946 uint32 immediate_data_size, const gles2::Uniform3fv& c) { | 1959 uint32 immediate_data_size, const gles2::Uniform3fv& c) { |
| 1947 GLint location = static_cast<GLint>(c.location); | 1960 GLint location = program_manager()->UnswizzleLocation( |
| 1961 static_cast<GLint>(c.location)); |
| 1948 GLsizei count = static_cast<GLsizei>(c.count); | 1962 GLsizei count = static_cast<GLsizei>(c.count); |
| 1949 uint32 data_size; | 1963 uint32 data_size; |
| 1950 if (!ComputeDataSize(count, sizeof(GLfloat), 3, &data_size)) { | 1964 if (!ComputeDataSize(count, sizeof(GLfloat), 3, &data_size)) { |
| 1951 return error::kOutOfBounds; | 1965 return error::kOutOfBounds; |
| 1952 } | 1966 } |
| 1953 const GLfloat* v = GetSharedMemoryAs<const GLfloat*>( | 1967 const GLfloat* v = GetSharedMemoryAs<const GLfloat*>( |
| 1954 c.v_shm_id, c.v_shm_offset, data_size); | 1968 c.v_shm_id, c.v_shm_offset, data_size); |
| 1955 if (v == NULL) { | 1969 if (v == NULL) { |
| 1956 return error::kOutOfBounds; | 1970 return error::kOutOfBounds; |
| 1957 } | 1971 } |
| 1958 DoUniform3fv(location, count, v); | 1972 DoUniform3fv(location, count, v); |
| 1959 return error::kNoError; | 1973 return error::kNoError; |
| 1960 } | 1974 } |
| 1961 | 1975 |
| 1962 error::Error GLES2DecoderImpl::HandleUniform3fvImmediate( | 1976 error::Error GLES2DecoderImpl::HandleUniform3fvImmediate( |
| 1963 uint32 immediate_data_size, const gles2::Uniform3fvImmediate& c) { | 1977 uint32 immediate_data_size, const gles2::Uniform3fvImmediate& c) { |
| 1964 GLint location = static_cast<GLint>(c.location); | 1978 GLint location = program_manager()->UnswizzleLocation( |
| 1979 static_cast<GLint>(c.location)); |
| 1965 GLsizei count = static_cast<GLsizei>(c.count); | 1980 GLsizei count = static_cast<GLsizei>(c.count); |
| 1966 uint32 data_size; | 1981 uint32 data_size; |
| 1967 if (!ComputeDataSize(count, sizeof(GLfloat), 3, &data_size)) { | 1982 if (!ComputeDataSize(count, sizeof(GLfloat), 3, &data_size)) { |
| 1968 return error::kOutOfBounds; | 1983 return error::kOutOfBounds; |
| 1969 } | 1984 } |
| 1970 if (data_size > immediate_data_size) { | 1985 if (data_size > immediate_data_size) { |
| 1971 return error::kOutOfBounds; | 1986 return error::kOutOfBounds; |
| 1972 } | 1987 } |
| 1973 const GLfloat* v = GetImmediateDataAs<const GLfloat*>( | 1988 const GLfloat* v = GetImmediateDataAs<const GLfloat*>( |
| 1974 c, data_size, immediate_data_size); | 1989 c, data_size, immediate_data_size); |
| 1975 if (v == NULL) { | 1990 if (v == NULL) { |
| 1976 return error::kOutOfBounds; | 1991 return error::kOutOfBounds; |
| 1977 } | 1992 } |
| 1978 DoUniform3fv(location, count, v); | 1993 DoUniform3fv(location, count, v); |
| 1979 return error::kNoError; | 1994 return error::kNoError; |
| 1980 } | 1995 } |
| 1981 | 1996 |
| 1982 error::Error GLES2DecoderImpl::HandleUniform3i( | 1997 error::Error GLES2DecoderImpl::HandleUniform3i( |
| 1983 uint32 immediate_data_size, const gles2::Uniform3i& c) { | 1998 uint32 immediate_data_size, const gles2::Uniform3i& c) { |
| 1984 GLint location = static_cast<GLint>(c.location); | 1999 GLint location = program_manager()->UnswizzleLocation( |
| 2000 static_cast<GLint>(c.location)); |
| 1985 GLint x = static_cast<GLint>(c.x); | 2001 GLint x = static_cast<GLint>(c.x); |
| 1986 GLint y = static_cast<GLint>(c.y); | 2002 GLint y = static_cast<GLint>(c.y); |
| 1987 GLint z = static_cast<GLint>(c.z); | 2003 GLint z = static_cast<GLint>(c.z); |
| 1988 glUniform3i(location, x, y, z); | 2004 glUniform3i(location, x, y, z); |
| 1989 return error::kNoError; | 2005 return error::kNoError; |
| 1990 } | 2006 } |
| 1991 | 2007 |
| 1992 error::Error GLES2DecoderImpl::HandleUniform3iv( | 2008 error::Error GLES2DecoderImpl::HandleUniform3iv( |
| 1993 uint32 immediate_data_size, const gles2::Uniform3iv& c) { | 2009 uint32 immediate_data_size, const gles2::Uniform3iv& c) { |
| 1994 GLint location = static_cast<GLint>(c.location); | 2010 GLint location = program_manager()->UnswizzleLocation( |
| 2011 static_cast<GLint>(c.location)); |
| 1995 GLsizei count = static_cast<GLsizei>(c.count); | 2012 GLsizei count = static_cast<GLsizei>(c.count); |
| 1996 uint32 data_size; | 2013 uint32 data_size; |
| 1997 if (!ComputeDataSize(count, sizeof(GLint), 3, &data_size)) { | 2014 if (!ComputeDataSize(count, sizeof(GLint), 3, &data_size)) { |
| 1998 return error::kOutOfBounds; | 2015 return error::kOutOfBounds; |
| 1999 } | 2016 } |
| 2000 const GLint* v = GetSharedMemoryAs<const GLint*>( | 2017 const GLint* v = GetSharedMemoryAs<const GLint*>( |
| 2001 c.v_shm_id, c.v_shm_offset, data_size); | 2018 c.v_shm_id, c.v_shm_offset, data_size); |
| 2002 if (v == NULL) { | 2019 if (v == NULL) { |
| 2003 return error::kOutOfBounds; | 2020 return error::kOutOfBounds; |
| 2004 } | 2021 } |
| 2005 DoUniform3iv(location, count, v); | 2022 DoUniform3iv(location, count, v); |
| 2006 return error::kNoError; | 2023 return error::kNoError; |
| 2007 } | 2024 } |
| 2008 | 2025 |
| 2009 error::Error GLES2DecoderImpl::HandleUniform3ivImmediate( | 2026 error::Error GLES2DecoderImpl::HandleUniform3ivImmediate( |
| 2010 uint32 immediate_data_size, const gles2::Uniform3ivImmediate& c) { | 2027 uint32 immediate_data_size, const gles2::Uniform3ivImmediate& c) { |
| 2011 GLint location = static_cast<GLint>(c.location); | 2028 GLint location = program_manager()->UnswizzleLocation( |
| 2029 static_cast<GLint>(c.location)); |
| 2012 GLsizei count = static_cast<GLsizei>(c.count); | 2030 GLsizei count = static_cast<GLsizei>(c.count); |
| 2013 uint32 data_size; | 2031 uint32 data_size; |
| 2014 if (!ComputeDataSize(count, sizeof(GLint), 3, &data_size)) { | 2032 if (!ComputeDataSize(count, sizeof(GLint), 3, &data_size)) { |
| 2015 return error::kOutOfBounds; | 2033 return error::kOutOfBounds; |
| 2016 } | 2034 } |
| 2017 if (data_size > immediate_data_size) { | 2035 if (data_size > immediate_data_size) { |
| 2018 return error::kOutOfBounds; | 2036 return error::kOutOfBounds; |
| 2019 } | 2037 } |
| 2020 const GLint* v = GetImmediateDataAs<const GLint*>( | 2038 const GLint* v = GetImmediateDataAs<const GLint*>( |
| 2021 c, data_size, immediate_data_size); | 2039 c, data_size, immediate_data_size); |
| 2022 if (v == NULL) { | 2040 if (v == NULL) { |
| 2023 return error::kOutOfBounds; | 2041 return error::kOutOfBounds; |
| 2024 } | 2042 } |
| 2025 DoUniform3iv(location, count, v); | 2043 DoUniform3iv(location, count, v); |
| 2026 return error::kNoError; | 2044 return error::kNoError; |
| 2027 } | 2045 } |
| 2028 | 2046 |
| 2029 error::Error GLES2DecoderImpl::HandleUniform4f( | 2047 error::Error GLES2DecoderImpl::HandleUniform4f( |
| 2030 uint32 immediate_data_size, const gles2::Uniform4f& c) { | 2048 uint32 immediate_data_size, const gles2::Uniform4f& c) { |
| 2031 GLint location = static_cast<GLint>(c.location); | 2049 GLint location = program_manager()->UnswizzleLocation( |
| 2050 static_cast<GLint>(c.location)); |
| 2032 GLfloat x = static_cast<GLfloat>(c.x); | 2051 GLfloat x = static_cast<GLfloat>(c.x); |
| 2033 GLfloat y = static_cast<GLfloat>(c.y); | 2052 GLfloat y = static_cast<GLfloat>(c.y); |
| 2034 GLfloat z = static_cast<GLfloat>(c.z); | 2053 GLfloat z = static_cast<GLfloat>(c.z); |
| 2035 GLfloat w = static_cast<GLfloat>(c.w); | 2054 GLfloat w = static_cast<GLfloat>(c.w); |
| 2036 GLfloat temp[4] = { x, y, z, w, }; | 2055 GLfloat temp[4] = { x, y, z, w, }; |
| 2037 DoUniform4fv(location, 1, &temp[0]); | 2056 DoUniform4fv(location, 1, &temp[0]); |
| 2038 return error::kNoError; | 2057 return error::kNoError; |
| 2039 } | 2058 } |
| 2040 | 2059 |
| 2041 error::Error GLES2DecoderImpl::HandleUniform4fv( | 2060 error::Error GLES2DecoderImpl::HandleUniform4fv( |
| 2042 uint32 immediate_data_size, const gles2::Uniform4fv& c) { | 2061 uint32 immediate_data_size, const gles2::Uniform4fv& c) { |
| 2043 GLint location = static_cast<GLint>(c.location); | 2062 GLint location = program_manager()->UnswizzleLocation( |
| 2063 static_cast<GLint>(c.location)); |
| 2044 GLsizei count = static_cast<GLsizei>(c.count); | 2064 GLsizei count = static_cast<GLsizei>(c.count); |
| 2045 uint32 data_size; | 2065 uint32 data_size; |
| 2046 if (!ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { | 2066 if (!ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { |
| 2047 return error::kOutOfBounds; | 2067 return error::kOutOfBounds; |
| 2048 } | 2068 } |
| 2049 const GLfloat* v = GetSharedMemoryAs<const GLfloat*>( | 2069 const GLfloat* v = GetSharedMemoryAs<const GLfloat*>( |
| 2050 c.v_shm_id, c.v_shm_offset, data_size); | 2070 c.v_shm_id, c.v_shm_offset, data_size); |
| 2051 if (v == NULL) { | 2071 if (v == NULL) { |
| 2052 return error::kOutOfBounds; | 2072 return error::kOutOfBounds; |
| 2053 } | 2073 } |
| 2054 DoUniform4fv(location, count, v); | 2074 DoUniform4fv(location, count, v); |
| 2055 return error::kNoError; | 2075 return error::kNoError; |
| 2056 } | 2076 } |
| 2057 | 2077 |
| 2058 error::Error GLES2DecoderImpl::HandleUniform4fvImmediate( | 2078 error::Error GLES2DecoderImpl::HandleUniform4fvImmediate( |
| 2059 uint32 immediate_data_size, const gles2::Uniform4fvImmediate& c) { | 2079 uint32 immediate_data_size, const gles2::Uniform4fvImmediate& c) { |
| 2060 GLint location = static_cast<GLint>(c.location); | 2080 GLint location = program_manager()->UnswizzleLocation( |
| 2081 static_cast<GLint>(c.location)); |
| 2061 GLsizei count = static_cast<GLsizei>(c.count); | 2082 GLsizei count = static_cast<GLsizei>(c.count); |
| 2062 uint32 data_size; | 2083 uint32 data_size; |
| 2063 if (!ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { | 2084 if (!ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { |
| 2064 return error::kOutOfBounds; | 2085 return error::kOutOfBounds; |
| 2065 } | 2086 } |
| 2066 if (data_size > immediate_data_size) { | 2087 if (data_size > immediate_data_size) { |
| 2067 return error::kOutOfBounds; | 2088 return error::kOutOfBounds; |
| 2068 } | 2089 } |
| 2069 const GLfloat* v = GetImmediateDataAs<const GLfloat*>( | 2090 const GLfloat* v = GetImmediateDataAs<const GLfloat*>( |
| 2070 c, data_size, immediate_data_size); | 2091 c, data_size, immediate_data_size); |
| 2071 if (v == NULL) { | 2092 if (v == NULL) { |
| 2072 return error::kOutOfBounds; | 2093 return error::kOutOfBounds; |
| 2073 } | 2094 } |
| 2074 DoUniform4fv(location, count, v); | 2095 DoUniform4fv(location, count, v); |
| 2075 return error::kNoError; | 2096 return error::kNoError; |
| 2076 } | 2097 } |
| 2077 | 2098 |
| 2078 error::Error GLES2DecoderImpl::HandleUniform4i( | 2099 error::Error GLES2DecoderImpl::HandleUniform4i( |
| 2079 uint32 immediate_data_size, const gles2::Uniform4i& c) { | 2100 uint32 immediate_data_size, const gles2::Uniform4i& c) { |
| 2080 GLint location = static_cast<GLint>(c.location); | 2101 GLint location = program_manager()->UnswizzleLocation( |
| 2102 static_cast<GLint>(c.location)); |
| 2081 GLint x = static_cast<GLint>(c.x); | 2103 GLint x = static_cast<GLint>(c.x); |
| 2082 GLint y = static_cast<GLint>(c.y); | 2104 GLint y = static_cast<GLint>(c.y); |
| 2083 GLint z = static_cast<GLint>(c.z); | 2105 GLint z = static_cast<GLint>(c.z); |
| 2084 GLint w = static_cast<GLint>(c.w); | 2106 GLint w = static_cast<GLint>(c.w); |
| 2085 glUniform4i(location, x, y, z, w); | 2107 glUniform4i(location, x, y, z, w); |
| 2086 return error::kNoError; | 2108 return error::kNoError; |
| 2087 } | 2109 } |
| 2088 | 2110 |
| 2089 error::Error GLES2DecoderImpl::HandleUniform4iv( | 2111 error::Error GLES2DecoderImpl::HandleUniform4iv( |
| 2090 uint32 immediate_data_size, const gles2::Uniform4iv& c) { | 2112 uint32 immediate_data_size, const gles2::Uniform4iv& c) { |
| 2091 GLint location = static_cast<GLint>(c.location); | 2113 GLint location = program_manager()->UnswizzleLocation( |
| 2114 static_cast<GLint>(c.location)); |
| 2092 GLsizei count = static_cast<GLsizei>(c.count); | 2115 GLsizei count = static_cast<GLsizei>(c.count); |
| 2093 uint32 data_size; | 2116 uint32 data_size; |
| 2094 if (!ComputeDataSize(count, sizeof(GLint), 4, &data_size)) { | 2117 if (!ComputeDataSize(count, sizeof(GLint), 4, &data_size)) { |
| 2095 return error::kOutOfBounds; | 2118 return error::kOutOfBounds; |
| 2096 } | 2119 } |
| 2097 const GLint* v = GetSharedMemoryAs<const GLint*>( | 2120 const GLint* v = GetSharedMemoryAs<const GLint*>( |
| 2098 c.v_shm_id, c.v_shm_offset, data_size); | 2121 c.v_shm_id, c.v_shm_offset, data_size); |
| 2099 if (v == NULL) { | 2122 if (v == NULL) { |
| 2100 return error::kOutOfBounds; | 2123 return error::kOutOfBounds; |
| 2101 } | 2124 } |
| 2102 DoUniform4iv(location, count, v); | 2125 DoUniform4iv(location, count, v); |
| 2103 return error::kNoError; | 2126 return error::kNoError; |
| 2104 } | 2127 } |
| 2105 | 2128 |
| 2106 error::Error GLES2DecoderImpl::HandleUniform4ivImmediate( | 2129 error::Error GLES2DecoderImpl::HandleUniform4ivImmediate( |
| 2107 uint32 immediate_data_size, const gles2::Uniform4ivImmediate& c) { | 2130 uint32 immediate_data_size, const gles2::Uniform4ivImmediate& c) { |
| 2108 GLint location = static_cast<GLint>(c.location); | 2131 GLint location = program_manager()->UnswizzleLocation( |
| 2132 static_cast<GLint>(c.location)); |
| 2109 GLsizei count = static_cast<GLsizei>(c.count); | 2133 GLsizei count = static_cast<GLsizei>(c.count); |
| 2110 uint32 data_size; | 2134 uint32 data_size; |
| 2111 if (!ComputeDataSize(count, sizeof(GLint), 4, &data_size)) { | 2135 if (!ComputeDataSize(count, sizeof(GLint), 4, &data_size)) { |
| 2112 return error::kOutOfBounds; | 2136 return error::kOutOfBounds; |
| 2113 } | 2137 } |
| 2114 if (data_size > immediate_data_size) { | 2138 if (data_size > immediate_data_size) { |
| 2115 return error::kOutOfBounds; | 2139 return error::kOutOfBounds; |
| 2116 } | 2140 } |
| 2117 const GLint* v = GetImmediateDataAs<const GLint*>( | 2141 const GLint* v = GetImmediateDataAs<const GLint*>( |
| 2118 c, data_size, immediate_data_size); | 2142 c, data_size, immediate_data_size); |
| 2119 if (v == NULL) { | 2143 if (v == NULL) { |
| 2120 return error::kOutOfBounds; | 2144 return error::kOutOfBounds; |
| 2121 } | 2145 } |
| 2122 DoUniform4iv(location, count, v); | 2146 DoUniform4iv(location, count, v); |
| 2123 return error::kNoError; | 2147 return error::kNoError; |
| 2124 } | 2148 } |
| 2125 | 2149 |
| 2126 error::Error GLES2DecoderImpl::HandleUniformMatrix2fv( | 2150 error::Error GLES2DecoderImpl::HandleUniformMatrix2fv( |
| 2127 uint32 immediate_data_size, const gles2::UniformMatrix2fv& c) { | 2151 uint32 immediate_data_size, const gles2::UniformMatrix2fv& c) { |
| 2128 GLint location = static_cast<GLint>(c.location); | 2152 GLint location = program_manager()->UnswizzleLocation( |
| 2153 static_cast<GLint>(c.location)); |
| 2129 GLsizei count = static_cast<GLsizei>(c.count); | 2154 GLsizei count = static_cast<GLsizei>(c.count); |
| 2130 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 2155 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2131 uint32 data_size; | 2156 uint32 data_size; |
| 2132 if (!ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { | 2157 if (!ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { |
| 2133 return error::kOutOfBounds; | 2158 return error::kOutOfBounds; |
| 2134 } | 2159 } |
| 2135 const GLfloat* value = GetSharedMemoryAs<const GLfloat*>( | 2160 const GLfloat* value = GetSharedMemoryAs<const GLfloat*>( |
| 2136 c.value_shm_id, c.value_shm_offset, data_size); | 2161 c.value_shm_id, c.value_shm_offset, data_size); |
| 2137 if (!validators_->false_only.IsValid(transpose)) { | 2162 if (!validators_->false_only.IsValid(transpose)) { |
| 2138 SetGLError( | 2163 SetGLError( |
| 2139 GL_INVALID_VALUE, "glUniformMatrix2fv: transpose GL_INVALID_VALUE"); | 2164 GL_INVALID_VALUE, "glUniformMatrix2fv: transpose GL_INVALID_VALUE"); |
| 2140 return error::kNoError; | 2165 return error::kNoError; |
| 2141 } | 2166 } |
| 2142 if (value == NULL) { | 2167 if (value == NULL) { |
| 2143 return error::kOutOfBounds; | 2168 return error::kOutOfBounds; |
| 2144 } | 2169 } |
| 2145 DoUniformMatrix2fv(location, count, transpose, value); | 2170 DoUniformMatrix2fv(location, count, transpose, value); |
| 2146 return error::kNoError; | 2171 return error::kNoError; |
| 2147 } | 2172 } |
| 2148 | 2173 |
| 2149 error::Error GLES2DecoderImpl::HandleUniformMatrix2fvImmediate( | 2174 error::Error GLES2DecoderImpl::HandleUniformMatrix2fvImmediate( |
| 2150 uint32 immediate_data_size, const gles2::UniformMatrix2fvImmediate& c) { | 2175 uint32 immediate_data_size, const gles2::UniformMatrix2fvImmediate& c) { |
| 2151 GLint location = static_cast<GLint>(c.location); | 2176 GLint location = program_manager()->UnswizzleLocation( |
| 2177 static_cast<GLint>(c.location)); |
| 2152 GLsizei count = static_cast<GLsizei>(c.count); | 2178 GLsizei count = static_cast<GLsizei>(c.count); |
| 2153 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 2179 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2154 uint32 data_size; | 2180 uint32 data_size; |
| 2155 if (!ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { | 2181 if (!ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { |
| 2156 return error::kOutOfBounds; | 2182 return error::kOutOfBounds; |
| 2157 } | 2183 } |
| 2158 if (data_size > immediate_data_size) { | 2184 if (data_size > immediate_data_size) { |
| 2159 return error::kOutOfBounds; | 2185 return error::kOutOfBounds; |
| 2160 } | 2186 } |
| 2161 const GLfloat* value = GetImmediateDataAs<const GLfloat*>( | 2187 const GLfloat* value = GetImmediateDataAs<const GLfloat*>( |
| 2162 c, data_size, immediate_data_size); | 2188 c, data_size, immediate_data_size); |
| 2163 if (!validators_->false_only.IsValid(transpose)) { | 2189 if (!validators_->false_only.IsValid(transpose)) { |
| 2164 SetGLError( | 2190 SetGLError( |
| 2165 GL_INVALID_VALUE, "glUniformMatrix2fv: transpose GL_INVALID_VALUE"); | 2191 GL_INVALID_VALUE, "glUniformMatrix2fv: transpose GL_INVALID_VALUE"); |
| 2166 return error::kNoError; | 2192 return error::kNoError; |
| 2167 } | 2193 } |
| 2168 if (value == NULL) { | 2194 if (value == NULL) { |
| 2169 return error::kOutOfBounds; | 2195 return error::kOutOfBounds; |
| 2170 } | 2196 } |
| 2171 DoUniformMatrix2fv(location, count, transpose, value); | 2197 DoUniformMatrix2fv(location, count, transpose, value); |
| 2172 return error::kNoError; | 2198 return error::kNoError; |
| 2173 } | 2199 } |
| 2174 | 2200 |
| 2175 error::Error GLES2DecoderImpl::HandleUniformMatrix3fv( | 2201 error::Error GLES2DecoderImpl::HandleUniformMatrix3fv( |
| 2176 uint32 immediate_data_size, const gles2::UniformMatrix3fv& c) { | 2202 uint32 immediate_data_size, const gles2::UniformMatrix3fv& c) { |
| 2177 GLint location = static_cast<GLint>(c.location); | 2203 GLint location = program_manager()->UnswizzleLocation( |
| 2204 static_cast<GLint>(c.location)); |
| 2178 GLsizei count = static_cast<GLsizei>(c.count); | 2205 GLsizei count = static_cast<GLsizei>(c.count); |
| 2179 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 2206 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2180 uint32 data_size; | 2207 uint32 data_size; |
| 2181 if (!ComputeDataSize(count, sizeof(GLfloat), 9, &data_size)) { | 2208 if (!ComputeDataSize(count, sizeof(GLfloat), 9, &data_size)) { |
| 2182 return error::kOutOfBounds; | 2209 return error::kOutOfBounds; |
| 2183 } | 2210 } |
| 2184 const GLfloat* value = GetSharedMemoryAs<const GLfloat*>( | 2211 const GLfloat* value = GetSharedMemoryAs<const GLfloat*>( |
| 2185 c.value_shm_id, c.value_shm_offset, data_size); | 2212 c.value_shm_id, c.value_shm_offset, data_size); |
| 2186 if (!validators_->false_only.IsValid(transpose)) { | 2213 if (!validators_->false_only.IsValid(transpose)) { |
| 2187 SetGLError( | 2214 SetGLError( |
| 2188 GL_INVALID_VALUE, "glUniformMatrix3fv: transpose GL_INVALID_VALUE"); | 2215 GL_INVALID_VALUE, "glUniformMatrix3fv: transpose GL_INVALID_VALUE"); |
| 2189 return error::kNoError; | 2216 return error::kNoError; |
| 2190 } | 2217 } |
| 2191 if (value == NULL) { | 2218 if (value == NULL) { |
| 2192 return error::kOutOfBounds; | 2219 return error::kOutOfBounds; |
| 2193 } | 2220 } |
| 2194 DoUniformMatrix3fv(location, count, transpose, value); | 2221 DoUniformMatrix3fv(location, count, transpose, value); |
| 2195 return error::kNoError; | 2222 return error::kNoError; |
| 2196 } | 2223 } |
| 2197 | 2224 |
| 2198 error::Error GLES2DecoderImpl::HandleUniformMatrix3fvImmediate( | 2225 error::Error GLES2DecoderImpl::HandleUniformMatrix3fvImmediate( |
| 2199 uint32 immediate_data_size, const gles2::UniformMatrix3fvImmediate& c) { | 2226 uint32 immediate_data_size, const gles2::UniformMatrix3fvImmediate& c) { |
| 2200 GLint location = static_cast<GLint>(c.location); | 2227 GLint location = program_manager()->UnswizzleLocation( |
| 2228 static_cast<GLint>(c.location)); |
| 2201 GLsizei count = static_cast<GLsizei>(c.count); | 2229 GLsizei count = static_cast<GLsizei>(c.count); |
| 2202 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 2230 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2203 uint32 data_size; | 2231 uint32 data_size; |
| 2204 if (!ComputeDataSize(count, sizeof(GLfloat), 9, &data_size)) { | 2232 if (!ComputeDataSize(count, sizeof(GLfloat), 9, &data_size)) { |
| 2205 return error::kOutOfBounds; | 2233 return error::kOutOfBounds; |
| 2206 } | 2234 } |
| 2207 if (data_size > immediate_data_size) { | 2235 if (data_size > immediate_data_size) { |
| 2208 return error::kOutOfBounds; | 2236 return error::kOutOfBounds; |
| 2209 } | 2237 } |
| 2210 const GLfloat* value = GetImmediateDataAs<const GLfloat*>( | 2238 const GLfloat* value = GetImmediateDataAs<const GLfloat*>( |
| 2211 c, data_size, immediate_data_size); | 2239 c, data_size, immediate_data_size); |
| 2212 if (!validators_->false_only.IsValid(transpose)) { | 2240 if (!validators_->false_only.IsValid(transpose)) { |
| 2213 SetGLError( | 2241 SetGLError( |
| 2214 GL_INVALID_VALUE, "glUniformMatrix3fv: transpose GL_INVALID_VALUE"); | 2242 GL_INVALID_VALUE, "glUniformMatrix3fv: transpose GL_INVALID_VALUE"); |
| 2215 return error::kNoError; | 2243 return error::kNoError; |
| 2216 } | 2244 } |
| 2217 if (value == NULL) { | 2245 if (value == NULL) { |
| 2218 return error::kOutOfBounds; | 2246 return error::kOutOfBounds; |
| 2219 } | 2247 } |
| 2220 DoUniformMatrix3fv(location, count, transpose, value); | 2248 DoUniformMatrix3fv(location, count, transpose, value); |
| 2221 return error::kNoError; | 2249 return error::kNoError; |
| 2222 } | 2250 } |
| 2223 | 2251 |
| 2224 error::Error GLES2DecoderImpl::HandleUniformMatrix4fv( | 2252 error::Error GLES2DecoderImpl::HandleUniformMatrix4fv( |
| 2225 uint32 immediate_data_size, const gles2::UniformMatrix4fv& c) { | 2253 uint32 immediate_data_size, const gles2::UniformMatrix4fv& c) { |
| 2226 GLint location = static_cast<GLint>(c.location); | 2254 GLint location = program_manager()->UnswizzleLocation( |
| 2255 static_cast<GLint>(c.location)); |
| 2227 GLsizei count = static_cast<GLsizei>(c.count); | 2256 GLsizei count = static_cast<GLsizei>(c.count); |
| 2228 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 2257 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2229 uint32 data_size; | 2258 uint32 data_size; |
| 2230 if (!ComputeDataSize(count, sizeof(GLfloat), 16, &data_size)) { | 2259 if (!ComputeDataSize(count, sizeof(GLfloat), 16, &data_size)) { |
| 2231 return error::kOutOfBounds; | 2260 return error::kOutOfBounds; |
| 2232 } | 2261 } |
| 2233 const GLfloat* value = GetSharedMemoryAs<const GLfloat*>( | 2262 const GLfloat* value = GetSharedMemoryAs<const GLfloat*>( |
| 2234 c.value_shm_id, c.value_shm_offset, data_size); | 2263 c.value_shm_id, c.value_shm_offset, data_size); |
| 2235 if (!validators_->false_only.IsValid(transpose)) { | 2264 if (!validators_->false_only.IsValid(transpose)) { |
| 2236 SetGLError( | 2265 SetGLError( |
| 2237 GL_INVALID_VALUE, "glUniformMatrix4fv: transpose GL_INVALID_VALUE"); | 2266 GL_INVALID_VALUE, "glUniformMatrix4fv: transpose GL_INVALID_VALUE"); |
| 2238 return error::kNoError; | 2267 return error::kNoError; |
| 2239 } | 2268 } |
| 2240 if (value == NULL) { | 2269 if (value == NULL) { |
| 2241 return error::kOutOfBounds; | 2270 return error::kOutOfBounds; |
| 2242 } | 2271 } |
| 2243 DoUniformMatrix4fv(location, count, transpose, value); | 2272 DoUniformMatrix4fv(location, count, transpose, value); |
| 2244 return error::kNoError; | 2273 return error::kNoError; |
| 2245 } | 2274 } |
| 2246 | 2275 |
| 2247 error::Error GLES2DecoderImpl::HandleUniformMatrix4fvImmediate( | 2276 error::Error GLES2DecoderImpl::HandleUniformMatrix4fvImmediate( |
| 2248 uint32 immediate_data_size, const gles2::UniformMatrix4fvImmediate& c) { | 2277 uint32 immediate_data_size, const gles2::UniformMatrix4fvImmediate& c) { |
| 2249 GLint location = static_cast<GLint>(c.location); | 2278 GLint location = program_manager()->UnswizzleLocation( |
| 2279 static_cast<GLint>(c.location)); |
| 2250 GLsizei count = static_cast<GLsizei>(c.count); | 2280 GLsizei count = static_cast<GLsizei>(c.count); |
| 2251 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 2281 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2252 uint32 data_size; | 2282 uint32 data_size; |
| 2253 if (!ComputeDataSize(count, sizeof(GLfloat), 16, &data_size)) { | 2283 if (!ComputeDataSize(count, sizeof(GLfloat), 16, &data_size)) { |
| 2254 return error::kOutOfBounds; | 2284 return error::kOutOfBounds; |
| 2255 } | 2285 } |
| 2256 if (data_size > immediate_data_size) { | 2286 if (data_size > immediate_data_size) { |
| 2257 return error::kOutOfBounds; | 2287 return error::kOutOfBounds; |
| 2258 } | 2288 } |
| 2259 const GLfloat* value = GetImmediateDataAs<const GLfloat*>( | 2289 const GLfloat* value = GetImmediateDataAs<const GLfloat*>( |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2620 if (height < 0) { | 2650 if (height < 0) { |
| 2621 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM: height < 0"); | 2651 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM: height < 0"); |
| 2622 return error::kNoError; | 2652 return error::kNoError; |
| 2623 } | 2653 } |
| 2624 DoTexImageIOSurface2DCHROMIUM(target, width, height, ioSurfaceId, plane); | 2654 DoTexImageIOSurface2DCHROMIUM(target, width, height, ioSurfaceId, plane); |
| 2625 return error::kNoError; | 2655 return error::kNoError; |
| 2626 } | 2656 } |
| 2627 | 2657 |
| 2628 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ | 2658 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ |
| 2629 | 2659 |
| OLD | NEW |