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

Unified Diff: gpu/command_buffer/common/gles2_cmd_utils.cc

Issue 455783002: GPU context creation code duplication cleanup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Fix even more build dependencies Created 6 years, 4 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 | « gpu/command_buffer/common/gles2_cmd_utils.h ('k') | gpu/command_buffer/service/gles2_cmd_decoder.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/common/gles2_cmd_utils.cc
diff --git a/gpu/command_buffer/common/gles2_cmd_utils.cc b/gpu/command_buffer/common/gles2_cmd_utils.cc
index 37d10447e3d38ef9d2ce492caf7d2aeb98ef8e2d..3b5097cd43835dcd3ba5846a5be77dde4a5505b8 100644
--- a/gpu/command_buffer/common/gles2_cmd_utils.cc
+++ b/gpu/command_buffer/common/gles2_cmd_utils.cc
@@ -784,6 +784,10 @@ bool GLES2Util::ParseUniformName(
namespace {
+// WebGraphicsContext3DCommandBufferImpl configuration attributes. Those in
+// the 16-bit range are the same as used by EGL. Those outside the 16-bit range
+// are unique to Chromium. Attributes are matched using a closest fit algorithm.
+
// From <EGL/egl.h>.
const int32 kAlphaSize = 0x3021; // EGL_ALPHA_SIZE
const int32 kBlueSize = 0x3022; // EGL_BLUE_SIZE
@@ -799,71 +803,67 @@ const int32 kBufferPreserved = 0x3094; // EGL_BUFFER_PRESERVED
const int32 kBufferDestroyed = 0x3095; // EGL_BUFFER_DESTROYED
// Chromium only.
-const int32 kShareResources = 0x10000;
-const int32 kBindGeneratesResource = 0x10001;
-const int32 kFailIfMajorPerfCaveat = 0x10002;
-const int32 kLoseContextWhenOutOfMemory = 0x10003;
+const int32 kBindGeneratesResource = 0x10000;
+const int32 kFailIfMajorPerfCaveat = 0x10001;
+const int32 kLoseContextWhenOutOfMemory = 0x10002;
} // namespace
ContextCreationAttribHelper::ContextCreationAttribHelper()
- : alpha_size_(-1),
- blue_size_(-1),
- green_size_(-1),
- red_size_(-1),
- depth_size_(-1),
- stencil_size_(-1),
- samples_(-1),
- sample_buffers_(-1),
- buffer_preserved_(true),
- share_resources_(false),
- bind_generates_resource_(true),
- fail_if_major_perf_caveat_(false),
- lose_context_when_out_of_memory_(false) {}
-
-void ContextCreationAttribHelper::Serialize(std::vector<int32>* attribs) {
- if (alpha_size_ != -1) {
+ : alpha_size(-1),
+ blue_size(-1),
+ green_size(-1),
+ red_size(-1),
+ depth_size(-1),
+ stencil_size(-1),
+ samples(-1),
+ sample_buffers(-1),
+ buffer_preserved(true),
+ bind_generates_resource(true),
+ fail_if_major_perf_caveat(false),
+ lose_context_when_out_of_memory(false) {}
+
+void ContextCreationAttribHelper::Serialize(std::vector<int32>* attribs) const {
+ if (alpha_size != -1) {
attribs->push_back(kAlphaSize);
- attribs->push_back(alpha_size_);
+ attribs->push_back(alpha_size);
}
- if (blue_size_ != -1) {
+ if (blue_size != -1) {
attribs->push_back(kBlueSize);
- attribs->push_back(blue_size_);
+ attribs->push_back(blue_size);
}
- if (green_size_ != -1) {
+ if (green_size != -1) {
attribs->push_back(kGreenSize);
- attribs->push_back(green_size_);
+ attribs->push_back(green_size);
}
- if (red_size_ != -1) {
+ if (red_size != -1) {
attribs->push_back(kRedSize);
- attribs->push_back(red_size_);
+ attribs->push_back(red_size);
}
- if (depth_size_ != -1) {
+ if (depth_size != -1) {
attribs->push_back(kDepthSize);
- attribs->push_back(depth_size_);
+ attribs->push_back(depth_size);
}
- if (stencil_size_ != -1) {
+ if (stencil_size != -1) {
attribs->push_back(kStencilSize);
- attribs->push_back(stencil_size_);
+ attribs->push_back(stencil_size);
}
- if (samples_ != -1) {
+ if (samples != -1) {
attribs->push_back(kSamples);
- attribs->push_back(samples_);
+ attribs->push_back(samples);
}
- if (sample_buffers_ != -1) {
+ if (sample_buffers != -1) {
attribs->push_back(kSampleBuffers);
- attribs->push_back(sample_buffers_);
+ attribs->push_back(sample_buffers);
}
attribs->push_back(kSwapBehavior);
- attribs->push_back(buffer_preserved_ ? kBufferPreserved : kBufferDestroyed);
- attribs->push_back(kShareResources);
- attribs->push_back(share_resources_ ? 1 : 0);
+ attribs->push_back(buffer_preserved ? kBufferPreserved : kBufferDestroyed);
attribs->push_back(kBindGeneratesResource);
- attribs->push_back(bind_generates_resource_ ? 1 : 0);
+ attribs->push_back(bind_generates_resource ? 1 : 0);
attribs->push_back(kFailIfMajorPerfCaveat);
- attribs->push_back(fail_if_major_perf_caveat_ ? 1 : 0);
+ attribs->push_back(fail_if_major_perf_caveat ? 1 : 0);
attribs->push_back(kLoseContextWhenOutOfMemory);
- attribs->push_back(lose_context_when_out_of_memory_ ? 1 : 0);
+ attribs->push_back(lose_context_when_out_of_memory ? 1 : 0);
attribs->push_back(kNone);
}
@@ -883,43 +883,40 @@ bool ContextCreationAttribHelper::Parse(const std::vector<int32>& attribs) {
const int32 value = attribs[i+1];
switch (attrib) {
case kAlphaSize:
- alpha_size_ = value;
+ alpha_size = value;
break;
case kBlueSize:
- blue_size_ = value;
+ blue_size = value;
break;
case kGreenSize:
- green_size_ = value;
+ green_size = value;
break;
case kRedSize:
- red_size_ = value;
+ red_size = value;
break;
case kDepthSize:
- depth_size_ = value;
+ depth_size = value;
break;
case kStencilSize:
- stencil_size_ = value;
+ stencil_size = value;
break;
case kSamples:
- samples_ = value;
+ samples = value;
break;
case kSampleBuffers:
- sample_buffers_ = value;
+ sample_buffers = value;
break;
case kSwapBehavior:
- buffer_preserved_ = value == kBufferPreserved;
- break;
- case kShareResources:
- share_resources_ = value != 0;
+ buffer_preserved = value == kBufferPreserved;
break;
case kBindGeneratesResource:
- bind_generates_resource_ = value != 0;
+ bind_generates_resource = value != 0;
break;
case kFailIfMajorPerfCaveat:
- fail_if_major_perf_caveat_ = value != 0;
+ fail_if_major_perf_caveat = value != 0;
break;
case kLoseContextWhenOutOfMemory:
- lose_context_when_out_of_memory_ = value != 0;
+ lose_context_when_out_of_memory = value != 0;
break;
case kNone:
// Terminate list, even if more attributes.
« no previous file with comments | « gpu/command_buffer/common/gles2_cmd_utils.h ('k') | gpu/command_buffer/service/gles2_cmd_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698