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

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

Issue 812543002: Update from https://crrev.com/308331 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 GLenum target = static_cast<GLenum>(c.target); 73 GLenum target = static_cast<GLenum>(c.target);
74 GLuint renderbuffer = c.renderbuffer; 74 GLuint renderbuffer = c.renderbuffer;
75 if (!validators_->render_buffer_target.IsValid(target)) { 75 if (!validators_->render_buffer_target.IsValid(target)) {
76 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindRenderbuffer", target, "target"); 76 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindRenderbuffer", target, "target");
77 return error::kNoError; 77 return error::kNoError;
78 } 78 }
79 DoBindRenderbuffer(target, renderbuffer); 79 DoBindRenderbuffer(target, renderbuffer);
80 return error::kNoError; 80 return error::kNoError;
81 } 81 }
82 82
83 error::Error GLES2DecoderImpl::HandleBindSampler(uint32_t immediate_data_size,
84 const void* cmd_data) {
85 if (!unsafe_es3_apis_enabled())
86 return error::kUnknownCommand;
87 const gles2::cmds::BindSampler& c =
88 *static_cast<const gles2::cmds::BindSampler*>(cmd_data);
89 (void)c;
90 GLuint unit = static_cast<GLuint>(c.unit);
91 GLuint sampler = c.sampler;
92 group_->GetSamplerServiceId(sampler, &sampler);
93 glBindSampler(unit, sampler);
94 return error::kNoError;
95 }
96
83 error::Error GLES2DecoderImpl::HandleBindTexture(uint32_t immediate_data_size, 97 error::Error GLES2DecoderImpl::HandleBindTexture(uint32_t immediate_data_size,
84 const void* cmd_data) { 98 const void* cmd_data) {
85 const gles2::cmds::BindTexture& c = 99 const gles2::cmds::BindTexture& c =
86 *static_cast<const gles2::cmds::BindTexture*>(cmd_data); 100 *static_cast<const gles2::cmds::BindTexture*>(cmd_data);
87 (void)c; 101 (void)c;
88 GLenum target = static_cast<GLenum>(c.target); 102 GLenum target = static_cast<GLenum>(c.target);
89 GLuint texture = c.texture; 103 GLuint texture = c.texture;
90 if (!validators_->texture_bind_target.IsValid(target)) { 104 if (!validators_->texture_bind_target.IsValid(target)) {
91 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindTexture", target, "target"); 105 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindTexture", target, "target");
92 return error::kNoError; 106 return error::kNoError;
93 } 107 }
94 DoBindTexture(target, texture); 108 DoBindTexture(target, texture);
95 return error::kNoError; 109 return error::kNoError;
96 } 110 }
97 111
112 error::Error GLES2DecoderImpl::HandleBindTransformFeedback(
113 uint32_t immediate_data_size,
114 const void* cmd_data) {
115 if (!unsafe_es3_apis_enabled())
116 return error::kUnknownCommand;
117 const gles2::cmds::BindTransformFeedback& c =
118 *static_cast<const gles2::cmds::BindTransformFeedback*>(cmd_data);
119 (void)c;
120 GLenum target = static_cast<GLenum>(c.target);
121 GLuint transformfeedback = c.transformfeedback;
122 group_->GetTransformFeedbackServiceId(transformfeedback, &transformfeedback);
123 glBindTransformFeedback(target, transformfeedback);
124 return error::kNoError;
125 }
126
98 error::Error GLES2DecoderImpl::HandleBlendColor(uint32_t immediate_data_size, 127 error::Error GLES2DecoderImpl::HandleBlendColor(uint32_t immediate_data_size,
99 const void* cmd_data) { 128 const void* cmd_data) {
100 const gles2::cmds::BlendColor& c = 129 const gles2::cmds::BlendColor& c =
101 *static_cast<const gles2::cmds::BlendColor*>(cmd_data); 130 *static_cast<const gles2::cmds::BlendColor*>(cmd_data);
102 (void)c; 131 (void)c;
103 GLclampf red = static_cast<GLclampf>(c.red); 132 GLclampf red = static_cast<GLclampf>(c.red);
104 GLclampf green = static_cast<GLclampf>(c.green); 133 GLclampf green = static_cast<GLclampf>(c.green);
105 GLclampf blue = static_cast<GLclampf>(c.blue); 134 GLclampf blue = static_cast<GLclampf>(c.blue);
106 GLclampf alpha = static_cast<GLclampf>(c.alpha); 135 GLclampf alpha = static_cast<GLclampf>(c.alpha);
107 if (state_.blend_color_red != red || state_.blend_color_green != green || 136 if (state_.blend_color_red != red || state_.blend_color_green != green ||
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 } 638 }
610 const GLuint* renderbuffers = 639 const GLuint* renderbuffers =
611 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size); 640 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size);
612 if (renderbuffers == NULL) { 641 if (renderbuffers == NULL) {
613 return error::kOutOfBounds; 642 return error::kOutOfBounds;
614 } 643 }
615 DeleteRenderbuffersHelper(n, renderbuffers); 644 DeleteRenderbuffersHelper(n, renderbuffers);
616 return error::kNoError; 645 return error::kNoError;
617 } 646 }
618 647
648 error::Error GLES2DecoderImpl::HandleDeleteSamplersImmediate(
649 uint32_t immediate_data_size,
650 const void* cmd_data) {
651 if (!unsafe_es3_apis_enabled())
652 return error::kUnknownCommand;
653 const gles2::cmds::DeleteSamplersImmediate& c =
654 *static_cast<const gles2::cmds::DeleteSamplersImmediate*>(cmd_data);
655 (void)c;
656 GLsizei n = static_cast<GLsizei>(c.n);
657 uint32_t data_size;
658 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) {
659 return error::kOutOfBounds;
660 }
661 const GLuint* samplers =
662 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size);
663 if (samplers == NULL) {
664 return error::kOutOfBounds;
665 }
666 for (GLsizei ii = 0; ii < n; ++ii) {
667 GLuint service_id = 0;
668 if (group_->GetSamplerServiceId(samplers[ii], &service_id)) {
669 glDeleteSamplers(1, &service_id);
670 group_->RemoveSamplerId(samplers[ii]);
671 }
672 }
673 return error::kNoError;
674 }
675
619 error::Error GLES2DecoderImpl::HandleDeleteTexturesImmediate( 676 error::Error GLES2DecoderImpl::HandleDeleteTexturesImmediate(
620 uint32_t immediate_data_size, 677 uint32_t immediate_data_size,
621 const void* cmd_data) { 678 const void* cmd_data) {
622 const gles2::cmds::DeleteTexturesImmediate& c = 679 const gles2::cmds::DeleteTexturesImmediate& c =
623 *static_cast<const gles2::cmds::DeleteTexturesImmediate*>(cmd_data); 680 *static_cast<const gles2::cmds::DeleteTexturesImmediate*>(cmd_data);
624 (void)c; 681 (void)c;
625 GLsizei n = static_cast<GLsizei>(c.n); 682 GLsizei n = static_cast<GLsizei>(c.n);
626 uint32_t data_size; 683 uint32_t data_size;
627 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { 684 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) {
628 return error::kOutOfBounds; 685 return error::kOutOfBounds;
629 } 686 }
630 const GLuint* textures = 687 const GLuint* textures =
631 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size); 688 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size);
632 if (textures == NULL) { 689 if (textures == NULL) {
633 return error::kOutOfBounds; 690 return error::kOutOfBounds;
634 } 691 }
635 DeleteTexturesHelper(n, textures); 692 DeleteTexturesHelper(n, textures);
636 return error::kNoError; 693 return error::kNoError;
637 } 694 }
638 695
696 error::Error GLES2DecoderImpl::HandleDeleteTransformFeedbacksImmediate(
697 uint32_t immediate_data_size,
698 const void* cmd_data) {
699 if (!unsafe_es3_apis_enabled())
700 return error::kUnknownCommand;
701 const gles2::cmds::DeleteTransformFeedbacksImmediate& c =
702 *static_cast<const gles2::cmds::DeleteTransformFeedbacksImmediate*>(
703 cmd_data);
704 (void)c;
705 GLsizei n = static_cast<GLsizei>(c.n);
706 uint32_t data_size;
707 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) {
708 return error::kOutOfBounds;
709 }
710 const GLuint* ids =
711 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size);
712 if (ids == NULL) {
713 return error::kOutOfBounds;
714 }
715 for (GLsizei ii = 0; ii < n; ++ii) {
716 GLuint service_id = 0;
717 if (group_->GetTransformFeedbackServiceId(ids[ii], &service_id)) {
718 glDeleteTransformFeedbacks(1, &service_id);
719 group_->RemoveTransformFeedbackId(ids[ii]);
720 }
721 }
722 return error::kNoError;
723 }
724
639 error::Error GLES2DecoderImpl::HandleDepthFunc(uint32_t immediate_data_size, 725 error::Error GLES2DecoderImpl::HandleDepthFunc(uint32_t immediate_data_size,
640 const void* cmd_data) { 726 const void* cmd_data) {
641 const gles2::cmds::DepthFunc& c = 727 const gles2::cmds::DepthFunc& c =
642 *static_cast<const gles2::cmds::DepthFunc*>(cmd_data); 728 *static_cast<const gles2::cmds::DepthFunc*>(cmd_data);
643 (void)c; 729 (void)c;
644 GLenum func = static_cast<GLenum>(c.func); 730 GLenum func = static_cast<GLenum>(c.func);
645 if (!validators_->cmp_function.IsValid(func)) { 731 if (!validators_->cmp_function.IsValid(func)) {
646 LOCAL_SET_GL_ERROR_INVALID_ENUM("glDepthFunc", func, "func"); 732 LOCAL_SET_GL_ERROR_INVALID_ENUM("glDepthFunc", func, "func");
647 return error::kNoError; 733 return error::kNoError;
648 } 734 }
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
927 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size); 1013 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size);
928 if (renderbuffers == NULL) { 1014 if (renderbuffers == NULL) {
929 return error::kOutOfBounds; 1015 return error::kOutOfBounds;
930 } 1016 }
931 if (!GenRenderbuffersHelper(n, renderbuffers)) { 1017 if (!GenRenderbuffersHelper(n, renderbuffers)) {
932 return error::kInvalidArguments; 1018 return error::kInvalidArguments;
933 } 1019 }
934 return error::kNoError; 1020 return error::kNoError;
935 } 1021 }
936 1022
1023 error::Error GLES2DecoderImpl::HandleGenSamplersImmediate(
1024 uint32_t immediate_data_size,
1025 const void* cmd_data) {
1026 if (!unsafe_es3_apis_enabled())
1027 return error::kUnknownCommand;
1028 const gles2::cmds::GenSamplersImmediate& c =
1029 *static_cast<const gles2::cmds::GenSamplersImmediate*>(cmd_data);
1030 (void)c;
1031 GLsizei n = static_cast<GLsizei>(c.n);
1032 uint32_t data_size;
1033 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) {
1034 return error::kOutOfBounds;
1035 }
1036 GLuint* samplers =
1037 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size);
1038 if (samplers == NULL) {
1039 return error::kOutOfBounds;
1040 }
1041 for (GLsizei ii = 0; ii < n; ++ii) {
1042 if (group_->GetSamplerServiceId(samplers[ii], NULL)) {
1043 return error::kInvalidArguments;
1044 }
1045 }
1046 scoped_ptr<GLuint[]> service_ids(new GLuint[n]);
1047 glGenSamplers(n, service_ids.get());
1048 for (GLsizei ii = 0; ii < n; ++ii) {
1049 group_->AddSamplerId(samplers[ii], service_ids[ii]);
1050 }
1051 return error::kNoError;
1052 }
1053
937 error::Error GLES2DecoderImpl::HandleGenTexturesImmediate( 1054 error::Error GLES2DecoderImpl::HandleGenTexturesImmediate(
938 uint32_t immediate_data_size, 1055 uint32_t immediate_data_size,
939 const void* cmd_data) { 1056 const void* cmd_data) {
940 const gles2::cmds::GenTexturesImmediate& c = 1057 const gles2::cmds::GenTexturesImmediate& c =
941 *static_cast<const gles2::cmds::GenTexturesImmediate*>(cmd_data); 1058 *static_cast<const gles2::cmds::GenTexturesImmediate*>(cmd_data);
942 (void)c; 1059 (void)c;
943 GLsizei n = static_cast<GLsizei>(c.n); 1060 GLsizei n = static_cast<GLsizei>(c.n);
944 uint32_t data_size; 1061 uint32_t data_size;
945 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { 1062 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) {
946 return error::kOutOfBounds; 1063 return error::kOutOfBounds;
947 } 1064 }
948 GLuint* textures = 1065 GLuint* textures =
949 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size); 1066 GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size);
950 if (textures == NULL) { 1067 if (textures == NULL) {
951 return error::kOutOfBounds; 1068 return error::kOutOfBounds;
952 } 1069 }
953 if (!GenTexturesHelper(n, textures)) { 1070 if (!GenTexturesHelper(n, textures)) {
954 return error::kInvalidArguments; 1071 return error::kInvalidArguments;
955 } 1072 }
956 return error::kNoError; 1073 return error::kNoError;
957 } 1074 }
958 1075
1076 error::Error GLES2DecoderImpl::HandleGenTransformFeedbacksImmediate(
1077 uint32_t immediate_data_size,
1078 const void* cmd_data) {
1079 if (!unsafe_es3_apis_enabled())
1080 return error::kUnknownCommand;
1081 const gles2::cmds::GenTransformFeedbacksImmediate& c =
1082 *static_cast<const gles2::cmds::GenTransformFeedbacksImmediate*>(
1083 cmd_data);
1084 (void)c;
1085 GLsizei n = static_cast<GLsizei>(c.n);
1086 uint32_t data_size;
1087 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) {
1088 return error::kOutOfBounds;
1089 }
1090 GLuint* ids = GetImmediateDataAs<GLuint*>(c, data_size, immediate_data_size);
1091 if (ids == NULL) {
1092 return error::kOutOfBounds;
1093 }
1094 for (GLsizei ii = 0; ii < n; ++ii) {
1095 if (group_->GetTransformFeedbackServiceId(ids[ii], NULL)) {
1096 return error::kInvalidArguments;
1097 }
1098 }
1099 scoped_ptr<GLuint[]> service_ids(new GLuint[n]);
1100 glGenTransformFeedbacks(n, service_ids.get());
1101 for (GLsizei ii = 0; ii < n; ++ii) {
1102 group_->AddTransformFeedbackId(ids[ii], service_ids[ii]);
1103 }
1104 return error::kNoError;
1105 }
1106
959 error::Error GLES2DecoderImpl::HandleGetBooleanv(uint32_t immediate_data_size, 1107 error::Error GLES2DecoderImpl::HandleGetBooleanv(uint32_t immediate_data_size,
960 const void* cmd_data) { 1108 const void* cmd_data) {
961 const gles2::cmds::GetBooleanv& c = 1109 const gles2::cmds::GetBooleanv& c =
962 *static_cast<const gles2::cmds::GetBooleanv*>(cmd_data); 1110 *static_cast<const gles2::cmds::GetBooleanv*>(cmd_data);
963 (void)c; 1111 (void)c;
964 GLenum pname = static_cast<GLenum>(c.pname); 1112 GLenum pname = static_cast<GLenum>(c.pname);
965 typedef cmds::GetBooleanv::Result Result; 1113 typedef cmds::GetBooleanv::Result Result;
966 GLsizei num_values = 0; 1114 GLsizei num_values = 0;
967 GetNumValuesReturnedForGLGet(pname, &num_values); 1115 GetNumValuesReturnedForGLGet(pname, &num_values);
968 Result* result = GetSharedMemoryAs<Result*>( 1116 Result* result = GetSharedMemoryAs<Result*>(
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
1266 DoGetRenderbufferParameteriv(target, pname, params); 1414 DoGetRenderbufferParameteriv(target, pname, params);
1267 GLenum error = glGetError(); 1415 GLenum error = glGetError();
1268 if (error == GL_NO_ERROR) { 1416 if (error == GL_NO_ERROR) {
1269 result->SetNumResults(num_values); 1417 result->SetNumResults(num_values);
1270 } else { 1418 } else {
1271 LOCAL_SET_GL_ERROR(error, "GetRenderbufferParameteriv", ""); 1419 LOCAL_SET_GL_ERROR(error, "GetRenderbufferParameteriv", "");
1272 } 1420 }
1273 return error::kNoError; 1421 return error::kNoError;
1274 } 1422 }
1275 1423
1424 error::Error GLES2DecoderImpl::HandleGetSamplerParameterfv(
1425 uint32_t immediate_data_size,
1426 const void* cmd_data) {
1427 if (!unsafe_es3_apis_enabled())
1428 return error::kUnknownCommand;
1429 const gles2::cmds::GetSamplerParameterfv& c =
1430 *static_cast<const gles2::cmds::GetSamplerParameterfv*>(cmd_data);
1431 (void)c;
1432 GLuint sampler = c.sampler;
1433 GLenum pname = static_cast<GLenum>(c.pname);
1434 typedef cmds::GetSamplerParameterfv::Result Result;
1435 GLsizei num_values = 0;
1436 GetNumValuesReturnedForGLGet(pname, &num_values);
1437 Result* result = GetSharedMemoryAs<Result*>(
1438 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values));
1439 GLfloat* params = result ? result->GetData() : NULL;
1440 if (params == NULL) {
1441 return error::kOutOfBounds;
1442 }
1443 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameterfv");
1444 // Check that the client initialized the result.
1445 if (result->size != 0) {
1446 return error::kInvalidArguments;
1447 }
1448 group_->GetSamplerServiceId(sampler, &sampler);
1449 glGetSamplerParameterfv(sampler, pname, params);
1450 GLenum error = glGetError();
1451 if (error == GL_NO_ERROR) {
1452 result->SetNumResults(num_values);
1453 } else {
1454 LOCAL_SET_GL_ERROR(error, "GetSamplerParameterfv", "");
1455 }
1456 return error::kNoError;
1457 }
1458
1459 error::Error GLES2DecoderImpl::HandleGetSamplerParameteriv(
1460 uint32_t immediate_data_size,
1461 const void* cmd_data) {
1462 if (!unsafe_es3_apis_enabled())
1463 return error::kUnknownCommand;
1464 const gles2::cmds::GetSamplerParameteriv& c =
1465 *static_cast<const gles2::cmds::GetSamplerParameteriv*>(cmd_data);
1466 (void)c;
1467 GLuint sampler = c.sampler;
1468 GLenum pname = static_cast<GLenum>(c.pname);
1469 typedef cmds::GetSamplerParameteriv::Result Result;
1470 GLsizei num_values = 0;
1471 GetNumValuesReturnedForGLGet(pname, &num_values);
1472 Result* result = GetSharedMemoryAs<Result*>(
1473 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values));
1474 GLint* params = result ? result->GetData() : NULL;
1475 if (params == NULL) {
1476 return error::kOutOfBounds;
1477 }
1478 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameteriv");
1479 // Check that the client initialized the result.
1480 if (result->size != 0) {
1481 return error::kInvalidArguments;
1482 }
1483 group_->GetSamplerServiceId(sampler, &sampler);
1484 glGetSamplerParameteriv(sampler, pname, params);
1485 GLenum error = glGetError();
1486 if (error == GL_NO_ERROR) {
1487 result->SetNumResults(num_values);
1488 } else {
1489 LOCAL_SET_GL_ERROR(error, "GetSamplerParameteriv", "");
1490 }
1491 return error::kNoError;
1492 }
1493
1276 error::Error GLES2DecoderImpl::HandleGetShaderiv(uint32_t immediate_data_size, 1494 error::Error GLES2DecoderImpl::HandleGetShaderiv(uint32_t immediate_data_size,
1277 const void* cmd_data) { 1495 const void* cmd_data) {
1278 const gles2::cmds::GetShaderiv& c = 1496 const gles2::cmds::GetShaderiv& c =
1279 *static_cast<const gles2::cmds::GetShaderiv*>(cmd_data); 1497 *static_cast<const gles2::cmds::GetShaderiv*>(cmd_data);
1280 (void)c; 1498 (void)c;
1281 GLuint shader = c.shader; 1499 GLuint shader = c.shader;
1282 GLenum pname = static_cast<GLenum>(c.pname); 1500 GLenum pname = static_cast<GLenum>(c.pname);
1283 typedef cmds::GetShaderiv::Result Result; 1501 typedef cmds::GetShaderiv::Result Result;
1284 GLsizei num_values = 0; 1502 GLsizei num_values = 0;
1285 GetNumValuesReturnedForGLGet(pname, &num_values); 1503 GetNumValuesReturnedForGLGet(pname, &num_values);
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
1639 typedef cmds::IsRenderbuffer::Result Result; 1857 typedef cmds::IsRenderbuffer::Result Result;
1640 Result* result_dst = GetSharedMemoryAs<Result*>( 1858 Result* result_dst = GetSharedMemoryAs<Result*>(
1641 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 1859 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
1642 if (!result_dst) { 1860 if (!result_dst) {
1643 return error::kOutOfBounds; 1861 return error::kOutOfBounds;
1644 } 1862 }
1645 *result_dst = DoIsRenderbuffer(renderbuffer); 1863 *result_dst = DoIsRenderbuffer(renderbuffer);
1646 return error::kNoError; 1864 return error::kNoError;
1647 } 1865 }
1648 1866
1867 error::Error GLES2DecoderImpl::HandleIsSampler(uint32_t immediate_data_size,
1868 const void* cmd_data) {
1869 if (!unsafe_es3_apis_enabled())
1870 return error::kUnknownCommand;
1871 const gles2::cmds::IsSampler& c =
1872 *static_cast<const gles2::cmds::IsSampler*>(cmd_data);
1873 (void)c;
1874 GLuint sampler = c.sampler;
1875 typedef cmds::IsSampler::Result Result;
1876 Result* result_dst = GetSharedMemoryAs<Result*>(
1877 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
1878 if (!result_dst) {
1879 return error::kOutOfBounds;
1880 }
1881 group_->GetSamplerServiceId(sampler, &sampler);
1882 *result_dst = glIsSampler(sampler);
1883 return error::kNoError;
1884 }
1885
1649 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size, 1886 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size,
1650 const void* cmd_data) { 1887 const void* cmd_data) {
1651 const gles2::cmds::IsShader& c = 1888 const gles2::cmds::IsShader& c =
1652 *static_cast<const gles2::cmds::IsShader*>(cmd_data); 1889 *static_cast<const gles2::cmds::IsShader*>(cmd_data);
1653 (void)c; 1890 (void)c;
1654 GLuint shader = c.shader; 1891 GLuint shader = c.shader;
1655 typedef cmds::IsShader::Result Result; 1892 typedef cmds::IsShader::Result Result;
1656 Result* result_dst = GetSharedMemoryAs<Result*>( 1893 Result* result_dst = GetSharedMemoryAs<Result*>(
1657 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 1894 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
1658 if (!result_dst) { 1895 if (!result_dst) {
(...skipping 12 matching lines...) Expand all
1671 typedef cmds::IsTexture::Result Result; 1908 typedef cmds::IsTexture::Result Result;
1672 Result* result_dst = GetSharedMemoryAs<Result*>( 1909 Result* result_dst = GetSharedMemoryAs<Result*>(
1673 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 1910 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
1674 if (!result_dst) { 1911 if (!result_dst) {
1675 return error::kOutOfBounds; 1912 return error::kOutOfBounds;
1676 } 1913 }
1677 *result_dst = DoIsTexture(texture); 1914 *result_dst = DoIsTexture(texture);
1678 return error::kNoError; 1915 return error::kNoError;
1679 } 1916 }
1680 1917
1918 error::Error GLES2DecoderImpl::HandleIsTransformFeedback(
1919 uint32_t immediate_data_size,
1920 const void* cmd_data) {
1921 if (!unsafe_es3_apis_enabled())
1922 return error::kUnknownCommand;
1923 const gles2::cmds::IsTransformFeedback& c =
1924 *static_cast<const gles2::cmds::IsTransformFeedback*>(cmd_data);
1925 (void)c;
1926 GLuint transformfeedback = c.transformfeedback;
1927 typedef cmds::IsTransformFeedback::Result Result;
1928 Result* result_dst = GetSharedMemoryAs<Result*>(
1929 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
1930 if (!result_dst) {
1931 return error::kOutOfBounds;
1932 }
1933 group_->GetTransformFeedbackServiceId(transformfeedback, &transformfeedback);
1934 *result_dst = glIsTransformFeedback(transformfeedback);
1935 return error::kNoError;
1936 }
1937
1681 error::Error GLES2DecoderImpl::HandleLineWidth(uint32_t immediate_data_size, 1938 error::Error GLES2DecoderImpl::HandleLineWidth(uint32_t immediate_data_size,
1682 const void* cmd_data) { 1939 const void* cmd_data) {
1683 const gles2::cmds::LineWidth& c = 1940 const gles2::cmds::LineWidth& c =
1684 *static_cast<const gles2::cmds::LineWidth*>(cmd_data); 1941 *static_cast<const gles2::cmds::LineWidth*>(cmd_data);
1685 (void)c; 1942 (void)c;
1686 GLfloat width = static_cast<GLfloat>(c.width); 1943 GLfloat width = static_cast<GLfloat>(c.width);
1687 if (width <= 0.0f || base::IsNaN(width)) { 1944 if (width <= 0.0f || base::IsNaN(width)) {
1688 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "LineWidth", "width out of range"); 1945 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "LineWidth", "width out of range");
1689 return error::kNoError; 1946 return error::kNoError;
1690 } 1947 }
1691 if (state_.line_width != width) { 1948 if (state_.line_width != width) {
1692 state_.line_width = width; 1949 state_.line_width = width;
1693 glLineWidth(width); 1950 glLineWidth(width);
1694 } 1951 }
1695 return error::kNoError; 1952 return error::kNoError;
1696 } 1953 }
1697 1954
1698 error::Error GLES2DecoderImpl::HandleLinkProgram(uint32_t immediate_data_size, 1955 error::Error GLES2DecoderImpl::HandleLinkProgram(uint32_t immediate_data_size,
1699 const void* cmd_data) { 1956 const void* cmd_data) {
1700 const gles2::cmds::LinkProgram& c = 1957 const gles2::cmds::LinkProgram& c =
1701 *static_cast<const gles2::cmds::LinkProgram*>(cmd_data); 1958 *static_cast<const gles2::cmds::LinkProgram*>(cmd_data);
1702 (void)c; 1959 (void)c;
1703 GLuint program = c.program; 1960 GLuint program = c.program;
1704 DoLinkProgram(program); 1961 DoLinkProgram(program);
1705 return error::kNoError; 1962 return error::kNoError;
1706 } 1963 }
1707 1964
1965 error::Error GLES2DecoderImpl::HandlePauseTransformFeedback(
1966 uint32_t immediate_data_size,
1967 const void* cmd_data) {
1968 if (!unsafe_es3_apis_enabled())
1969 return error::kUnknownCommand;
1970 const gles2::cmds::PauseTransformFeedback& c =
1971 *static_cast<const gles2::cmds::PauseTransformFeedback*>(cmd_data);
1972 (void)c;
1973 glPauseTransformFeedback();
1974 return error::kNoError;
1975 }
1976
1708 error::Error GLES2DecoderImpl::HandlePolygonOffset(uint32_t immediate_data_size, 1977 error::Error GLES2DecoderImpl::HandlePolygonOffset(uint32_t immediate_data_size,
1709 const void* cmd_data) { 1978 const void* cmd_data) {
1710 const gles2::cmds::PolygonOffset& c = 1979 const gles2::cmds::PolygonOffset& c =
1711 *static_cast<const gles2::cmds::PolygonOffset*>(cmd_data); 1980 *static_cast<const gles2::cmds::PolygonOffset*>(cmd_data);
1712 (void)c; 1981 (void)c;
1713 GLfloat factor = static_cast<GLfloat>(c.factor); 1982 GLfloat factor = static_cast<GLfloat>(c.factor);
1714 GLfloat units = static_cast<GLfloat>(c.units); 1983 GLfloat units = static_cast<GLfloat>(c.units);
1715 if (state_.polygon_offset_factor != factor || 1984 if (state_.polygon_offset_factor != factor ||
1716 state_.polygon_offset_units != units) { 1985 state_.polygon_offset_units != units) {
1717 state_.polygon_offset_factor = factor; 1986 state_.polygon_offset_factor = factor;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1767 return error::kNoError; 2036 return error::kNoError;
1768 } 2037 }
1769 if (height < 0) { 2038 if (height < 0) {
1770 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glRenderbufferStorage", "height < 0"); 2039 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glRenderbufferStorage", "height < 0");
1771 return error::kNoError; 2040 return error::kNoError;
1772 } 2041 }
1773 DoRenderbufferStorage(target, internalformat, width, height); 2042 DoRenderbufferStorage(target, internalformat, width, height);
1774 return error::kNoError; 2043 return error::kNoError;
1775 } 2044 }
1776 2045
2046 error::Error GLES2DecoderImpl::HandleResumeTransformFeedback(
2047 uint32_t immediate_data_size,
2048 const void* cmd_data) {
2049 if (!unsafe_es3_apis_enabled())
2050 return error::kUnknownCommand;
2051 const gles2::cmds::ResumeTransformFeedback& c =
2052 *static_cast<const gles2::cmds::ResumeTransformFeedback*>(cmd_data);
2053 (void)c;
2054 glResumeTransformFeedback();
2055 return error::kNoError;
2056 }
2057
1777 error::Error GLES2DecoderImpl::HandleSampleCoverage( 2058 error::Error GLES2DecoderImpl::HandleSampleCoverage(
1778 uint32_t immediate_data_size, 2059 uint32_t immediate_data_size,
1779 const void* cmd_data) { 2060 const void* cmd_data) {
1780 const gles2::cmds::SampleCoverage& c = 2061 const gles2::cmds::SampleCoverage& c =
1781 *static_cast<const gles2::cmds::SampleCoverage*>(cmd_data); 2062 *static_cast<const gles2::cmds::SampleCoverage*>(cmd_data);
1782 (void)c; 2063 (void)c;
1783 GLclampf value = static_cast<GLclampf>(c.value); 2064 GLclampf value = static_cast<GLclampf>(c.value);
1784 GLboolean invert = static_cast<GLboolean>(c.invert); 2065 GLboolean invert = static_cast<GLboolean>(c.invert);
1785 DoSampleCoverage(value, invert); 2066 DoSampleCoverage(value, invert);
1786 return error::kNoError; 2067 return error::kNoError;
1787 } 2068 }
1788 2069
2070 error::Error GLES2DecoderImpl::HandleSamplerParameterf(
2071 uint32_t immediate_data_size,
2072 const void* cmd_data) {
2073 if (!unsafe_es3_apis_enabled())
2074 return error::kUnknownCommand;
2075 const gles2::cmds::SamplerParameterf& c =
2076 *static_cast<const gles2::cmds::SamplerParameterf*>(cmd_data);
2077 (void)c;
2078 GLuint sampler = c.sampler;
2079 GLenum pname = static_cast<GLenum>(c.pname);
2080 GLfloat param = static_cast<GLfloat>(c.param);
2081 group_->GetSamplerServiceId(sampler, &sampler);
2082 glSamplerParameterf(sampler, pname, param);
2083 return error::kNoError;
2084 }
2085
2086 error::Error GLES2DecoderImpl::HandleSamplerParameterfvImmediate(
2087 uint32_t immediate_data_size,
2088 const void* cmd_data) {
2089 if (!unsafe_es3_apis_enabled())
2090 return error::kUnknownCommand;
2091 const gles2::cmds::SamplerParameterfvImmediate& c =
2092 *static_cast<const gles2::cmds::SamplerParameterfvImmediate*>(cmd_data);
2093 (void)c;
2094 GLuint sampler = c.sampler;
2095 GLenum pname = static_cast<GLenum>(c.pname);
2096 uint32_t data_size;
2097 if (!ComputeDataSize(1, sizeof(GLfloat), 1, &data_size)) {
2098 return error::kOutOfBounds;
2099 }
2100 if (data_size > immediate_data_size) {
2101 return error::kOutOfBounds;
2102 }
2103 const GLfloat* params =
2104 GetImmediateDataAs<const GLfloat*>(c, data_size, immediate_data_size);
2105 if (params == NULL) {
2106 return error::kOutOfBounds;
2107 }
2108 group_->GetSamplerServiceId(sampler, &sampler);
2109 DoSamplerParameterfv(sampler, pname, params);
2110 return error::kNoError;
2111 }
2112
2113 error::Error GLES2DecoderImpl::HandleSamplerParameteri(
2114 uint32_t immediate_data_size,
2115 const void* cmd_data) {
2116 if (!unsafe_es3_apis_enabled())
2117 return error::kUnknownCommand;
2118 const gles2::cmds::SamplerParameteri& c =
2119 *static_cast<const gles2::cmds::SamplerParameteri*>(cmd_data);
2120 (void)c;
2121 GLuint sampler = c.sampler;
2122 GLenum pname = static_cast<GLenum>(c.pname);
2123 GLint param = static_cast<GLint>(c.param);
2124 group_->GetSamplerServiceId(sampler, &sampler);
2125 glSamplerParameteri(sampler, pname, param);
2126 return error::kNoError;
2127 }
2128
2129 error::Error GLES2DecoderImpl::HandleSamplerParameterivImmediate(
2130 uint32_t immediate_data_size,
2131 const void* cmd_data) {
2132 if (!unsafe_es3_apis_enabled())
2133 return error::kUnknownCommand;
2134 const gles2::cmds::SamplerParameterivImmediate& c =
2135 *static_cast<const gles2::cmds::SamplerParameterivImmediate*>(cmd_data);
2136 (void)c;
2137 GLuint sampler = c.sampler;
2138 GLenum pname = static_cast<GLenum>(c.pname);
2139 uint32_t data_size;
2140 if (!ComputeDataSize(1, sizeof(GLint), 1, &data_size)) {
2141 return error::kOutOfBounds;
2142 }
2143 if (data_size > immediate_data_size) {
2144 return error::kOutOfBounds;
2145 }
2146 const GLint* params =
2147 GetImmediateDataAs<const GLint*>(c, data_size, immediate_data_size);
2148 if (params == NULL) {
2149 return error::kOutOfBounds;
2150 }
2151 DoSamplerParameteriv(sampler, pname, params);
2152 return error::kNoError;
2153 }
2154
1789 error::Error GLES2DecoderImpl::HandleScissor(uint32_t immediate_data_size, 2155 error::Error GLES2DecoderImpl::HandleScissor(uint32_t immediate_data_size,
1790 const void* cmd_data) { 2156 const void* cmd_data) {
1791 const gles2::cmds::Scissor& c = 2157 const gles2::cmds::Scissor& c =
1792 *static_cast<const gles2::cmds::Scissor*>(cmd_data); 2158 *static_cast<const gles2::cmds::Scissor*>(cmd_data);
1793 (void)c; 2159 (void)c;
1794 GLint x = static_cast<GLint>(c.x); 2160 GLint x = static_cast<GLint>(c.x);
1795 GLint y = static_cast<GLint>(c.y); 2161 GLint y = static_cast<GLint>(c.y);
1796 GLsizei width = static_cast<GLsizei>(c.width); 2162 GLsizei width = static_cast<GLsizei>(c.width);
1797 GLsizei height = static_cast<GLsizei>(c.height); 2163 GLsizei height = static_cast<GLsizei>(c.height);
1798 if (width < 0) { 2164 if (width < 0) {
(...skipping 1610 matching lines...) Expand 10 before | Expand all | Expand 10 after
3409 } 3775 }
3410 const GLuint* queries = 3776 const GLuint* queries =
3411 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size); 3777 GetImmediateDataAs<const GLuint*>(c, data_size, immediate_data_size);
3412 if (queries == NULL) { 3778 if (queries == NULL) {
3413 return error::kOutOfBounds; 3779 return error::kOutOfBounds;
3414 } 3780 }
3415 DeleteQueriesEXTHelper(n, queries); 3781 DeleteQueriesEXTHelper(n, queries);
3416 return error::kNoError; 3782 return error::kNoError;
3417 } 3783 }
3418 3784
3785 error::Error GLES2DecoderImpl::HandleBeginTransformFeedback(
3786 uint32_t immediate_data_size,
3787 const void* cmd_data) {
3788 if (!unsafe_es3_apis_enabled())
3789 return error::kUnknownCommand;
3790 const gles2::cmds::BeginTransformFeedback& c =
3791 *static_cast<const gles2::cmds::BeginTransformFeedback*>(cmd_data);
3792 (void)c;
3793 GLenum primitivemode = static_cast<GLenum>(c.primitivemode);
3794 glBeginTransformFeedback(primitivemode);
3795 return error::kNoError;
3796 }
3797
3798 error::Error GLES2DecoderImpl::HandleEndTransformFeedback(
3799 uint32_t immediate_data_size,
3800 const void* cmd_data) {
3801 if (!unsafe_es3_apis_enabled())
3802 return error::kUnknownCommand;
3803 const gles2::cmds::EndTransformFeedback& c =
3804 *static_cast<const gles2::cmds::EndTransformFeedback*>(cmd_data);
3805 (void)c;
3806 glEndTransformFeedback();
3807 return error::kNoError;
3808 }
3809
3419 error::Error GLES2DecoderImpl::HandleInsertEventMarkerEXT( 3810 error::Error GLES2DecoderImpl::HandleInsertEventMarkerEXT(
3420 uint32_t immediate_data_size, 3811 uint32_t immediate_data_size,
3421 const void* cmd_data) { 3812 const void* cmd_data) {
3422 const gles2::cmds::InsertEventMarkerEXT& c = 3813 const gles2::cmds::InsertEventMarkerEXT& c =
3423 *static_cast<const gles2::cmds::InsertEventMarkerEXT*>(cmd_data); 3814 *static_cast<const gles2::cmds::InsertEventMarkerEXT*>(cmd_data);
3424 (void)c; 3815 (void)c;
3425 3816
3426 GLuint bucket_id = static_cast<GLuint>(c.bucket_id); 3817 GLuint bucket_id = static_cast<GLuint>(c.bucket_id);
3427 Bucket* bucket = GetBucket(bucket_id); 3818 Bucket* bucket = GetBucket(bucket_id);
3428 if (!bucket || bucket->size() == 0) { 3819 if (!bucket || bucket->size() == 0) {
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after
4142 state_.ignore_cached_state) { 4533 state_.ignore_cached_state) {
4143 framebuffer_state_.clear_state_dirty = true; 4534 framebuffer_state_.clear_state_dirty = true;
4144 } 4535 }
4145 return false; 4536 return false;
4146 default: 4537 default:
4147 NOTREACHED(); 4538 NOTREACHED();
4148 return false; 4539 return false;
4149 } 4540 }
4150 } 4541 }
4151 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ 4542 #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_unittest_1_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698