OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |