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

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

Issue 859043005: Add Sync related APIs to GPU command buffer: Part I (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make win bots happy Created 5 years, 11 months 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 685 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 DoCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); 696 DoCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
697 return error::kNoError; 697 return error::kNoError;
698 } 698 }
699 699
700 error::Error GLES2DecoderImpl::HandleCreateProgram(uint32_t immediate_data_size, 700 error::Error GLES2DecoderImpl::HandleCreateProgram(uint32_t immediate_data_size,
701 const void* cmd_data) { 701 const void* cmd_data) {
702 const gles2::cmds::CreateProgram& c = 702 const gles2::cmds::CreateProgram& c =
703 *static_cast<const gles2::cmds::CreateProgram*>(cmd_data); 703 *static_cast<const gles2::cmds::CreateProgram*>(cmd_data);
704 (void)c; 704 (void)c;
705 uint32_t client_id = c.client_id; 705 uint32_t client_id = c.client_id;
706 if (!CreateProgramHelper(client_id)) { 706 if (GetProgram(client_id)) {
707 return error::kInvalidArguments; 707 return error::kInvalidArguments;
708 } 708 }
709 GLuint service_id = glCreateProgram();
710 if (service_id) {
711 CreateProgram(client_id, service_id);
712 }
709 return error::kNoError; 713 return error::kNoError;
710 } 714 }
711 715
712 error::Error GLES2DecoderImpl::HandleCreateShader(uint32_t immediate_data_size, 716 error::Error GLES2DecoderImpl::HandleCreateShader(uint32_t immediate_data_size,
713 const void* cmd_data) { 717 const void* cmd_data) {
714 const gles2::cmds::CreateShader& c = 718 const gles2::cmds::CreateShader& c =
715 *static_cast<const gles2::cmds::CreateShader*>(cmd_data); 719 *static_cast<const gles2::cmds::CreateShader*>(cmd_data);
716 (void)c; 720 (void)c;
717 GLenum type = static_cast<GLenum>(c.type); 721 GLenum type = static_cast<GLenum>(c.type);
718 if (!validators_->shader_type.IsValid(type)) { 722 if (!validators_->shader_type.IsValid(type)) {
719 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCreateShader", type, "type"); 723 LOCAL_SET_GL_ERROR_INVALID_ENUM("glCreateShader", type, "type");
720 return error::kNoError; 724 return error::kNoError;
721 } 725 }
722 uint32_t client_id = c.client_id; 726 uint32_t client_id = c.client_id;
723 if (!CreateShaderHelper(type, client_id)) { 727 if (GetShader(client_id)) {
724 return error::kInvalidArguments; 728 return error::kInvalidArguments;
725 } 729 }
730 GLuint service_id = glCreateShader(type);
731 if (service_id) {
732 CreateShader(client_id, service_id, type);
733 }
726 return error::kNoError; 734 return error::kNoError;
727 } 735 }
728 736
729 error::Error GLES2DecoderImpl::HandleCullFace(uint32_t immediate_data_size, 737 error::Error GLES2DecoderImpl::HandleCullFace(uint32_t immediate_data_size,
730 const void* cmd_data) { 738 const void* cmd_data) {
731 const gles2::cmds::CullFace& c = 739 const gles2::cmds::CullFace& c =
732 *static_cast<const gles2::cmds::CullFace*>(cmd_data); 740 *static_cast<const gles2::cmds::CullFace*>(cmd_data);
733 (void)c; 741 (void)c;
734 GLenum mode = static_cast<GLenum>(c.mode); 742 GLenum mode = static_cast<GLenum>(c.mode);
735 if (!validators_->face_type.IsValid(mode)) { 743 if (!validators_->face_type.IsValid(mode)) {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
824 for (GLsizei ii = 0; ii < n; ++ii) { 832 for (GLsizei ii = 0; ii < n; ++ii) {
825 GLuint service_id = 0; 833 GLuint service_id = 0;
826 if (group_->GetSamplerServiceId(samplers[ii], &service_id)) { 834 if (group_->GetSamplerServiceId(samplers[ii], &service_id)) {
827 glDeleteSamplers(1, &service_id); 835 glDeleteSamplers(1, &service_id);
828 group_->RemoveSamplerId(samplers[ii]); 836 group_->RemoveSamplerId(samplers[ii]);
829 } 837 }
830 } 838 }
831 return error::kNoError; 839 return error::kNoError;
832 } 840 }
833 841
842 error::Error GLES2DecoderImpl::HandleDeleteSync(uint32_t immediate_data_size,
843 const void* cmd_data) {
844 if (!unsafe_es3_apis_enabled())
845 return error::kUnknownCommand;
846 const gles2::cmds::DeleteSync& c =
847 *static_cast<const gles2::cmds::DeleteSync*>(cmd_data);
848 (void)c;
849 GLuint sync = c.sync;
850 GLsync service_id = 0;
851 if (group_->GetSyncServiceId(sync, &service_id)) {
852 glDeleteSync(service_id);
853 group_->RemoveSyncId(sync);
854 } else {
855 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glDeleteSync", "unknown sync");
856 }
857 return error::kNoError;
858 }
859
834 error::Error GLES2DecoderImpl::HandleDeleteTexturesImmediate( 860 error::Error GLES2DecoderImpl::HandleDeleteTexturesImmediate(
835 uint32_t immediate_data_size, 861 uint32_t immediate_data_size,
836 const void* cmd_data) { 862 const void* cmd_data) {
837 const gles2::cmds::DeleteTexturesImmediate& c = 863 const gles2::cmds::DeleteTexturesImmediate& c =
838 *static_cast<const gles2::cmds::DeleteTexturesImmediate*>(cmd_data); 864 *static_cast<const gles2::cmds::DeleteTexturesImmediate*>(cmd_data);
839 (void)c; 865 (void)c;
840 GLsizei n = static_cast<GLsizei>(c.n); 866 GLsizei n = static_cast<GLsizei>(c.n);
841 uint32_t data_size; 867 uint32_t data_size;
842 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) { 868 if (!SafeMultiplyUint32(n, sizeof(GLuint), &data_size)) {
843 return error::kOutOfBounds; 869 return error::kOutOfBounds;
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 uint32_t immediate_data_size, 1001 uint32_t immediate_data_size,
976 const void* cmd_data) { 1002 const void* cmd_data) {
977 const gles2::cmds::EnableVertexAttribArray& c = 1003 const gles2::cmds::EnableVertexAttribArray& c =
978 *static_cast<const gles2::cmds::EnableVertexAttribArray*>(cmd_data); 1004 *static_cast<const gles2::cmds::EnableVertexAttribArray*>(cmd_data);
979 (void)c; 1005 (void)c;
980 GLuint index = static_cast<GLuint>(c.index); 1006 GLuint index = static_cast<GLuint>(c.index);
981 DoEnableVertexAttribArray(index); 1007 DoEnableVertexAttribArray(index);
982 return error::kNoError; 1008 return error::kNoError;
983 } 1009 }
984 1010
1011 error::Error GLES2DecoderImpl::HandleFenceSync(uint32_t immediate_data_size,
1012 const void* cmd_data) {
1013 if (!unsafe_es3_apis_enabled())
1014 return error::kUnknownCommand;
1015 const gles2::cmds::FenceSync& c =
1016 *static_cast<const gles2::cmds::FenceSync*>(cmd_data);
1017 (void)c;
1018 GLenum condition = static_cast<GLenum>(c.condition);
1019 GLbitfield flags = static_cast<GLbitfield>(c.flags);
1020 uint32_t client_id = c.client_id;
1021 GLsync service_id = 0;
1022 if (group_->GetSyncServiceId(client_id, &service_id)) {
1023 return error::kInvalidArguments;
1024 }
1025 service_id = glFenceSync(condition, flags);
1026 if (service_id) {
1027 group_->AddSyncId(client_id, service_id);
1028 }
1029 return error::kNoError;
1030 }
1031
985 error::Error GLES2DecoderImpl::HandleFinish(uint32_t immediate_data_size, 1032 error::Error GLES2DecoderImpl::HandleFinish(uint32_t immediate_data_size,
986 const void* cmd_data) { 1033 const void* cmd_data) {
987 const gles2::cmds::Finish& c = 1034 const gles2::cmds::Finish& c =
988 *static_cast<const gles2::cmds::Finish*>(cmd_data); 1035 *static_cast<const gles2::cmds::Finish*>(cmd_data);
989 (void)c; 1036 (void)c;
990 error::Error error; 1037 error::Error error;
991 error = WillAccessBoundFramebufferForRead(); 1038 error = WillAccessBoundFramebufferForRead();
992 if (error != error::kNoError) 1039 if (error != error::kNoError)
993 return error; 1040 return error;
994 DoFinish(); 1041 DoFinish();
(...skipping 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after
2037 const gles2::cmds::IsSampler& c = 2084 const gles2::cmds::IsSampler& c =
2038 *static_cast<const gles2::cmds::IsSampler*>(cmd_data); 2085 *static_cast<const gles2::cmds::IsSampler*>(cmd_data);
2039 (void)c; 2086 (void)c;
2040 GLuint sampler = c.sampler; 2087 GLuint sampler = c.sampler;
2041 typedef cmds::IsSampler::Result Result; 2088 typedef cmds::IsSampler::Result Result;
2042 Result* result_dst = GetSharedMemoryAs<Result*>( 2089 Result* result_dst = GetSharedMemoryAs<Result*>(
2043 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 2090 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
2044 if (!result_dst) { 2091 if (!result_dst) {
2045 return error::kOutOfBounds; 2092 return error::kOutOfBounds;
2046 } 2093 }
2047 *result_dst = group_->GetSamplerServiceId(sampler, &sampler); 2094 GLuint service_sampler = 0;
2095 *result_dst = group_->GetSamplerServiceId(sampler, &service_sampler);
2048 return error::kNoError; 2096 return error::kNoError;
2049 } 2097 }
2050 2098
2051 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size, 2099 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size,
2052 const void* cmd_data) { 2100 const void* cmd_data) {
2053 const gles2::cmds::IsShader& c = 2101 const gles2::cmds::IsShader& c =
2054 *static_cast<const gles2::cmds::IsShader*>(cmd_data); 2102 *static_cast<const gles2::cmds::IsShader*>(cmd_data);
2055 (void)c; 2103 (void)c;
2056 GLuint shader = c.shader; 2104 GLuint shader = c.shader;
2057 typedef cmds::IsShader::Result Result; 2105 typedef cmds::IsShader::Result Result;
2058 Result* result_dst = GetSharedMemoryAs<Result*>( 2106 Result* result_dst = GetSharedMemoryAs<Result*>(
2059 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 2107 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
2060 if (!result_dst) { 2108 if (!result_dst) {
2061 return error::kOutOfBounds; 2109 return error::kOutOfBounds;
2062 } 2110 }
2063 *result_dst = DoIsShader(shader); 2111 *result_dst = DoIsShader(shader);
2064 return error::kNoError; 2112 return error::kNoError;
2065 } 2113 }
2066 2114
2115 error::Error GLES2DecoderImpl::HandleIsSync(uint32_t immediate_data_size,
2116 const void* cmd_data) {
2117 if (!unsafe_es3_apis_enabled())
2118 return error::kUnknownCommand;
2119 const gles2::cmds::IsSync& c =
2120 *static_cast<const gles2::cmds::IsSync*>(cmd_data);
2121 (void)c;
2122 GLuint sync = c.sync;
2123 typedef cmds::IsSync::Result Result;
2124 Result* result_dst = GetSharedMemoryAs<Result*>(
2125 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
2126 if (!result_dst) {
2127 return error::kOutOfBounds;
2128 }
2129 GLsync service_sync = 0;
2130 *result_dst = group_->GetSyncServiceId(sync, &service_sync);
2131 return error::kNoError;
2132 }
2133
2067 error::Error GLES2DecoderImpl::HandleIsTexture(uint32_t immediate_data_size, 2134 error::Error GLES2DecoderImpl::HandleIsTexture(uint32_t immediate_data_size,
2068 const void* cmd_data) { 2135 const void* cmd_data) {
2069 const gles2::cmds::IsTexture& c = 2136 const gles2::cmds::IsTexture& c =
2070 *static_cast<const gles2::cmds::IsTexture*>(cmd_data); 2137 *static_cast<const gles2::cmds::IsTexture*>(cmd_data);
2071 (void)c; 2138 (void)c;
2072 GLuint texture = c.texture; 2139 GLuint texture = c.texture;
2073 typedef cmds::IsTexture::Result Result; 2140 typedef cmds::IsTexture::Result Result;
2074 Result* result_dst = GetSharedMemoryAs<Result*>( 2141 Result* result_dst = GetSharedMemoryAs<Result*>(
2075 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 2142 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
2076 if (!result_dst) { 2143 if (!result_dst) {
(...skipping 11 matching lines...) Expand all
2088 const gles2::cmds::IsTransformFeedback& c = 2155 const gles2::cmds::IsTransformFeedback& c =
2089 *static_cast<const gles2::cmds::IsTransformFeedback*>(cmd_data); 2156 *static_cast<const gles2::cmds::IsTransformFeedback*>(cmd_data);
2090 (void)c; 2157 (void)c;
2091 GLuint transformfeedback = c.transformfeedback; 2158 GLuint transformfeedback = c.transformfeedback;
2092 typedef cmds::IsTransformFeedback::Result Result; 2159 typedef cmds::IsTransformFeedback::Result Result;
2093 Result* result_dst = GetSharedMemoryAs<Result*>( 2160 Result* result_dst = GetSharedMemoryAs<Result*>(
2094 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 2161 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
2095 if (!result_dst) { 2162 if (!result_dst) {
2096 return error::kOutOfBounds; 2163 return error::kOutOfBounds;
2097 } 2164 }
2098 *result_dst = group_->GetTransformFeedbackServiceId(transformfeedback, 2165 GLuint service_transformfeedback = 0;
2099 &transformfeedback); 2166 *result_dst = group_->GetTransformFeedbackServiceId(
2167 transformfeedback, &service_transformfeedback);
2100 return error::kNoError; 2168 return error::kNoError;
2101 } 2169 }
2102 2170
2103 error::Error GLES2DecoderImpl::HandleLineWidth(uint32_t immediate_data_size, 2171 error::Error GLES2DecoderImpl::HandleLineWidth(uint32_t immediate_data_size,
2104 const void* cmd_data) { 2172 const void* cmd_data) {
2105 const gles2::cmds::LineWidth& c = 2173 const gles2::cmds::LineWidth& c =
2106 *static_cast<const gles2::cmds::LineWidth*>(cmd_data); 2174 *static_cast<const gles2::cmds::LineWidth*>(cmd_data);
2107 (void)c; 2175 (void)c;
2108 GLfloat width = static_cast<GLfloat>(c.width); 2176 GLfloat width = static_cast<GLfloat>(c.width);
2109 if (width <= 0.0f || base::IsNaN(width)) { 2177 if (width <= 0.0f || base::IsNaN(width)) {
(...skipping 2650 matching lines...) Expand 10 before | Expand all | Expand 10 after
4760 state_.ignore_cached_state) { 4828 state_.ignore_cached_state) {
4761 framebuffer_state_.clear_state_dirty = true; 4829 framebuffer_state_.clear_state_dirty = true;
4762 } 4830 }
4763 return false; 4831 return false;
4764 default: 4832 default:
4765 NOTREACHED(); 4833 NOTREACHED();
4766 return false; 4834 return false;
4767 } 4835 }
4768 } 4836 }
4769 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ 4837 #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.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698