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

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder.cc

Issue 566023002: Clean up interfaces between Shader / ShaderTranslator / ANGLE side. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
« no previous file with comments | « no previous file | gpu/command_buffer/service/gles2_cmd_decoder_unittest_1.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/service/gles2_cmd_decoder.cc
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index b66562557545b6461e3b08b28e692e9911518cb4..ffb02574c6118c2780153ff0e67b81345aa149c5 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -6834,7 +6834,7 @@ error::Error GLES2DecoderImpl::ShaderSourceHelper(
}
// Note: We don't actually call glShaderSource here. We wait until
// the call to glCompileShader.
- shader->UpdateSource(str.c_str());
+ shader->set_source(str);
return error::kNoError;
}
@@ -6864,11 +6864,10 @@ void GLES2DecoderImpl::DoCompileShader(GLuint client_id) {
vertex_translator_.get() : fragment_translator_.get();
}
- program_manager()->DoCompileShader(
- shader,
+ shader->DoCompile(
translator,
feature_info_->feature_flags().angle_translated_shader_source ?
- ProgramManager::kANGLE : ProgramManager::kGL);
+ Shader::kANGLE : Shader::kGL);
// CompileShader can be very slow. Exit command processing to allow for
// context preemption and GPU watchdog checks.
@@ -6883,17 +6882,22 @@ void GLES2DecoderImpl::DoGetShaderiv(
}
switch (pname) {
case GL_SHADER_SOURCE_LENGTH:
- *params = shader->source() ? shader->source()->size() + 1 : 0;
+ *params = shader->source().size();
+ if (*params)
+ ++(*params);
return;
case GL_COMPILE_STATUS:
- *params = compile_shader_always_succeeds_ ? true : shader->IsValid();
+ *params = compile_shader_always_succeeds_ ? true : shader->valid();
return;
case GL_INFO_LOG_LENGTH:
- *params = shader->log_info() ? shader->log_info()->size() + 1 : 0;
+ *params = shader->log_info().size();
+ if (*params)
+ ++(*params);
return;
case GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE:
- *params = shader->translated_source() ?
- shader->translated_source()->size() + 1 : 0;
+ *params = shader->translated_source().size();
+ if (*params)
+ ++(*params);
return;
default:
break;
@@ -6909,11 +6913,11 @@ error::Error GLES2DecoderImpl::HandleGetShaderSource(uint32 immediate_data_size,
uint32 bucket_id = static_cast<uint32>(c.bucket_id);
Bucket* bucket = CreateBucket(bucket_id);
Shader* shader = GetShaderInfoNotProgram(shader_id, "glGetShaderSource");
- if (!shader || !shader->source()) {
+ if (!shader || shader->source().empty()) {
bucket->SetSize(0);
return error::kNoError;
}
- bucket->SetFromString(shader->source()->c_str());
+ bucket->SetFromString(shader->source().c_str());
return error::kNoError;
}
@@ -6933,8 +6937,7 @@ error::Error GLES2DecoderImpl::HandleGetTranslatedShaderSourceANGLE(
return error::kNoError;
}
- bucket->SetFromString(shader->translated_source() ?
- shader->translated_source()->c_str() : NULL);
+ bucket->SetFromString(shader->translated_source().c_str());
return error::kNoError;
}
@@ -6965,11 +6968,11 @@ error::Error GLES2DecoderImpl::HandleGetShaderInfoLog(
uint32 bucket_id = static_cast<uint32>(c.bucket_id);
Bucket* bucket = CreateBucket(bucket_id);
Shader* shader = GetShaderInfoNotProgram(shader_id, "glGetShaderInfoLog");
- if (!shader || !shader->log_info()) {
+ if (!shader) {
bucket->SetFromString("");
return error::kNoError;
}
- bucket->SetFromString(shader->log_info()->c_str());
+ bucket->SetFromString(shader->log_info().c_str());
return error::kNoError;
}
« no previous file with comments | « no previous file | 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