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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder.cc

Issue 15792007: gpu: Autogenerate glHint state (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Switch-case instead of if-series. Created 7 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <list> 10 #include <list>
(...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1145 GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid * data); 1145 GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid * data);
1146 1146
1147 // Wrapper for glCheckFramebufferStatus 1147 // Wrapper for glCheckFramebufferStatus
1148 GLenum DoCheckFramebufferStatus(GLenum target); 1148 GLenum DoCheckFramebufferStatus(GLenum target);
1149 1149
1150 // Wrapper for glClear 1150 // Wrapper for glClear
1151 error::Error DoClear(GLbitfield mask); 1151 error::Error DoClear(GLbitfield mask);
1152 1152
1153 // Wrappers for various state. 1153 // Wrappers for various state.
1154 void DoDepthRangef(GLclampf znear, GLclampf zfar); 1154 void DoDepthRangef(GLclampf znear, GLclampf zfar);
1155 void DoHint(GLenum target, GLenum mode);
1156 void DoSampleCoverage(GLclampf value, GLboolean invert); 1155 void DoSampleCoverage(GLclampf value, GLboolean invert);
1157 1156
1158 // Wrapper for glCompileShader. 1157 // Wrapper for glCompileShader.
1159 void DoCompileShader(GLuint shader); 1158 void DoCompileShader(GLuint shader);
1160 1159
1161 // Helper for DeleteSharedIdsCHROMIUM commands. 1160 // Helper for DeleteSharedIdsCHROMIUM commands.
1162 void DoDeleteSharedIdsCHROMIUM( 1161 void DoDeleteSharedIdsCHROMIUM(
1163 GLuint namespace_id, GLsizei n, const GLuint* ids); 1162 GLuint namespace_id, GLsizei n, const GLuint* ids);
1164 1163
1165 // Wrapper for glDetachShader 1164 // Wrapper for glDetachShader
(...skipping 3593 matching lines...) Expand 10 before | Expand all | Expand 10 after
4759 glEnable(cap); 4758 glEnable(cap);
4760 } 4759 }
4761 } 4760 }
4762 4761
4763 void GLES2DecoderImpl::DoDepthRangef(GLclampf znear, GLclampf zfar) { 4762 void GLES2DecoderImpl::DoDepthRangef(GLclampf znear, GLclampf zfar) {
4764 state_.z_near = std::min(1.0f, std::max(0.0f, znear)); 4763 state_.z_near = std::min(1.0f, std::max(0.0f, znear));
4765 state_.z_far = std::min(1.0f, std::max(0.0f, zfar)); 4764 state_.z_far = std::min(1.0f, std::max(0.0f, zfar));
4766 glDepthRange(znear, zfar); 4765 glDepthRange(znear, zfar);
4767 } 4766 }
4768 4767
4769 void GLES2DecoderImpl::DoHint(GLenum target, GLenum mode) {
4770 switch (target) {
4771 case GL_GENERATE_MIPMAP_HINT:
4772 state_.hint_generate_mipmap = mode;
4773 break;
4774 case GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES:
4775 state_.hint_fragment_shader_derivative = mode;
4776 break;
4777 default:
4778 NOTREACHED();
4779 }
4780 glHint(target, mode);
4781 }
4782
4783 void GLES2DecoderImpl::DoSampleCoverage(GLclampf value, GLboolean invert) { 4768 void GLES2DecoderImpl::DoSampleCoverage(GLclampf value, GLboolean invert) {
4784 state_.sample_coverage_value = std::min(1.0f, std::max(0.0f, value)); 4769 state_.sample_coverage_value = std::min(1.0f, std::max(0.0f, value));
4785 state_.sample_coverage_invert = (invert != 0); 4770 state_.sample_coverage_invert = (invert != 0);
4786 glSampleCoverage(state_.sample_coverage_value, invert); 4771 glSampleCoverage(state_.sample_coverage_value, invert);
4787 } 4772 }
4788 4773
4789 // Assumes framebuffer is complete. 4774 // Assumes framebuffer is complete.
4790 void GLES2DecoderImpl::ClearUnclearedAttachments( 4775 void GLES2DecoderImpl::ClearUnclearedAttachments(
4791 GLenum target, Framebuffer* framebuffer) { 4776 GLenum target, Framebuffer* framebuffer) {
4792 if (target == GL_READ_FRAMEBUFFER_EXT) { 4777 if (target == GL_READ_FRAMEBUFFER_EXT) {
(...skipping 5555 matching lines...) Expand 10 before | Expand all | Expand 10 after
10348 return error::kNoError; 10333 return error::kNoError;
10349 } 10334 }
10350 10335
10351 // Include the auto-generated part of this file. We split this because it means 10336 // Include the auto-generated part of this file. We split this because it means
10352 // we can easily edit the non-auto generated parts right here in this file 10337 // we can easily edit the non-auto generated parts right here in this file
10353 // instead of having to edit some template or the code generator. 10338 // instead of having to edit some template or the code generator.
10354 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" 10339 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h"
10355 10340
10356 } // namespace gles2 10341 } // namespace gles2
10357 } // namespace gpu 10342 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/context_state_impl_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