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

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

Issue 1028333002: Chromium -> Mojo roll. (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
« no previous file with comments | « gpu/command_buffer/service/context_state_autogen.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/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..467f1cec7e18dcb1106df7257cb3c68dac25134d 100644
--- a/gpu/command_buffer/service/context_state_impl_autogen.h
+++ b/gpu/command_buffer/service/context_state_impl_autogen.h
@@ -30,7 +30,9 @@ ContextState::EnableFlags::EnableFlags()
scissor_test(false),
cached_scissor_test(false),
stencil_test(false),
- cached_stencil_test(false) {
+ cached_stencil_test(false),
+ rasterizer_discard(false),
+ cached_rasterizer_discard(false) {
}
void ContextState::Initialize() {
@@ -134,33 +136,49 @@ void ContextState::Initialize() {
void ContextState::InitCapabilities(const ContextState* prev_state) const {
if (prev_state) {
- if (prev_state->enable_flags.cached_blend != enable_flags.cached_blend)
+ if (prev_state->enable_flags.cached_blend != enable_flags.cached_blend) {
EnableDisable(GL_BLEND, enable_flags.cached_blend);
+ }
if (prev_state->enable_flags.cached_cull_face !=
- enable_flags.cached_cull_face)
+ enable_flags.cached_cull_face) {
EnableDisable(GL_CULL_FACE, enable_flags.cached_cull_face);
+ }
if (prev_state->enable_flags.cached_depth_test !=
- enable_flags.cached_depth_test)
+ enable_flags.cached_depth_test) {
EnableDisable(GL_DEPTH_TEST, enable_flags.cached_depth_test);
- if (prev_state->enable_flags.cached_dither != enable_flags.cached_dither)
+ }
+ if (prev_state->enable_flags.cached_dither != enable_flags.cached_dither) {
EnableDisable(GL_DITHER, enable_flags.cached_dither);
+ }
if (prev_state->enable_flags.cached_polygon_offset_fill !=
- enable_flags.cached_polygon_offset_fill)
+ enable_flags.cached_polygon_offset_fill) {
EnableDisable(GL_POLYGON_OFFSET_FILL,
enable_flags.cached_polygon_offset_fill);
+ }
if (prev_state->enable_flags.cached_sample_alpha_to_coverage !=
- enable_flags.cached_sample_alpha_to_coverage)
+ enable_flags.cached_sample_alpha_to_coverage) {
EnableDisable(GL_SAMPLE_ALPHA_TO_COVERAGE,
enable_flags.cached_sample_alpha_to_coverage);
+ }
if (prev_state->enable_flags.cached_sample_coverage !=
- enable_flags.cached_sample_coverage)
+ enable_flags.cached_sample_coverage) {
EnableDisable(GL_SAMPLE_COVERAGE, enable_flags.cached_sample_coverage);
+ }
if (prev_state->enable_flags.cached_scissor_test !=
- enable_flags.cached_scissor_test)
+ enable_flags.cached_scissor_test) {
EnableDisable(GL_SCISSOR_TEST, enable_flags.cached_scissor_test);
+ }
if (prev_state->enable_flags.cached_stencil_test !=
- enable_flags.cached_stencil_test)
+ enable_flags.cached_stencil_test) {
EnableDisable(GL_STENCIL_TEST, enable_flags.cached_stencil_test);
+ }
+ if (feature_info_->IsES3Capable()) {
+ if (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 +191,10 @@ 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()) {
+ EnableDisable(GL_RASTERIZER_DISCARD,
+ enable_flags.cached_rasterizer_discard);
+ }
}
}
@@ -358,6 +380,8 @@ bool ContextState::GetEnabled(GLenum cap) const {
return enable_flags.scissor_test;
case GL_STENCIL_TEST:
return enable_flags.stencil_test;
+ case GL_RASTERIZER_DISCARD:
+ return enable_flags.rasterizer_discard;
default:
NOTREACHED();
return false;
@@ -700,6 +724,12 @@ bool ContextState::GetStateAsGLint(GLenum pname,
params[0] = static_cast<GLint>(enable_flags.stencil_test);
}
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 +1067,12 @@ bool ContextState::GetStateAsGLfloat(GLenum pname,
params[0] = static_cast<GLfloat>(enable_flags.stencil_test);
}
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.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698