| 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 // A class to emulate GLES2 over command buffers. | 5 // A class to emulate GLES2 over command buffers. |
| 6 | 6 |
| 7 #include "gpu/command_buffer/client/gles2_implementation.h" | 7 #include "gpu/command_buffer/client/gles2_implementation.h" |
| 8 | 8 |
| 9 #include <GLES2/gl2.h> | 9 #include <GLES2/gl2.h> |
| 10 #include <GLES2/gl2ext.h> | 10 #include <GLES2/gl2ext.h> |
| (...skipping 5919 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5930 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 5930 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 5931 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClientWaitSync(" << sync | 5931 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClientWaitSync(" << sync |
| 5932 << ", " << flags << ", " << timeout << ")"); | 5932 << ", " << flags << ", " << timeout << ")"); |
| 5933 typedef cmds::ClientWaitSync::Result Result; | 5933 typedef cmds::ClientWaitSync::Result Result; |
| 5934 Result* result = GetResultAs<Result*>(); | 5934 Result* result = GetResultAs<Result*>(); |
| 5935 if (!result) { | 5935 if (!result) { |
| 5936 SetGLError(GL_OUT_OF_MEMORY, "ClientWaitSync", ""); | 5936 SetGLError(GL_OUT_OF_MEMORY, "ClientWaitSync", ""); |
| 5937 return GL_WAIT_FAILED; | 5937 return GL_WAIT_FAILED; |
| 5938 } | 5938 } |
| 5939 *result = GL_WAIT_FAILED; | 5939 *result = GL_WAIT_FAILED; |
| 5940 uint32_t v32_0 = 0, v32_1 = 0; | |
| 5941 GLES2Util::MapUint64ToTwoUint32(timeout, &v32_0, &v32_1); | |
| 5942 helper_->ClientWaitSync( | 5940 helper_->ClientWaitSync( |
| 5943 ToGLuint(sync), flags, v32_0, v32_1, | 5941 ToGLuint(sync), flags, timeout, GetResultShmId(), GetResultShmOffset()); |
| 5944 GetResultShmId(), GetResultShmOffset()); | |
| 5945 WaitForCmd(); | 5942 WaitForCmd(); |
| 5946 GPU_CLIENT_LOG("returned " << *result); | 5943 GPU_CLIENT_LOG("returned " << *result); |
| 5947 CheckGLError(); | 5944 CheckGLError(); |
| 5948 return *result; | 5945 return *result; |
| 5949 } | 5946 } |
| 5950 | 5947 |
| 5951 void GLES2Implementation::WaitSync( | 5948 void GLES2Implementation::WaitSync( |
| 5952 GLsync sync, GLbitfield flags, GLuint64 timeout) { | 5949 GLsync sync, GLbitfield flags, GLuint64 timeout) { |
| 5953 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 5950 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 5954 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glWaitSync(" << sync << ", " | 5951 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glWaitSync(" << sync << ", " |
| 5955 << flags << ", " << timeout << ")"); | 5952 << flags << ", " << timeout << ")"); |
| 5956 uint32_t v32_0 = 0, v32_1 = 0; | 5953 helper_->WaitSync(ToGLuint(sync), flags, timeout); |
| 5957 GLES2Util::MapUint64ToTwoUint32(timeout, &v32_0, &v32_1); | |
| 5958 helper_->WaitSync(ToGLuint(sync), flags, v32_0, v32_1); | |
| 5959 CheckGLError(); | 5954 CheckGLError(); |
| 5960 } | 5955 } |
| 5961 | 5956 |
| 5962 void GLES2Implementation::GetInternalformativ( | 5957 void GLES2Implementation::GetInternalformativ( |
| 5963 GLenum target, GLenum format, GLenum pname, | 5958 GLenum target, GLenum format, GLenum pname, |
| 5964 GLsizei buf_size, GLint* params) { | 5959 GLsizei buf_size, GLint* params) { |
| 5965 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 5960 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 5966 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 5961 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 5967 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetInternalformativ(" | 5962 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetInternalformativ(" |
| 5968 << GLES2Util::GetStringRenderBufferTarget(target) << ", " | 5963 << GLES2Util::GetStringRenderBufferTarget(target) << ", " |
| (...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6539 CheckGLError(); | 6534 CheckGLError(); |
| 6540 } | 6535 } |
| 6541 | 6536 |
| 6542 // Include the auto-generated part of this file. We split this because it means | 6537 // Include the auto-generated part of this file. We split this because it means |
| 6543 // we can easily edit the non-auto generated parts right here in this file | 6538 // we can easily edit the non-auto generated parts right here in this file |
| 6544 // instead of having to edit some template or the code generator. | 6539 // instead of having to edit some template or the code generator. |
| 6545 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h" | 6540 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h" |
| 6546 | 6541 |
| 6547 } // namespace gles2 | 6542 } // namespace gles2 |
| 6548 } // namespace gpu | 6543 } // namespace gpu |
| OLD | NEW |