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

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

Issue 846943002: Improve BindBufferBase/BindBufferRange and a few other commands. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 uint32_t immediate_data_size, 52 uint32_t immediate_data_size,
53 const void* cmd_data) { 53 const void* cmd_data) {
54 if (!unsafe_es3_apis_enabled()) 54 if (!unsafe_es3_apis_enabled())
55 return error::kUnknownCommand; 55 return error::kUnknownCommand;
56 const gles2::cmds::BindBufferBase& c = 56 const gles2::cmds::BindBufferBase& c =
57 *static_cast<const gles2::cmds::BindBufferBase*>(cmd_data); 57 *static_cast<const gles2::cmds::BindBufferBase*>(cmd_data);
58 (void)c; 58 (void)c;
59 GLenum target = static_cast<GLenum>(c.target); 59 GLenum target = static_cast<GLenum>(c.target);
60 GLuint index = static_cast<GLuint>(c.index); 60 GLuint index = static_cast<GLuint>(c.index);
61 GLuint buffer = c.buffer; 61 GLuint buffer = c.buffer;
62 group_->GetBufferServiceId(buffer, &buffer); 62 if (!group_->GetBufferServiceId(buffer, &buffer)) {
63 if (!group_->bind_generates_resource()) {
64 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glBindBufferBase",
65 "invalid buffer id");
66 return error::kNoError;
67 }
68 GLuint client_id = buffer;
69 glGenBuffersARB(1, &buffer);
70 CreateBuffer(client_id, buffer);
71 }
63 glBindBufferBase(target, index, buffer); 72 glBindBufferBase(target, index, buffer);
64 return error::kNoError; 73 return error::kNoError;
65 } 74 }
66 75
67 error::Error GLES2DecoderImpl::HandleBindFramebuffer( 76 error::Error GLES2DecoderImpl::HandleBindFramebuffer(
68 uint32_t immediate_data_size, 77 uint32_t immediate_data_size,
69 const void* cmd_data) { 78 const void* cmd_data) {
70 const gles2::cmds::BindFramebuffer& c = 79 const gles2::cmds::BindFramebuffer& c =
71 *static_cast<const gles2::cmds::BindFramebuffer*>(cmd_data); 80 *static_cast<const gles2::cmds::BindFramebuffer*>(cmd_data);
72 (void)c; 81 (void)c;
(...skipping 25 matching lines...) Expand all
98 107
99 error::Error GLES2DecoderImpl::HandleBindSampler(uint32_t immediate_data_size, 108 error::Error GLES2DecoderImpl::HandleBindSampler(uint32_t immediate_data_size,
100 const void* cmd_data) { 109 const void* cmd_data) {
101 if (!unsafe_es3_apis_enabled()) 110 if (!unsafe_es3_apis_enabled())
102 return error::kUnknownCommand; 111 return error::kUnknownCommand;
103 const gles2::cmds::BindSampler& c = 112 const gles2::cmds::BindSampler& c =
104 *static_cast<const gles2::cmds::BindSampler*>(cmd_data); 113 *static_cast<const gles2::cmds::BindSampler*>(cmd_data);
105 (void)c; 114 (void)c;
106 GLuint unit = static_cast<GLuint>(c.unit); 115 GLuint unit = static_cast<GLuint>(c.unit);
107 GLuint sampler = c.sampler; 116 GLuint sampler = c.sampler;
108 group_->GetSamplerServiceId(sampler, &sampler); 117 if (!group_->GetSamplerServiceId(sampler, &sampler)) {
118 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glBindSampler",
119 "invalid sampler id");
120 return error::kNoError;
121 }
109 glBindSampler(unit, sampler); 122 glBindSampler(unit, sampler);
110 return error::kNoError; 123 return error::kNoError;
111 } 124 }
112 125
113 error::Error GLES2DecoderImpl::HandleBindTexture(uint32_t immediate_data_size, 126 error::Error GLES2DecoderImpl::HandleBindTexture(uint32_t immediate_data_size,
114 const void* cmd_data) { 127 const void* cmd_data) {
115 const gles2::cmds::BindTexture& c = 128 const gles2::cmds::BindTexture& c =
116 *static_cast<const gles2::cmds::BindTexture*>(cmd_data); 129 *static_cast<const gles2::cmds::BindTexture*>(cmd_data);
117 (void)c; 130 (void)c;
118 GLenum target = static_cast<GLenum>(c.target); 131 GLenum target = static_cast<GLenum>(c.target);
119 GLuint texture = c.texture; 132 GLuint texture = c.texture;
120 if (!validators_->texture_bind_target.IsValid(target)) { 133 if (!validators_->texture_bind_target.IsValid(target)) {
121 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindTexture", target, "target"); 134 LOCAL_SET_GL_ERROR_INVALID_ENUM("glBindTexture", target, "target");
122 return error::kNoError; 135 return error::kNoError;
123 } 136 }
124 DoBindTexture(target, texture); 137 DoBindTexture(target, texture);
125 return error::kNoError; 138 return error::kNoError;
126 } 139 }
127 140
128 error::Error GLES2DecoderImpl::HandleBindTransformFeedback( 141 error::Error GLES2DecoderImpl::HandleBindTransformFeedback(
129 uint32_t immediate_data_size, 142 uint32_t immediate_data_size,
130 const void* cmd_data) { 143 const void* cmd_data) {
131 if (!unsafe_es3_apis_enabled()) 144 if (!unsafe_es3_apis_enabled())
132 return error::kUnknownCommand; 145 return error::kUnknownCommand;
133 const gles2::cmds::BindTransformFeedback& c = 146 const gles2::cmds::BindTransformFeedback& c =
134 *static_cast<const gles2::cmds::BindTransformFeedback*>(cmd_data); 147 *static_cast<const gles2::cmds::BindTransformFeedback*>(cmd_data);
135 (void)c; 148 (void)c;
136 GLenum target = static_cast<GLenum>(c.target); 149 GLenum target = static_cast<GLenum>(c.target);
137 GLuint transformfeedback = c.transformfeedback; 150 GLuint transformfeedback = c.transformfeedback;
138 group_->GetTransformFeedbackServiceId(transformfeedback, &transformfeedback); 151 if (!group_->GetTransformFeedbackServiceId(transformfeedback,
152 &transformfeedback)) {
153 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glBindTransformFeedback",
154 "invalid transformfeedback id");
155 return error::kNoError;
156 }
139 glBindTransformFeedback(target, transformfeedback); 157 glBindTransformFeedback(target, transformfeedback);
140 return error::kNoError; 158 return error::kNoError;
141 } 159 }
142 160
143 error::Error GLES2DecoderImpl::HandleBlendColor(uint32_t immediate_data_size, 161 error::Error GLES2DecoderImpl::HandleBlendColor(uint32_t immediate_data_size,
144 const void* cmd_data) { 162 const void* cmd_data) {
145 const gles2::cmds::BlendColor& c = 163 const gles2::cmds::BlendColor& c =
146 *static_cast<const gles2::cmds::BlendColor*>(cmd_data); 164 *static_cast<const gles2::cmds::BlendColor*>(cmd_data);
147 (void)c; 165 (void)c;
148 GLclampf red = static_cast<GLclampf>(c.red); 166 GLclampf red = static_cast<GLclampf>(c.red);
(...skipping 1305 matching lines...) Expand 10 before | Expand all | Expand 10 after
1454 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values)); 1472 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values));
1455 GLfloat* params = result ? result->GetData() : NULL; 1473 GLfloat* params = result ? result->GetData() : NULL;
1456 if (params == NULL) { 1474 if (params == NULL) {
1457 return error::kOutOfBounds; 1475 return error::kOutOfBounds;
1458 } 1476 }
1459 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameterfv"); 1477 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameterfv");
1460 // Check that the client initialized the result. 1478 // Check that the client initialized the result.
1461 if (result->size != 0) { 1479 if (result->size != 0) {
1462 return error::kInvalidArguments; 1480 return error::kInvalidArguments;
1463 } 1481 }
1464 group_->GetSamplerServiceId(sampler, &sampler); 1482 if (!group_->GetSamplerServiceId(sampler, &sampler)) {
1483 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glGetSamplerParameterfv",
1484 "invalid sampler id");
1485 return error::kNoError;
1486 }
1465 glGetSamplerParameterfv(sampler, pname, params); 1487 glGetSamplerParameterfv(sampler, pname, params);
1466 GLenum error = glGetError(); 1488 GLenum error = glGetError();
1467 if (error == GL_NO_ERROR) { 1489 if (error == GL_NO_ERROR) {
1468 result->SetNumResults(num_values); 1490 result->SetNumResults(num_values);
1469 } else { 1491 } else {
1470 LOCAL_SET_GL_ERROR(error, "GetSamplerParameterfv", ""); 1492 LOCAL_SET_GL_ERROR(error, "GetSamplerParameterfv", "");
1471 } 1493 }
1472 return error::kNoError; 1494 return error::kNoError;
1473 } 1495 }
1474 1496
(...skipping 14 matching lines...) Expand all
1489 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values)); 1511 c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values));
1490 GLint* params = result ? result->GetData() : NULL; 1512 GLint* params = result ? result->GetData() : NULL;
1491 if (params == NULL) { 1513 if (params == NULL) {
1492 return error::kOutOfBounds; 1514 return error::kOutOfBounds;
1493 } 1515 }
1494 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameteriv"); 1516 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetSamplerParameteriv");
1495 // Check that the client initialized the result. 1517 // Check that the client initialized the result.
1496 if (result->size != 0) { 1518 if (result->size != 0) {
1497 return error::kInvalidArguments; 1519 return error::kInvalidArguments;
1498 } 1520 }
1499 group_->GetSamplerServiceId(sampler, &sampler); 1521 if (!group_->GetSamplerServiceId(sampler, &sampler)) {
1522 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glGetSamplerParameteriv",
1523 "invalid sampler id");
1524 return error::kNoError;
1525 }
1500 glGetSamplerParameteriv(sampler, pname, params); 1526 glGetSamplerParameteriv(sampler, pname, params);
1501 GLenum error = glGetError(); 1527 GLenum error = glGetError();
1502 if (error == GL_NO_ERROR) { 1528 if (error == GL_NO_ERROR) {
1503 result->SetNumResults(num_values); 1529 result->SetNumResults(num_values);
1504 } else { 1530 } else {
1505 LOCAL_SET_GL_ERROR(error, "GetSamplerParameteriv", ""); 1531 LOCAL_SET_GL_ERROR(error, "GetSamplerParameteriv", "");
1506 } 1532 }
1507 return error::kNoError; 1533 return error::kNoError;
1508 } 1534 }
1509 1535
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
1887 const gles2::cmds::IsSampler& c = 1913 const gles2::cmds::IsSampler& c =
1888 *static_cast<const gles2::cmds::IsSampler*>(cmd_data); 1914 *static_cast<const gles2::cmds::IsSampler*>(cmd_data);
1889 (void)c; 1915 (void)c;
1890 GLuint sampler = c.sampler; 1916 GLuint sampler = c.sampler;
1891 typedef cmds::IsSampler::Result Result; 1917 typedef cmds::IsSampler::Result Result;
1892 Result* result_dst = GetSharedMemoryAs<Result*>( 1918 Result* result_dst = GetSharedMemoryAs<Result*>(
1893 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 1919 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
1894 if (!result_dst) { 1920 if (!result_dst) {
1895 return error::kOutOfBounds; 1921 return error::kOutOfBounds;
1896 } 1922 }
1897 group_->GetSamplerServiceId(sampler, &sampler); 1923 *result_dst = group_->GetSamplerServiceId(sampler, &sampler);
1898 *result_dst = glIsSampler(sampler);
1899 return error::kNoError; 1924 return error::kNoError;
1900 } 1925 }
1901 1926
1902 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size, 1927 error::Error GLES2DecoderImpl::HandleIsShader(uint32_t immediate_data_size,
1903 const void* cmd_data) { 1928 const void* cmd_data) {
1904 const gles2::cmds::IsShader& c = 1929 const gles2::cmds::IsShader& c =
1905 *static_cast<const gles2::cmds::IsShader*>(cmd_data); 1930 *static_cast<const gles2::cmds::IsShader*>(cmd_data);
1906 (void)c; 1931 (void)c;
1907 GLuint shader = c.shader; 1932 GLuint shader = c.shader;
1908 typedef cmds::IsShader::Result Result; 1933 typedef cmds::IsShader::Result Result;
(...skipping 30 matching lines...) Expand all
1939 const gles2::cmds::IsTransformFeedback& c = 1964 const gles2::cmds::IsTransformFeedback& c =
1940 *static_cast<const gles2::cmds::IsTransformFeedback*>(cmd_data); 1965 *static_cast<const gles2::cmds::IsTransformFeedback*>(cmd_data);
1941 (void)c; 1966 (void)c;
1942 GLuint transformfeedback = c.transformfeedback; 1967 GLuint transformfeedback = c.transformfeedback;
1943 typedef cmds::IsTransformFeedback::Result Result; 1968 typedef cmds::IsTransformFeedback::Result Result;
1944 Result* result_dst = GetSharedMemoryAs<Result*>( 1969 Result* result_dst = GetSharedMemoryAs<Result*>(
1945 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 1970 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
1946 if (!result_dst) { 1971 if (!result_dst) {
1947 return error::kOutOfBounds; 1972 return error::kOutOfBounds;
1948 } 1973 }
1949 group_->GetTransformFeedbackServiceId(transformfeedback, &transformfeedback); 1974 *result_dst = group_->GetTransformFeedbackServiceId(transformfeedback,
1950 *result_dst = glIsTransformFeedback(transformfeedback); 1975 &transformfeedback);
1951 return error::kNoError; 1976 return error::kNoError;
1952 } 1977 }
1953 1978
1954 error::Error GLES2DecoderImpl::HandleLineWidth(uint32_t immediate_data_size, 1979 error::Error GLES2DecoderImpl::HandleLineWidth(uint32_t immediate_data_size,
1955 const void* cmd_data) { 1980 const void* cmd_data) {
1956 const gles2::cmds::LineWidth& c = 1981 const gles2::cmds::LineWidth& c =
1957 *static_cast<const gles2::cmds::LineWidth*>(cmd_data); 1982 *static_cast<const gles2::cmds::LineWidth*>(cmd_data);
1958 (void)c; 1983 (void)c;
1959 GLfloat width = static_cast<GLfloat>(c.width); 1984 GLfloat width = static_cast<GLfloat>(c.width);
1960 if (width <= 0.0f || base::IsNaN(width)) { 1985 if (width <= 0.0f || base::IsNaN(width)) {
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
2087 uint32_t immediate_data_size, 2112 uint32_t immediate_data_size,
2088 const void* cmd_data) { 2113 const void* cmd_data) {
2089 if (!unsafe_es3_apis_enabled()) 2114 if (!unsafe_es3_apis_enabled())
2090 return error::kUnknownCommand; 2115 return error::kUnknownCommand;
2091 const gles2::cmds::SamplerParameterf& c = 2116 const gles2::cmds::SamplerParameterf& c =
2092 *static_cast<const gles2::cmds::SamplerParameterf*>(cmd_data); 2117 *static_cast<const gles2::cmds::SamplerParameterf*>(cmd_data);
2093 (void)c; 2118 (void)c;
2094 GLuint sampler = c.sampler; 2119 GLuint sampler = c.sampler;
2095 GLenum pname = static_cast<GLenum>(c.pname); 2120 GLenum pname = static_cast<GLenum>(c.pname);
2096 GLfloat param = static_cast<GLfloat>(c.param); 2121 GLfloat param = static_cast<GLfloat>(c.param);
2097 group_->GetSamplerServiceId(sampler, &sampler); 2122 if (!group_->GetSamplerServiceId(sampler, &sampler)) {
2123 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glSamplerParameterf",
2124 "invalid sampler id");
2125 return error::kNoError;
2126 }
2098 glSamplerParameterf(sampler, pname, param); 2127 glSamplerParameterf(sampler, pname, param);
2099 return error::kNoError; 2128 return error::kNoError;
2100 } 2129 }
2101 2130
2102 error::Error GLES2DecoderImpl::HandleSamplerParameterfvImmediate( 2131 error::Error GLES2DecoderImpl::HandleSamplerParameterfvImmediate(
2103 uint32_t immediate_data_size, 2132 uint32_t immediate_data_size,
2104 const void* cmd_data) { 2133 const void* cmd_data) {
2105 if (!unsafe_es3_apis_enabled()) 2134 if (!unsafe_es3_apis_enabled())
2106 return error::kUnknownCommand; 2135 return error::kUnknownCommand;
2107 const gles2::cmds::SamplerParameterfvImmediate& c = 2136 const gles2::cmds::SamplerParameterfvImmediate& c =
(...skipping 22 matching lines...) Expand all
2130 uint32_t immediate_data_size, 2159 uint32_t immediate_data_size,
2131 const void* cmd_data) { 2160 const void* cmd_data) {
2132 if (!unsafe_es3_apis_enabled()) 2161 if (!unsafe_es3_apis_enabled())
2133 return error::kUnknownCommand; 2162 return error::kUnknownCommand;
2134 const gles2::cmds::SamplerParameteri& c = 2163 const gles2::cmds::SamplerParameteri& c =
2135 *static_cast<const gles2::cmds::SamplerParameteri*>(cmd_data); 2164 *static_cast<const gles2::cmds::SamplerParameteri*>(cmd_data);
2136 (void)c; 2165 (void)c;
2137 GLuint sampler = c.sampler; 2166 GLuint sampler = c.sampler;
2138 GLenum pname = static_cast<GLenum>(c.pname); 2167 GLenum pname = static_cast<GLenum>(c.pname);
2139 GLint param = static_cast<GLint>(c.param); 2168 GLint param = static_cast<GLint>(c.param);
2140 group_->GetSamplerServiceId(sampler, &sampler); 2169 if (!group_->GetSamplerServiceId(sampler, &sampler)) {
2170 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glSamplerParameteri",
2171 "invalid sampler id");
2172 return error::kNoError;
2173 }
2141 glSamplerParameteri(sampler, pname, param); 2174 glSamplerParameteri(sampler, pname, param);
2142 return error::kNoError; 2175 return error::kNoError;
2143 } 2176 }
2144 2177
2145 error::Error GLES2DecoderImpl::HandleSamplerParameterivImmediate( 2178 error::Error GLES2DecoderImpl::HandleSamplerParameterivImmediate(
2146 uint32_t immediate_data_size, 2179 uint32_t immediate_data_size,
2147 const void* cmd_data) { 2180 const void* cmd_data) {
2148 if (!unsafe_es3_apis_enabled()) 2181 if (!unsafe_es3_apis_enabled())
2149 return error::kUnknownCommand; 2182 return error::kUnknownCommand;
2150 const gles2::cmds::SamplerParameterivImmediate& c = 2183 const gles2::cmds::SamplerParameterivImmediate& c =
(...skipping 2398 matching lines...) Expand 10 before | Expand all | Expand 10 after
4549 state_.ignore_cached_state) { 4582 state_.ignore_cached_state) {
4550 framebuffer_state_.clear_state_dirty = true; 4583 framebuffer_state_.clear_state_dirty = true;
4551 } 4584 }
4552 return false; 4585 return false;
4553 default: 4586 default:
4554 NOTREACHED(); 4587 NOTREACHED();
4555 return false; 4588 return false;
4556 } 4589 }
4557 } 4590 }
4558 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_ 4591 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_AUTOGEN_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/feature_info.h ('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