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

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

Issue 1013463003: Update from https://crrev.com/320931 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 9 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/program_manager.cc
diff --git a/gpu/command_buffer/service/program_manager.cc b/gpu/command_buffer/service/program_manager.cc
index aef7e44976e7f70709ec78c1ca5e62e28d7f3b87..9187c882ac07d1afffbb4cf5196485dd6b42610a 100644
--- a/gpu/command_buffer/service/program_manager.cc
+++ b/gpu/command_buffer/service/program_manager.cc
@@ -211,7 +211,8 @@ Program::Program(ProgramManager* manager, GLuint service_id)
valid_(false),
link_status_(false),
uniforms_cleared_(false),
- num_uniforms_(0) {
+ num_uniforms_(0),
+ transform_feedback_buffer_mode_(GL_NONE) {
manager_->StartTracking(this);
}
@@ -532,7 +533,9 @@ bool Program::Link(ShaderManager* manager,
ProgramCache::LinkedProgramStatus status = cache->GetLinkedProgramStatus(
attached_shaders_[0]->last_compiled_signature(),
attached_shaders_[1]->last_compiled_signature(),
- &bind_attrib_location_map_);
+ &bind_attrib_location_map_,
+ transform_feedback_varyings_,
+ transform_feedback_buffer_mode_);
if (status == ProgramCache::LINK_SUCCEEDED) {
ProgramCache::ProgramLoadResult success =
@@ -540,6 +543,8 @@ bool Program::Link(ShaderManager* manager,
attached_shaders_[0].get(),
attached_shaders_[1].get(),
&bind_attrib_location_map_,
+ transform_feedback_varyings_,
+ transform_feedback_buffer_mode_,
shader_callback);
link = success != ProgramCache::PROGRAM_LOAD_SUCCESS;
UMA_HISTOGRAM_BOOLEAN("GPU.ProgramCache.LoadBinarySuccess", !link);
@@ -608,6 +613,8 @@ bool Program::Link(ShaderManager* manager,
attached_shaders_[0].get(),
attached_shaders_[1].get(),
&bind_attrib_location_map_,
+ transform_feedback_varyings_,
+ transform_feedback_buffer_mode_,
shader_callback);
}
UMA_HISTOGRAM_CUSTOM_COUNTS(
@@ -1603,6 +1610,16 @@ bool Program::GetUniformsES3(CommonDecoder::Bucket* bucket) const {
return true;
}
+void Program::TransformFeedbackVaryings(GLsizei count,
+ const char* const* varyings,
+ GLenum buffer_mode) {
+ transform_feedback_varyings_.clear();
+ for (GLsizei i = 0; i < count; ++i) {
+ transform_feedback_varyings_.push_back(std::string(varyings[i]));
+ }
+ transform_feedback_buffer_mode_ = buffer_mode;
+}
+
Program::~Program() {
if (manager_) {
if (manager_->have_context_) {
« no previous file with comments | « gpu/command_buffer/service/program_manager.h ('k') | gpu/command_buffer/service/program_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698