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

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

Issue 2447423002: Handle CompressedTex{Sub}Image{2|3}D interaction with PBO. (Closed)
Patch Set: rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 522 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 error::Error GLES2DecoderImpl::HandleCompileShader( 533 error::Error GLES2DecoderImpl::HandleCompileShader(
534 uint32_t immediate_data_size, 534 uint32_t immediate_data_size,
535 const volatile void* cmd_data) { 535 const volatile void* cmd_data) {
536 const volatile gles2::cmds::CompileShader& c = 536 const volatile gles2::cmds::CompileShader& c =
537 *static_cast<const volatile gles2::cmds::CompileShader*>(cmd_data); 537 *static_cast<const volatile gles2::cmds::CompileShader*>(cmd_data);
538 GLuint shader = c.shader; 538 GLuint shader = c.shader;
539 DoCompileShader(shader); 539 DoCompileShader(shader);
540 return error::kNoError; 540 return error::kNoError;
541 } 541 }
542 542
543 error::Error GLES2DecoderImpl::HandleCompressedTexSubImage2DBucket(
544 uint32_t immediate_data_size,
545 const volatile void* cmd_data) {
546 const volatile gles2::cmds::CompressedTexSubImage2DBucket& c =
547 *static_cast<const volatile gles2::cmds::CompressedTexSubImage2DBucket*>(
548 cmd_data);
549 GLenum target = static_cast<GLenum>(c.target);
550 GLint level = static_cast<GLint>(c.level);
551 GLint xoffset = static_cast<GLint>(c.xoffset);
552 GLint yoffset = static_cast<GLint>(c.yoffset);
553 GLsizei width = static_cast<GLsizei>(c.width);
554 GLsizei height = static_cast<GLsizei>(c.height);
555 GLenum format = static_cast<GLenum>(c.format);
556 GLuint bucket_id = static_cast<GLuint>(c.bucket_id);
557 Bucket* bucket = GetBucket(bucket_id);
558 if (!bucket)
559 return error::kInvalidArguments;
560 uint32_t data_size = bucket->size();
561 GLsizei imageSize = data_size;
562 const void* data = bucket->GetData(0, data_size);
563 DCHECK(data || !imageSize);
564 if (!validators_->texture_target.IsValid(target)) {
565 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage2D", target,
566 "target");
567 return error::kNoError;
568 }
569 if (width < 0) {
570 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
571 "width < 0");
572 return error::kNoError;
573 }
574 if (height < 0) {
575 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
576 "height < 0");
577 return error::kNoError;
578 }
579 if (!validators_->compressed_texture_format.IsValid(format)) {
580 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage2D", format,
581 "format");
582 return error::kNoError;
583 }
584 if (imageSize < 0) {
585 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
586 "imageSize < 0");
587 return error::kNoError;
588 }
589 DoCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height,
590 format, imageSize, data);
591 return error::kNoError;
592 }
593
594 error::Error GLES2DecoderImpl::HandleCompressedTexSubImage2D(
595 uint32_t immediate_data_size,
596 const volatile void* cmd_data) {
597 const volatile gles2::cmds::CompressedTexSubImage2D& c =
598 *static_cast<const volatile gles2::cmds::CompressedTexSubImage2D*>(
599 cmd_data);
600 GLenum target = static_cast<GLenum>(c.target);
601 GLint level = static_cast<GLint>(c.level);
602 GLint xoffset = static_cast<GLint>(c.xoffset);
603 GLint yoffset = static_cast<GLint>(c.yoffset);
604 GLsizei width = static_cast<GLsizei>(c.width);
605 GLsizei height = static_cast<GLsizei>(c.height);
606 GLenum format = static_cast<GLenum>(c.format);
607 GLsizei imageSize = static_cast<GLsizei>(c.imageSize);
608 uint32_t data_size = imageSize;
609 const void* data = GetSharedMemoryAs<const void*>(
610 c.data_shm_id, c.data_shm_offset, data_size);
611 if (!validators_->texture_target.IsValid(target)) {
612 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage2D", target,
613 "target");
614 return error::kNoError;
615 }
616 if (width < 0) {
617 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
618 "width < 0");
619 return error::kNoError;
620 }
621 if (height < 0) {
622 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
623 "height < 0");
624 return error::kNoError;
625 }
626 if (!validators_->compressed_texture_format.IsValid(format)) {
627 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage2D", format,
628 "format");
629 return error::kNoError;
630 }
631 if (imageSize < 0) {
632 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
633 "imageSize < 0");
634 return error::kNoError;
635 }
636 DoCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height,
637 format, imageSize, data);
638 return error::kNoError;
639 }
640
641 error::Error GLES2DecoderImpl::HandleCompressedTexImage3DBucket(
642 uint32_t immediate_data_size,
643 const volatile void* cmd_data) {
644 if (!feature_info_->IsWebGL2OrES3Context())
645 return error::kUnknownCommand;
646 const volatile gles2::cmds::CompressedTexImage3DBucket& c =
647 *static_cast<const volatile gles2::cmds::CompressedTexImage3DBucket*>(
648 cmd_data);
649 GLenum target = static_cast<GLenum>(c.target);
650 GLint level = static_cast<GLint>(c.level);
651 GLenum internalformat = static_cast<GLenum>(c.internalformat);
652 GLsizei width = static_cast<GLsizei>(c.width);
653 GLsizei height = static_cast<GLsizei>(c.height);
654 GLsizei depth = static_cast<GLsizei>(c.depth);
655 GLuint bucket_id = static_cast<GLuint>(c.bucket_id);
656 GLint border = static_cast<GLint>(c.border);
657 Bucket* bucket = GetBucket(bucket_id);
658 if (!bucket)
659 return error::kInvalidArguments;
660 uint32_t data_size = bucket->size();
661 GLsizei imageSize = data_size;
662 const void* data = bucket->GetData(0, data_size);
663 DCHECK(data || !imageSize);
664 if (!validators_->texture_3_d_target.IsValid(target)) {
665 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexImage3D", target, "target");
666 return error::kNoError;
667 }
668 if (!validators_->compressed_texture_format.IsValid(internalformat)) {
669 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexImage3D", internalformat,
670 "internalformat");
671 return error::kNoError;
672 }
673 if (width < 0) {
674 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D", "width < 0");
675 return error::kNoError;
676 }
677 if (height < 0) {
678 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D",
679 "height < 0");
680 return error::kNoError;
681 }
682 if (depth < 0) {
683 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D", "depth < 0");
684 return error::kNoError;
685 }
686 if (imageSize < 0) {
687 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D",
688 "imageSize < 0");
689 return error::kNoError;
690 }
691 DoCompressedTexImage3D(target, level, internalformat, width, height, depth,
692 border, imageSize, data);
693 return error::kNoError;
694 }
695
696 error::Error GLES2DecoderImpl::HandleCompressedTexImage3D(
697 uint32_t immediate_data_size,
698 const volatile void* cmd_data) {
699 if (!feature_info_->IsWebGL2OrES3Context())
700 return error::kUnknownCommand;
701 const volatile gles2::cmds::CompressedTexImage3D& c =
702 *static_cast<const volatile gles2::cmds::CompressedTexImage3D*>(cmd_data);
703 GLenum target = static_cast<GLenum>(c.target);
704 GLint level = static_cast<GLint>(c.level);
705 GLenum internalformat = static_cast<GLenum>(c.internalformat);
706 GLsizei width = static_cast<GLsizei>(c.width);
707 GLsizei height = static_cast<GLsizei>(c.height);
708 GLsizei depth = static_cast<GLsizei>(c.depth);
709 GLint border = static_cast<GLint>(c.border);
710 GLsizei imageSize = static_cast<GLsizei>(c.imageSize);
711 uint32_t data_size = imageSize;
712 const void* data = GetSharedMemoryAs<const void*>(
713 c.data_shm_id, c.data_shm_offset, data_size);
714 if (!validators_->texture_3_d_target.IsValid(target)) {
715 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexImage3D", target, "target");
716 return error::kNoError;
717 }
718 if (!validators_->compressed_texture_format.IsValid(internalformat)) {
719 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexImage3D", internalformat,
720 "internalformat");
721 return error::kNoError;
722 }
723 if (width < 0) {
724 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D", "width < 0");
725 return error::kNoError;
726 }
727 if (height < 0) {
728 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D",
729 "height < 0");
730 return error::kNoError;
731 }
732 if (depth < 0) {
733 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D", "depth < 0");
734 return error::kNoError;
735 }
736 if (imageSize < 0) {
737 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D",
738 "imageSize < 0");
739 return error::kNoError;
740 }
741 DoCompressedTexImage3D(target, level, internalformat, width, height, depth,
742 border, imageSize, data);
743 return error::kNoError;
744 }
745
746 error::Error GLES2DecoderImpl::HandleCompressedTexSubImage3DBucket(
747 uint32_t immediate_data_size,
748 const volatile void* cmd_data) {
749 if (!feature_info_->IsWebGL2OrES3Context())
750 return error::kUnknownCommand;
751 const volatile gles2::cmds::CompressedTexSubImage3DBucket& c =
752 *static_cast<const volatile gles2::cmds::CompressedTexSubImage3DBucket*>(
753 cmd_data);
754 GLenum target = static_cast<GLenum>(c.target);
755 GLint level = static_cast<GLint>(c.level);
756 GLint xoffset = static_cast<GLint>(c.xoffset);
757 GLint yoffset = static_cast<GLint>(c.yoffset);
758 GLint zoffset = static_cast<GLint>(c.zoffset);
759 GLsizei width = static_cast<GLsizei>(c.width);
760 GLsizei height = static_cast<GLsizei>(c.height);
761 GLsizei depth = static_cast<GLsizei>(c.depth);
762 GLenum format = static_cast<GLenum>(c.format);
763 GLuint bucket_id = static_cast<GLuint>(c.bucket_id);
764 Bucket* bucket = GetBucket(bucket_id);
765 if (!bucket)
766 return error::kInvalidArguments;
767 uint32_t data_size = bucket->size();
768 GLsizei imageSize = data_size;
769 const void* data = bucket->GetData(0, data_size);
770 DCHECK(data || !imageSize);
771 if (!validators_->texture_3_d_target.IsValid(target)) {
772 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage3D", target,
773 "target");
774 return error::kNoError;
775 }
776 if (width < 0) {
777 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
778 "width < 0");
779 return error::kNoError;
780 }
781 if (height < 0) {
782 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
783 "height < 0");
784 return error::kNoError;
785 }
786 if (depth < 0) {
787 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
788 "depth < 0");
789 return error::kNoError;
790 }
791 if (!validators_->compressed_texture_format.IsValid(format)) {
792 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage3D", format,
793 "format");
794 return error::kNoError;
795 }
796 if (imageSize < 0) {
797 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
798 "imageSize < 0");
799 return error::kNoError;
800 }
801 DoCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width,
802 height, depth, format, imageSize, data);
803 return error::kNoError;
804 }
805
806 error::Error GLES2DecoderImpl::HandleCompressedTexSubImage3D(
807 uint32_t immediate_data_size,
808 const volatile void* cmd_data) {
809 if (!feature_info_->IsWebGL2OrES3Context())
810 return error::kUnknownCommand;
811 const volatile gles2::cmds::CompressedTexSubImage3D& c =
812 *static_cast<const volatile gles2::cmds::CompressedTexSubImage3D*>(
813 cmd_data);
814 GLenum target = static_cast<GLenum>(c.target);
815 GLint level = static_cast<GLint>(c.level);
816 GLint xoffset = static_cast<GLint>(c.xoffset);
817 GLint yoffset = static_cast<GLint>(c.yoffset);
818 GLint zoffset = static_cast<GLint>(c.zoffset);
819 GLsizei width = static_cast<GLsizei>(c.width);
820 GLsizei height = static_cast<GLsizei>(c.height);
821 GLsizei depth = static_cast<GLsizei>(c.depth);
822 GLenum format = static_cast<GLenum>(c.format);
823 GLsizei imageSize = static_cast<GLsizei>(c.imageSize);
824 uint32_t data_size = imageSize;
825 const void* data = GetSharedMemoryAs<const void*>(
826 c.data_shm_id, c.data_shm_offset, data_size);
827 if (!validators_->texture_3_d_target.IsValid(target)) {
828 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage3D", target,
829 "target");
830 return error::kNoError;
831 }
832 if (width < 0) {
833 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
834 "width < 0");
835 return error::kNoError;
836 }
837 if (height < 0) {
838 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
839 "height < 0");
840 return error::kNoError;
841 }
842 if (depth < 0) {
843 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
844 "depth < 0");
845 return error::kNoError;
846 }
847 if (!validators_->compressed_texture_format.IsValid(format)) {
848 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage3D", format,
849 "format");
850 return error::kNoError;
851 }
852 if (imageSize < 0) {
853 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
854 "imageSize < 0");
855 return error::kNoError;
856 }
857 DoCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width,
858 height, depth, format, imageSize, data);
859 return error::kNoError;
860 }
861
862 error::Error GLES2DecoderImpl::HandleCopyBufferSubData( 543 error::Error GLES2DecoderImpl::HandleCopyBufferSubData(
863 uint32_t immediate_data_size, 544 uint32_t immediate_data_size,
864 const volatile void* cmd_data) { 545 const volatile void* cmd_data) {
865 if (!feature_info_->IsWebGL2OrES3Context()) 546 if (!feature_info_->IsWebGL2OrES3Context())
866 return error::kUnknownCommand; 547 return error::kUnknownCommand;
867 const volatile gles2::cmds::CopyBufferSubData& c = 548 const volatile gles2::cmds::CopyBufferSubData& c =
868 *static_cast<const volatile gles2::cmds::CopyBufferSubData*>(cmd_data); 549 *static_cast<const volatile gles2::cmds::CopyBufferSubData*>(cmd_data);
869 GLenum readtarget = static_cast<GLenum>(c.readtarget); 550 GLenum readtarget = static_cast<GLenum>(c.readtarget);
870 GLenum writetarget = static_cast<GLenum>(c.writetarget); 551 GLenum writetarget = static_cast<GLenum>(c.writetarget);
871 GLintptr readoffset = static_cast<GLintptr>(c.readoffset); 552 GLintptr readoffset = static_cast<GLintptr>(c.readoffset);
(...skipping 4652 matching lines...) Expand 10 before | Expand all | Expand 10 after
5524 state_.enable_flags.cached_sample_alpha_to_one_ext = enabled; 5205 state_.enable_flags.cached_sample_alpha_to_one_ext = enabled;
5525 return true; 5206 return true;
5526 } 5207 }
5527 return false; 5208 return false;
5528 default: 5209 default:
5529 NOTREACHED(); 5210 NOTREACHED();
5530 return false; 5211 return false;
5531 } 5212 }
5532 } 5213 }
5533 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ 5214 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698