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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h

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

Powered by Google App Engine
This is Rietveld 408576698