| 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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 | 114 |
| 115 error::Error GLES2DecoderImpl::HandleBindSampler(uint32_t immediate_data_size, | 115 error::Error GLES2DecoderImpl::HandleBindSampler(uint32_t immediate_data_size, |
| 116 const void* cmd_data) { | 116 const void* cmd_data) { |
| 117 if (!unsafe_es3_apis_enabled()) | 117 if (!unsafe_es3_apis_enabled()) |
| 118 return error::kUnknownCommand; | 118 return error::kUnknownCommand; |
| 119 const gles2::cmds::BindSampler& c = | 119 const gles2::cmds::BindSampler& c = |
| 120 *static_cast<const gles2::cmds::BindSampler*>(cmd_data); | 120 *static_cast<const gles2::cmds::BindSampler*>(cmd_data); |
| 121 (void)c; | 121 (void)c; |
| 122 GLuint unit = static_cast<GLuint>(c.unit); | 122 GLuint unit = static_cast<GLuint>(c.unit); |
| 123 GLuint sampler = c.sampler; | 123 GLuint sampler = c.sampler; |
| 124 if (sampler == 0) { | 124 DoBindSampler(unit, sampler); |
| 125 glBindSampler(unit, sampler); | |
| 126 return error::kNoError; | |
| 127 } | |
| 128 if (!group_->GetSamplerServiceId(sampler, &sampler)) { | |
| 129 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glBindSampler", | |
| 130 "invalid sampler id"); | |
| 131 return error::kNoError; | |
| 132 } | |
| 133 glBindSampler(unit, sampler); | |
| 134 return error::kNoError; | 125 return error::kNoError; |
| 135 } | 126 } |
| 136 | 127 |
| 137 error::Error GLES2DecoderImpl::HandleBindTexture(uint32_t immediate_data_size, | 128 error::Error GLES2DecoderImpl::HandleBindTexture(uint32_t immediate_data_size, |
| 138 const void* cmd_data) { | 129 const void* cmd_data) { |
| 139 const gles2::cmds::BindTexture& c = | 130 const gles2::cmds::BindTexture& c = |
| 140 *static_cast<const gles2::cmds::BindTexture*>(cmd_data); | 131 *static_cast<const gles2::cmds::BindTexture*>(cmd_data); |
| 141 (void)c; | 132 (void)c; |
| 142 GLenum target = static_cast<GLenum>(c.target); | 133 GLenum target = static_cast<GLenum>(c.target); |
| 143 GLuint texture = c.texture; | 134 GLuint texture = c.texture; |
| (...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 853 GLsizei n = static_cast<GLsizei>(c.n); | 844 GLsizei n = static_cast<GLsizei>(c.n); |
| 854 uint32_t data_size; | 845 uint32_t data_size; |
| 855 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 846 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 856 return error::kOutOfBounds; | 847 return error::kOutOfBounds; |
| 857 } | 848 } |
| 858 const GLuint* samplers = | 849 const GLuint* samplers = |
| 859 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size); | 850 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size); |
| 860 if (samplers == NULL) { | 851 if (samplers == NULL) { |
| 861 return error::kOutOfBounds; | 852 return error::kOutOfBounds; |
| 862 } | 853 } |
| 863 for (GLsizei ii = 0; ii < n; ++ii) { | 854 DeleteSamplersHelper(n, samplers); |
| 864 GLuint service_id = 0; | |
| 865 if (group_->GetSamplerServiceId(samplers[ii], &service_id)) { | |
| 866 glDeleteSamplers(1, &service_id); | |
| 867 group_->RemoveSamplerId(samplers[ii]); | |
| 868 } | |
| 869 } | |
| 870 return error::kNoError; | 855 return error::kNoError; |
| 871 } | 856 } |
| 872 | 857 |
| 873 error::Error GLES2DecoderImpl::HandleDeleteSync(uint32_t immediate_data_size, | 858 error::Error GLES2DecoderImpl::HandleDeleteSync(uint32_t immediate_data_size, |
| 874 const void* cmd_data) { | 859 const void* cmd_data) { |
| 875 if (!unsafe_es3_apis_enabled()) | 860 if (!unsafe_es3_apis_enabled()) |
| 876 return error::kUnknownCommand; | 861 return error::kUnknownCommand; |
| 877 const gles2::cmds::DeleteSync& c = | 862 const gles2::cmds::DeleteSync& c = |
| 878 *static_cast<const gles2::cmds::DeleteSync*>(cmd_data); | 863 *static_cast<const gles2::cmds::DeleteSync*>(cmd_data); |
| 879 (void)c; | 864 (void)c; |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1267 GLsizei n = static_cast<GLsizei>(c.n); | 1252 GLsizei n = static_cast<GLsizei>(c.n); |
| 1268 uint32_t data_size; | 1253 uint32_t data_size; |
| 1269 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 1254 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 1270 return error::kOutOfBounds; | 1255 return error::kOutOfBounds; |
| 1271 } | 1256 } |
| 1272 GLuint* samplers = | 1257 GLuint* samplers = |
| 1273 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size); | 1258 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size); |
| 1274 if (samplers == NULL) { | 1259 if (samplers == NULL) { |
| 1275 return error::kOutOfBounds; | 1260 return error::kOutOfBounds; |
| 1276 } | 1261 } |
| 1277 for (GLsizei ii = 0; ii < n; ++ii) { | 1262 if (!GenSamplersHelper(n, samplers)) { |
| 1278 if (group_->GetSamplerServiceId(samplers[ii], NULL)) { | 1263 return error::kInvalidArguments; |
| 1279 return error::kInvalidArguments; | |
| 1280 } | |
| 1281 } | |
| 1282 scoped_ptr<GLuint[]> service_ids(new GLuint[n]); | |
| 1283 glGenSamplers(n, service_ids.get()); | |
| 1284 for (GLsizei ii = 0; ii < n; ++ii) { | |
| 1285 group_->AddSamplerId(samplers[ii], service_ids[ii]); | |
| 1286 } | 1264 } |
| 1287 return error::kNoError; | 1265 return error::kNoError; |
| 1288 } | 1266 } |
| 1289 | 1267 |
| 1290 error::Error GLES2DecoderImpl::HandleGenTexturesImmediate( | 1268 error::Error GLES2DecoderImpl::HandleGenTexturesImmediate( |
| 1291 uint32_t immediate_data_size, | 1269 uint32_t immediate_data_size, |
| 1292 const void* cmd_data) { | 1270 const void* cmd_data) { |
| 1293 const gles2::cmds::GenTexturesImmediate& c = | 1271 const gles2::cmds::GenTexturesImmediate& c = |
| 1294 *static_cast<const gles2::cmds::GenTexturesImmediate*>(cmd_data); | 1272 *static_cast<const gles2::cmds::GenTexturesImmediate*>(cmd_data); |
| 1295 (void)c; | 1273 (void)c; |
| (...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1741 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values)); | 1719 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values)); |
| 1742 GLfloat* params = result ? result->GetData() : NULL; | 1720 GLfloat* params = result ? result->GetData() : NULL; |
| 1743 if (params == NULL) { | 1721 if (params == NULL) { |
| 1744 return error::kOutOfBounds; | 1722 return error::kOutOfBounds; |
| 1745 } | 1723 } |
| 1746 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameterfv"); | 1724 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameterfv"); |
| 1747 // Check that the client initialized the result. | 1725 // Check that the client initialized the result. |
| 1748 if (result->size != 0) { | 1726 if (result->size != 0) { |
| 1749 return error::kInvalidArguments; | 1727 return error::kInvalidArguments; |
| 1750 } | 1728 } |
| 1751 if (!group_->GetSamplerServiceId(sampler, &sampler)) { | 1729 DoGetSamplerParameterfv(sampler, pname, params); |
| 1752 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glGetSamplerParameterfv", | |
| 1753 "invalid sampler id"); | |
| 1754 return error::kNoError; | |
| 1755 } | |
| 1756 glGetSamplerParameterfv(sampler, pname, params); | |
| 1757 GLenum error = LOCAL_PEEK_GL_ERROR("GetSamplerParameterfv"); | 1730 GLenum error = LOCAL_PEEK_GL_ERROR("GetSamplerParameterfv"); |
| 1758 if (error == GL_NO_ERROR) { | 1731 if (error == GL_NO_ERROR) { |
| 1759 result->SetNumResults(num_values); | 1732 result->SetNumResults(num_values); |
| 1760 } | 1733 } |
| 1761 return error::kNoError; | 1734 return error::kNoError; |
| 1762 } | 1735 } |
| 1763 | 1736 |
| 1764 error::Error GLES2DecoderImpl::HandleGetSamplerParameteriv( | 1737 error::Error GLES2DecoderImpl::HandleGetSamplerParameteriv( |
| 1765 uint32_t immediate_data_size, | 1738 uint32_t immediate_data_size, |
| 1766 const void* cmd_data) { | 1739 const void* cmd_data) { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1778 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values)); | 1751 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values)); |
| 1779 GLint* params = result ? result->GetData() : NULL; | 1752 GLint* params = result ? result->GetData() : NULL; |
| 1780 if (params == NULL) { | 1753 if (params == NULL) { |
| 1781 return error::kOutOfBounds; | 1754 return error::kOutOfBounds; |
| 1782 } | 1755 } |
| 1783 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameteriv"); | 1756 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameteriv"); |
| 1784 // Check that the client initialized the result. | 1757 // Check that the client initialized the result. |
| 1785 if (result->size != 0) { | 1758 if (result->size != 0) { |
| 1786 return error::kInvalidArguments; | 1759 return error::kInvalidArguments; |
| 1787 } | 1760 } |
| 1788 if (!group_->GetSamplerServiceId(sampler, &sampler)) { | 1761 DoGetSamplerParameteriv(sampler, pname, params); |
| 1789 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glGetSamplerParameteriv", | |
| 1790 "invalid sampler id"); | |
| 1791 return error::kNoError; | |
| 1792 } | |
| 1793 glGetSamplerParameteriv(sampler, pname, params); | |
| 1794 GLenum error = LOCAL_PEEK_GL_ERROR("GetSamplerParameteriv"); | 1762 GLenum error = LOCAL_PEEK_GL_ERROR("GetSamplerParameteriv"); |
| 1795 if (error == GL_NO_ERROR) { | 1763 if (error == GL_NO_ERROR) { |
| 1796 result->SetNumResults(num_values); | 1764 result->SetNumResults(num_values); |
| 1797 } | 1765 } |
| 1798 return error::kNoError; | 1766 return error::kNoError; |
| 1799 } | 1767 } |
| 1800 | 1768 |
| 1801 error::Error GLES2DecoderImpl::HandleGetShaderiv(uint32_t immediate_data_size, | 1769 error::Error GLES2DecoderImpl::HandleGetShaderiv(uint32_t immediate_data_size, |
| 1802 const void* cmd_data) { | 1770 const void* cmd_data) { |
| 1803 const gles2::cmds::GetShaderiv& c = | 1771 const gles2::cmds::GetShaderiv& c = |
| (...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2258 const gles2::cmds::IsSampler& c = | 2226 const gles2::cmds::IsSampler& c = |
| 2259 *static_cast<const gles2::cmds::IsSampler*>(cmd_data); | 2227 *static_cast<const gles2::cmds::IsSampler*>(cmd_data); |
| 2260 (void)c; | 2228 (void)c; |
| 2261 GLuint sampler = c.sampler; | 2229 GLuint sampler = c.sampler; |
| 2262 typedef cmds::IsSampler::Result Result; | 2230 typedef cmds::IsSampler::Result Result; |
| 2263 Result* result_dst = GetSharedMemoryAs<Result*>( | 2231 Result* result_dst = GetSharedMemoryAs<Result*>( |
| 2264 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); | 2232 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); |
| 2265 if (!result_dst) { | 2233 if (!result_dst) { |
| 2266 return error::kOutOfBounds; | 2234 return error::kOutOfBounds; |
| 2267 } | 2235 } |
| 2268 GLuint service_sampler = 0; | 2236 *result_dst = DoIsSampler(sampler); |
| 2269 *result_dst = group_->GetSamplerServiceId(sampler, &service_sampler); | |
| 2270 return error::kNoError; | 2237 return error::kNoError; |
| 2271 } | 2238 } |
| 2272 | 2239 |
| 2273 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size, | 2240 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size, |
| 2274 const void* cmd_data) { | 2241 const void* cmd_data) { |
| 2275 const gles2::cmds::IsShader& c = | 2242 const gles2::cmds::IsShader& c = |
| 2276 *static_cast<const gles2::cmds::IsShader*>(cmd_data); | 2243 *static_cast<const gles2::cmds::IsShader*>(cmd_data); |
| 2277 (void)c; | 2244 (void)c; |
| 2278 GLuint shader = c.shader; | 2245 GLuint shader = c.shader; |
| 2279 typedef cmds::IsShader::Result Result; | 2246 typedef cmds::IsShader::Result Result; |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2478 uint32_t immediate_data_size, | 2445 uint32_t immediate_data_size, |
| 2479 const void* cmd_data) { | 2446 const void* cmd_data) { |
| 2480 if (!unsafe_es3_apis_enabled()) | 2447 if (!unsafe_es3_apis_enabled()) |
| 2481 return error::kUnknownCommand; | 2448 return error::kUnknownCommand; |
| 2482 const gles2::cmds::SamplerParameterf& c = | 2449 const gles2::cmds::SamplerParameterf& c = |
| 2483 *static_cast<const gles2::cmds::SamplerParameterf*>(cmd_data); | 2450 *static_cast<const gles2::cmds::SamplerParameterf*>(cmd_data); |
| 2484 (void)c; | 2451 (void)c; |
| 2485 GLuint sampler = c.sampler; | 2452 GLuint sampler = c.sampler; |
| 2486 GLenum pname = static_cast<GLenum>(c.pname); | 2453 GLenum pname = static_cast<GLenum>(c.pname); |
| 2487 GLfloat param = static_cast<GLfloat>(c.param); | 2454 GLfloat param = static_cast<GLfloat>(c.param); |
| 2488 if (!group_->GetSamplerServiceId(sampler, &sampler)) { | 2455 DoSamplerParameterf(sampler, pname, param); |
| 2489 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glSamplerParameterf", | |
| 2490 "invalid sampler id"); | |
| 2491 return error::kNoError; | |
| 2492 } | |
| 2493 glSamplerParameterf(sampler, pname, param); | |
| 2494 return error::kNoError; | 2456 return error::kNoError; |
| 2495 } | 2457 } |
| 2496 | 2458 |
| 2497 error::Error GLES2DecoderImpl::HandleSamplerParameterfvImmediate( | 2459 error::Error GLES2DecoderImpl::HandleSamplerParameterfvImmediate( |
| 2498 uint32_t immediate_data_size, | 2460 uint32_t immediate_data_size, |
| 2499 const void* cmd_data) { | 2461 const void* cmd_data) { |
| 2500 if (!unsafe_es3_apis_enabled()) | 2462 if (!unsafe_es3_apis_enabled()) |
| 2501 return error::kUnknownCommand; | 2463 return error::kUnknownCommand; |
| 2502 const gles2::cmds::SamplerParameterfvImmediate& c = | 2464 const gles2::cmds::SamplerParameterfvImmediate& c = |
| 2503 *static_cast<const gles2::cmds::SamplerParameterfvImmediate*>(cmd_data); | 2465 *static_cast<const gles2::cmds::SamplerParameterfvImmediate*>(cmd_data); |
| 2504 (void)c; | 2466 (void)c; |
| 2505 GLuint sampler = c.sampler; | 2467 GLuint sampler = c.sampler; |
| 2506 GLenum pname = static_cast<GLenum>(c.pname); | 2468 GLenum pname = static_cast<GLenum>(c.pname); |
| 2507 uint32_t data_size; | 2469 uint32_t data_size; |
| 2508 if (!ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) { | 2470 if (!ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) { |
| 2509 return error::kOutOfBounds; | 2471 return error::kOutOfBounds; |
| 2510 } | 2472 } |
| 2511 if (data_size > immediate_data_size) { | 2473 if (data_size > immediate_data_size) { |
| 2512 return error::kOutOfBounds; | 2474 return error::kOutOfBounds; |
| 2513 } | 2475 } |
| 2514 const GLfloat* params = | 2476 const GLfloat* params = |
| 2515 GetImmediateDataAs<const GLfloat*>(c, data_size, immediate_data_size); | 2477 GetImmediateDataAs<const GLfloat*>(c, data_size, immediate_data_size); |
| 2516 if (params == NULL) { | 2478 if (params == NULL) { |
| 2517 return error::kOutOfBounds; | 2479 return error::kOutOfBounds; |
| 2518 } | 2480 } |
| 2519 group_->GetSamplerServiceId(sampler, &sampler); | |
| 2520 DoSamplerParameterfv(sampler, pname, params); | 2481 DoSamplerParameterfv(sampler, pname, params); |
| 2521 return error::kNoError; | 2482 return error::kNoError; |
| 2522 } | 2483 } |
| 2523 | 2484 |
| 2524 error::Error GLES2DecoderImpl::HandleSamplerParameteri( | 2485 error::Error GLES2DecoderImpl::HandleSamplerParameteri( |
| 2525 uint32_t immediate_data_size, | 2486 uint32_t immediate_data_size, |
| 2526 const void* cmd_data) { | 2487 const void* cmd_data) { |
| 2527 if (!unsafe_es3_apis_enabled()) | 2488 if (!unsafe_es3_apis_enabled()) |
| 2528 return error::kUnknownCommand; | 2489 return error::kUnknownCommand; |
| 2529 const gles2::cmds::SamplerParameteri& c = | 2490 const gles2::cmds::SamplerParameteri& c = |
| 2530 *static_cast<const gles2::cmds::SamplerParameteri*>(cmd_data); | 2491 *static_cast<const gles2::cmds::SamplerParameteri*>(cmd_data); |
| 2531 (void)c; | 2492 (void)c; |
| 2532 GLuint sampler = c.sampler; | 2493 GLuint sampler = c.sampler; |
| 2533 GLenum pname = static_cast<GLenum>(c.pname); | 2494 GLenum pname = static_cast<GLenum>(c.pname); |
| 2534 GLint param = static_cast<GLint>(c.param); | 2495 GLint param = static_cast<GLint>(c.param); |
| 2535 if (!group_->GetSamplerServiceId(sampler, &sampler)) { | 2496 DoSamplerParameteri(sampler, pname, param); |
| 2536 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glSamplerParameteri", | |
| 2537 "invalid sampler id"); | |
| 2538 return error::kNoError; | |
| 2539 } | |
| 2540 glSamplerParameteri(sampler, pname, param); | |
| 2541 return error::kNoError; | 2497 return error::kNoError; |
| 2542 } | 2498 } |
| 2543 | 2499 |
| 2544 error::Error GLES2DecoderImpl::HandleSamplerParameterivImmediate( | 2500 error::Error GLES2DecoderImpl::HandleSamplerParameterivImmediate( |
| 2545 uint32_t immediate_data_size, | 2501 uint32_t immediate_data_size, |
| 2546 const void* cmd_data) { | 2502 const void* cmd_data) { |
| 2547 if (!unsafe_es3_apis_enabled()) | 2503 if (!unsafe_es3_apis_enabled()) |
| 2548 return error::kUnknownCommand; | 2504 return error::kUnknownCommand; |
| 2549 const gles2::cmds::SamplerParameterivImmediate& c = | 2505 const gles2::cmds::SamplerParameterivImmediate& c = |
| 2550 *static_cast<const gles2::cmds::SamplerParameterivImmediate*>(cmd_data); | 2506 *static_cast<const gles2::cmds::SamplerParameterivImmediate*>(cmd_data); |
| (...skipping 2620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5171 state_.enable_flags.cached_sample_alpha_to_one_ext = enabled; | 5127 state_.enable_flags.cached_sample_alpha_to_one_ext = enabled; |
| 5172 return true; | 5128 return true; |
| 5173 } | 5129 } |
| 5174 return false; | 5130 return false; |
| 5175 default: | 5131 default: |
| 5176 NOTREACHED(); | 5132 NOTREACHED(); |
| 5177 return false; | 5133 return false; |
| 5178 } | 5134 } |
| 5179 } | 5135 } |
| 5180 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ | 5136 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ |
| OLD | NEW |