Chromium Code Reviews| 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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 73 GLenum target = static_cast<GLenum>(c.target); | 73 GLenum target = static_cast<GLenum>(c.target); |
| 74 GLuint renderbuffer = c.renderbuffer; | 74 GLuint renderbuffer = c.renderbuffer; |
| 75 if (!validators_->render_buffer_target.IsValid(target)) { | 75 if (!validators_->render_buffer_target.IsValid(target)) { |
| 76 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindRenderbuffer", target, "target"); | 76 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindRenderbuffer", target, "target"); |
| 77 return error::kNoError; | 77 return error::kNoError; |
| 78 } | 78 } |
| 79 DoBindRenderbuffer(target, renderbuffer); | 79 DoBindRenderbuffer(target, renderbuffer); |
| 80 return error::kNoError; | 80 return error::kNoError; |
| 81 } | 81 } |
| 82 | 82 |
| 83 error::Error GLES2DecoderImpl::HandleBindSampler(uint32_t immediate_data_size, | |
| 84 const void* cmd_data) { | |
| 85 if (!unsafe_es3_apis_enabled()) | |
| 86 return error::kUnknownCommand; | |
| 87 const gles2::cmds::BindSampler& c = | |
| 88 *static_cast<const gles2::cmds::BindSampler*>(cmd_data); | |
| 89 (void)c; | |
| 90 GLuint unit = static_cast<GLuint>(c.unit); | |
| 91 GLuint sampler = c.sampler; | |
| 92 group_->GetSamplerServiceId(sampler, &sampler); | |
|
piman
2015/01/09 07:10:57
This needs to properly handle failure.
Spec says G
Zhenyao Mo
2015/01/09 17:45:28
Will do.
| |
| 93 glBindSampler(unit, sampler); | |
| 94 return error::kNoError; | |
| 95 } | |
| 96 | |
| 83 error::Error GLES2DecoderImpl::HandleBindTexture(uint32_t immediate_data_size, | 97 error::Error GLES2DecoderImpl::HandleBindTexture(uint32_t immediate_data_size, |
| 84 const void* cmd_data) { | 98 const void* cmd_data) { |
| 85 const gles2::cmds::BindTexture& c = | 99 const gles2::cmds::BindTexture& c = |
| 86 *static_cast<const gles2::cmds::BindTexture*>(cmd_data); | 100 *static_cast<const gles2::cmds::BindTexture*>(cmd_data); |
| 87 (void)c; | 101 (void)c; |
| 88 GLenum target = static_cast<GLenum>(c.target); | 102 GLenum target = static_cast<GLenum>(c.target); |
| 89 GLuint texture = c.texture; | 103 GLuint texture = c.texture; |
| 90 if (!validators_->texture_bind_target.IsValid(target)) { | 104 if (!validators_->texture_bind_target.IsValid(target)) { |
| 91 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindTexture", target, "target"); | 105 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindTexture", target, "target"); |
| 92 return error::kNoError; | 106 return error::kNoError; |
| (...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 609 } | 623 } |
| 610 const GLuint* renderbuffers = | 624 const GLuint* renderbuffers = |
| 611 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size); | 625 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size); |
| 612 if (renderbuffers == NULL) { | 626 if (renderbuffers == NULL) { |
| 613 return error::kOutOfBounds; | 627 return error::kOutOfBounds; |
| 614 } | 628 } |
| 615 DeleteRenderbuffersHelper(n, renderbuffers); | 629 DeleteRenderbuffersHelper(n, renderbuffers); |
| 616 return error::kNoError; | 630 return error::kNoError; |
| 617 } | 631 } |
| 618 | 632 |
| 633 error::Error GLES2DecoderImpl::HandleDeleteSamplersImmediate( | |
| 634 uint32_t immediate_data_size, | |
| 635 const void* cmd_data) { | |
| 636 if (!unsafe_es3_apis_enabled()) | |
| 637 return error::kUnknownCommand; | |
| 638 const gles2::cmds::DeleteSamplersImmediate& c = | |
| 639 *static_cast<const gles2::cmds::DeleteSamplersImmediate*>(cmd_data); | |
| 640 (void)c; | |
| 641 GLsizei n = static_cast<GLsizei>(c.n); | |
| 642 uint32_t data_size; | |
| 643 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | |
| 644 return error::kOutOfBounds; | |
| 645 } | |
| 646 const GLuint* samplers = | |
| 647 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size); | |
| 648 if (samplers == NULL) { | |
| 649 return error::kOutOfBounds; | |
| 650 } | |
| 651 for (GLsizei ii = 0; ii < n; ++ii) { | |
| 652 GLuint service_id = 0; | |
| 653 if (group_->GetSamplerServiceId(samplers[ii], &service_id)) { | |
| 654 glDeleteSamplers(1, &service_id); | |
| 655 group_->RemoveSamplerId(samplers[ii]); | |
| 656 } | |
| 657 } | |
| 658 return error::kNoError; | |
| 659 } | |
| 660 | |
| 619 error::Error GLES2DecoderImpl::HandleDeleteTexturesImmediate( | 661 error::Error GLES2DecoderImpl::HandleDeleteTexturesImmediate( |
| 620 uint32_t immediate_data_size, | 662 uint32_t immediate_data_size, |
| 621 const void* cmd_data) { | 663 const void* cmd_data) { |
| 622 const gles2::cmds::DeleteTexturesImmediate& c = | 664 const gles2::cmds::DeleteTexturesImmediate& c = |
| 623 *static_cast<const gles2::cmds::DeleteTexturesImmediate*>(cmd_data); | 665 *static_cast<const gles2::cmds::DeleteTexturesImmediate*>(cmd_data); |
| 624 (void)c; | 666 (void)c; |
| 625 GLsizei n = static_cast<GLsizei>(c.n); | 667 GLsizei n = static_cast<GLsizei>(c.n); |
| 626 uint32_t data_size; | 668 uint32_t data_size; |
| 627 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 669 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 628 return error::kOutOfBounds; | 670 return error::kOutOfBounds; |
| (...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 927 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size); | 969 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size); |
| 928 if (renderbuffers == NULL) { | 970 if (renderbuffers == NULL) { |
| 929 return error::kOutOfBounds; | 971 return error::kOutOfBounds; |
| 930 } | 972 } |
| 931 if (!GenRenderbuffersHelper(n, renderbuffers)) { | 973 if (!GenRenderbuffersHelper(n, renderbuffers)) { |
| 932 return error::kInvalidArguments; | 974 return error::kInvalidArguments; |
| 933 } | 975 } |
| 934 return error::kNoError; | 976 return error::kNoError; |
| 935 } | 977 } |
| 936 | 978 |
| 979 error::Error GLES2DecoderImpl::HandleGenSamplersImmediate( | |
| 980 uint32_t immediate_data_size, | |
| 981 const void* cmd_data) { | |
| 982 if (!unsafe_es3_apis_enabled()) | |
| 983 return error::kUnknownCommand; | |
| 984 const gles2::cmds::GenSamplersImmediate& c = | |
| 985 *static_cast<const gles2::cmds::GenSamplersImmediate*>(cmd_data); | |
| 986 (void)c; | |
| 987 GLsizei n = static_cast<GLsizei>(c.n); | |
| 988 uint32_t data_size; | |
| 989 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | |
| 990 return error::kOutOfBounds; | |
| 991 } | |
| 992 GLuint* samplers = | |
| 993 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size); | |
| 994 if (samplers == NULL) { | |
| 995 return error::kOutOfBounds; | |
| 996 } | |
| 997 for (GLsizei ii = 0; ii < n; ++ii) { | |
| 998 if (group_->GetSamplerServiceId(samplers[ii], NULL)) { | |
| 999 return error::kInvalidArguments; | |
| 1000 } | |
| 1001 } | |
| 1002 scoped_ptr<GLuint[]> service_ids(new GLuint[n]); | |
| 1003 glGenSamplers(n, service_ids.get()); | |
| 1004 for (GLsizei ii = 0; ii < n; ++ii) { | |
| 1005 group_->AddSamplerId(samplers[ii], service_ids[ii]); | |
| 1006 } | |
| 1007 return error::kNoError; | |
| 1008 } | |
| 1009 | |
| 937 error::Error GLES2DecoderImpl::HandleGenTexturesImmediate( | 1010 error::Error GLES2DecoderImpl::HandleGenTexturesImmediate( |
| 938 uint32_t immediate_data_size, | 1011 uint32_t immediate_data_size, |
| 939 const void* cmd_data) { | 1012 const void* cmd_data) { |
| 940 const gles2::cmds::GenTexturesImmediate& c = | 1013 const gles2::cmds::GenTexturesImmediate& c = |
| 941 *static_cast<const gles2::cmds::GenTexturesImmediate*>(cmd_data); | 1014 *static_cast<const gles2::cmds::GenTexturesImmediate*>(cmd_data); |
| 942 (void)c; | 1015 (void)c; |
| 943 GLsizei n = static_cast<GLsizei>(c.n); | 1016 GLsizei n = static_cast<GLsizei>(c.n); |
| 944 uint32_t data_size; | 1017 uint32_t data_size; |
| 945 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 1018 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 946 return error::kOutOfBounds; | 1019 return error::kOutOfBounds; |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1266 DoGetRenderbufferParameteriv(target, pname, params); | 1339 DoGetRenderbufferParameteriv(target, pname, params); |
| 1267 GLenum error = glGetError(); | 1340 GLenum error = glGetError(); |
| 1268 if (error == GL_NO_ERROR) { | 1341 if (error == GL_NO_ERROR) { |
| 1269 result->SetNumResults(num_values); | 1342 result->SetNumResults(num_values); |
| 1270 } else { | 1343 } else { |
| 1271 LOCAL_SET_GL_ERROR(error, "GetRenderbufferParameteriv", ""); | 1344 LOCAL_SET_GL_ERROR(error, "GetRenderbufferParameteriv", ""); |
| 1272 } | 1345 } |
| 1273 return error::kNoError; | 1346 return error::kNoError; |
| 1274 } | 1347 } |
| 1275 | 1348 |
| 1349 error::Error GLES2DecoderImpl::HandleGetSamplerParameterfv( | |
| 1350 uint32_t immediate_data_size, | |
| 1351 const void* cmd_data) { | |
| 1352 if (!unsafe_es3_apis_enabled()) | |
| 1353 return error::kUnknownCommand; | |
| 1354 const gles2::cmds::GetSamplerParameterfv& c = | |
| 1355 *static_cast<const gles2::cmds::GetSamplerParameterfv*>(cmd_data); | |
| 1356 (void)c; | |
| 1357 GLuint sampler = c.sampler; | |
| 1358 GLenum pname = static_cast<GLenum>(c.pname); | |
| 1359 typedef cmds::GetSamplerParameterfv::Result Result; | |
| 1360 GLsizei num_values = 0; | |
| 1361 GetNumValuesReturnedForGLGet(pname, &num_values); | |
| 1362 Result* result = GetSharedMemoryAs<Result*>( | |
| 1363 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values)); | |
| 1364 GLfloat* params = result ? result->GetData() : NULL; | |
| 1365 if (params == NULL) { | |
| 1366 return error::kOutOfBounds; | |
| 1367 } | |
| 1368 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameterfv"); | |
| 1369 // Check that the client initialized the result. | |
| 1370 if (result->size != 0) { | |
| 1371 return error::kInvalidArguments; | |
| 1372 } | |
| 1373 group_->GetSamplerServiceId(sampler, &sampler); | |
| 1374 glGetSamplerParameterfv(sampler, pname, params); | |
| 1375 GLenum error = glGetError(); | |
| 1376 if (error == GL_NO_ERROR) { | |
| 1377 result->SetNumResults(num_values); | |
| 1378 } else { | |
| 1379 LOCAL_SET_GL_ERROR(error, "GetSamplerParameterfv", ""); | |
| 1380 } | |
| 1381 return error::kNoError; | |
| 1382 } | |
| 1383 | |
| 1384 error::Error GLES2DecoderImpl::HandleGetSamplerParameteriv( | |
| 1385 uint32_t immediate_data_size, | |
| 1386 const void* cmd_data) { | |
| 1387 if (!unsafe_es3_apis_enabled()) | |
| 1388 return error::kUnknownCommand; | |
| 1389 const gles2::cmds::GetSamplerParameteriv& c = | |
| 1390 *static_cast<const gles2::cmds::GetSamplerParameteriv*>(cmd_data); | |
| 1391 (void)c; | |
| 1392 GLuint sampler = c.sampler; | |
| 1393 GLenum pname = static_cast<GLenum>(c.pname); | |
| 1394 typedef cmds::GetSamplerParameteriv::Result Result; | |
| 1395 GLsizei num_values = 0; | |
| 1396 GetNumValuesReturnedForGLGet(pname, &num_values); | |
| 1397 Result* result = GetSharedMemoryAs<Result*>( | |
| 1398 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values)); | |
| 1399 GLint* params = result ? result->GetData() : NULL; | |
| 1400 if (params == NULL) { | |
| 1401 return error::kOutOfBounds; | |
| 1402 } | |
| 1403 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameteriv"); | |
| 1404 // Check that the client initialized the result. | |
| 1405 if (result->size != 0) { | |
| 1406 return error::kInvalidArguments; | |
| 1407 } | |
| 1408 group_->GetSamplerServiceId(sampler, &sampler); | |
| 1409 glGetSamplerParameteriv(sampler, pname, params); | |
| 1410 GLenum error = glGetError(); | |
| 1411 if (error == GL_NO_ERROR) { | |
| 1412 result->SetNumResults(num_values); | |
| 1413 } else { | |
| 1414 LOCAL_SET_GL_ERROR(error, "GetSamplerParameteriv", ""); | |
| 1415 } | |
| 1416 return error::kNoError; | |
| 1417 } | |
| 1418 | |
| 1276 error::Error GLES2DecoderImpl::HandleGetShaderiv(uint32_t immediate_data_size, | 1419 error::Error GLES2DecoderImpl::HandleGetShaderiv(uint32_t immediate_data_size, |
| 1277 const void* cmd_data) { | 1420 const void* cmd_data) { |
| 1278 const gles2::cmds::GetShaderiv& c = | 1421 const gles2::cmds::GetShaderiv& c = |
| 1279 *static_cast<const gles2::cmds::GetShaderiv*>(cmd_data); | 1422 *static_cast<const gles2::cmds::GetShaderiv*>(cmd_data); |
| 1280 (void)c; | 1423 (void)c; |
| 1281 GLuint shader = c.shader; | 1424 GLuint shader = c.shader; |
| 1282 GLenum pname = static_cast<GLenum>(c.pname); | 1425 GLenum pname = static_cast<GLenum>(c.pname); |
| 1283 typedef cmds::GetShaderiv::Result Result; | 1426 typedef cmds::GetShaderiv::Result Result; |
| 1284 GLsizei num_values = 0; | 1427 GLsizei num_values = 0; |
| 1285 GetNumValuesReturnedForGLGet(pname, &num_values); | 1428 GetNumValuesReturnedForGLGet(pname, &num_values); |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1639 typedef cmds::IsRenderbuffer::Result Result; | 1782 typedef cmds::IsRenderbuffer::Result Result; |
| 1640 Result* result_dst = GetSharedMemoryAs<Result*>( | 1783 Result* result_dst = GetSharedMemoryAs<Result*>( |
| 1641 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); | 1784 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); |
| 1642 if (!result_dst) { | 1785 if (!result_dst) { |
| 1643 return error::kOutOfBounds; | 1786 return error::kOutOfBounds; |
| 1644 } | 1787 } |
| 1645 *result_dst = DoIsRenderbuffer(renderbuffer); | 1788 *result_dst = DoIsRenderbuffer(renderbuffer); |
| 1646 return error::kNoError; | 1789 return error::kNoError; |
| 1647 } | 1790 } |
| 1648 | 1791 |
| 1792 error::Error GLES2DecoderImpl::HandleIsSampler(uint32_t immediate_data_size, | |
| 1793 const void* cmd_data) { | |
| 1794 if (!unsafe_es3_apis_enabled()) | |
| 1795 return error::kUnknownCommand; | |
| 1796 const gles2::cmds::IsSampler& c = | |
| 1797 *static_cast<const gles2::cmds::IsSampler*>(cmd_data); | |
| 1798 (void)c; | |
| 1799 GLuint sampler = c.sampler; | |
| 1800 typedef cmds::IsSampler::Result Result; | |
| 1801 Result* result_dst = GetSharedMemoryAs<Result*>( | |
| 1802 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); | |
| 1803 if (!result_dst) { | |
| 1804 return error::kOutOfBounds; | |
| 1805 } | |
| 1806 *result_dst = glIsSampler(sampler); | |
| 1807 return error::kNoError; | |
| 1808 } | |
| 1809 | |
| 1649 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size, | 1810 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size, |
| 1650 const void* cmd_data) { | 1811 const void* cmd_data) { |
| 1651 const gles2::cmds::IsShader& c = | 1812 const gles2::cmds::IsShader& c = |
| 1652 *static_cast<const gles2::cmds::IsShader*>(cmd_data); | 1813 *static_cast<const gles2::cmds::IsShader*>(cmd_data); |
| 1653 (void)c; | 1814 (void)c; |
| 1654 GLuint shader = c.shader; | 1815 GLuint shader = c.shader; |
| 1655 typedef cmds::IsShader::Result Result; | 1816 typedef cmds::IsShader::Result Result; |
| 1656 Result* result_dst = GetSharedMemoryAs<Result*>( | 1817 Result* result_dst = GetSharedMemoryAs<Result*>( |
| 1657 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); | 1818 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); |
| 1658 if (!result_dst) { | 1819 if (!result_dst) { |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1779 const void* cmd_data) { | 1940 const void* cmd_data) { |
| 1780 const gles2::cmds::SampleCoverage& c = | 1941 const gles2::cmds::SampleCoverage& c = |
| 1781 *static_cast<const gles2::cmds::SampleCoverage*>(cmd_data); | 1942 *static_cast<const gles2::cmds::SampleCoverage*>(cmd_data); |
| 1782 (void)c; | 1943 (void)c; |
| 1783 GLclampf value = static_cast<GLclampf>(c.value); | 1944 GLclampf value = static_cast<GLclampf>(c.value); |
| 1784 GLboolean invert = static_cast<GLboolean>(c.invert); | 1945 GLboolean invert = static_cast<GLboolean>(c.invert); |
| 1785 DoSampleCoverage(value, invert); | 1946 DoSampleCoverage(value, invert); |
| 1786 return error::kNoError; | 1947 return error::kNoError; |
| 1787 } | 1948 } |
| 1788 | 1949 |
| 1950 error::Error GLES2DecoderImpl::HandleSamplerParameterf( | |
| 1951 uint32_t immediate_data_size, | |
| 1952 const void* cmd_data) { | |
| 1953 if (!unsafe_es3_apis_enabled()) | |
| 1954 return error::kUnknownCommand; | |
| 1955 const gles2::cmds::SamplerParameterf& c = | |
| 1956 *static_cast<const gles2::cmds::SamplerParameterf*>(cmd_data); | |
| 1957 (void)c; | |
| 1958 GLuint sampler = c.sampler; | |
| 1959 GLenum pname = static_cast<GLenum>(c.pname); | |
| 1960 GLfloat param = static_cast<GLfloat>(c.param); | |
| 1961 group_->GetSamplerServiceId(sampler, &sampler); | |
| 1962 glSamplerParameterf(sampler, pname, param); | |
| 1963 return error::kNoError; | |
| 1964 } | |
| 1965 | |
| 1966 error::Error GLES2DecoderImpl::HandleSamplerParameterfvImmediate( | |
| 1967 uint32_t immediate_data_size, | |
| 1968 const void* cmd_data) { | |
| 1969 if (!unsafe_es3_apis_enabled()) | |
| 1970 return error::kUnknownCommand; | |
| 1971 const gles2::cmds::SamplerParameterfvImmediate& c = | |
| 1972 *static_cast<const gles2::cmds::SamplerParameterfvImmediate*>(cmd_data); | |
| 1973 (void)c; | |
| 1974 GLuint sampler = c.sampler; | |
| 1975 GLenum pname = static_cast<GLenum>(c.pname); | |
| 1976 uint32_t data_size; | |
| 1977 if (!ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) { | |
| 1978 return error::kOutOfBounds; | |
| 1979 } | |
| 1980 if (data_size > immediate_data_size) { | |
| 1981 return error::kOutOfBounds; | |
| 1982 } | |
| 1983 const GLfloat* params = | |
| 1984 GetImmediateDataAs<const GLfloat*>(c, data_size, immediate_data_size); | |
| 1985 if (params == NULL) { | |
| 1986 return error::kOutOfBounds; | |
| 1987 } | |
| 1988 group_->GetSamplerServiceId(sampler, &sampler); | |
| 1989 DoSamplerParameterfv(sampler, pname, params); | |
| 1990 return error::kNoError; | |
| 1991 } | |
| 1992 | |
| 1993 error::Error GLES2DecoderImpl::HandleSamplerParameteri( | |
| 1994 uint32_t immediate_data_size, | |
| 1995 const void* cmd_data) { | |
| 1996 if (!unsafe_es3_apis_enabled()) | |
| 1997 return error::kUnknownCommand; | |
| 1998 const gles2::cmds::SamplerParameteri& c = | |
| 1999 *static_cast<const gles2::cmds::SamplerParameteri*>(cmd_data); | |
| 2000 (void)c; | |
| 2001 GLuint sampler = c.sampler; | |
| 2002 GLenum pname = static_cast<GLenum>(c.pname); | |
| 2003 GLint param = static_cast<GLint>(c.param); | |
| 2004 group_->GetSamplerServiceId(sampler, &sampler); | |
| 2005 glSamplerParameteri(sampler, pname, param); | |
| 2006 return error::kNoError; | |
| 2007 } | |
| 2008 | |
| 2009 error::Error GLES2DecoderImpl::HandleSamplerParameterivImmediate( | |
| 2010 uint32_t immediate_data_size, | |
| 2011 const void* cmd_data) { | |
| 2012 if (!unsafe_es3_apis_enabled()) | |
| 2013 return error::kUnknownCommand; | |
| 2014 const gles2::cmds::SamplerParameterivImmediate& c = | |
| 2015 *static_cast<const gles2::cmds::SamplerParameterivImmediate*>(cmd_data); | |
| 2016 (void)c; | |
| 2017 GLuint sampler = c.sampler; | |
| 2018 GLenum pname = static_cast<GLenum>(c.pname); | |
| 2019 uint32_t data_size; | |
| 2020 if (!ComputeDataSize(1, sizeof(GLint), 1, &data_size)) { | |
| 2021 return error::kOutOfBounds; | |
| 2022 } | |
| 2023 if (data_size > immediate_data_size) { | |
| 2024 return error::kOutOfBounds; | |
| 2025 } | |
| 2026 const GLint* params = | |
| 2027 GetImmediateDataAs<const GLint*>(c, data_size, immediate_data_size); | |
| 2028 if (params == NULL) { | |
| 2029 return error::kOutOfBounds; | |
| 2030 } | |
| 2031 DoSamplerParameteriv(sampler, pname, params); | |
| 2032 return error::kNoError; | |
| 2033 } | |
| 2034 | |
| 1789 error::Error GLES2DecoderImpl::HandleScissor(uint32_t immediate_data_size, | 2035 error::Error GLES2DecoderImpl::HandleScissor(uint32_t immediate_data_size, |
| 1790 const void* cmd_data) { | 2036 const void* cmd_data) { |
| 1791 const gles2::cmds::Scissor& c = | 2037 const gles2::cmds::Scissor& c = |
| 1792 *static_cast<const gles2::cmds::Scissor*>(cmd_data); | 2038 *static_cast<const gles2::cmds::Scissor*>(cmd_data); |
| 1793 (void)c; | 2039 (void)c; |
| 1794 GLint x = static_cast<GLint>(c.x); | 2040 GLint x = static_cast<GLint>(c.x); |
| 1795 GLint y = static_cast<GLint>(c.y); | 2041 GLint y = static_cast<GLint>(c.y); |
| 1796 GLsizei width = static_cast<GLsizei>(c.width); | 2042 GLsizei width = static_cast<GLsizei>(c.width); |
| 1797 GLsizei height = static_cast<GLsizei>(c.height); | 2043 GLsizei height = static_cast<GLsizei>(c.height); |
| 1798 if (width < 0) { | 2044 if (width < 0) { |
| (...skipping 2343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4142 state_.ignore_cached_state) { | 4388 state_.ignore_cached_state) { |
| 4143 framebuffer_state_.clear_state_dirty = true; | 4389 framebuffer_state_.clear_state_dirty = true; |
| 4144 } | 4390 } |
| 4145 return false; | 4391 return false; |
| 4146 default: | 4392 default: |
| 4147 NOTREACHED(); | 4393 NOTREACHED(); |
| 4148 return false; | 4394 return false; |
| 4149 } | 4395 } |
| 4150 } | 4396 } |
| 4151 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ | 4397 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ |
| OLD | NEW |