| 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 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 GLint drawbuffers = static_cast<GLint>(c.drawbuffers); | 308 GLint drawbuffers = static_cast<GLint>(c.drawbuffers); |
| 309 uint32_t data_size; | 309 uint32_t data_size; |
| 310 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 4, &data_size)) { | 310 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 4, &data_size)) { |
| 311 return error::kOutOfBounds; | 311 return error::kOutOfBounds; |
| 312 } | 312 } |
| 313 if (data_size > immediate_data_size) { | 313 if (data_size > immediate_data_size) { |
| 314 return error::kOutOfBounds; | 314 return error::kOutOfBounds; |
| 315 } | 315 } |
| 316 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 316 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 317 c, data_size, immediate_data_size); | 317 c, data_size, immediate_data_size); |
| 318 if (value == nullptr) { |
| 319 return error::kOutOfBounds; |
| 320 } |
| 318 error::Error error = DoClearBufferfv(buffer, drawbuffers, value); | 321 error::Error error = DoClearBufferfv(buffer, drawbuffers, value); |
| 319 if (error != error::kNoError) { | 322 if (error != error::kNoError) { |
| 320 return error; | 323 return error; |
| 321 } | 324 } |
| 322 return error::kNoError; | 325 return error::kNoError; |
| 323 } | 326 } |
| 324 | 327 |
| 325 error::Error GLES2DecoderPassthroughImpl::HandleClearBufferivImmediate( | 328 error::Error GLES2DecoderPassthroughImpl::HandleClearBufferivImmediate( |
| 326 uint32_t immediate_data_size, | 329 uint32_t immediate_data_size, |
| 327 const volatile void* cmd_data) { | 330 const volatile void* cmd_data) { |
| 328 const volatile gles2::cmds::ClearBufferivImmediate& c = | 331 const volatile gles2::cmds::ClearBufferivImmediate& c = |
| 329 *static_cast<const volatile gles2::cmds::ClearBufferivImmediate*>( | 332 *static_cast<const volatile gles2::cmds::ClearBufferivImmediate*>( |
| 330 cmd_data); | 333 cmd_data); |
| 331 GLenum buffer = static_cast<GLenum>(c.buffer); | 334 GLenum buffer = static_cast<GLenum>(c.buffer); |
| 332 GLint drawbuffers = static_cast<GLint>(c.drawbuffers); | 335 GLint drawbuffers = static_cast<GLint>(c.drawbuffers); |
| 333 uint32_t data_size; | 336 uint32_t data_size; |
| 334 if (!GLES2Util::ComputeDataSize(1, sizeof(GLint), 4, &data_size)) { | 337 if (!GLES2Util::ComputeDataSize(1, sizeof(GLint), 4, &data_size)) { |
| 335 return error::kOutOfBounds; | 338 return error::kOutOfBounds; |
| 336 } | 339 } |
| 337 if (data_size > immediate_data_size) { | 340 if (data_size > immediate_data_size) { |
| 338 return error::kOutOfBounds; | 341 return error::kOutOfBounds; |
| 339 } | 342 } |
| 340 volatile const GLint* value = GetImmediateDataAs<volatile const GLint*>( | 343 volatile const GLint* value = GetImmediateDataAs<volatile const GLint*>( |
| 341 c, data_size, immediate_data_size); | 344 c, data_size, immediate_data_size); |
| 345 if (value == nullptr) { |
| 346 return error::kOutOfBounds; |
| 347 } |
| 342 error::Error error = DoClearBufferiv(buffer, drawbuffers, value); | 348 error::Error error = DoClearBufferiv(buffer, drawbuffers, value); |
| 343 if (error != error::kNoError) { | 349 if (error != error::kNoError) { |
| 344 return error; | 350 return error; |
| 345 } | 351 } |
| 346 return error::kNoError; | 352 return error::kNoError; |
| 347 } | 353 } |
| 348 | 354 |
| 349 error::Error GLES2DecoderPassthroughImpl::HandleClearBufferuivImmediate( | 355 error::Error GLES2DecoderPassthroughImpl::HandleClearBufferuivImmediate( |
| 350 uint32_t immediate_data_size, | 356 uint32_t immediate_data_size, |
| 351 const volatile void* cmd_data) { | 357 const volatile void* cmd_data) { |
| 352 const volatile gles2::cmds::ClearBufferuivImmediate& c = | 358 const volatile gles2::cmds::ClearBufferuivImmediate& c = |
| 353 *static_cast<const volatile gles2::cmds::ClearBufferuivImmediate*>( | 359 *static_cast<const volatile gles2::cmds::ClearBufferuivImmediate*>( |
| 354 cmd_data); | 360 cmd_data); |
| 355 GLenum buffer = static_cast<GLenum>(c.buffer); | 361 GLenum buffer = static_cast<GLenum>(c.buffer); |
| 356 GLint drawbuffers = static_cast<GLint>(c.drawbuffers); | 362 GLint drawbuffers = static_cast<GLint>(c.drawbuffers); |
| 357 uint32_t data_size; | 363 uint32_t data_size; |
| 358 if (!GLES2Util::ComputeDataSize(1, sizeof(GLuint), 4, &data_size)) { | 364 if (!GLES2Util::ComputeDataSize(1, sizeof(GLuint), 4, &data_size)) { |
| 359 return error::kOutOfBounds; | 365 return error::kOutOfBounds; |
| 360 } | 366 } |
| 361 if (data_size > immediate_data_size) { | 367 if (data_size > immediate_data_size) { |
| 362 return error::kOutOfBounds; | 368 return error::kOutOfBounds; |
| 363 } | 369 } |
| 364 volatile const GLuint* value = GetImmediateDataAs<volatile const GLuint*>( | 370 volatile const GLuint* value = GetImmediateDataAs<volatile const GLuint*>( |
| 365 c, data_size, immediate_data_size); | 371 c, data_size, immediate_data_size); |
| 372 if (value == nullptr) { |
| 373 return error::kOutOfBounds; |
| 374 } |
| 366 error::Error error = DoClearBufferuiv(buffer, drawbuffers, value); | 375 error::Error error = DoClearBufferuiv(buffer, drawbuffers, value); |
| 367 if (error != error::kNoError) { | 376 if (error != error::kNoError) { |
| 368 return error; | 377 return error; |
| 369 } | 378 } |
| 370 return error::kNoError; | 379 return error::kNoError; |
| 371 } | 380 } |
| 372 | 381 |
| 373 error::Error GLES2DecoderPassthroughImpl::HandleClearColor( | 382 error::Error GLES2DecoderPassthroughImpl::HandleClearColor( |
| 374 uint32_t immediate_data_size, | 383 uint32_t immediate_data_size, |
| 375 const volatile void* cmd_data) { | 384 const volatile void* cmd_data) { |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 542 const volatile gles2::cmds::DeleteBuffersImmediate& c = | 551 const volatile gles2::cmds::DeleteBuffersImmediate& c = |
| 543 *static_cast<const volatile gles2::cmds::DeleteBuffersImmediate*>( | 552 *static_cast<const volatile gles2::cmds::DeleteBuffersImmediate*>( |
| 544 cmd_data); | 553 cmd_data); |
| 545 GLsizei n = static_cast<GLsizei>(c.n); | 554 GLsizei n = static_cast<GLsizei>(c.n); |
| 546 uint32_t data_size; | 555 uint32_t data_size; |
| 547 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 556 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 548 return error::kOutOfBounds; | 557 return error::kOutOfBounds; |
| 549 } | 558 } |
| 550 volatile const GLuint* buffers = GetImmediateDataAs<volatile const GLuint*>( | 559 volatile const GLuint* buffers = GetImmediateDataAs<volatile const GLuint*>( |
| 551 c, data_size, immediate_data_size); | 560 c, data_size, immediate_data_size); |
| 561 if (buffers == nullptr) { |
| 562 return error::kOutOfBounds; |
| 563 } |
| 552 error::Error error = DoDeleteBuffers(n, buffers); | 564 error::Error error = DoDeleteBuffers(n, buffers); |
| 553 if (error != error::kNoError) { | 565 if (error != error::kNoError) { |
| 554 return error; | 566 return error; |
| 555 } | 567 } |
| 556 return error::kNoError; | 568 return error::kNoError; |
| 557 } | 569 } |
| 558 | 570 |
| 559 error::Error GLES2DecoderPassthroughImpl::HandleDeleteFramebuffersImmediate( | 571 error::Error GLES2DecoderPassthroughImpl::HandleDeleteFramebuffersImmediate( |
| 560 uint32_t immediate_data_size, | 572 uint32_t immediate_data_size, |
| 561 const volatile void* cmd_data) { | 573 const volatile void* cmd_data) { |
| 562 const volatile gles2::cmds::DeleteFramebuffersImmediate& c = | 574 const volatile gles2::cmds::DeleteFramebuffersImmediate& c = |
| 563 *static_cast<const volatile gles2::cmds::DeleteFramebuffersImmediate*>( | 575 *static_cast<const volatile gles2::cmds::DeleteFramebuffersImmediate*>( |
| 564 cmd_data); | 576 cmd_data); |
| 565 GLsizei n = static_cast<GLsizei>(c.n); | 577 GLsizei n = static_cast<GLsizei>(c.n); |
| 566 uint32_t data_size; | 578 uint32_t data_size; |
| 567 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 579 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 568 return error::kOutOfBounds; | 580 return error::kOutOfBounds; |
| 569 } | 581 } |
| 570 volatile const GLuint* framebuffers = | 582 volatile const GLuint* framebuffers = |
| 571 GetImmediateDataAs<volatile const GLuint*>(c, data_size, | 583 GetImmediateDataAs<volatile const GLuint*>(c, data_size, |
| 572 immediate_data_size); | 584 immediate_data_size); |
| 585 if (framebuffers == nullptr) { |
| 586 return error::kOutOfBounds; |
| 587 } |
| 573 error::Error error = DoDeleteFramebuffers(n, framebuffers); | 588 error::Error error = DoDeleteFramebuffers(n, framebuffers); |
| 574 if (error != error::kNoError) { | 589 if (error != error::kNoError) { |
| 575 return error; | 590 return error; |
| 576 } | 591 } |
| 577 return error::kNoError; | 592 return error::kNoError; |
| 578 } | 593 } |
| 579 | 594 |
| 580 error::Error GLES2DecoderPassthroughImpl::HandleDeleteProgram( | 595 error::Error GLES2DecoderPassthroughImpl::HandleDeleteProgram( |
| 581 uint32_t immediate_data_size, | 596 uint32_t immediate_data_size, |
| 582 const volatile void* cmd_data) { | 597 const volatile void* cmd_data) { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 597 *static_cast<const volatile gles2::cmds::DeleteRenderbuffersImmediate*>( | 612 *static_cast<const volatile gles2::cmds::DeleteRenderbuffersImmediate*>( |
| 598 cmd_data); | 613 cmd_data); |
| 599 GLsizei n = static_cast<GLsizei>(c.n); | 614 GLsizei n = static_cast<GLsizei>(c.n); |
| 600 uint32_t data_size; | 615 uint32_t data_size; |
| 601 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 616 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 602 return error::kOutOfBounds; | 617 return error::kOutOfBounds; |
| 603 } | 618 } |
| 604 volatile const GLuint* renderbuffers = | 619 volatile const GLuint* renderbuffers = |
| 605 GetImmediateDataAs<volatile const GLuint*>(c, data_size, | 620 GetImmediateDataAs<volatile const GLuint*>(c, data_size, |
| 606 immediate_data_size); | 621 immediate_data_size); |
| 622 if (renderbuffers == nullptr) { |
| 623 return error::kOutOfBounds; |
| 624 } |
| 607 error::Error error = DoDeleteRenderbuffers(n, renderbuffers); | 625 error::Error error = DoDeleteRenderbuffers(n, renderbuffers); |
| 608 if (error != error::kNoError) { | 626 if (error != error::kNoError) { |
| 609 return error; | 627 return error; |
| 610 } | 628 } |
| 611 return error::kNoError; | 629 return error::kNoError; |
| 612 } | 630 } |
| 613 | 631 |
| 614 error::Error GLES2DecoderPassthroughImpl::HandleDeleteSamplersImmediate( | 632 error::Error GLES2DecoderPassthroughImpl::HandleDeleteSamplersImmediate( |
| 615 uint32_t immediate_data_size, | 633 uint32_t immediate_data_size, |
| 616 const volatile void* cmd_data) { | 634 const volatile void* cmd_data) { |
| 617 const volatile gles2::cmds::DeleteSamplersImmediate& c = | 635 const volatile gles2::cmds::DeleteSamplersImmediate& c = |
| 618 *static_cast<const volatile gles2::cmds::DeleteSamplersImmediate*>( | 636 *static_cast<const volatile gles2::cmds::DeleteSamplersImmediate*>( |
| 619 cmd_data); | 637 cmd_data); |
| 620 GLsizei n = static_cast<GLsizei>(c.n); | 638 GLsizei n = static_cast<GLsizei>(c.n); |
| 621 uint32_t data_size; | 639 uint32_t data_size; |
| 622 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 640 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 623 return error::kOutOfBounds; | 641 return error::kOutOfBounds; |
| 624 } | 642 } |
| 625 volatile const GLuint* samplers = GetImmediateDataAs<volatile const GLuint*>( | 643 volatile const GLuint* samplers = GetImmediateDataAs<volatile const GLuint*>( |
| 626 c, data_size, immediate_data_size); | 644 c, data_size, immediate_data_size); |
| 645 if (samplers == nullptr) { |
| 646 return error::kOutOfBounds; |
| 647 } |
| 627 error::Error error = DoDeleteSamplers(n, samplers); | 648 error::Error error = DoDeleteSamplers(n, samplers); |
| 628 if (error != error::kNoError) { | 649 if (error != error::kNoError) { |
| 629 return error; | 650 return error; |
| 630 } | 651 } |
| 631 return error::kNoError; | 652 return error::kNoError; |
| 632 } | 653 } |
| 633 | 654 |
| 634 error::Error GLES2DecoderPassthroughImpl::HandleDeleteSync( | 655 error::Error GLES2DecoderPassthroughImpl::HandleDeleteSync( |
| 635 uint32_t immediate_data_size, | 656 uint32_t immediate_data_size, |
| 636 const volatile void* cmd_data) { | 657 const volatile void* cmd_data) { |
| (...skipping 26 matching lines...) Expand all Loading... |
| 663 const volatile gles2::cmds::DeleteTexturesImmediate& c = | 684 const volatile gles2::cmds::DeleteTexturesImmediate& c = |
| 664 *static_cast<const volatile gles2::cmds::DeleteTexturesImmediate*>( | 685 *static_cast<const volatile gles2::cmds::DeleteTexturesImmediate*>( |
| 665 cmd_data); | 686 cmd_data); |
| 666 GLsizei n = static_cast<GLsizei>(c.n); | 687 GLsizei n = static_cast<GLsizei>(c.n); |
| 667 uint32_t data_size; | 688 uint32_t data_size; |
| 668 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 689 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 669 return error::kOutOfBounds; | 690 return error::kOutOfBounds; |
| 670 } | 691 } |
| 671 volatile const GLuint* textures = GetImmediateDataAs<volatile const GLuint*>( | 692 volatile const GLuint* textures = GetImmediateDataAs<volatile const GLuint*>( |
| 672 c, data_size, immediate_data_size); | 693 c, data_size, immediate_data_size); |
| 694 if (textures == nullptr) { |
| 695 return error::kOutOfBounds; |
| 696 } |
| 673 error::Error error = DoDeleteTextures(n, textures); | 697 error::Error error = DoDeleteTextures(n, textures); |
| 674 if (error != error::kNoError) { | 698 if (error != error::kNoError) { |
| 675 return error; | 699 return error; |
| 676 } | 700 } |
| 677 return error::kNoError; | 701 return error::kNoError; |
| 678 } | 702 } |
| 679 | 703 |
| 680 error::Error | 704 error::Error |
| 681 GLES2DecoderPassthroughImpl::HandleDeleteTransformFeedbacksImmediate( | 705 GLES2DecoderPassthroughImpl::HandleDeleteTransformFeedbacksImmediate( |
| 682 uint32_t immediate_data_size, | 706 uint32_t immediate_data_size, |
| 683 const volatile void* cmd_data) { | 707 const volatile void* cmd_data) { |
| 684 const volatile gles2::cmds::DeleteTransformFeedbacksImmediate& c = | 708 const volatile gles2::cmds::DeleteTransformFeedbacksImmediate& c = |
| 685 *static_cast< | 709 *static_cast< |
| 686 const volatile gles2::cmds::DeleteTransformFeedbacksImmediate*>( | 710 const volatile gles2::cmds::DeleteTransformFeedbacksImmediate*>( |
| 687 cmd_data); | 711 cmd_data); |
| 688 GLsizei n = static_cast<GLsizei>(c.n); | 712 GLsizei n = static_cast<GLsizei>(c.n); |
| 689 uint32_t data_size; | 713 uint32_t data_size; |
| 690 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 714 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 691 return error::kOutOfBounds; | 715 return error::kOutOfBounds; |
| 692 } | 716 } |
| 693 volatile const GLuint* ids = GetImmediateDataAs<volatile const GLuint*>( | 717 volatile const GLuint* ids = GetImmediateDataAs<volatile const GLuint*>( |
| 694 c, data_size, immediate_data_size); | 718 c, data_size, immediate_data_size); |
| 719 if (ids == nullptr) { |
| 720 return error::kOutOfBounds; |
| 721 } |
| 695 error::Error error = DoDeleteTransformFeedbacks(n, ids); | 722 error::Error error = DoDeleteTransformFeedbacks(n, ids); |
| 696 if (error != error::kNoError) { | 723 if (error != error::kNoError) { |
| 697 return error; | 724 return error; |
| 698 } | 725 } |
| 699 return error::kNoError; | 726 return error::kNoError; |
| 700 } | 727 } |
| 701 | 728 |
| 702 error::Error GLES2DecoderPassthroughImpl::HandleDepthFunc( | 729 error::Error GLES2DecoderPassthroughImpl::HandleDepthFunc( |
| 703 uint32_t immediate_data_size, | 730 uint32_t immediate_data_size, |
| 704 const volatile void* cmd_data) { | 731 const volatile void* cmd_data) { |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 900 const volatile void* cmd_data) { | 927 const volatile void* cmd_data) { |
| 901 const volatile gles2::cmds::GenBuffersImmediate& c = | 928 const volatile gles2::cmds::GenBuffersImmediate& c = |
| 902 *static_cast<const volatile gles2::cmds::GenBuffersImmediate*>(cmd_data); | 929 *static_cast<const volatile gles2::cmds::GenBuffersImmediate*>(cmd_data); |
| 903 GLsizei n = static_cast<GLsizei>(c.n); | 930 GLsizei n = static_cast<GLsizei>(c.n); |
| 904 uint32_t data_size; | 931 uint32_t data_size; |
| 905 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 932 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 906 return error::kOutOfBounds; | 933 return error::kOutOfBounds; |
| 907 } | 934 } |
| 908 volatile GLuint* buffers = | 935 volatile GLuint* buffers = |
| 909 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); | 936 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); |
| 937 if (buffers == nullptr) { |
| 938 return error::kOutOfBounds; |
| 939 } |
| 910 error::Error error = DoGenBuffers(n, buffers); | 940 error::Error error = DoGenBuffers(n, buffers); |
| 911 if (error != error::kNoError) { | 941 if (error != error::kNoError) { |
| 912 return error; | 942 return error; |
| 913 } | 943 } |
| 914 return error::kNoError; | 944 return error::kNoError; |
| 915 } | 945 } |
| 916 | 946 |
| 917 error::Error GLES2DecoderPassthroughImpl::HandleGenerateMipmap( | 947 error::Error GLES2DecoderPassthroughImpl::HandleGenerateMipmap( |
| 918 uint32_t immediate_data_size, | 948 uint32_t immediate_data_size, |
| 919 const volatile void* cmd_data) { | 949 const volatile void* cmd_data) { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 933 const volatile gles2::cmds::GenFramebuffersImmediate& c = | 963 const volatile gles2::cmds::GenFramebuffersImmediate& c = |
| 934 *static_cast<const volatile gles2::cmds::GenFramebuffersImmediate*>( | 964 *static_cast<const volatile gles2::cmds::GenFramebuffersImmediate*>( |
| 935 cmd_data); | 965 cmd_data); |
| 936 GLsizei n = static_cast<GLsizei>(c.n); | 966 GLsizei n = static_cast<GLsizei>(c.n); |
| 937 uint32_t data_size; | 967 uint32_t data_size; |
| 938 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 968 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 939 return error::kOutOfBounds; | 969 return error::kOutOfBounds; |
| 940 } | 970 } |
| 941 volatile GLuint* framebuffers = | 971 volatile GLuint* framebuffers = |
| 942 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); | 972 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); |
| 973 if (framebuffers == nullptr) { |
| 974 return error::kOutOfBounds; |
| 975 } |
| 943 error::Error error = DoGenFramebuffers(n, framebuffers); | 976 error::Error error = DoGenFramebuffers(n, framebuffers); |
| 944 if (error != error::kNoError) { | 977 if (error != error::kNoError) { |
| 945 return error; | 978 return error; |
| 946 } | 979 } |
| 947 return error::kNoError; | 980 return error::kNoError; |
| 948 } | 981 } |
| 949 | 982 |
| 950 error::Error GLES2DecoderPassthroughImpl::HandleGenRenderbuffersImmediate( | 983 error::Error GLES2DecoderPassthroughImpl::HandleGenRenderbuffersImmediate( |
| 951 uint32_t immediate_data_size, | 984 uint32_t immediate_data_size, |
| 952 const volatile void* cmd_data) { | 985 const volatile void* cmd_data) { |
| 953 const volatile gles2::cmds::GenRenderbuffersImmediate& c = | 986 const volatile gles2::cmds::GenRenderbuffersImmediate& c = |
| 954 *static_cast<const volatile gles2::cmds::GenRenderbuffersImmediate*>( | 987 *static_cast<const volatile gles2::cmds::GenRenderbuffersImmediate*>( |
| 955 cmd_data); | 988 cmd_data); |
| 956 GLsizei n = static_cast<GLsizei>(c.n); | 989 GLsizei n = static_cast<GLsizei>(c.n); |
| 957 uint32_t data_size; | 990 uint32_t data_size; |
| 958 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 991 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 959 return error::kOutOfBounds; | 992 return error::kOutOfBounds; |
| 960 } | 993 } |
| 961 volatile GLuint* renderbuffers = | 994 volatile GLuint* renderbuffers = |
| 962 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); | 995 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); |
| 996 if (renderbuffers == nullptr) { |
| 997 return error::kOutOfBounds; |
| 998 } |
| 963 error::Error error = DoGenRenderbuffers(n, renderbuffers); | 999 error::Error error = DoGenRenderbuffers(n, renderbuffers); |
| 964 if (error != error::kNoError) { | 1000 if (error != error::kNoError) { |
| 965 return error; | 1001 return error; |
| 966 } | 1002 } |
| 967 return error::kNoError; | 1003 return error::kNoError; |
| 968 } | 1004 } |
| 969 | 1005 |
| 970 error::Error GLES2DecoderPassthroughImpl::HandleGenSamplersImmediate( | 1006 error::Error GLES2DecoderPassthroughImpl::HandleGenSamplersImmediate( |
| 971 uint32_t immediate_data_size, | 1007 uint32_t immediate_data_size, |
| 972 const volatile void* cmd_data) { | 1008 const volatile void* cmd_data) { |
| 973 const volatile gles2::cmds::GenSamplersImmediate& c = | 1009 const volatile gles2::cmds::GenSamplersImmediate& c = |
| 974 *static_cast<const volatile gles2::cmds::GenSamplersImmediate*>(cmd_data); | 1010 *static_cast<const volatile gles2::cmds::GenSamplersImmediate*>(cmd_data); |
| 975 GLsizei n = static_cast<GLsizei>(c.n); | 1011 GLsizei n = static_cast<GLsizei>(c.n); |
| 976 uint32_t data_size; | 1012 uint32_t data_size; |
| 977 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 1013 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 978 return error::kOutOfBounds; | 1014 return error::kOutOfBounds; |
| 979 } | 1015 } |
| 980 volatile GLuint* samplers = | 1016 volatile GLuint* samplers = |
| 981 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); | 1017 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); |
| 1018 if (samplers == nullptr) { |
| 1019 return error::kOutOfBounds; |
| 1020 } |
| 982 error::Error error = DoGenSamplers(n, samplers); | 1021 error::Error error = DoGenSamplers(n, samplers); |
| 983 if (error != error::kNoError) { | 1022 if (error != error::kNoError) { |
| 984 return error; | 1023 return error; |
| 985 } | 1024 } |
| 986 return error::kNoError; | 1025 return error::kNoError; |
| 987 } | 1026 } |
| 988 | 1027 |
| 989 error::Error GLES2DecoderPassthroughImpl::HandleGenTexturesImmediate( | 1028 error::Error GLES2DecoderPassthroughImpl::HandleGenTexturesImmediate( |
| 990 uint32_t immediate_data_size, | 1029 uint32_t immediate_data_size, |
| 991 const volatile void* cmd_data) { | 1030 const volatile void* cmd_data) { |
| 992 const volatile gles2::cmds::GenTexturesImmediate& c = | 1031 const volatile gles2::cmds::GenTexturesImmediate& c = |
| 993 *static_cast<const volatile gles2::cmds::GenTexturesImmediate*>(cmd_data); | 1032 *static_cast<const volatile gles2::cmds::GenTexturesImmediate*>(cmd_data); |
| 994 GLsizei n = static_cast<GLsizei>(c.n); | 1033 GLsizei n = static_cast<GLsizei>(c.n); |
| 995 uint32_t data_size; | 1034 uint32_t data_size; |
| 996 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 1035 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 997 return error::kOutOfBounds; | 1036 return error::kOutOfBounds; |
| 998 } | 1037 } |
| 999 volatile GLuint* textures = | 1038 volatile GLuint* textures = |
| 1000 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); | 1039 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); |
| 1040 if (textures == nullptr) { |
| 1041 return error::kOutOfBounds; |
| 1042 } |
| 1001 error::Error error = DoGenTextures(n, textures); | 1043 error::Error error = DoGenTextures(n, textures); |
| 1002 if (error != error::kNoError) { | 1044 if (error != error::kNoError) { |
| 1003 return error; | 1045 return error; |
| 1004 } | 1046 } |
| 1005 return error::kNoError; | 1047 return error::kNoError; |
| 1006 } | 1048 } |
| 1007 | 1049 |
| 1008 error::Error GLES2DecoderPassthroughImpl::HandleGenTransformFeedbacksImmediate( | 1050 error::Error GLES2DecoderPassthroughImpl::HandleGenTransformFeedbacksImmediate( |
| 1009 uint32_t immediate_data_size, | 1051 uint32_t immediate_data_size, |
| 1010 const volatile void* cmd_data) { | 1052 const volatile void* cmd_data) { |
| 1011 const volatile gles2::cmds::GenTransformFeedbacksImmediate& c = | 1053 const volatile gles2::cmds::GenTransformFeedbacksImmediate& c = |
| 1012 *static_cast<const volatile gles2::cmds::GenTransformFeedbacksImmediate*>( | 1054 *static_cast<const volatile gles2::cmds::GenTransformFeedbacksImmediate*>( |
| 1013 cmd_data); | 1055 cmd_data); |
| 1014 GLsizei n = static_cast<GLsizei>(c.n); | 1056 GLsizei n = static_cast<GLsizei>(c.n); |
| 1015 uint32_t data_size; | 1057 uint32_t data_size; |
| 1016 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 1058 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 1017 return error::kOutOfBounds; | 1059 return error::kOutOfBounds; |
| 1018 } | 1060 } |
| 1019 volatile GLuint* ids = | 1061 volatile GLuint* ids = |
| 1020 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); | 1062 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); |
| 1063 if (ids == nullptr) { |
| 1064 return error::kOutOfBounds; |
| 1065 } |
| 1021 error::Error error = DoGenTransformFeedbacks(n, ids); | 1066 error::Error error = DoGenTransformFeedbacks(n, ids); |
| 1022 if (error != error::kNoError) { | 1067 if (error != error::kNoError) { |
| 1023 return error; | 1068 return error; |
| 1024 } | 1069 } |
| 1025 return error::kNoError; | 1070 return error::kNoError; |
| 1026 } | 1071 } |
| 1027 | 1072 |
| 1028 error::Error GLES2DecoderPassthroughImpl::HandleGetBooleanv( | 1073 error::Error GLES2DecoderPassthroughImpl::HandleGetBooleanv( |
| 1029 uint32_t immediate_data_size, | 1074 uint32_t immediate_data_size, |
| 1030 const volatile void* cmd_data) { | 1075 const volatile void* cmd_data) { |
| (...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1694 if (count >= 0 && | 1739 if (count >= 0 && |
| 1695 !GLES2Util::ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) { | 1740 !GLES2Util::ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) { |
| 1696 return error::kOutOfBounds; | 1741 return error::kOutOfBounds; |
| 1697 } | 1742 } |
| 1698 if (data_size > immediate_data_size) { | 1743 if (data_size > immediate_data_size) { |
| 1699 return error::kOutOfBounds; | 1744 return error::kOutOfBounds; |
| 1700 } | 1745 } |
| 1701 volatile const GLenum* attachments = | 1746 volatile const GLenum* attachments = |
| 1702 GetImmediateDataAs<volatile const GLenum*>(c, data_size, | 1747 GetImmediateDataAs<volatile const GLenum*>(c, data_size, |
| 1703 immediate_data_size); | 1748 immediate_data_size); |
| 1749 if (attachments == nullptr) { |
| 1750 return error::kOutOfBounds; |
| 1751 } |
| 1704 error::Error error = DoInvalidateFramebuffer(target, count, attachments); | 1752 error::Error error = DoInvalidateFramebuffer(target, count, attachments); |
| 1705 if (error != error::kNoError) { | 1753 if (error != error::kNoError) { |
| 1706 return error; | 1754 return error; |
| 1707 } | 1755 } |
| 1708 return error::kNoError; | 1756 return error::kNoError; |
| 1709 } | 1757 } |
| 1710 | 1758 |
| 1711 error::Error | 1759 error::Error |
| 1712 GLES2DecoderPassthroughImpl::HandleInvalidateSubFramebufferImmediate( | 1760 GLES2DecoderPassthroughImpl::HandleInvalidateSubFramebufferImmediate( |
| 1713 uint32_t immediate_data_size, | 1761 uint32_t immediate_data_size, |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1726 if (data_size > immediate_data_size) { | 1774 if (data_size > immediate_data_size) { |
| 1727 return error::kOutOfBounds; | 1775 return error::kOutOfBounds; |
| 1728 } | 1776 } |
| 1729 volatile const GLenum* attachments = | 1777 volatile const GLenum* attachments = |
| 1730 GetImmediateDataAs<volatile const GLenum*>(c, data_size, | 1778 GetImmediateDataAs<volatile const GLenum*>(c, data_size, |
| 1731 immediate_data_size); | 1779 immediate_data_size); |
| 1732 GLint x = static_cast<GLint>(c.x); | 1780 GLint x = static_cast<GLint>(c.x); |
| 1733 GLint y = static_cast<GLint>(c.y); | 1781 GLint y = static_cast<GLint>(c.y); |
| 1734 GLsizei width = static_cast<GLsizei>(c.width); | 1782 GLsizei width = static_cast<GLsizei>(c.width); |
| 1735 GLsizei height = static_cast<GLsizei>(c.height); | 1783 GLsizei height = static_cast<GLsizei>(c.height); |
| 1784 if (attachments == nullptr) { |
| 1785 return error::kOutOfBounds; |
| 1786 } |
| 1736 error::Error error = DoInvalidateSubFramebuffer(target, count, attachments, x, | 1787 error::Error error = DoInvalidateSubFramebuffer(target, count, attachments, x, |
| 1737 y, width, height); | 1788 y, width, height); |
| 1738 if (error != error::kNoError) { | 1789 if (error != error::kNoError) { |
| 1739 return error; | 1790 return error; |
| 1740 } | 1791 } |
| 1741 return error::kNoError; | 1792 return error::kNoError; |
| 1742 } | 1793 } |
| 1743 | 1794 |
| 1744 error::Error GLES2DecoderPassthroughImpl::HandleIsBuffer( | 1795 error::Error GLES2DecoderPassthroughImpl::HandleIsBuffer( |
| 1745 uint32_t immediate_data_size, | 1796 uint32_t immediate_data_size, |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2070 GLenum pname = static_cast<GLenum>(c.pname); | 2121 GLenum pname = static_cast<GLenum>(c.pname); |
| 2071 uint32_t data_size; | 2122 uint32_t data_size; |
| 2072 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) { | 2123 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) { |
| 2073 return error::kOutOfBounds; | 2124 return error::kOutOfBounds; |
| 2074 } | 2125 } |
| 2075 if (data_size > immediate_data_size) { | 2126 if (data_size > immediate_data_size) { |
| 2076 return error::kOutOfBounds; | 2127 return error::kOutOfBounds; |
| 2077 } | 2128 } |
| 2078 volatile const GLfloat* params = GetImmediateDataAs<volatile const GLfloat*>( | 2129 volatile const GLfloat* params = GetImmediateDataAs<volatile const GLfloat*>( |
| 2079 c, data_size, immediate_data_size); | 2130 c, data_size, immediate_data_size); |
| 2131 if (params == nullptr) { |
| 2132 return error::kOutOfBounds; |
| 2133 } |
| 2080 error::Error error = DoSamplerParameterfv(sampler, pname, params); | 2134 error::Error error = DoSamplerParameterfv(sampler, pname, params); |
| 2081 if (error != error::kNoError) { | 2135 if (error != error::kNoError) { |
| 2082 return error; | 2136 return error; |
| 2083 } | 2137 } |
| 2084 return error::kNoError; | 2138 return error::kNoError; |
| 2085 } | 2139 } |
| 2086 | 2140 |
| 2087 error::Error GLES2DecoderPassthroughImpl::HandleSamplerParameteri( | 2141 error::Error GLES2DecoderPassthroughImpl::HandleSamplerParameteri( |
| 2088 uint32_t immediate_data_size, | 2142 uint32_t immediate_data_size, |
| 2089 const volatile void* cmd_data) { | 2143 const volatile void* cmd_data) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2109 GLenum pname = static_cast<GLenum>(c.pname); | 2163 GLenum pname = static_cast<GLenum>(c.pname); |
| 2110 uint32_t data_size; | 2164 uint32_t data_size; |
| 2111 if (!GLES2Util::ComputeDataSize(1, sizeof(GLint), 1, &data_size)) { | 2165 if (!GLES2Util::ComputeDataSize(1, sizeof(GLint), 1, &data_size)) { |
| 2112 return error::kOutOfBounds; | 2166 return error::kOutOfBounds; |
| 2113 } | 2167 } |
| 2114 if (data_size > immediate_data_size) { | 2168 if (data_size > immediate_data_size) { |
| 2115 return error::kOutOfBounds; | 2169 return error::kOutOfBounds; |
| 2116 } | 2170 } |
| 2117 volatile const GLint* params = GetImmediateDataAs<volatile const GLint*>( | 2171 volatile const GLint* params = GetImmediateDataAs<volatile const GLint*>( |
| 2118 c, data_size, immediate_data_size); | 2172 c, data_size, immediate_data_size); |
| 2173 if (params == nullptr) { |
| 2174 return error::kOutOfBounds; |
| 2175 } |
| 2119 error::Error error = DoSamplerParameteriv(sampler, pname, params); | 2176 error::Error error = DoSamplerParameteriv(sampler, pname, params); |
| 2120 if (error != error::kNoError) { | 2177 if (error != error::kNoError) { |
| 2121 return error; | 2178 return error; |
| 2122 } | 2179 } |
| 2123 return error::kNoError; | 2180 return error::kNoError; |
| 2124 } | 2181 } |
| 2125 | 2182 |
| 2126 error::Error GLES2DecoderPassthroughImpl::HandleScissor( | 2183 error::Error GLES2DecoderPassthroughImpl::HandleScissor( |
| 2127 uint32_t immediate_data_size, | 2184 uint32_t immediate_data_size, |
| 2128 const volatile void* cmd_data) { | 2185 const volatile void* cmd_data) { |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2282 GLenum pname = static_cast<GLenum>(c.pname); | 2339 GLenum pname = static_cast<GLenum>(c.pname); |
| 2283 uint32_t data_size; | 2340 uint32_t data_size; |
| 2284 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) { | 2341 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) { |
| 2285 return error::kOutOfBounds; | 2342 return error::kOutOfBounds; |
| 2286 } | 2343 } |
| 2287 if (data_size > immediate_data_size) { | 2344 if (data_size > immediate_data_size) { |
| 2288 return error::kOutOfBounds; | 2345 return error::kOutOfBounds; |
| 2289 } | 2346 } |
| 2290 volatile const GLfloat* params = GetImmediateDataAs<volatile const GLfloat*>( | 2347 volatile const GLfloat* params = GetImmediateDataAs<volatile const GLfloat*>( |
| 2291 c, data_size, immediate_data_size); | 2348 c, data_size, immediate_data_size); |
| 2349 if (params == nullptr) { |
| 2350 return error::kOutOfBounds; |
| 2351 } |
| 2292 error::Error error = DoTexParameterfv(target, pname, params); | 2352 error::Error error = DoTexParameterfv(target, pname, params); |
| 2293 if (error != error::kNoError) { | 2353 if (error != error::kNoError) { |
| 2294 return error; | 2354 return error; |
| 2295 } | 2355 } |
| 2296 return error::kNoError; | 2356 return error::kNoError; |
| 2297 } | 2357 } |
| 2298 | 2358 |
| 2299 error::Error GLES2DecoderPassthroughImpl::HandleTexParameteri( | 2359 error::Error GLES2DecoderPassthroughImpl::HandleTexParameteri( |
| 2300 uint32_t immediate_data_size, | 2360 uint32_t immediate_data_size, |
| 2301 const volatile void* cmd_data) { | 2361 const volatile void* cmd_data) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2321 GLenum pname = static_cast<GLenum>(c.pname); | 2381 GLenum pname = static_cast<GLenum>(c.pname); |
| 2322 uint32_t data_size; | 2382 uint32_t data_size; |
| 2323 if (!GLES2Util::ComputeDataSize(1, sizeof(GLint), 1, &data_size)) { | 2383 if (!GLES2Util::ComputeDataSize(1, sizeof(GLint), 1, &data_size)) { |
| 2324 return error::kOutOfBounds; | 2384 return error::kOutOfBounds; |
| 2325 } | 2385 } |
| 2326 if (data_size > immediate_data_size) { | 2386 if (data_size > immediate_data_size) { |
| 2327 return error::kOutOfBounds; | 2387 return error::kOutOfBounds; |
| 2328 } | 2388 } |
| 2329 volatile const GLint* params = GetImmediateDataAs<volatile const GLint*>( | 2389 volatile const GLint* params = GetImmediateDataAs<volatile const GLint*>( |
| 2330 c, data_size, immediate_data_size); | 2390 c, data_size, immediate_data_size); |
| 2391 if (params == nullptr) { |
| 2392 return error::kOutOfBounds; |
| 2393 } |
| 2331 error::Error error = DoTexParameteriv(target, pname, params); | 2394 error::Error error = DoTexParameteriv(target, pname, params); |
| 2332 if (error != error::kNoError) { | 2395 if (error != error::kNoError) { |
| 2333 return error; | 2396 return error; |
| 2334 } | 2397 } |
| 2335 return error::kNoError; | 2398 return error::kNoError; |
| 2336 } | 2399 } |
| 2337 | 2400 |
| 2338 error::Error GLES2DecoderPassthroughImpl::HandleTexStorage3D( | 2401 error::Error GLES2DecoderPassthroughImpl::HandleTexStorage3D( |
| 2339 uint32_t immediate_data_size, | 2402 uint32_t immediate_data_size, |
| 2340 const volatile void* cmd_data) { | 2403 const volatile void* cmd_data) { |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2409 uint32_t data_size = 0; | 2472 uint32_t data_size = 0; |
| 2410 if (count >= 0 && | 2473 if (count >= 0 && |
| 2411 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 1, &data_size)) { | 2474 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 1, &data_size)) { |
| 2412 return error::kOutOfBounds; | 2475 return error::kOutOfBounds; |
| 2413 } | 2476 } |
| 2414 if (data_size > immediate_data_size) { | 2477 if (data_size > immediate_data_size) { |
| 2415 return error::kOutOfBounds; | 2478 return error::kOutOfBounds; |
| 2416 } | 2479 } |
| 2417 volatile const GLfloat* v = GetImmediateDataAs<volatile const GLfloat*>( | 2480 volatile const GLfloat* v = GetImmediateDataAs<volatile const GLfloat*>( |
| 2418 c, data_size, immediate_data_size); | 2481 c, data_size, immediate_data_size); |
| 2482 if (v == nullptr) { |
| 2483 return error::kOutOfBounds; |
| 2484 } |
| 2419 error::Error error = DoUniform1fv(location, count, v); | 2485 error::Error error = DoUniform1fv(location, count, v); |
| 2420 if (error != error::kNoError) { | 2486 if (error != error::kNoError) { |
| 2421 return error; | 2487 return error; |
| 2422 } | 2488 } |
| 2423 return error::kNoError; | 2489 return error::kNoError; |
| 2424 } | 2490 } |
| 2425 | 2491 |
| 2426 error::Error GLES2DecoderPassthroughImpl::HandleUniform1i( | 2492 error::Error GLES2DecoderPassthroughImpl::HandleUniform1i( |
| 2427 uint32_t immediate_data_size, | 2493 uint32_t immediate_data_size, |
| 2428 const volatile void* cmd_data) { | 2494 const volatile void* cmd_data) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 2447 uint32_t data_size = 0; | 2513 uint32_t data_size = 0; |
| 2448 if (count >= 0 && | 2514 if (count >= 0 && |
| 2449 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 1, &data_size)) { | 2515 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 1, &data_size)) { |
| 2450 return error::kOutOfBounds; | 2516 return error::kOutOfBounds; |
| 2451 } | 2517 } |
| 2452 if (data_size > immediate_data_size) { | 2518 if (data_size > immediate_data_size) { |
| 2453 return error::kOutOfBounds; | 2519 return error::kOutOfBounds; |
| 2454 } | 2520 } |
| 2455 volatile const GLint* v = GetImmediateDataAs<volatile const GLint*>( | 2521 volatile const GLint* v = GetImmediateDataAs<volatile const GLint*>( |
| 2456 c, data_size, immediate_data_size); | 2522 c, data_size, immediate_data_size); |
| 2523 if (v == nullptr) { |
| 2524 return error::kOutOfBounds; |
| 2525 } |
| 2457 error::Error error = DoUniform1iv(location, count, v); | 2526 error::Error error = DoUniform1iv(location, count, v); |
| 2458 if (error != error::kNoError) { | 2527 if (error != error::kNoError) { |
| 2459 return error; | 2528 return error; |
| 2460 } | 2529 } |
| 2461 return error::kNoError; | 2530 return error::kNoError; |
| 2462 } | 2531 } |
| 2463 | 2532 |
| 2464 error::Error GLES2DecoderPassthroughImpl::HandleUniform1ui( | 2533 error::Error GLES2DecoderPassthroughImpl::HandleUniform1ui( |
| 2465 uint32_t immediate_data_size, | 2534 uint32_t immediate_data_size, |
| 2466 const volatile void* cmd_data) { | 2535 const volatile void* cmd_data) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 2485 uint32_t data_size = 0; | 2554 uint32_t data_size = 0; |
| 2486 if (count >= 0 && | 2555 if (count >= 0 && |
| 2487 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 1, &data_size)) { | 2556 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 1, &data_size)) { |
| 2488 return error::kOutOfBounds; | 2557 return error::kOutOfBounds; |
| 2489 } | 2558 } |
| 2490 if (data_size > immediate_data_size) { | 2559 if (data_size > immediate_data_size) { |
| 2491 return error::kOutOfBounds; | 2560 return error::kOutOfBounds; |
| 2492 } | 2561 } |
| 2493 volatile const GLuint* v = GetImmediateDataAs<volatile const GLuint*>( | 2562 volatile const GLuint* v = GetImmediateDataAs<volatile const GLuint*>( |
| 2494 c, data_size, immediate_data_size); | 2563 c, data_size, immediate_data_size); |
| 2564 if (v == nullptr) { |
| 2565 return error::kOutOfBounds; |
| 2566 } |
| 2495 error::Error error = DoUniform1uiv(location, count, v); | 2567 error::Error error = DoUniform1uiv(location, count, v); |
| 2496 if (error != error::kNoError) { | 2568 if (error != error::kNoError) { |
| 2497 return error; | 2569 return error; |
| 2498 } | 2570 } |
| 2499 return error::kNoError; | 2571 return error::kNoError; |
| 2500 } | 2572 } |
| 2501 | 2573 |
| 2502 error::Error GLES2DecoderPassthroughImpl::HandleUniform2f( | 2574 error::Error GLES2DecoderPassthroughImpl::HandleUniform2f( |
| 2503 uint32_t immediate_data_size, | 2575 uint32_t immediate_data_size, |
| 2504 const volatile void* cmd_data) { | 2576 const volatile void* cmd_data) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2524 uint32_t data_size = 0; | 2596 uint32_t data_size = 0; |
| 2525 if (count >= 0 && | 2597 if (count >= 0 && |
| 2526 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 2, &data_size)) { | 2598 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 2, &data_size)) { |
| 2527 return error::kOutOfBounds; | 2599 return error::kOutOfBounds; |
| 2528 } | 2600 } |
| 2529 if (data_size > immediate_data_size) { | 2601 if (data_size > immediate_data_size) { |
| 2530 return error::kOutOfBounds; | 2602 return error::kOutOfBounds; |
| 2531 } | 2603 } |
| 2532 volatile const GLfloat* v = GetImmediateDataAs<volatile const GLfloat*>( | 2604 volatile const GLfloat* v = GetImmediateDataAs<volatile const GLfloat*>( |
| 2533 c, data_size, immediate_data_size); | 2605 c, data_size, immediate_data_size); |
| 2606 if (v == nullptr) { |
| 2607 return error::kOutOfBounds; |
| 2608 } |
| 2534 error::Error error = DoUniform2fv(location, count, v); | 2609 error::Error error = DoUniform2fv(location, count, v); |
| 2535 if (error != error::kNoError) { | 2610 if (error != error::kNoError) { |
| 2536 return error; | 2611 return error; |
| 2537 } | 2612 } |
| 2538 return error::kNoError; | 2613 return error::kNoError; |
| 2539 } | 2614 } |
| 2540 | 2615 |
| 2541 error::Error GLES2DecoderPassthroughImpl::HandleUniform2i( | 2616 error::Error GLES2DecoderPassthroughImpl::HandleUniform2i( |
| 2542 uint32_t immediate_data_size, | 2617 uint32_t immediate_data_size, |
| 2543 const volatile void* cmd_data) { | 2618 const volatile void* cmd_data) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2563 uint32_t data_size = 0; | 2638 uint32_t data_size = 0; |
| 2564 if (count >= 0 && | 2639 if (count >= 0 && |
| 2565 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 2, &data_size)) { | 2640 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 2, &data_size)) { |
| 2566 return error::kOutOfBounds; | 2641 return error::kOutOfBounds; |
| 2567 } | 2642 } |
| 2568 if (data_size > immediate_data_size) { | 2643 if (data_size > immediate_data_size) { |
| 2569 return error::kOutOfBounds; | 2644 return error::kOutOfBounds; |
| 2570 } | 2645 } |
| 2571 volatile const GLint* v = GetImmediateDataAs<volatile const GLint*>( | 2646 volatile const GLint* v = GetImmediateDataAs<volatile const GLint*>( |
| 2572 c, data_size, immediate_data_size); | 2647 c, data_size, immediate_data_size); |
| 2648 if (v == nullptr) { |
| 2649 return error::kOutOfBounds; |
| 2650 } |
| 2573 error::Error error = DoUniform2iv(location, count, v); | 2651 error::Error error = DoUniform2iv(location, count, v); |
| 2574 if (error != error::kNoError) { | 2652 if (error != error::kNoError) { |
| 2575 return error; | 2653 return error; |
| 2576 } | 2654 } |
| 2577 return error::kNoError; | 2655 return error::kNoError; |
| 2578 } | 2656 } |
| 2579 | 2657 |
| 2580 error::Error GLES2DecoderPassthroughImpl::HandleUniform2ui( | 2658 error::Error GLES2DecoderPassthroughImpl::HandleUniform2ui( |
| 2581 uint32_t immediate_data_size, | 2659 uint32_t immediate_data_size, |
| 2582 const volatile void* cmd_data) { | 2660 const volatile void* cmd_data) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2602 uint32_t data_size = 0; | 2680 uint32_t data_size = 0; |
| 2603 if (count >= 0 && | 2681 if (count >= 0 && |
| 2604 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 2, &data_size)) { | 2682 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 2, &data_size)) { |
| 2605 return error::kOutOfBounds; | 2683 return error::kOutOfBounds; |
| 2606 } | 2684 } |
| 2607 if (data_size > immediate_data_size) { | 2685 if (data_size > immediate_data_size) { |
| 2608 return error::kOutOfBounds; | 2686 return error::kOutOfBounds; |
| 2609 } | 2687 } |
| 2610 volatile const GLuint* v = GetImmediateDataAs<volatile const GLuint*>( | 2688 volatile const GLuint* v = GetImmediateDataAs<volatile const GLuint*>( |
| 2611 c, data_size, immediate_data_size); | 2689 c, data_size, immediate_data_size); |
| 2690 if (v == nullptr) { |
| 2691 return error::kOutOfBounds; |
| 2692 } |
| 2612 error::Error error = DoUniform2uiv(location, count, v); | 2693 error::Error error = DoUniform2uiv(location, count, v); |
| 2613 if (error != error::kNoError) { | 2694 if (error != error::kNoError) { |
| 2614 return error; | 2695 return error; |
| 2615 } | 2696 } |
| 2616 return error::kNoError; | 2697 return error::kNoError; |
| 2617 } | 2698 } |
| 2618 | 2699 |
| 2619 error::Error GLES2DecoderPassthroughImpl::HandleUniform3f( | 2700 error::Error GLES2DecoderPassthroughImpl::HandleUniform3f( |
| 2620 uint32_t immediate_data_size, | 2701 uint32_t immediate_data_size, |
| 2621 const volatile void* cmd_data) { | 2702 const volatile void* cmd_data) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2642 uint32_t data_size = 0; | 2723 uint32_t data_size = 0; |
| 2643 if (count >= 0 && | 2724 if (count >= 0 && |
| 2644 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 3, &data_size)) { | 2725 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 3, &data_size)) { |
| 2645 return error::kOutOfBounds; | 2726 return error::kOutOfBounds; |
| 2646 } | 2727 } |
| 2647 if (data_size > immediate_data_size) { | 2728 if (data_size > immediate_data_size) { |
| 2648 return error::kOutOfBounds; | 2729 return error::kOutOfBounds; |
| 2649 } | 2730 } |
| 2650 volatile const GLfloat* v = GetImmediateDataAs<volatile const GLfloat*>( | 2731 volatile const GLfloat* v = GetImmediateDataAs<volatile const GLfloat*>( |
| 2651 c, data_size, immediate_data_size); | 2732 c, data_size, immediate_data_size); |
| 2733 if (v == nullptr) { |
| 2734 return error::kOutOfBounds; |
| 2735 } |
| 2652 error::Error error = DoUniform3fv(location, count, v); | 2736 error::Error error = DoUniform3fv(location, count, v); |
| 2653 if (error != error::kNoError) { | 2737 if (error != error::kNoError) { |
| 2654 return error; | 2738 return error; |
| 2655 } | 2739 } |
| 2656 return error::kNoError; | 2740 return error::kNoError; |
| 2657 } | 2741 } |
| 2658 | 2742 |
| 2659 error::Error GLES2DecoderPassthroughImpl::HandleUniform3i( | 2743 error::Error GLES2DecoderPassthroughImpl::HandleUniform3i( |
| 2660 uint32_t immediate_data_size, | 2744 uint32_t immediate_data_size, |
| 2661 const volatile void* cmd_data) { | 2745 const volatile void* cmd_data) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2682 uint32_t data_size = 0; | 2766 uint32_t data_size = 0; |
| 2683 if (count >= 0 && | 2767 if (count >= 0 && |
| 2684 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 3, &data_size)) { | 2768 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 3, &data_size)) { |
| 2685 return error::kOutOfBounds; | 2769 return error::kOutOfBounds; |
| 2686 } | 2770 } |
| 2687 if (data_size > immediate_data_size) { | 2771 if (data_size > immediate_data_size) { |
| 2688 return error::kOutOfBounds; | 2772 return error::kOutOfBounds; |
| 2689 } | 2773 } |
| 2690 volatile const GLint* v = GetImmediateDataAs<volatile const GLint*>( | 2774 volatile const GLint* v = GetImmediateDataAs<volatile const GLint*>( |
| 2691 c, data_size, immediate_data_size); | 2775 c, data_size, immediate_data_size); |
| 2776 if (v == nullptr) { |
| 2777 return error::kOutOfBounds; |
| 2778 } |
| 2692 error::Error error = DoUniform3iv(location, count, v); | 2779 error::Error error = DoUniform3iv(location, count, v); |
| 2693 if (error != error::kNoError) { | 2780 if (error != error::kNoError) { |
| 2694 return error; | 2781 return error; |
| 2695 } | 2782 } |
| 2696 return error::kNoError; | 2783 return error::kNoError; |
| 2697 } | 2784 } |
| 2698 | 2785 |
| 2699 error::Error GLES2DecoderPassthroughImpl::HandleUniform3ui( | 2786 error::Error GLES2DecoderPassthroughImpl::HandleUniform3ui( |
| 2700 uint32_t immediate_data_size, | 2787 uint32_t immediate_data_size, |
| 2701 const volatile void* cmd_data) { | 2788 const volatile void* cmd_data) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2722 uint32_t data_size = 0; | 2809 uint32_t data_size = 0; |
| 2723 if (count >= 0 && | 2810 if (count >= 0 && |
| 2724 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 3, &data_size)) { | 2811 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 3, &data_size)) { |
| 2725 return error::kOutOfBounds; | 2812 return error::kOutOfBounds; |
| 2726 } | 2813 } |
| 2727 if (data_size > immediate_data_size) { | 2814 if (data_size > immediate_data_size) { |
| 2728 return error::kOutOfBounds; | 2815 return error::kOutOfBounds; |
| 2729 } | 2816 } |
| 2730 volatile const GLuint* v = GetImmediateDataAs<volatile const GLuint*>( | 2817 volatile const GLuint* v = GetImmediateDataAs<volatile const GLuint*>( |
| 2731 c, data_size, immediate_data_size); | 2818 c, data_size, immediate_data_size); |
| 2819 if (v == nullptr) { |
| 2820 return error::kOutOfBounds; |
| 2821 } |
| 2732 error::Error error = DoUniform3uiv(location, count, v); | 2822 error::Error error = DoUniform3uiv(location, count, v); |
| 2733 if (error != error::kNoError) { | 2823 if (error != error::kNoError) { |
| 2734 return error; | 2824 return error; |
| 2735 } | 2825 } |
| 2736 return error::kNoError; | 2826 return error::kNoError; |
| 2737 } | 2827 } |
| 2738 | 2828 |
| 2739 error::Error GLES2DecoderPassthroughImpl::HandleUniform4f( | 2829 error::Error GLES2DecoderPassthroughImpl::HandleUniform4f( |
| 2740 uint32_t immediate_data_size, | 2830 uint32_t immediate_data_size, |
| 2741 const volatile void* cmd_data) { | 2831 const volatile void* cmd_data) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 2763 uint32_t data_size = 0; | 2853 uint32_t data_size = 0; |
| 2764 if (count >= 0 && | 2854 if (count >= 0 && |
| 2765 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { | 2855 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { |
| 2766 return error::kOutOfBounds; | 2856 return error::kOutOfBounds; |
| 2767 } | 2857 } |
| 2768 if (data_size > immediate_data_size) { | 2858 if (data_size > immediate_data_size) { |
| 2769 return error::kOutOfBounds; | 2859 return error::kOutOfBounds; |
| 2770 } | 2860 } |
| 2771 volatile const GLfloat* v = GetImmediateDataAs<volatile const GLfloat*>( | 2861 volatile const GLfloat* v = GetImmediateDataAs<volatile const GLfloat*>( |
| 2772 c, data_size, immediate_data_size); | 2862 c, data_size, immediate_data_size); |
| 2863 if (v == nullptr) { |
| 2864 return error::kOutOfBounds; |
| 2865 } |
| 2773 error::Error error = DoUniform4fv(location, count, v); | 2866 error::Error error = DoUniform4fv(location, count, v); |
| 2774 if (error != error::kNoError) { | 2867 if (error != error::kNoError) { |
| 2775 return error; | 2868 return error; |
| 2776 } | 2869 } |
| 2777 return error::kNoError; | 2870 return error::kNoError; |
| 2778 } | 2871 } |
| 2779 | 2872 |
| 2780 error::Error GLES2DecoderPassthroughImpl::HandleUniform4i( | 2873 error::Error GLES2DecoderPassthroughImpl::HandleUniform4i( |
| 2781 uint32_t immediate_data_size, | 2874 uint32_t immediate_data_size, |
| 2782 const volatile void* cmd_data) { | 2875 const volatile void* cmd_data) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 2804 uint32_t data_size = 0; | 2897 uint32_t data_size = 0; |
| 2805 if (count >= 0 && | 2898 if (count >= 0 && |
| 2806 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 4, &data_size)) { | 2899 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 4, &data_size)) { |
| 2807 return error::kOutOfBounds; | 2900 return error::kOutOfBounds; |
| 2808 } | 2901 } |
| 2809 if (data_size > immediate_data_size) { | 2902 if (data_size > immediate_data_size) { |
| 2810 return error::kOutOfBounds; | 2903 return error::kOutOfBounds; |
| 2811 } | 2904 } |
| 2812 volatile const GLint* v = GetImmediateDataAs<volatile const GLint*>( | 2905 volatile const GLint* v = GetImmediateDataAs<volatile const GLint*>( |
| 2813 c, data_size, immediate_data_size); | 2906 c, data_size, immediate_data_size); |
| 2907 if (v == nullptr) { |
| 2908 return error::kOutOfBounds; |
| 2909 } |
| 2814 error::Error error = DoUniform4iv(location, count, v); | 2910 error::Error error = DoUniform4iv(location, count, v); |
| 2815 if (error != error::kNoError) { | 2911 if (error != error::kNoError) { |
| 2816 return error; | 2912 return error; |
| 2817 } | 2913 } |
| 2818 return error::kNoError; | 2914 return error::kNoError; |
| 2819 } | 2915 } |
| 2820 | 2916 |
| 2821 error::Error GLES2DecoderPassthroughImpl::HandleUniform4ui( | 2917 error::Error GLES2DecoderPassthroughImpl::HandleUniform4ui( |
| 2822 uint32_t immediate_data_size, | 2918 uint32_t immediate_data_size, |
| 2823 const volatile void* cmd_data) { | 2919 const volatile void* cmd_data) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 2845 uint32_t data_size = 0; | 2941 uint32_t data_size = 0; |
| 2846 if (count >= 0 && | 2942 if (count >= 0 && |
| 2847 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 4, &data_size)) { | 2943 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 4, &data_size)) { |
| 2848 return error::kOutOfBounds; | 2944 return error::kOutOfBounds; |
| 2849 } | 2945 } |
| 2850 if (data_size > immediate_data_size) { | 2946 if (data_size > immediate_data_size) { |
| 2851 return error::kOutOfBounds; | 2947 return error::kOutOfBounds; |
| 2852 } | 2948 } |
| 2853 volatile const GLuint* v = GetImmediateDataAs<volatile const GLuint*>( | 2949 volatile const GLuint* v = GetImmediateDataAs<volatile const GLuint*>( |
| 2854 c, data_size, immediate_data_size); | 2950 c, data_size, immediate_data_size); |
| 2951 if (v == nullptr) { |
| 2952 return error::kOutOfBounds; |
| 2953 } |
| 2855 error::Error error = DoUniform4uiv(location, count, v); | 2954 error::Error error = DoUniform4uiv(location, count, v); |
| 2856 if (error != error::kNoError) { | 2955 if (error != error::kNoError) { |
| 2857 return error; | 2956 return error; |
| 2858 } | 2957 } |
| 2859 return error::kNoError; | 2958 return error::kNoError; |
| 2860 } | 2959 } |
| 2861 | 2960 |
| 2862 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix2fvImmediate( | 2961 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix2fvImmediate( |
| 2863 uint32_t immediate_data_size, | 2962 uint32_t immediate_data_size, |
| 2864 const volatile void* cmd_data) { | 2963 const volatile void* cmd_data) { |
| 2865 const volatile gles2::cmds::UniformMatrix2fvImmediate& c = | 2964 const volatile gles2::cmds::UniformMatrix2fvImmediate& c = |
| 2866 *static_cast<const volatile gles2::cmds::UniformMatrix2fvImmediate*>( | 2965 *static_cast<const volatile gles2::cmds::UniformMatrix2fvImmediate*>( |
| 2867 cmd_data); | 2966 cmd_data); |
| 2868 GLint location = static_cast<GLint>(c.location); | 2967 GLint location = static_cast<GLint>(c.location); |
| 2869 GLsizei count = static_cast<GLsizei>(c.count); | 2968 GLsizei count = static_cast<GLsizei>(c.count); |
| 2870 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 2969 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2871 uint32_t data_size = 0; | 2970 uint32_t data_size = 0; |
| 2872 if (count >= 0 && | 2971 if (count >= 0 && |
| 2873 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { | 2972 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 4, &data_size)) { |
| 2874 return error::kOutOfBounds; | 2973 return error::kOutOfBounds; |
| 2875 } | 2974 } |
| 2876 if (data_size > immediate_data_size) { | 2975 if (data_size > immediate_data_size) { |
| 2877 return error::kOutOfBounds; | 2976 return error::kOutOfBounds; |
| 2878 } | 2977 } |
| 2879 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 2978 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 2880 c, data_size, immediate_data_size); | 2979 c, data_size, immediate_data_size); |
| 2980 if (value == nullptr) { |
| 2981 return error::kOutOfBounds; |
| 2982 } |
| 2881 error::Error error = DoUniformMatrix2fv(location, count, transpose, value); | 2983 error::Error error = DoUniformMatrix2fv(location, count, transpose, value); |
| 2882 if (error != error::kNoError) { | 2984 if (error != error::kNoError) { |
| 2883 return error; | 2985 return error; |
| 2884 } | 2986 } |
| 2885 return error::kNoError; | 2987 return error::kNoError; |
| 2886 } | 2988 } |
| 2887 | 2989 |
| 2888 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix2x3fvImmediate( | 2990 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix2x3fvImmediate( |
| 2889 uint32_t immediate_data_size, | 2991 uint32_t immediate_data_size, |
| 2890 const volatile void* cmd_data) { | 2992 const volatile void* cmd_data) { |
| 2891 const volatile gles2::cmds::UniformMatrix2x3fvImmediate& c = | 2993 const volatile gles2::cmds::UniformMatrix2x3fvImmediate& c = |
| 2892 *static_cast<const volatile gles2::cmds::UniformMatrix2x3fvImmediate*>( | 2994 *static_cast<const volatile gles2::cmds::UniformMatrix2x3fvImmediate*>( |
| 2893 cmd_data); | 2995 cmd_data); |
| 2894 GLint location = static_cast<GLint>(c.location); | 2996 GLint location = static_cast<GLint>(c.location); |
| 2895 GLsizei count = static_cast<GLsizei>(c.count); | 2997 GLsizei count = static_cast<GLsizei>(c.count); |
| 2896 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 2998 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2897 uint32_t data_size = 0; | 2999 uint32_t data_size = 0; |
| 2898 if (count >= 0 && | 3000 if (count >= 0 && |
| 2899 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 6, &data_size)) { | 3001 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 6, &data_size)) { |
| 2900 return error::kOutOfBounds; | 3002 return error::kOutOfBounds; |
| 2901 } | 3003 } |
| 2902 if (data_size > immediate_data_size) { | 3004 if (data_size > immediate_data_size) { |
| 2903 return error::kOutOfBounds; | 3005 return error::kOutOfBounds; |
| 2904 } | 3006 } |
| 2905 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 3007 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 2906 c, data_size, immediate_data_size); | 3008 c, data_size, immediate_data_size); |
| 3009 if (value == nullptr) { |
| 3010 return error::kOutOfBounds; |
| 3011 } |
| 2907 error::Error error = DoUniformMatrix2x3fv(location, count, transpose, value); | 3012 error::Error error = DoUniformMatrix2x3fv(location, count, transpose, value); |
| 2908 if (error != error::kNoError) { | 3013 if (error != error::kNoError) { |
| 2909 return error; | 3014 return error; |
| 2910 } | 3015 } |
| 2911 return error::kNoError; | 3016 return error::kNoError; |
| 2912 } | 3017 } |
| 2913 | 3018 |
| 2914 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix2x4fvImmediate( | 3019 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix2x4fvImmediate( |
| 2915 uint32_t immediate_data_size, | 3020 uint32_t immediate_data_size, |
| 2916 const volatile void* cmd_data) { | 3021 const volatile void* cmd_data) { |
| 2917 const volatile gles2::cmds::UniformMatrix2x4fvImmediate& c = | 3022 const volatile gles2::cmds::UniformMatrix2x4fvImmediate& c = |
| 2918 *static_cast<const volatile gles2::cmds::UniformMatrix2x4fvImmediate*>( | 3023 *static_cast<const volatile gles2::cmds::UniformMatrix2x4fvImmediate*>( |
| 2919 cmd_data); | 3024 cmd_data); |
| 2920 GLint location = static_cast<GLint>(c.location); | 3025 GLint location = static_cast<GLint>(c.location); |
| 2921 GLsizei count = static_cast<GLsizei>(c.count); | 3026 GLsizei count = static_cast<GLsizei>(c.count); |
| 2922 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 3027 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2923 uint32_t data_size = 0; | 3028 uint32_t data_size = 0; |
| 2924 if (count >= 0 && | 3029 if (count >= 0 && |
| 2925 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 8, &data_size)) { | 3030 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 8, &data_size)) { |
| 2926 return error::kOutOfBounds; | 3031 return error::kOutOfBounds; |
| 2927 } | 3032 } |
| 2928 if (data_size > immediate_data_size) { | 3033 if (data_size > immediate_data_size) { |
| 2929 return error::kOutOfBounds; | 3034 return error::kOutOfBounds; |
| 2930 } | 3035 } |
| 2931 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 3036 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 2932 c, data_size, immediate_data_size); | 3037 c, data_size, immediate_data_size); |
| 3038 if (value == nullptr) { |
| 3039 return error::kOutOfBounds; |
| 3040 } |
| 2933 error::Error error = DoUniformMatrix2x4fv(location, count, transpose, value); | 3041 error::Error error = DoUniformMatrix2x4fv(location, count, transpose, value); |
| 2934 if (error != error::kNoError) { | 3042 if (error != error::kNoError) { |
| 2935 return error; | 3043 return error; |
| 2936 } | 3044 } |
| 2937 return error::kNoError; | 3045 return error::kNoError; |
| 2938 } | 3046 } |
| 2939 | 3047 |
| 2940 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix3fvImmediate( | 3048 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix3fvImmediate( |
| 2941 uint32_t immediate_data_size, | 3049 uint32_t immediate_data_size, |
| 2942 const volatile void* cmd_data) { | 3050 const volatile void* cmd_data) { |
| 2943 const volatile gles2::cmds::UniformMatrix3fvImmediate& c = | 3051 const volatile gles2::cmds::UniformMatrix3fvImmediate& c = |
| 2944 *static_cast<const volatile gles2::cmds::UniformMatrix3fvImmediate*>( | 3052 *static_cast<const volatile gles2::cmds::UniformMatrix3fvImmediate*>( |
| 2945 cmd_data); | 3053 cmd_data); |
| 2946 GLint location = static_cast<GLint>(c.location); | 3054 GLint location = static_cast<GLint>(c.location); |
| 2947 GLsizei count = static_cast<GLsizei>(c.count); | 3055 GLsizei count = static_cast<GLsizei>(c.count); |
| 2948 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 3056 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2949 uint32_t data_size = 0; | 3057 uint32_t data_size = 0; |
| 2950 if (count >= 0 && | 3058 if (count >= 0 && |
| 2951 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 9, &data_size)) { | 3059 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 9, &data_size)) { |
| 2952 return error::kOutOfBounds; | 3060 return error::kOutOfBounds; |
| 2953 } | 3061 } |
| 2954 if (data_size > immediate_data_size) { | 3062 if (data_size > immediate_data_size) { |
| 2955 return error::kOutOfBounds; | 3063 return error::kOutOfBounds; |
| 2956 } | 3064 } |
| 2957 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 3065 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 2958 c, data_size, immediate_data_size); | 3066 c, data_size, immediate_data_size); |
| 3067 if (value == nullptr) { |
| 3068 return error::kOutOfBounds; |
| 3069 } |
| 2959 error::Error error = DoUniformMatrix3fv(location, count, transpose, value); | 3070 error::Error error = DoUniformMatrix3fv(location, count, transpose, value); |
| 2960 if (error != error::kNoError) { | 3071 if (error != error::kNoError) { |
| 2961 return error; | 3072 return error; |
| 2962 } | 3073 } |
| 2963 return error::kNoError; | 3074 return error::kNoError; |
| 2964 } | 3075 } |
| 2965 | 3076 |
| 2966 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix3x2fvImmediate( | 3077 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix3x2fvImmediate( |
| 2967 uint32_t immediate_data_size, | 3078 uint32_t immediate_data_size, |
| 2968 const volatile void* cmd_data) { | 3079 const volatile void* cmd_data) { |
| 2969 const volatile gles2::cmds::UniformMatrix3x2fvImmediate& c = | 3080 const volatile gles2::cmds::UniformMatrix3x2fvImmediate& c = |
| 2970 *static_cast<const volatile gles2::cmds::UniformMatrix3x2fvImmediate*>( | 3081 *static_cast<const volatile gles2::cmds::UniformMatrix3x2fvImmediate*>( |
| 2971 cmd_data); | 3082 cmd_data); |
| 2972 GLint location = static_cast<GLint>(c.location); | 3083 GLint location = static_cast<GLint>(c.location); |
| 2973 GLsizei count = static_cast<GLsizei>(c.count); | 3084 GLsizei count = static_cast<GLsizei>(c.count); |
| 2974 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 3085 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 2975 uint32_t data_size = 0; | 3086 uint32_t data_size = 0; |
| 2976 if (count >= 0 && | 3087 if (count >= 0 && |
| 2977 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 6, &data_size)) { | 3088 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 6, &data_size)) { |
| 2978 return error::kOutOfBounds; | 3089 return error::kOutOfBounds; |
| 2979 } | 3090 } |
| 2980 if (data_size > immediate_data_size) { | 3091 if (data_size > immediate_data_size) { |
| 2981 return error::kOutOfBounds; | 3092 return error::kOutOfBounds; |
| 2982 } | 3093 } |
| 2983 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 3094 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 2984 c, data_size, immediate_data_size); | 3095 c, data_size, immediate_data_size); |
| 3096 if (value == nullptr) { |
| 3097 return error::kOutOfBounds; |
| 3098 } |
| 2985 error::Error error = DoUniformMatrix3x2fv(location, count, transpose, value); | 3099 error::Error error = DoUniformMatrix3x2fv(location, count, transpose, value); |
| 2986 if (error != error::kNoError) { | 3100 if (error != error::kNoError) { |
| 2987 return error; | 3101 return error; |
| 2988 } | 3102 } |
| 2989 return error::kNoError; | 3103 return error::kNoError; |
| 2990 } | 3104 } |
| 2991 | 3105 |
| 2992 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix3x4fvImmediate( | 3106 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix3x4fvImmediate( |
| 2993 uint32_t immediate_data_size, | 3107 uint32_t immediate_data_size, |
| 2994 const volatile void* cmd_data) { | 3108 const volatile void* cmd_data) { |
| 2995 const volatile gles2::cmds::UniformMatrix3x4fvImmediate& c = | 3109 const volatile gles2::cmds::UniformMatrix3x4fvImmediate& c = |
| 2996 *static_cast<const volatile gles2::cmds::UniformMatrix3x4fvImmediate*>( | 3110 *static_cast<const volatile gles2::cmds::UniformMatrix3x4fvImmediate*>( |
| 2997 cmd_data); | 3111 cmd_data); |
| 2998 GLint location = static_cast<GLint>(c.location); | 3112 GLint location = static_cast<GLint>(c.location); |
| 2999 GLsizei count = static_cast<GLsizei>(c.count); | 3113 GLsizei count = static_cast<GLsizei>(c.count); |
| 3000 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 3114 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 3001 uint32_t data_size = 0; | 3115 uint32_t data_size = 0; |
| 3002 if (count >= 0 && | 3116 if (count >= 0 && |
| 3003 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 12, &data_size)) { | 3117 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 12, &data_size)) { |
| 3004 return error::kOutOfBounds; | 3118 return error::kOutOfBounds; |
| 3005 } | 3119 } |
| 3006 if (data_size > immediate_data_size) { | 3120 if (data_size > immediate_data_size) { |
| 3007 return error::kOutOfBounds; | 3121 return error::kOutOfBounds; |
| 3008 } | 3122 } |
| 3009 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 3123 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 3010 c, data_size, immediate_data_size); | 3124 c, data_size, immediate_data_size); |
| 3125 if (value == nullptr) { |
| 3126 return error::kOutOfBounds; |
| 3127 } |
| 3011 error::Error error = DoUniformMatrix3x4fv(location, count, transpose, value); | 3128 error::Error error = DoUniformMatrix3x4fv(location, count, transpose, value); |
| 3012 if (error != error::kNoError) { | 3129 if (error != error::kNoError) { |
| 3013 return error; | 3130 return error; |
| 3014 } | 3131 } |
| 3015 return error::kNoError; | 3132 return error::kNoError; |
| 3016 } | 3133 } |
| 3017 | 3134 |
| 3018 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix4fvImmediate( | 3135 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix4fvImmediate( |
| 3019 uint32_t immediate_data_size, | 3136 uint32_t immediate_data_size, |
| 3020 const volatile void* cmd_data) { | 3137 const volatile void* cmd_data) { |
| 3021 const volatile gles2::cmds::UniformMatrix4fvImmediate& c = | 3138 const volatile gles2::cmds::UniformMatrix4fvImmediate& c = |
| 3022 *static_cast<const volatile gles2::cmds::UniformMatrix4fvImmediate*>( | 3139 *static_cast<const volatile gles2::cmds::UniformMatrix4fvImmediate*>( |
| 3023 cmd_data); | 3140 cmd_data); |
| 3024 GLint location = static_cast<GLint>(c.location); | 3141 GLint location = static_cast<GLint>(c.location); |
| 3025 GLsizei count = static_cast<GLsizei>(c.count); | 3142 GLsizei count = static_cast<GLsizei>(c.count); |
| 3026 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 3143 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 3027 uint32_t data_size = 0; | 3144 uint32_t data_size = 0; |
| 3028 if (count >= 0 && | 3145 if (count >= 0 && |
| 3029 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 16, &data_size)) { | 3146 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 16, &data_size)) { |
| 3030 return error::kOutOfBounds; | 3147 return error::kOutOfBounds; |
| 3031 } | 3148 } |
| 3032 if (data_size > immediate_data_size) { | 3149 if (data_size > immediate_data_size) { |
| 3033 return error::kOutOfBounds; | 3150 return error::kOutOfBounds; |
| 3034 } | 3151 } |
| 3035 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 3152 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 3036 c, data_size, immediate_data_size); | 3153 c, data_size, immediate_data_size); |
| 3154 if (value == nullptr) { |
| 3155 return error::kOutOfBounds; |
| 3156 } |
| 3037 error::Error error = DoUniformMatrix4fv(location, count, transpose, value); | 3157 error::Error error = DoUniformMatrix4fv(location, count, transpose, value); |
| 3038 if (error != error::kNoError) { | 3158 if (error != error::kNoError) { |
| 3039 return error; | 3159 return error; |
| 3040 } | 3160 } |
| 3041 return error::kNoError; | 3161 return error::kNoError; |
| 3042 } | 3162 } |
| 3043 | 3163 |
| 3044 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix4x2fvImmediate( | 3164 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix4x2fvImmediate( |
| 3045 uint32_t immediate_data_size, | 3165 uint32_t immediate_data_size, |
| 3046 const volatile void* cmd_data) { | 3166 const volatile void* cmd_data) { |
| 3047 const volatile gles2::cmds::UniformMatrix4x2fvImmediate& c = | 3167 const volatile gles2::cmds::UniformMatrix4x2fvImmediate& c = |
| 3048 *static_cast<const volatile gles2::cmds::UniformMatrix4x2fvImmediate*>( | 3168 *static_cast<const volatile gles2::cmds::UniformMatrix4x2fvImmediate*>( |
| 3049 cmd_data); | 3169 cmd_data); |
| 3050 GLint location = static_cast<GLint>(c.location); | 3170 GLint location = static_cast<GLint>(c.location); |
| 3051 GLsizei count = static_cast<GLsizei>(c.count); | 3171 GLsizei count = static_cast<GLsizei>(c.count); |
| 3052 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 3172 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 3053 uint32_t data_size = 0; | 3173 uint32_t data_size = 0; |
| 3054 if (count >= 0 && | 3174 if (count >= 0 && |
| 3055 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 8, &data_size)) { | 3175 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 8, &data_size)) { |
| 3056 return error::kOutOfBounds; | 3176 return error::kOutOfBounds; |
| 3057 } | 3177 } |
| 3058 if (data_size > immediate_data_size) { | 3178 if (data_size > immediate_data_size) { |
| 3059 return error::kOutOfBounds; | 3179 return error::kOutOfBounds; |
| 3060 } | 3180 } |
| 3061 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 3181 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 3062 c, data_size, immediate_data_size); | 3182 c, data_size, immediate_data_size); |
| 3183 if (value == nullptr) { |
| 3184 return error::kOutOfBounds; |
| 3185 } |
| 3063 error::Error error = DoUniformMatrix4x2fv(location, count, transpose, value); | 3186 error::Error error = DoUniformMatrix4x2fv(location, count, transpose, value); |
| 3064 if (error != error::kNoError) { | 3187 if (error != error::kNoError) { |
| 3065 return error; | 3188 return error; |
| 3066 } | 3189 } |
| 3067 return error::kNoError; | 3190 return error::kNoError; |
| 3068 } | 3191 } |
| 3069 | 3192 |
| 3070 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix4x3fvImmediate( | 3193 error::Error GLES2DecoderPassthroughImpl::HandleUniformMatrix4x3fvImmediate( |
| 3071 uint32_t immediate_data_size, | 3194 uint32_t immediate_data_size, |
| 3072 const volatile void* cmd_data) { | 3195 const volatile void* cmd_data) { |
| 3073 const volatile gles2::cmds::UniformMatrix4x3fvImmediate& c = | 3196 const volatile gles2::cmds::UniformMatrix4x3fvImmediate& c = |
| 3074 *static_cast<const volatile gles2::cmds::UniformMatrix4x3fvImmediate*>( | 3197 *static_cast<const volatile gles2::cmds::UniformMatrix4x3fvImmediate*>( |
| 3075 cmd_data); | 3198 cmd_data); |
| 3076 GLint location = static_cast<GLint>(c.location); | 3199 GLint location = static_cast<GLint>(c.location); |
| 3077 GLsizei count = static_cast<GLsizei>(c.count); | 3200 GLsizei count = static_cast<GLsizei>(c.count); |
| 3078 GLboolean transpose = static_cast<GLboolean>(c.transpose); | 3201 GLboolean transpose = static_cast<GLboolean>(c.transpose); |
| 3079 uint32_t data_size = 0; | 3202 uint32_t data_size = 0; |
| 3080 if (count >= 0 && | 3203 if (count >= 0 && |
| 3081 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 12, &data_size)) { | 3204 !GLES2Util::ComputeDataSize(count, sizeof(GLfloat), 12, &data_size)) { |
| 3082 return error::kOutOfBounds; | 3205 return error::kOutOfBounds; |
| 3083 } | 3206 } |
| 3084 if (data_size > immediate_data_size) { | 3207 if (data_size > immediate_data_size) { |
| 3085 return error::kOutOfBounds; | 3208 return error::kOutOfBounds; |
| 3086 } | 3209 } |
| 3087 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( | 3210 volatile const GLfloat* value = GetImmediateDataAs<volatile const GLfloat*>( |
| 3088 c, data_size, immediate_data_size); | 3211 c, data_size, immediate_data_size); |
| 3212 if (value == nullptr) { |
| 3213 return error::kOutOfBounds; |
| 3214 } |
| 3089 error::Error error = DoUniformMatrix4x3fv(location, count, transpose, value); | 3215 error::Error error = DoUniformMatrix4x3fv(location, count, transpose, value); |
| 3090 if (error != error::kNoError) { | 3216 if (error != error::kNoError) { |
| 3091 return error; | 3217 return error; |
| 3092 } | 3218 } |
| 3093 return error::kNoError; | 3219 return error::kNoError; |
| 3094 } | 3220 } |
| 3095 | 3221 |
| 3096 error::Error GLES2DecoderPassthroughImpl::HandleUseProgram( | 3222 error::Error GLES2DecoderPassthroughImpl::HandleUseProgram( |
| 3097 uint32_t immediate_data_size, | 3223 uint32_t immediate_data_size, |
| 3098 const volatile void* cmd_data) { | 3224 const volatile void* cmd_data) { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3142 GLuint indx = static_cast<GLuint>(c.indx); | 3268 GLuint indx = static_cast<GLuint>(c.indx); |
| 3143 uint32_t data_size; | 3269 uint32_t data_size; |
| 3144 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) { | 3270 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) { |
| 3145 return error::kOutOfBounds; | 3271 return error::kOutOfBounds; |
| 3146 } | 3272 } |
| 3147 if (data_size > immediate_data_size) { | 3273 if (data_size > immediate_data_size) { |
| 3148 return error::kOutOfBounds; | 3274 return error::kOutOfBounds; |
| 3149 } | 3275 } |
| 3150 volatile const GLfloat* values = GetImmediateDataAs<volatile const GLfloat*>( | 3276 volatile const GLfloat* values = GetImmediateDataAs<volatile const GLfloat*>( |
| 3151 c, data_size, immediate_data_size); | 3277 c, data_size, immediate_data_size); |
| 3278 if (values == nullptr) { |
| 3279 return error::kOutOfBounds; |
| 3280 } |
| 3152 error::Error error = DoVertexAttrib1fv(indx, values); | 3281 error::Error error = DoVertexAttrib1fv(indx, values); |
| 3153 if (error != error::kNoError) { | 3282 if (error != error::kNoError) { |
| 3154 return error; | 3283 return error; |
| 3155 } | 3284 } |
| 3156 return error::kNoError; | 3285 return error::kNoError; |
| 3157 } | 3286 } |
| 3158 | 3287 |
| 3159 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttrib2f( | 3288 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttrib2f( |
| 3160 uint32_t immediate_data_size, | 3289 uint32_t immediate_data_size, |
| 3161 const volatile void* cmd_data) { | 3290 const volatile void* cmd_data) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 3180 GLuint indx = static_cast<GLuint>(c.indx); | 3309 GLuint indx = static_cast<GLuint>(c.indx); |
| 3181 uint32_t data_size; | 3310 uint32_t data_size; |
| 3182 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 2, &data_size)) { | 3311 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 2, &data_size)) { |
| 3183 return error::kOutOfBounds; | 3312 return error::kOutOfBounds; |
| 3184 } | 3313 } |
| 3185 if (data_size > immediate_data_size) { | 3314 if (data_size > immediate_data_size) { |
| 3186 return error::kOutOfBounds; | 3315 return error::kOutOfBounds; |
| 3187 } | 3316 } |
| 3188 volatile const GLfloat* values = GetImmediateDataAs<volatile const GLfloat*>( | 3317 volatile const GLfloat* values = GetImmediateDataAs<volatile const GLfloat*>( |
| 3189 c, data_size, immediate_data_size); | 3318 c, data_size, immediate_data_size); |
| 3319 if (values == nullptr) { |
| 3320 return error::kOutOfBounds; |
| 3321 } |
| 3190 error::Error error = DoVertexAttrib2fv(indx, values); | 3322 error::Error error = DoVertexAttrib2fv(indx, values); |
| 3191 if (error != error::kNoError) { | 3323 if (error != error::kNoError) { |
| 3192 return error; | 3324 return error; |
| 3193 } | 3325 } |
| 3194 return error::kNoError; | 3326 return error::kNoError; |
| 3195 } | 3327 } |
| 3196 | 3328 |
| 3197 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttrib3f( | 3329 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttrib3f( |
| 3198 uint32_t immediate_data_size, | 3330 uint32_t immediate_data_size, |
| 3199 const volatile void* cmd_data) { | 3331 const volatile void* cmd_data) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 3219 GLuint indx = static_cast<GLuint>(c.indx); | 3351 GLuint indx = static_cast<GLuint>(c.indx); |
| 3220 uint32_t data_size; | 3352 uint32_t data_size; |
| 3221 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 3, &data_size)) { | 3353 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 3, &data_size)) { |
| 3222 return error::kOutOfBounds; | 3354 return error::kOutOfBounds; |
| 3223 } | 3355 } |
| 3224 if (data_size > immediate_data_size) { | 3356 if (data_size > immediate_data_size) { |
| 3225 return error::kOutOfBounds; | 3357 return error::kOutOfBounds; |
| 3226 } | 3358 } |
| 3227 volatile const GLfloat* values = GetImmediateDataAs<volatile const GLfloat*>( | 3359 volatile const GLfloat* values = GetImmediateDataAs<volatile const GLfloat*>( |
| 3228 c, data_size, immediate_data_size); | 3360 c, data_size, immediate_data_size); |
| 3361 if (values == nullptr) { |
| 3362 return error::kOutOfBounds; |
| 3363 } |
| 3229 error::Error error = DoVertexAttrib3fv(indx, values); | 3364 error::Error error = DoVertexAttrib3fv(indx, values); |
| 3230 if (error != error::kNoError) { | 3365 if (error != error::kNoError) { |
| 3231 return error; | 3366 return error; |
| 3232 } | 3367 } |
| 3233 return error::kNoError; | 3368 return error::kNoError; |
| 3234 } | 3369 } |
| 3235 | 3370 |
| 3236 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttrib4f( | 3371 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttrib4f( |
| 3237 uint32_t immediate_data_size, | 3372 uint32_t immediate_data_size, |
| 3238 const volatile void* cmd_data) { | 3373 const volatile void* cmd_data) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 3259 GLuint indx = static_cast<GLuint>(c.indx); | 3394 GLuint indx = static_cast<GLuint>(c.indx); |
| 3260 uint32_t data_size; | 3395 uint32_t data_size; |
| 3261 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 4, &data_size)) { | 3396 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 4, &data_size)) { |
| 3262 return error::kOutOfBounds; | 3397 return error::kOutOfBounds; |
| 3263 } | 3398 } |
| 3264 if (data_size > immediate_data_size) { | 3399 if (data_size > immediate_data_size) { |
| 3265 return error::kOutOfBounds; | 3400 return error::kOutOfBounds; |
| 3266 } | 3401 } |
| 3267 volatile const GLfloat* values = GetImmediateDataAs<volatile const GLfloat*>( | 3402 volatile const GLfloat* values = GetImmediateDataAs<volatile const GLfloat*>( |
| 3268 c, data_size, immediate_data_size); | 3403 c, data_size, immediate_data_size); |
| 3404 if (values == nullptr) { |
| 3405 return error::kOutOfBounds; |
| 3406 } |
| 3269 error::Error error = DoVertexAttrib4fv(indx, values); | 3407 error::Error error = DoVertexAttrib4fv(indx, values); |
| 3270 if (error != error::kNoError) { | 3408 if (error != error::kNoError) { |
| 3271 return error; | 3409 return error; |
| 3272 } | 3410 } |
| 3273 return error::kNoError; | 3411 return error::kNoError; |
| 3274 } | 3412 } |
| 3275 | 3413 |
| 3276 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribI4i( | 3414 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribI4i( |
| 3277 uint32_t immediate_data_size, | 3415 uint32_t immediate_data_size, |
| 3278 const volatile void* cmd_data) { | 3416 const volatile void* cmd_data) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 3299 GLuint indx = static_cast<GLuint>(c.indx); | 3437 GLuint indx = static_cast<GLuint>(c.indx); |
| 3300 uint32_t data_size; | 3438 uint32_t data_size; |
| 3301 if (!GLES2Util::ComputeDataSize(1, sizeof(GLint), 4, &data_size)) { | 3439 if (!GLES2Util::ComputeDataSize(1, sizeof(GLint), 4, &data_size)) { |
| 3302 return error::kOutOfBounds; | 3440 return error::kOutOfBounds; |
| 3303 } | 3441 } |
| 3304 if (data_size > immediate_data_size) { | 3442 if (data_size > immediate_data_size) { |
| 3305 return error::kOutOfBounds; | 3443 return error::kOutOfBounds; |
| 3306 } | 3444 } |
| 3307 volatile const GLint* values = GetImmediateDataAs<volatile const GLint*>( | 3445 volatile const GLint* values = GetImmediateDataAs<volatile const GLint*>( |
| 3308 c, data_size, immediate_data_size); | 3446 c, data_size, immediate_data_size); |
| 3447 if (values == nullptr) { |
| 3448 return error::kOutOfBounds; |
| 3449 } |
| 3309 error::Error error = DoVertexAttribI4iv(indx, values); | 3450 error::Error error = DoVertexAttribI4iv(indx, values); |
| 3310 if (error != error::kNoError) { | 3451 if (error != error::kNoError) { |
| 3311 return error; | 3452 return error; |
| 3312 } | 3453 } |
| 3313 return error::kNoError; | 3454 return error::kNoError; |
| 3314 } | 3455 } |
| 3315 | 3456 |
| 3316 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribI4ui( | 3457 error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribI4ui( |
| 3317 uint32_t immediate_data_size, | 3458 uint32_t immediate_data_size, |
| 3318 const volatile void* cmd_data) { | 3459 const volatile void* cmd_data) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 3339 GLuint indx = static_cast<GLuint>(c.indx); | 3480 GLuint indx = static_cast<GLuint>(c.indx); |
| 3340 uint32_t data_size; | 3481 uint32_t data_size; |
| 3341 if (!GLES2Util::ComputeDataSize(1, sizeof(GLuint), 4, &data_size)) { | 3482 if (!GLES2Util::ComputeDataSize(1, sizeof(GLuint), 4, &data_size)) { |
| 3342 return error::kOutOfBounds; | 3483 return error::kOutOfBounds; |
| 3343 } | 3484 } |
| 3344 if (data_size > immediate_data_size) { | 3485 if (data_size > immediate_data_size) { |
| 3345 return error::kOutOfBounds; | 3486 return error::kOutOfBounds; |
| 3346 } | 3487 } |
| 3347 volatile const GLuint* values = GetImmediateDataAs<volatile const GLuint*>( | 3488 volatile const GLuint* values = GetImmediateDataAs<volatile const GLuint*>( |
| 3348 c, data_size, immediate_data_size); | 3489 c, data_size, immediate_data_size); |
| 3490 if (values == nullptr) { |
| 3491 return error::kOutOfBounds; |
| 3492 } |
| 3349 error::Error error = DoVertexAttribI4uiv(indx, values); | 3493 error::Error error = DoVertexAttribI4uiv(indx, values); |
| 3350 if (error != error::kNoError) { | 3494 if (error != error::kNoError) { |
| 3351 return error; | 3495 return error; |
| 3352 } | 3496 } |
| 3353 return error::kNoError; | 3497 return error::kNoError; |
| 3354 } | 3498 } |
| 3355 | 3499 |
| 3356 error::Error GLES2DecoderPassthroughImpl::HandleViewport( | 3500 error::Error GLES2DecoderPassthroughImpl::HandleViewport( |
| 3357 uint32_t immediate_data_size, | 3501 uint32_t immediate_data_size, |
| 3358 const volatile void* cmd_data) { | 3502 const volatile void* cmd_data) { |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3481 const volatile gles2::cmds::GenQueriesEXTImmediate& c = | 3625 const volatile gles2::cmds::GenQueriesEXTImmediate& c = |
| 3482 *static_cast<const volatile gles2::cmds::GenQueriesEXTImmediate*>( | 3626 *static_cast<const volatile gles2::cmds::GenQueriesEXTImmediate*>( |
| 3483 cmd_data); | 3627 cmd_data); |
| 3484 GLsizei n = static_cast<GLsizei>(c.n); | 3628 GLsizei n = static_cast<GLsizei>(c.n); |
| 3485 uint32_t data_size; | 3629 uint32_t data_size; |
| 3486 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 3630 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 3487 return error::kOutOfBounds; | 3631 return error::kOutOfBounds; |
| 3488 } | 3632 } |
| 3489 volatile GLuint* queries = | 3633 volatile GLuint* queries = |
| 3490 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); | 3634 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); |
| 3635 if (queries == nullptr) { |
| 3636 return error::kOutOfBounds; |
| 3637 } |
| 3491 error::Error error = DoGenQueriesEXT(n, queries); | 3638 error::Error error = DoGenQueriesEXT(n, queries); |
| 3492 if (error != error::kNoError) { | 3639 if (error != error::kNoError) { |
| 3493 return error; | 3640 return error; |
| 3494 } | 3641 } |
| 3495 return error::kNoError; | 3642 return error::kNoError; |
| 3496 } | 3643 } |
| 3497 | 3644 |
| 3498 error::Error GLES2DecoderPassthroughImpl::HandleDeleteQueriesEXTImmediate( | 3645 error::Error GLES2DecoderPassthroughImpl::HandleDeleteQueriesEXTImmediate( |
| 3499 uint32_t immediate_data_size, | 3646 uint32_t immediate_data_size, |
| 3500 const volatile void* cmd_data) { | 3647 const volatile void* cmd_data) { |
| 3501 const volatile gles2::cmds::DeleteQueriesEXTImmediate& c = | 3648 const volatile gles2::cmds::DeleteQueriesEXTImmediate& c = |
| 3502 *static_cast<const volatile gles2::cmds::DeleteQueriesEXTImmediate*>( | 3649 *static_cast<const volatile gles2::cmds::DeleteQueriesEXTImmediate*>( |
| 3503 cmd_data); | 3650 cmd_data); |
| 3504 GLsizei n = static_cast<GLsizei>(c.n); | 3651 GLsizei n = static_cast<GLsizei>(c.n); |
| 3505 uint32_t data_size; | 3652 uint32_t data_size; |
| 3506 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 3653 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 3507 return error::kOutOfBounds; | 3654 return error::kOutOfBounds; |
| 3508 } | 3655 } |
| 3509 volatile const GLuint* queries = GetImmediateDataAs<volatile const GLuint*>( | 3656 volatile const GLuint* queries = GetImmediateDataAs<volatile const GLuint*>( |
| 3510 c, data_size, immediate_data_size); | 3657 c, data_size, immediate_data_size); |
| 3658 if (queries == nullptr) { |
| 3659 return error::kOutOfBounds; |
| 3660 } |
| 3511 error::Error error = DoDeleteQueriesEXT(n, queries); | 3661 error::Error error = DoDeleteQueriesEXT(n, queries); |
| 3512 if (error != error::kNoError) { | 3662 if (error != error::kNoError) { |
| 3513 return error; | 3663 return error; |
| 3514 } | 3664 } |
| 3515 return error::kNoError; | 3665 return error::kNoError; |
| 3516 } | 3666 } |
| 3517 | 3667 |
| 3518 error::Error GLES2DecoderPassthroughImpl::HandleBeginTransformFeedback( | 3668 error::Error GLES2DecoderPassthroughImpl::HandleBeginTransformFeedback( |
| 3519 uint32_t immediate_data_size, | 3669 uint32_t immediate_data_size, |
| 3520 const volatile void* cmd_data) { | 3670 const volatile void* cmd_data) { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3555 const volatile gles2::cmds::GenVertexArraysOESImmediate& c = | 3705 const volatile gles2::cmds::GenVertexArraysOESImmediate& c = |
| 3556 *static_cast<const volatile gles2::cmds::GenVertexArraysOESImmediate*>( | 3706 *static_cast<const volatile gles2::cmds::GenVertexArraysOESImmediate*>( |
| 3557 cmd_data); | 3707 cmd_data); |
| 3558 GLsizei n = static_cast<GLsizei>(c.n); | 3708 GLsizei n = static_cast<GLsizei>(c.n); |
| 3559 uint32_t data_size; | 3709 uint32_t data_size; |
| 3560 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 3710 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 3561 return error::kOutOfBounds; | 3711 return error::kOutOfBounds; |
| 3562 } | 3712 } |
| 3563 volatile GLuint* arrays = | 3713 volatile GLuint* arrays = |
| 3564 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); | 3714 GetImmediateDataAs<volatile GLuint*>(c, data_size, immediate_data_size); |
| 3715 if (arrays == nullptr) { |
| 3716 return error::kOutOfBounds; |
| 3717 } |
| 3565 error::Error error = DoGenVertexArraysOES(n, arrays); | 3718 error::Error error = DoGenVertexArraysOES(n, arrays); |
| 3566 if (error != error::kNoError) { | 3719 if (error != error::kNoError) { |
| 3567 return error; | 3720 return error; |
| 3568 } | 3721 } |
| 3569 return error::kNoError; | 3722 return error::kNoError; |
| 3570 } | 3723 } |
| 3571 | 3724 |
| 3572 error::Error GLES2DecoderPassthroughImpl::HandleDeleteVertexArraysOESImmediate( | 3725 error::Error GLES2DecoderPassthroughImpl::HandleDeleteVertexArraysOESImmediate( |
| 3573 uint32_t immediate_data_size, | 3726 uint32_t immediate_data_size, |
| 3574 const volatile void* cmd_data) { | 3727 const volatile void* cmd_data) { |
| 3575 const volatile gles2::cmds::DeleteVertexArraysOESImmediate& c = | 3728 const volatile gles2::cmds::DeleteVertexArraysOESImmediate& c = |
| 3576 *static_cast<const volatile gles2::cmds::DeleteVertexArraysOESImmediate*>( | 3729 *static_cast<const volatile gles2::cmds::DeleteVertexArraysOESImmediate*>( |
| 3577 cmd_data); | 3730 cmd_data); |
| 3578 GLsizei n = static_cast<GLsizei>(c.n); | 3731 GLsizei n = static_cast<GLsizei>(c.n); |
| 3579 uint32_t data_size; | 3732 uint32_t data_size; |
| 3580 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { | 3733 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { |
| 3581 return error::kOutOfBounds; | 3734 return error::kOutOfBounds; |
| 3582 } | 3735 } |
| 3583 volatile const GLuint* arrays = GetImmediateDataAs<volatile const GLuint*>( | 3736 volatile const GLuint* arrays = GetImmediateDataAs<volatile const GLuint*>( |
| 3584 c, data_size, immediate_data_size); | 3737 c, data_size, immediate_data_size); |
| 3738 if (arrays == nullptr) { |
| 3739 return error::kOutOfBounds; |
| 3740 } |
| 3585 error::Error error = DoDeleteVertexArraysOES(n, arrays); | 3741 error::Error error = DoDeleteVertexArraysOES(n, arrays); |
| 3586 if (error != error::kNoError) { | 3742 if (error != error::kNoError) { |
| 3587 return error; | 3743 return error; |
| 3588 } | 3744 } |
| 3589 return error::kNoError; | 3745 return error::kNoError; |
| 3590 } | 3746 } |
| 3591 | 3747 |
| 3592 error::Error GLES2DecoderPassthroughImpl::HandleIsVertexArrayOES( | 3748 error::Error GLES2DecoderPassthroughImpl::HandleIsVertexArrayOES( |
| 3593 uint32_t immediate_data_size, | 3749 uint32_t immediate_data_size, |
| 3594 const volatile void* cmd_data) { | 3750 const volatile void* cmd_data) { |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3753 GLenum target = static_cast<GLenum>(c.target); | 3909 GLenum target = static_cast<GLenum>(c.target); |
| 3754 uint32_t data_size; | 3910 uint32_t data_size; |
| 3755 if (!GLES2Util::ComputeDataSize(1, sizeof(GLbyte), 16, &data_size)) { | 3911 if (!GLES2Util::ComputeDataSize(1, sizeof(GLbyte), 16, &data_size)) { |
| 3756 return error::kOutOfBounds; | 3912 return error::kOutOfBounds; |
| 3757 } | 3913 } |
| 3758 if (data_size > immediate_data_size) { | 3914 if (data_size > immediate_data_size) { |
| 3759 return error::kOutOfBounds; | 3915 return error::kOutOfBounds; |
| 3760 } | 3916 } |
| 3761 volatile const GLbyte* mailbox = GetImmediateDataAs<volatile const GLbyte*>( | 3917 volatile const GLbyte* mailbox = GetImmediateDataAs<volatile const GLbyte*>( |
| 3762 c, data_size, immediate_data_size); | 3918 c, data_size, immediate_data_size); |
| 3919 if (mailbox == nullptr) { |
| 3920 return error::kOutOfBounds; |
| 3921 } |
| 3763 error::Error error = DoProduceTextureCHROMIUM(target, mailbox); | 3922 error::Error error = DoProduceTextureCHROMIUM(target, mailbox); |
| 3764 if (error != error::kNoError) { | 3923 if (error != error::kNoError) { |
| 3765 return error; | 3924 return error; |
| 3766 } | 3925 } |
| 3767 return error::kNoError; | 3926 return error::kNoError; |
| 3768 } | 3927 } |
| 3769 | 3928 |
| 3770 error::Error | 3929 error::Error |
| 3771 GLES2DecoderPassthroughImpl::HandleProduceTextureDirectCHROMIUMImmediate( | 3930 GLES2DecoderPassthroughImpl::HandleProduceTextureDirectCHROMIUMImmediate( |
| 3772 uint32_t immediate_data_size, | 3931 uint32_t immediate_data_size, |
| 3773 const volatile void* cmd_data) { | 3932 const volatile void* cmd_data) { |
| 3774 const volatile gles2::cmds::ProduceTextureDirectCHROMIUMImmediate& c = | 3933 const volatile gles2::cmds::ProduceTextureDirectCHROMIUMImmediate& c = |
| 3775 *static_cast< | 3934 *static_cast< |
| 3776 const volatile gles2::cmds::ProduceTextureDirectCHROMIUMImmediate*>( | 3935 const volatile gles2::cmds::ProduceTextureDirectCHROMIUMImmediate*>( |
| 3777 cmd_data); | 3936 cmd_data); |
| 3778 GLuint texture = c.texture; | 3937 GLuint texture = c.texture; |
| 3779 GLenum target = static_cast<GLenum>(c.target); | 3938 GLenum target = static_cast<GLenum>(c.target); |
| 3780 uint32_t data_size; | 3939 uint32_t data_size; |
| 3781 if (!GLES2Util::ComputeDataSize(1, sizeof(GLbyte), 16, &data_size)) { | 3940 if (!GLES2Util::ComputeDataSize(1, sizeof(GLbyte), 16, &data_size)) { |
| 3782 return error::kOutOfBounds; | 3941 return error::kOutOfBounds; |
| 3783 } | 3942 } |
| 3784 if (data_size > immediate_data_size) { | 3943 if (data_size > immediate_data_size) { |
| 3785 return error::kOutOfBounds; | 3944 return error::kOutOfBounds; |
| 3786 } | 3945 } |
| 3787 volatile const GLbyte* mailbox = GetImmediateDataAs<volatile const GLbyte*>( | 3946 volatile const GLbyte* mailbox = GetImmediateDataAs<volatile const GLbyte*>( |
| 3788 c, data_size, immediate_data_size); | 3947 c, data_size, immediate_data_size); |
| 3948 if (mailbox == nullptr) { |
| 3949 return error::kOutOfBounds; |
| 3950 } |
| 3789 error::Error error = DoProduceTextureDirectCHROMIUM(texture, target, mailbox); | 3951 error::Error error = DoProduceTextureDirectCHROMIUM(texture, target, mailbox); |
| 3790 if (error != error::kNoError) { | 3952 if (error != error::kNoError) { |
| 3791 return error; | 3953 return error; |
| 3792 } | 3954 } |
| 3793 return error::kNoError; | 3955 return error::kNoError; |
| 3794 } | 3956 } |
| 3795 | 3957 |
| 3796 error::Error GLES2DecoderPassthroughImpl::HandleConsumeTextureCHROMIUMImmediate( | 3958 error::Error GLES2DecoderPassthroughImpl::HandleConsumeTextureCHROMIUMImmediate( |
| 3797 uint32_t immediate_data_size, | 3959 uint32_t immediate_data_size, |
| 3798 const volatile void* cmd_data) { | 3960 const volatile void* cmd_data) { |
| 3799 const volatile gles2::cmds::ConsumeTextureCHROMIUMImmediate& c = *static_cast< | 3961 const volatile gles2::cmds::ConsumeTextureCHROMIUMImmediate& c = *static_cast< |
| 3800 const volatile gles2::cmds::ConsumeTextureCHROMIUMImmediate*>(cmd_data); | 3962 const volatile gles2::cmds::ConsumeTextureCHROMIUMImmediate*>(cmd_data); |
| 3801 GLenum target = static_cast<GLenum>(c.target); | 3963 GLenum target = static_cast<GLenum>(c.target); |
| 3802 uint32_t data_size; | 3964 uint32_t data_size; |
| 3803 if (!GLES2Util::ComputeDataSize(1, sizeof(GLbyte), 16, &data_size)) { | 3965 if (!GLES2Util::ComputeDataSize(1, sizeof(GLbyte), 16, &data_size)) { |
| 3804 return error::kOutOfBounds; | 3966 return error::kOutOfBounds; |
| 3805 } | 3967 } |
| 3806 if (data_size > immediate_data_size) { | 3968 if (data_size > immediate_data_size) { |
| 3807 return error::kOutOfBounds; | 3969 return error::kOutOfBounds; |
| 3808 } | 3970 } |
| 3809 volatile const GLbyte* mailbox = GetImmediateDataAs<volatile const GLbyte*>( | 3971 volatile const GLbyte* mailbox = GetImmediateDataAs<volatile const GLbyte*>( |
| 3810 c, data_size, immediate_data_size); | 3972 c, data_size, immediate_data_size); |
| 3973 if (mailbox == nullptr) { |
| 3974 return error::kOutOfBounds; |
| 3975 } |
| 3811 error::Error error = DoConsumeTextureCHROMIUM(target, mailbox); | 3976 error::Error error = DoConsumeTextureCHROMIUM(target, mailbox); |
| 3812 if (error != error::kNoError) { | 3977 if (error != error::kNoError) { |
| 3813 return error; | 3978 return error; |
| 3814 } | 3979 } |
| 3815 return error::kNoError; | 3980 return error::kNoError; |
| 3816 } | 3981 } |
| 3817 | 3982 |
| 3818 error::Error | 3983 error::Error |
| 3819 GLES2DecoderPassthroughImpl::HandleCreateAndConsumeTextureINTERNALImmediate( | 3984 GLES2DecoderPassthroughImpl::HandleCreateAndConsumeTextureINTERNALImmediate( |
| 3820 uint32_t immediate_data_size, | 3985 uint32_t immediate_data_size, |
| 3821 const volatile void* cmd_data) { | 3986 const volatile void* cmd_data) { |
| 3822 const volatile gles2::cmds::CreateAndConsumeTextureINTERNALImmediate& c = | 3987 const volatile gles2::cmds::CreateAndConsumeTextureINTERNALImmediate& c = |
| 3823 *static_cast<const volatile gles2::cmds:: | 3988 *static_cast<const volatile gles2::cmds:: |
| 3824 CreateAndConsumeTextureINTERNALImmediate*>(cmd_data); | 3989 CreateAndConsumeTextureINTERNALImmediate*>(cmd_data); |
| 3825 GLenum target = static_cast<GLenum>(c.target); | 3990 GLenum target = static_cast<GLenum>(c.target); |
| 3826 GLuint texture = static_cast<GLuint>(c.texture); | 3991 GLuint texture = static_cast<GLuint>(c.texture); |
| 3827 uint32_t data_size; | 3992 uint32_t data_size; |
| 3828 if (!GLES2Util::ComputeDataSize(1, sizeof(GLbyte), 16, &data_size)) { | 3993 if (!GLES2Util::ComputeDataSize(1, sizeof(GLbyte), 16, &data_size)) { |
| 3829 return error::kOutOfBounds; | 3994 return error::kOutOfBounds; |
| 3830 } | 3995 } |
| 3831 if (data_size > immediate_data_size) { | 3996 if (data_size > immediate_data_size) { |
| 3832 return error::kOutOfBounds; | 3997 return error::kOutOfBounds; |
| 3833 } | 3998 } |
| 3834 volatile const GLbyte* mailbox = GetImmediateDataAs<volatile const GLbyte*>( | 3999 volatile const GLbyte* mailbox = GetImmediateDataAs<volatile const GLbyte*>( |
| 3835 c, data_size, immediate_data_size); | 4000 c, data_size, immediate_data_size); |
| 4001 if (mailbox == nullptr) { |
| 4002 return error::kOutOfBounds; |
| 4003 } |
| 3836 error::Error error = | 4004 error::Error error = |
| 3837 DoCreateAndConsumeTextureINTERNAL(target, texture, mailbox); | 4005 DoCreateAndConsumeTextureINTERNAL(target, texture, mailbox); |
| 3838 if (error != error::kNoError) { | 4006 if (error != error::kNoError) { |
| 3839 return error; | 4007 return error; |
| 3840 } | 4008 } |
| 3841 return error::kNoError; | 4009 return error::kNoError; |
| 3842 } | 4010 } |
| 3843 | 4011 |
| 3844 error::Error GLES2DecoderPassthroughImpl::HandleBindTexImage2DCHROMIUM( | 4012 error::Error GLES2DecoderPassthroughImpl::HandleBindTexImage2DCHROMIUM( |
| 3845 uint32_t immediate_data_size, | 4013 uint32_t immediate_data_size, |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3893 if (count >= 0 && | 4061 if (count >= 0 && |
| 3894 !GLES2Util::ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) { | 4062 !GLES2Util::ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) { |
| 3895 return error::kOutOfBounds; | 4063 return error::kOutOfBounds; |
| 3896 } | 4064 } |
| 3897 if (data_size > immediate_data_size) { | 4065 if (data_size > immediate_data_size) { |
| 3898 return error::kOutOfBounds; | 4066 return error::kOutOfBounds; |
| 3899 } | 4067 } |
| 3900 volatile const GLenum* attachments = | 4068 volatile const GLenum* attachments = |
| 3901 GetImmediateDataAs<volatile const GLenum*>(c, data_size, | 4069 GetImmediateDataAs<volatile const GLenum*>(c, data_size, |
| 3902 immediate_data_size); | 4070 immediate_data_size); |
| 4071 if (attachments == nullptr) { |
| 4072 return error::kOutOfBounds; |
| 4073 } |
| 3903 error::Error error = DoDiscardFramebufferEXT(target, count, attachments); | 4074 error::Error error = DoDiscardFramebufferEXT(target, count, attachments); |
| 3904 if (error != error::kNoError) { | 4075 if (error != error::kNoError) { |
| 3905 return error; | 4076 return error; |
| 3906 } | 4077 } |
| 3907 return error::kNoError; | 4078 return error::kNoError; |
| 3908 } | 4079 } |
| 3909 | 4080 |
| 3910 error::Error GLES2DecoderPassthroughImpl::HandleLoseContextCHROMIUM( | 4081 error::Error GLES2DecoderPassthroughImpl::HandleLoseContextCHROMIUM( |
| 3911 uint32_t immediate_data_size, | 4082 uint32_t immediate_data_size, |
| 3912 const volatile void* cmd_data) { | 4083 const volatile void* cmd_data) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 3931 uint32_t data_size = 0; | 4102 uint32_t data_size = 0; |
| 3932 if (count >= 0 && | 4103 if (count >= 0 && |
| 3933 !GLES2Util::ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) { | 4104 !GLES2Util::ComputeDataSize(count, sizeof(GLenum), 1, &data_size)) { |
| 3934 return error::kOutOfBounds; | 4105 return error::kOutOfBounds; |
| 3935 } | 4106 } |
| 3936 if (data_size > immediate_data_size) { | 4107 if (data_size > immediate_data_size) { |
| 3937 return error::kOutOfBounds; | 4108 return error::kOutOfBounds; |
| 3938 } | 4109 } |
| 3939 volatile const GLenum* bufs = GetImmediateDataAs<volatile const GLenum*>( | 4110 volatile const GLenum* bufs = GetImmediateDataAs<volatile const GLenum*>( |
| 3940 c, data_size, immediate_data_size); | 4111 c, data_size, immediate_data_size); |
| 4112 if (bufs == nullptr) { |
| 4113 return error::kOutOfBounds; |
| 4114 } |
| 3941 error::Error error = DoDrawBuffersEXT(count, bufs); | 4115 error::Error error = DoDrawBuffersEXT(count, bufs); |
| 3942 if (error != error::kNoError) { | 4116 if (error != error::kNoError) { |
| 3943 return error; | 4117 return error; |
| 3944 } | 4118 } |
| 3945 return error::kNoError; | 4119 return error::kNoError; |
| 3946 } | 4120 } |
| 3947 | 4121 |
| 3948 error::Error | 4122 error::Error |
| 3949 GLES2DecoderPassthroughImpl::HandleScheduleCALayerInUseQueryCHROMIUMImmediate( | 4123 GLES2DecoderPassthroughImpl::HandleScheduleCALayerInUseQueryCHROMIUMImmediate( |
| 3950 uint32_t immediate_data_size, | 4124 uint32_t immediate_data_size, |
| 3951 const volatile void* cmd_data) { | 4125 const volatile void* cmd_data) { |
| 3952 const volatile gles2::cmds::ScheduleCALayerInUseQueryCHROMIUMImmediate& c = | 4126 const volatile gles2::cmds::ScheduleCALayerInUseQueryCHROMIUMImmediate& c = |
| 3953 *static_cast<const volatile gles2::cmds:: | 4127 *static_cast<const volatile gles2::cmds:: |
| 3954 ScheduleCALayerInUseQueryCHROMIUMImmediate*>(cmd_data); | 4128 ScheduleCALayerInUseQueryCHROMIUMImmediate*>(cmd_data); |
| 3955 GLsizei count = static_cast<GLsizei>(c.count); | 4129 GLsizei count = static_cast<GLsizei>(c.count); |
| 3956 uint32_t data_size = 0; | 4130 uint32_t data_size = 0; |
| 3957 if (count >= 0 && | 4131 if (count >= 0 && |
| 3958 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 1, &data_size)) { | 4132 !GLES2Util::ComputeDataSize(count, sizeof(GLuint), 1, &data_size)) { |
| 3959 return error::kOutOfBounds; | 4133 return error::kOutOfBounds; |
| 3960 } | 4134 } |
| 3961 if (data_size > immediate_data_size) { | 4135 if (data_size > immediate_data_size) { |
| 3962 return error::kOutOfBounds; | 4136 return error::kOutOfBounds; |
| 3963 } | 4137 } |
| 3964 volatile const GLuint* textures = GetImmediateDataAs<volatile const GLuint*>( | 4138 volatile const GLuint* textures = GetImmediateDataAs<volatile const GLuint*>( |
| 3965 c, data_size, immediate_data_size); | 4139 c, data_size, immediate_data_size); |
| 4140 if (textures == nullptr) { |
| 4141 return error::kOutOfBounds; |
| 4142 } |
| 3966 error::Error error = DoScheduleCALayerInUseQueryCHROMIUM(count, textures); | 4143 error::Error error = DoScheduleCALayerInUseQueryCHROMIUM(count, textures); |
| 3967 if (error != error::kNoError) { | 4144 if (error != error::kNoError) { |
| 3968 return error; | 4145 return error; |
| 3969 } | 4146 } |
| 3970 return error::kNoError; | 4147 return error::kNoError; |
| 3971 } | 4148 } |
| 3972 | 4149 |
| 3973 error::Error GLES2DecoderPassthroughImpl::HandleCommitOverlayPlanesCHROMIUM( | 4150 error::Error GLES2DecoderPassthroughImpl::HandleCommitOverlayPlanesCHROMIUM( |
| 3974 uint32_t immediate_data_size, | 4151 uint32_t immediate_data_size, |
| 3975 const volatile void* cmd_data) { | 4152 const volatile void* cmd_data) { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4012 GLenum matrixMode = static_cast<GLenum>(c.matrixMode); | 4189 GLenum matrixMode = static_cast<GLenum>(c.matrixMode); |
| 4013 uint32_t data_size; | 4190 uint32_t data_size; |
| 4014 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 16, &data_size)) { | 4191 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 16, &data_size)) { |
| 4015 return error::kOutOfBounds; | 4192 return error::kOutOfBounds; |
| 4016 } | 4193 } |
| 4017 if (data_size > immediate_data_size) { | 4194 if (data_size > immediate_data_size) { |
| 4018 return error::kOutOfBounds; | 4195 return error::kOutOfBounds; |
| 4019 } | 4196 } |
| 4020 volatile const GLfloat* m = GetImmediateDataAs<volatile const GLfloat*>( | 4197 volatile const GLfloat* m = GetImmediateDataAs<volatile const GLfloat*>( |
| 4021 c, data_size, immediate_data_size); | 4198 c, data_size, immediate_data_size); |
| 4199 if (m == nullptr) { |
| 4200 return error::kOutOfBounds; |
| 4201 } |
| 4022 error::Error error = DoMatrixLoadfCHROMIUM(matrixMode, m); | 4202 error::Error error = DoMatrixLoadfCHROMIUM(matrixMode, m); |
| 4023 if (error != error::kNoError) { | 4203 if (error != error::kNoError) { |
| 4024 return error; | 4204 return error; |
| 4025 } | 4205 } |
| 4026 return error::kNoError; | 4206 return error::kNoError; |
| 4027 } | 4207 } |
| 4028 | 4208 |
| 4029 error::Error GLES2DecoderPassthroughImpl::HandleMatrixLoadIdentityCHROMIUM( | 4209 error::Error GLES2DecoderPassthroughImpl::HandleMatrixLoadIdentityCHROMIUM( |
| 4030 uint32_t immediate_data_size, | 4210 uint32_t immediate_data_size, |
| 4031 const volatile void* cmd_data) { | 4211 const volatile void* cmd_data) { |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4123 uint32_t data_size; | 4303 uint32_t data_size; |
| 4124 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 16, &data_size)) { | 4304 if (!GLES2Util::ComputeDataSize(1, sizeof(GLfloat), 16, &data_size)) { |
| 4125 return error::kOutOfBounds; | 4305 return error::kOutOfBounds; |
| 4126 } | 4306 } |
| 4127 if (data_size > immediate_data_size) { | 4307 if (data_size > immediate_data_size) { |
| 4128 return error::kOutOfBounds; | 4308 return error::kOutOfBounds; |
| 4129 } | 4309 } |
| 4130 volatile const GLfloat* transform = | 4310 volatile const GLfloat* transform = |
| 4131 GetImmediateDataAs<volatile const GLfloat*>(c, data_size, | 4311 GetImmediateDataAs<volatile const GLfloat*>(c, data_size, |
| 4132 immediate_data_size); | 4312 immediate_data_size); |
| 4313 if (transform == nullptr) { |
| 4314 return error::kOutOfBounds; |
| 4315 } |
| 4133 error::Error error = DoUniformMatrix4fvStreamTextureMatrixCHROMIUM( | 4316 error::Error error = DoUniformMatrix4fvStreamTextureMatrixCHROMIUM( |
| 4134 location, transpose, transform); | 4317 location, transpose, transform); |
| 4135 if (error != error::kNoError) { | 4318 if (error != error::kNoError) { |
| 4136 return error; | 4319 return error; |
| 4137 } | 4320 } |
| 4138 return error::kNoError; | 4321 return error::kNoError; |
| 4139 } | 4322 } |
| 4140 | 4323 |
| 4141 error::Error GLES2DecoderPassthroughImpl::HandleOverlayPromotionHintCHROMIUM( | 4324 error::Error GLES2DecoderPassthroughImpl::HandleOverlayPromotionHintCHROMIUM( |
| 4142 uint32_t immediate_data_size, | 4325 uint32_t immediate_data_size, |
| (...skipping 25 matching lines...) Expand all Loading... |
| 4168 uint32_t data_size = 0; | 4351 uint32_t data_size = 0; |
| 4169 if (count >= 0 && | 4352 if (count >= 0 && |
| 4170 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 4, &data_size)) { | 4353 !GLES2Util::ComputeDataSize(count, sizeof(GLint), 4, &data_size)) { |
| 4171 return error::kOutOfBounds; | 4354 return error::kOutOfBounds; |
| 4172 } | 4355 } |
| 4173 if (data_size > immediate_data_size) { | 4356 if (data_size > immediate_data_size) { |
| 4174 return error::kOutOfBounds; | 4357 return error::kOutOfBounds; |
| 4175 } | 4358 } |
| 4176 volatile const GLint* rects = GetImmediateDataAs<volatile const GLint*>( | 4359 volatile const GLint* rects = GetImmediateDataAs<volatile const GLint*>( |
| 4177 c, data_size, immediate_data_size); | 4360 c, data_size, immediate_data_size); |
| 4361 if (rects == nullptr) { |
| 4362 return error::kOutOfBounds; |
| 4363 } |
| 4178 error::Error error = DoSwapBuffersWithBoundsCHROMIUM(count, rects); | 4364 error::Error error = DoSwapBuffersWithBoundsCHROMIUM(count, rects); |
| 4179 if (error != error::kNoError) { | 4365 if (error != error::kNoError) { |
| 4180 return error; | 4366 return error; |
| 4181 } | 4367 } |
| 4182 return error::kNoError; | 4368 return error::kNoError; |
| 4183 } | 4369 } |
| 4184 | 4370 |
| 4185 } // namespace gles2 | 4371 } // namespace gles2 |
| 4186 } // namespace gpu | 4372 } // namespace gpu |
| OLD | NEW |