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

Unified 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, 2 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 side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
index b4684a10836692befae36a4ffd2d51612e764587..a3a0ec992fafea0279c285e472bc55118f3200a4 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
@@ -540,325 +540,6 @@ error::Error GLES2DecoderImpl::HandleCompileShader(
return error::kNoError;
}
-error::Error GLES2DecoderImpl::HandleCompressedTexSubImage2DBucket(
- uint32_t immediate_data_size,
- const volatile void* cmd_data) {
- const volatile gles2::cmds::CompressedTexSubImage2DBucket& c =
- *static_cast<const volatile gles2::cmds::CompressedTexSubImage2DBucket*>(
- cmd_data);
- GLenum target = static_cast<GLenum>(c.target);
- GLint level = static_cast<GLint>(c.level);
- GLint xoffset = static_cast<GLint>(c.xoffset);
- GLint yoffset = static_cast<GLint>(c.yoffset);
- GLsizei width = static_cast<GLsizei>(c.width);
- GLsizei height = static_cast<GLsizei>(c.height);
- GLenum format = static_cast<GLenum>(c.format);
- GLuint bucket_id = static_cast<GLuint>(c.bucket_id);
- Bucket* bucket = GetBucket(bucket_id);
- if (!bucket)
- return error::kInvalidArguments;
- uint32_t data_size = bucket->size();
- GLsizei imageSize = data_size;
- const void* data = bucket->GetData(0, data_size);
- DCHECK(data || !imageSize);
- if (!validators_->texture_target.IsValid(target)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage2D", target,
- "target");
- return error::kNoError;
- }
- if (width < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
- "width < 0");
- return error::kNoError;
- }
- if (height < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
- "height < 0");
- return error::kNoError;
- }
- if (!validators_->compressed_texture_format.IsValid(format)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage2D", format,
- "format");
- return error::kNoError;
- }
- if (imageSize < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
- "imageSize < 0");
- return error::kNoError;
- }
- DoCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height,
- format, imageSize, data);
- return error::kNoError;
-}
-
-error::Error GLES2DecoderImpl::HandleCompressedTexSubImage2D(
- uint32_t immediate_data_size,
- const volatile void* cmd_data) {
- const volatile gles2::cmds::CompressedTexSubImage2D& c =
- *static_cast<const volatile gles2::cmds::CompressedTexSubImage2D*>(
- cmd_data);
- GLenum target = static_cast<GLenum>(c.target);
- GLint level = static_cast<GLint>(c.level);
- GLint xoffset = static_cast<GLint>(c.xoffset);
- GLint yoffset = static_cast<GLint>(c.yoffset);
- GLsizei width = static_cast<GLsizei>(c.width);
- GLsizei height = static_cast<GLsizei>(c.height);
- GLenum format = static_cast<GLenum>(c.format);
- GLsizei imageSize = static_cast<GLsizei>(c.imageSize);
- uint32_t data_size = imageSize;
- const void* data = GetSharedMemoryAs<const void*>(
- c.data_shm_id, c.data_shm_offset, data_size);
- if (!validators_->texture_target.IsValid(target)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage2D", target,
- "target");
- return error::kNoError;
- }
- if (width < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
- "width < 0");
- return error::kNoError;
- }
- if (height < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
- "height < 0");
- return error::kNoError;
- }
- if (!validators_->compressed_texture_format.IsValid(format)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage2D", format,
- "format");
- return error::kNoError;
- }
- if (imageSize < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage2D",
- "imageSize < 0");
- return error::kNoError;
- }
- DoCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height,
- format, imageSize, data);
- return error::kNoError;
-}
-
-error::Error GLES2DecoderImpl::HandleCompressedTexImage3DBucket(
- uint32_t immediate_data_size,
- const volatile void* cmd_data) {
- if (!feature_info_->IsWebGL2OrES3Context())
- return error::kUnknownCommand;
- const volatile gles2::cmds::CompressedTexImage3DBucket& c =
- *static_cast<const volatile gles2::cmds::CompressedTexImage3DBucket*>(
- cmd_data);
- GLenum target = static_cast<GLenum>(c.target);
- GLint level = static_cast<GLint>(c.level);
- GLenum internalformat = static_cast<GLenum>(c.internalformat);
- GLsizei width = static_cast<GLsizei>(c.width);
- GLsizei height = static_cast<GLsizei>(c.height);
- GLsizei depth = static_cast<GLsizei>(c.depth);
- GLuint bucket_id = static_cast<GLuint>(c.bucket_id);
- GLint border = static_cast<GLint>(c.border);
- Bucket* bucket = GetBucket(bucket_id);
- if (!bucket)
- return error::kInvalidArguments;
- uint32_t data_size = bucket->size();
- GLsizei imageSize = data_size;
- const void* data = bucket->GetData(0, data_size);
- DCHECK(data || !imageSize);
- if (!validators_->texture_3_d_target.IsValid(target)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexImage3D", target, "target");
- return error::kNoError;
- }
- if (!validators_->compressed_texture_format.IsValid(internalformat)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexImage3D", internalformat,
- "internalformat");
- return error::kNoError;
- }
- if (width < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D", "width < 0");
- return error::kNoError;
- }
- if (height < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D",
- "height < 0");
- return error::kNoError;
- }
- if (depth < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D", "depth < 0");
- return error::kNoError;
- }
- if (imageSize < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D",
- "imageSize < 0");
- return error::kNoError;
- }
- DoCompressedTexImage3D(target, level, internalformat, width, height, depth,
- border, imageSize, data);
- return error::kNoError;
-}
-
-error::Error GLES2DecoderImpl::HandleCompressedTexImage3D(
- uint32_t immediate_data_size,
- const volatile void* cmd_data) {
- if (!feature_info_->IsWebGL2OrES3Context())
- return error::kUnknownCommand;
- const volatile gles2::cmds::CompressedTexImage3D& c =
- *static_cast<const volatile gles2::cmds::CompressedTexImage3D*>(cmd_data);
- GLenum target = static_cast<GLenum>(c.target);
- GLint level = static_cast<GLint>(c.level);
- GLenum internalformat = static_cast<GLenum>(c.internalformat);
- GLsizei width = static_cast<GLsizei>(c.width);
- GLsizei height = static_cast<GLsizei>(c.height);
- GLsizei depth = static_cast<GLsizei>(c.depth);
- GLint border = static_cast<GLint>(c.border);
- GLsizei imageSize = static_cast<GLsizei>(c.imageSize);
- uint32_t data_size = imageSize;
- const void* data = GetSharedMemoryAs<const void*>(
- c.data_shm_id, c.data_shm_offset, data_size);
- if (!validators_->texture_3_d_target.IsValid(target)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexImage3D", target, "target");
- return error::kNoError;
- }
- if (!validators_->compressed_texture_format.IsValid(internalformat)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexImage3D", internalformat,
- "internalformat");
- return error::kNoError;
- }
- if (width < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D", "width < 0");
- return error::kNoError;
- }
- if (height < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D",
- "height < 0");
- return error::kNoError;
- }
- if (depth < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D", "depth < 0");
- return error::kNoError;
- }
- if (imageSize < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexImage3D",
- "imageSize < 0");
- return error::kNoError;
- }
- DoCompressedTexImage3D(target, level, internalformat, width, height, depth,
- border, imageSize, data);
- return error::kNoError;
-}
-
-error::Error GLES2DecoderImpl::HandleCompressedTexSubImage3DBucket(
- uint32_t immediate_data_size,
- const volatile void* cmd_data) {
- if (!feature_info_->IsWebGL2OrES3Context())
- return error::kUnknownCommand;
- const volatile gles2::cmds::CompressedTexSubImage3DBucket& c =
- *static_cast<const volatile gles2::cmds::CompressedTexSubImage3DBucket*>(
- cmd_data);
- GLenum target = static_cast<GLenum>(c.target);
- GLint level = static_cast<GLint>(c.level);
- GLint xoffset = static_cast<GLint>(c.xoffset);
- GLint yoffset = static_cast<GLint>(c.yoffset);
- GLint zoffset = static_cast<GLint>(c.zoffset);
- GLsizei width = static_cast<GLsizei>(c.width);
- GLsizei height = static_cast<GLsizei>(c.height);
- GLsizei depth = static_cast<GLsizei>(c.depth);
- GLenum format = static_cast<GLenum>(c.format);
- GLuint bucket_id = static_cast<GLuint>(c.bucket_id);
- Bucket* bucket = GetBucket(bucket_id);
- if (!bucket)
- return error::kInvalidArguments;
- uint32_t data_size = bucket->size();
- GLsizei imageSize = data_size;
- const void* data = bucket->GetData(0, data_size);
- DCHECK(data || !imageSize);
- if (!validators_->texture_3_d_target.IsValid(target)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage3D", target,
- "target");
- return error::kNoError;
- }
- if (width < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
- "width < 0");
- return error::kNoError;
- }
- if (height < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
- "height < 0");
- return error::kNoError;
- }
- if (depth < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
- "depth < 0");
- return error::kNoError;
- }
- if (!validators_->compressed_texture_format.IsValid(format)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage3D", format,
- "format");
- return error::kNoError;
- }
- if (imageSize < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
- "imageSize < 0");
- return error::kNoError;
- }
- DoCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width,
- height, depth, format, imageSize, data);
- return error::kNoError;
-}
-
-error::Error GLES2DecoderImpl::HandleCompressedTexSubImage3D(
- uint32_t immediate_data_size,
- const volatile void* cmd_data) {
- if (!feature_info_->IsWebGL2OrES3Context())
- return error::kUnknownCommand;
- const volatile gles2::cmds::CompressedTexSubImage3D& c =
- *static_cast<const volatile gles2::cmds::CompressedTexSubImage3D*>(
- cmd_data);
- GLenum target = static_cast<GLenum>(c.target);
- GLint level = static_cast<GLint>(c.level);
- GLint xoffset = static_cast<GLint>(c.xoffset);
- GLint yoffset = static_cast<GLint>(c.yoffset);
- GLint zoffset = static_cast<GLint>(c.zoffset);
- GLsizei width = static_cast<GLsizei>(c.width);
- GLsizei height = static_cast<GLsizei>(c.height);
- GLsizei depth = static_cast<GLsizei>(c.depth);
- GLenum format = static_cast<GLenum>(c.format);
- GLsizei imageSize = static_cast<GLsizei>(c.imageSize);
- uint32_t data_size = imageSize;
- const void* data = GetSharedMemoryAs<const void*>(
- c.data_shm_id, c.data_shm_offset, data_size);
- if (!validators_->texture_3_d_target.IsValid(target)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage3D", target,
- "target");
- return error::kNoError;
- }
- if (width < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
- "width < 0");
- return error::kNoError;
- }
- if (height < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
- "height < 0");
- return error::kNoError;
- }
- if (depth < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
- "depth < 0");
- return error::kNoError;
- }
- if (!validators_->compressed_texture_format.IsValid(format)) {
- LOCAL_SET_GL_ERROR_INVALID_ENUM("glCompressedTexSubImage3D", format,
- "format");
- return error::kNoError;
- }
- if (imageSize < 0) {
- LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, "glCompressedTexSubImage3D",
- "imageSize < 0");
- return error::kNoError;
- }
- DoCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width,
- height, depth, format, imageSize, data);
- return error::kNoError;
-}
-
error::Error GLES2DecoderImpl::HandleCopyBufferSubData(
uint32_t immediate_data_size,
const volatile void* cmd_data) {
« 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