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

Unified Diff: gpu/command_buffer/service/context_state_impl_autogen.h

Issue 1000483002: Added GLES3 Capabilities to the Command Buffer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Stopped ES3 features from being set unless backed by an ES3 context 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/context_state_impl_autogen.h
diff --git a/gpu/command_buffer/service/context_state_impl_autogen.h b/gpu/command_buffer/service/context_state_impl_autogen.h
index 037ac6c1a0bd96d1b767158e35d498cd77155cb3..fe429d67b69857dde628eb93c398f14bef74e8a3 100644
--- a/gpu/command_buffer/service/context_state_impl_autogen.h
+++ b/gpu/command_buffer/service/context_state_impl_autogen.h
@@ -30,7 +30,11 @@ ContextState::EnableFlags::EnableFlags()
scissor_test(false),
cached_scissor_test(false),
stencil_test(false),
- cached_stencil_test(false) {
+ cached_stencil_test(false),
+ primitive_restart_fixed_index(false),
+ cached_primitive_restart_fixed_index(false),
+ rasterizer_discard(false),
+ cached_rasterizer_discard(false) {
}
void ContextState::Initialize() {
@@ -161,6 +165,16 @@ void ContextState::InitCapabilities(const ContextState* prev_state) const {
if (prev_state->enable_flags.cached_stencil_test !=
enable_flags.cached_stencil_test)
EnableDisable(GL_STENCIL_TEST, enable_flags.cached_stencil_test);
+ if (feature_info_->IsES3Capable() &&
piman 2015/03/11 00:43:40 nit: maybe test this only once for both enables?
+ prev_state->enable_flags.cached_primitive_restart_fixed_index !=
+ enable_flags.cached_primitive_restart_fixed_index)
piman 2015/03/11 00:43:40 nit: needs brackets per style guide because body i
+ EnableDisable(GL_PRIMITIVE_RESTART_FIXED_INDEX,
+ enable_flags.cached_primitive_restart_fixed_index);
+ if (feature_info_->IsES3Capable() &&
+ prev_state->enable_flags.cached_rasterizer_discard !=
+ enable_flags.cached_rasterizer_discard)
+ EnableDisable(GL_RASTERIZER_DISCARD,
+ enable_flags.cached_rasterizer_discard);
} else {
EnableDisable(GL_BLEND, enable_flags.cached_blend);
EnableDisable(GL_CULL_FACE, enable_flags.cached_cull_face);
@@ -173,6 +187,12 @@ void ContextState::InitCapabilities(const ContextState* prev_state) const {
EnableDisable(GL_SAMPLE_COVERAGE, enable_flags.cached_sample_coverage);
EnableDisable(GL_SCISSOR_TEST, enable_flags.cached_scissor_test);
EnableDisable(GL_STENCIL_TEST, enable_flags.cached_stencil_test);
+ if (feature_info_->IsES3Capable())
piman 2015/03/11 00:43:40 nit: same here, test only once for both enables
+ EnableDisable(GL_PRIMITIVE_RESTART_FIXED_INDEX,
piman 2015/03/11 00:43:40 nit: same here wrt brackets.
+ enable_flags.cached_primitive_restart_fixed_index);
+ if (feature_info_->IsES3Capable())
+ EnableDisable(GL_RASTERIZER_DISCARD,
+ enable_flags.cached_rasterizer_discard);
}
}
@@ -358,6 +378,10 @@ bool ContextState::GetEnabled(GLenum cap) const {
return enable_flags.scissor_test;
case GL_STENCIL_TEST:
return enable_flags.stencil_test;
+ case GL_PRIMITIVE_RESTART_FIXED_INDEX:
+ return enable_flags.primitive_restart_fixed_index;
+ case GL_RASTERIZER_DISCARD:
+ return enable_flags.rasterizer_discard;
default:
NOTREACHED();
return false;
@@ -700,6 +724,19 @@ bool ContextState::GetStateAsGLint(GLenum pname,
params[0] = static_cast<GLint>(enable_flags.stencil_test);
}
return true;
+ case GL_PRIMITIVE_RESTART_FIXED_INDEX:
+ *num_written = 1;
+ if (params) {
+ params[0] =
+ static_cast<GLint>(enable_flags.primitive_restart_fixed_index);
+ }
+ return true;
+ case GL_RASTERIZER_DISCARD:
+ *num_written = 1;
+ if (params) {
+ params[0] = static_cast<GLint>(enable_flags.rasterizer_discard);
+ }
+ return true;
default:
return false;
}
@@ -1037,6 +1074,19 @@ bool ContextState::GetStateAsGLfloat(GLenum pname,
params[0] = static_cast<GLfloat>(enable_flags.stencil_test);
}
return true;
+ case GL_PRIMITIVE_RESTART_FIXED_INDEX:
+ *num_written = 1;
+ if (params) {
+ params[0] =
+ static_cast<GLfloat>(enable_flags.primitive_restart_fixed_index);
+ }
+ return true;
+ case GL_RASTERIZER_DISCARD:
+ *num_written = 1;
+ if (params) {
+ params[0] = static_cast<GLfloat>(enable_flags.rasterizer_discard);
+ }
+ return true;
default:
return false;
}
« no previous file with comments | « gpu/command_buffer/service/context_state_autogen.h ('k') | gpu/command_buffer/service/gles2_cmd_decoder_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698