| 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/blink/webgraphicscontext3d_impl.h" | 5 #include "gpu/blink/webgraphicscontext3d_impl.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/atomicops.h" | 9 #include "base/atomicops.h" |
| 10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 } | 226 } |
| 227 | 227 |
| 228 DELEGATE_TO_GL_1(waitSyncTokenCHROMIUM, WaitSyncTokenCHROMIUM, const WGC3Dbyte*) | 228 DELEGATE_TO_GL_1(waitSyncTokenCHROMIUM, WaitSyncTokenCHROMIUM, const WGC3Dbyte*) |
| 229 | 229 |
| 230 void WebGraphicsContext3DImpl::reshapeWithScaleFactor(int width, | 230 void WebGraphicsContext3DImpl::reshapeWithScaleFactor(int width, |
| 231 int height, | 231 int height, |
| 232 float scale) { | 232 float scale) { |
| 233 gl_->ResizeCHROMIUM(width, height, scale, true); | 233 gl_->ResizeCHROMIUM(width, height, scale, true); |
| 234 } | 234 } |
| 235 | 235 |
| 236 DELEGATE_TO_GL_4R(mapBufferSubDataCHROMIUM, MapBufferSubDataCHROMIUM, WGC3Denum, | |
| 237 WGC3Dintptr, WGC3Dsizeiptr, WGC3Denum, void*) | |
| 238 | |
| 239 DELEGATE_TO_GL_1(unmapBufferSubDataCHROMIUM, UnmapBufferSubDataCHROMIUM, | |
| 240 const void*) | |
| 241 | |
| 242 DELEGATE_TO_GL_9R(mapTexSubImage2DCHROMIUM, MapTexSubImage2DCHROMIUM, WGC3Denum, | |
| 243 WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dsizei, WGC3Dsizei, | |
| 244 WGC3Denum, WGC3Denum, WGC3Denum, void*) | |
| 245 | |
| 246 DELEGATE_TO_GL_1(unmapTexSubImage2DCHROMIUM, UnmapTexSubImage2DCHROMIUM, | |
| 247 const void*) | |
| 248 | |
| 249 DELEGATE_TO_GL_3(discardFramebufferEXT, DiscardFramebufferEXT, WGC3Denum, | 236 DELEGATE_TO_GL_3(discardFramebufferEXT, DiscardFramebufferEXT, WGC3Denum, |
| 250 WGC3Dsizei, const WGC3Denum*) | 237 WGC3Dsizei, const WGC3Denum*) |
| 251 | 238 |
| 252 blink::WebString WebGraphicsContext3DImpl:: | 239 blink::WebString WebGraphicsContext3DImpl:: |
| 253 getRequestableExtensionsCHROMIUM() { | 240 getRequestableExtensionsCHROMIUM() { |
| 254 return blink::WebString::fromUTF8( | 241 return blink::WebString::fromUTF8( |
| 255 gl_->GetRequestableExtensionsCHROMIUM()); | 242 gl_->GetRequestableExtensionsCHROMIUM()); |
| 256 } | 243 } |
| 257 | 244 |
| 258 DELEGATE_TO_GL_1(requestExtensionCHROMIUM, RequestExtensionCHROMIUM, | 245 DELEGATE_TO_GL_1(requestExtensionCHROMIUM, RequestExtensionCHROMIUM, |
| (...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 828 void WebGraphicsContext3DImpl::setErrorMessageCallback( | 815 void WebGraphicsContext3DImpl::setErrorMessageCallback( |
| 829 WebGraphicsContext3D::WebGraphicsErrorMessageCallback* cb) { | 816 WebGraphicsContext3D::WebGraphicsErrorMessageCallback* cb) { |
| 830 error_message_callback_ = cb; | 817 error_message_callback_ = cb; |
| 831 } | 818 } |
| 832 | 819 |
| 833 void WebGraphicsContext3DImpl::setContextLostCallback( | 820 void WebGraphicsContext3DImpl::setContextLostCallback( |
| 834 WebGraphicsContext3D::WebGraphicsContextLostCallback* cb) { | 821 WebGraphicsContext3D::WebGraphicsContextLostCallback* cb) { |
| 835 context_lost_callback_ = cb; | 822 context_lost_callback_ = cb; |
| 836 } | 823 } |
| 837 | 824 |
| 838 DELEGATE_TO_GL_5(texImageIOSurface2DCHROMIUM, TexImageIOSurface2DCHROMIUM, | |
| 839 WGC3Denum, WGC3Dint, WGC3Dint, WGC3Duint, WGC3Duint) | |
| 840 | |
| 841 DELEGATE_TO_GL_5(texStorage2DEXT, TexStorage2DEXT, | 825 DELEGATE_TO_GL_5(texStorage2DEXT, TexStorage2DEXT, |
| 842 WGC3Denum, WGC3Dint, WGC3Duint, WGC3Dint, WGC3Dint) | 826 WGC3Denum, WGC3Dint, WGC3Duint, WGC3Dint, WGC3Dint) |
| 843 | 827 |
| 844 WebGLId WebGraphicsContext3DImpl::createQueryEXT() { | 828 WebGLId WebGraphicsContext3DImpl::createQueryEXT() { |
| 845 GLuint o; | 829 GLuint o; |
| 846 gl_->GenQueriesEXT(1, &o); | 830 gl_->GenQueriesEXT(1, &o); |
| 847 return o; | 831 return o; |
| 848 } | 832 } |
| 849 | 833 |
| 850 void WebGraphicsContext3DImpl::deleteQueryEXT( | 834 void WebGraphicsContext3DImpl::deleteQueryEXT( |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 883 WGC3Dint, | 867 WGC3Dint, |
| 884 WGC3Dint, | 868 WGC3Dint, |
| 885 WGC3Dint, | 869 WGC3Dint, |
| 886 WGC3Dint, | 870 WGC3Dint, |
| 887 WGC3Dsizei, | 871 WGC3Dsizei, |
| 888 WGC3Dsizei, | 872 WGC3Dsizei, |
| 889 WGC3Dboolean, | 873 WGC3Dboolean, |
| 890 WGC3Dboolean, | 874 WGC3Dboolean, |
| 891 WGC3Dboolean); | 875 WGC3Dboolean); |
| 892 | 876 |
| 893 DELEGATE_TO_GL_3(bindUniformLocationCHROMIUM, BindUniformLocationCHROMIUM, | |
| 894 WebGLId, WGC3Dint, const WGC3Dchar*) | |
| 895 | |
| 896 void WebGraphicsContext3DImpl::shallowFlushCHROMIUM() { | |
| 897 flush_id_ = GenFlushID(); | |
| 898 gl_->ShallowFlushCHROMIUM(); | |
| 899 } | |
| 900 | |
| 901 void WebGraphicsContext3DImpl::shallowFinishCHROMIUM() { | |
| 902 flush_id_ = GenFlushID(); | |
| 903 gl_->ShallowFinishCHROMIUM(); | |
| 904 } | |
| 905 | |
| 906 void WebGraphicsContext3DImpl::loseContextCHROMIUM( | 877 void WebGraphicsContext3DImpl::loseContextCHROMIUM( |
| 907 WGC3Denum current, WGC3Denum other) { | 878 WGC3Denum current, WGC3Denum other) { |
| 908 gl_->LoseContextCHROMIUM(current, other); | 879 gl_->LoseContextCHROMIUM(current, other); |
| 909 gl_->Flush(); | 880 gl_->Flush(); |
| 910 } | 881 } |
| 911 | 882 |
| 912 DELEGATE_TO_GL_1(genMailboxCHROMIUM, GenMailboxCHROMIUM, WGC3Dbyte*) | 883 DELEGATE_TO_GL_1(genMailboxCHROMIUM, GenMailboxCHROMIUM, WGC3Dbyte*) |
| 913 DELEGATE_TO_GL_2(produceTextureCHROMIUM, ProduceTextureCHROMIUM, | 884 DELEGATE_TO_GL_2(produceTextureCHROMIUM, ProduceTextureCHROMIUM, |
| 914 WGC3Denum, const WGC3Dbyte*) | 885 WGC3Denum, const WGC3Dbyte*) |
| 915 DELEGATE_TO_GL_3(produceTextureDirectCHROMIUM, ProduceTextureDirectCHROMIUM, | 886 DELEGATE_TO_GL_3(produceTextureDirectCHROMIUM, ProduceTextureDirectCHROMIUM, |
| 916 WebGLId, WGC3Denum, const WGC3Dbyte*) | 887 WebGLId, WGC3Denum, const WGC3Dbyte*) |
| 917 DELEGATE_TO_GL_2(consumeTextureCHROMIUM, ConsumeTextureCHROMIUM, | |
| 918 WGC3Denum, const WGC3Dbyte*) | |
| 919 DELEGATE_TO_GL_2R(createAndConsumeTextureCHROMIUM, | 888 DELEGATE_TO_GL_2R(createAndConsumeTextureCHROMIUM, |
| 920 CreateAndConsumeTextureCHROMIUM, | 889 CreateAndConsumeTextureCHROMIUM, |
| 921 WGC3Denum, const WGC3Dbyte*, WebGLId) | 890 WGC3Denum, const WGC3Dbyte*, WebGLId) |
| 922 | 891 |
| 923 DELEGATE_TO_GL_2(genValuebuffersCHROMIUM, | 892 DELEGATE_TO_GL_2(genValuebuffersCHROMIUM, |
| 924 GenValuebuffersCHROMIUM, | 893 GenValuebuffersCHROMIUM, |
| 925 WGC3Dsizei, | 894 WGC3Dsizei, |
| 926 WebGLId*); | 895 WebGLId*); |
| 927 | 896 |
| 928 WebGLId WebGraphicsContext3DImpl::createValuebufferCHROMIUM() { | 897 WebGLId WebGraphicsContext3DImpl::createValuebufferCHROMIUM() { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 953 WGC3Denum, | 922 WGC3Denum, |
| 954 WGC3Denum); | 923 WGC3Denum); |
| 955 DELEGATE_TO_GL_1(populateSubscribedValuesCHROMIUM, | 924 DELEGATE_TO_GL_1(populateSubscribedValuesCHROMIUM, |
| 956 PopulateSubscribedValuesCHROMIUM, | 925 PopulateSubscribedValuesCHROMIUM, |
| 957 WGC3Denum); | 926 WGC3Denum); |
| 958 DELEGATE_TO_GL_3(uniformValuebufferCHROMIUM, | 927 DELEGATE_TO_GL_3(uniformValuebufferCHROMIUM, |
| 959 UniformValuebufferCHROMIUM, | 928 UniformValuebufferCHROMIUM, |
| 960 WGC3Dint, | 929 WGC3Dint, |
| 961 WGC3Denum, | 930 WGC3Denum, |
| 962 WGC3Denum); | 931 WGC3Denum); |
| 963 DELEGATE_TO_GL_2(traceBeginCHROMIUM, | |
| 964 TraceBeginCHROMIUM, | |
| 965 const WGC3Dchar*, | |
| 966 const WGC3Dchar*); | |
| 967 DELEGATE_TO_GL(traceEndCHROMIUM, TraceEndCHROMIUM); | |
| 968 | |
| 969 void WebGraphicsContext3DImpl::insertEventMarkerEXT( | |
| 970 const WGC3Dchar* marker) { | |
| 971 gl_->InsertEventMarkerEXT(0, marker); | |
| 972 } | |
| 973 | 932 |
| 974 void WebGraphicsContext3DImpl::pushGroupMarkerEXT( | 933 void WebGraphicsContext3DImpl::pushGroupMarkerEXT( |
| 975 const WGC3Dchar* marker) { | 934 const WGC3Dchar* marker) { |
| 976 gl_->PushGroupMarkerEXT(0, marker); | 935 gl_->PushGroupMarkerEXT(0, marker); |
| 977 } | 936 } |
| 978 | 937 |
| 979 DELEGATE_TO_GL(popGroupMarkerEXT, PopGroupMarkerEXT); | |
| 980 | |
| 981 WebGLId WebGraphicsContext3DImpl::createVertexArrayOES() { | 938 WebGLId WebGraphicsContext3DImpl::createVertexArrayOES() { |
| 982 GLuint array; | 939 GLuint array; |
| 983 gl_->GenVertexArraysOES(1, &array); | 940 gl_->GenVertexArraysOES(1, &array); |
| 984 return array; | 941 return array; |
| 985 } | 942 } |
| 986 | 943 |
| 987 void WebGraphicsContext3DImpl::deleteVertexArrayOES( | 944 void WebGraphicsContext3DImpl::deleteVertexArrayOES( |
| 988 WebGLId array) { | 945 WebGLId array) { |
| 989 gl_->DeleteVertexArraysOES(1, &array); | 946 gl_->DeleteVertexArraysOES(1, &array); |
| 990 } | 947 } |
| 991 | 948 |
| 992 DELEGATE_TO_GL_1R(isVertexArrayOES, IsVertexArrayOES, WebGLId, WGC3Dboolean) | 949 DELEGATE_TO_GL_1R(isVertexArrayOES, IsVertexArrayOES, WebGLId, WGC3Dboolean) |
| 993 DELEGATE_TO_GL_1(bindVertexArrayOES, BindVertexArrayOES, WebGLId) | 950 DELEGATE_TO_GL_1(bindVertexArrayOES, BindVertexArrayOES, WebGLId) |
| 994 | 951 |
| 995 DELEGATE_TO_GL_2(bindTexImage2DCHROMIUM, BindTexImage2DCHROMIUM, | 952 DELEGATE_TO_GL_2(bindTexImage2DCHROMIUM, BindTexImage2DCHROMIUM, |
| 996 WGC3Denum, WGC3Dint) | 953 WGC3Denum, WGC3Dint) |
| 997 DELEGATE_TO_GL_2(releaseTexImage2DCHROMIUM, ReleaseTexImage2DCHROMIUM, | 954 DELEGATE_TO_GL_2(releaseTexImage2DCHROMIUM, ReleaseTexImage2DCHROMIUM, |
| 998 WGC3Denum, WGC3Dint) | 955 WGC3Denum, WGC3Dint) |
| 999 | 956 |
| 1000 DELEGATE_TO_GL_2R(mapBufferCHROMIUM, MapBufferCHROMIUM, WGC3Denum, WGC3Denum, | |
| 1001 void*) | |
| 1002 DELEGATE_TO_GL_1R(unmapBufferCHROMIUM, UnmapBufferCHROMIUM, WGC3Denum, | |
| 1003 WGC3Dboolean) | |
| 1004 | |
| 1005 DELEGATE_TO_GL_2(drawBuffersEXT, DrawBuffersEXT, WGC3Dsizei, const WGC3Denum*) | 957 DELEGATE_TO_GL_2(drawBuffersEXT, DrawBuffersEXT, WGC3Dsizei, const WGC3Denum*) |
| 1006 | 958 |
| 1007 DELEGATE_TO_GL_4(drawArraysInstancedANGLE, DrawArraysInstancedANGLE, WGC3Denum, | 959 DELEGATE_TO_GL_4(drawArraysInstancedANGLE, DrawArraysInstancedANGLE, WGC3Denum, |
| 1008 WGC3Dint, WGC3Dsizei, WGC3Dsizei) | 960 WGC3Dint, WGC3Dsizei, WGC3Dsizei) |
| 1009 | 961 |
| 1010 void WebGraphicsContext3DImpl::drawElementsInstancedANGLE( | 962 void WebGraphicsContext3DImpl::drawElementsInstancedANGLE( |
| 1011 WGC3Denum mode, | 963 WGC3Denum mode, |
| 1012 WGC3Dsizei count, | 964 WGC3Dsizei count, |
| 1013 WGC3Denum type, | 965 WGC3Denum type, |
| 1014 WGC3Dintptr offset, | 966 WGC3Dintptr offset, |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1209 gl_->VertexAttribIPointer( | 1161 gl_->VertexAttribIPointer( |
| 1210 index, size, type, stride, | 1162 index, size, type, stride, |
| 1211 reinterpret_cast<void*>(static_cast<intptr_t>(offset))); | 1163 reinterpret_cast<void*>(static_cast<intptr_t>(offset))); |
| 1212 } | 1164 } |
| 1213 void WebGraphicsContext3DImpl::waitSync(WGC3Dsync sync, | 1165 void WebGraphicsContext3DImpl::waitSync(WGC3Dsync sync, |
| 1214 WGC3Dbitfield flags, | 1166 WGC3Dbitfield flags, |
| 1215 WGC3Duint64 timeout) { | 1167 WGC3Duint64 timeout) { |
| 1216 gl_->WaitSync(reinterpret_cast<GLsync>(sync), flags, timeout); | 1168 gl_->WaitSync(reinterpret_cast<GLsync>(sync), flags, timeout); |
| 1217 } | 1169 } |
| 1218 | 1170 |
| 1219 blink::WGC3Denum WebGraphicsContext3DImpl::getGraphicsResetStatusARB() { | |
| 1220 return gl_->GetGraphicsResetStatusKHR(); | |
| 1221 } | |
| 1222 | |
| 1223 ::gpu::gles2::GLES2Interface* WebGraphicsContext3DImpl::getGLES2Interface() { | 1171 ::gpu::gles2::GLES2Interface* WebGraphicsContext3DImpl::getGLES2Interface() { |
| 1224 return gl_; | 1172 return gl_; |
| 1225 } | 1173 } |
| 1226 | 1174 |
| 1227 ::gpu::gles2::GLES2ImplementationErrorMessageCallback* | 1175 ::gpu::gles2::GLES2ImplementationErrorMessageCallback* |
| 1228 WebGraphicsContext3DImpl::getErrorMessageCallback() { | 1176 WebGraphicsContext3DImpl::getErrorMessageCallback() { |
| 1229 if (!client_error_message_callback_) { | 1177 if (!client_error_message_callback_) { |
| 1230 client_error_message_callback_.reset( | 1178 client_error_message_callback_.reset( |
| 1231 new WebGraphicsContext3DErrorMessageCallback(this)); | 1179 new WebGraphicsContext3DErrorMessageCallback(this)); |
| 1232 } | 1180 } |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1301 output_attribs->context_type = ::gpu::gles2::CONTEXT_TYPE_WEBGL2; | 1249 output_attribs->context_type = ::gpu::gles2::CONTEXT_TYPE_WEBGL2; |
| 1302 break; | 1250 break; |
| 1303 default: | 1251 default: |
| 1304 NOTREACHED(); | 1252 NOTREACHED(); |
| 1305 output_attribs->context_type = ::gpu::gles2::CONTEXT_TYPE_OPENGLES2; | 1253 output_attribs->context_type = ::gpu::gles2::CONTEXT_TYPE_OPENGLES2; |
| 1306 break; | 1254 break; |
| 1307 } | 1255 } |
| 1308 } | 1256 } |
| 1309 | 1257 |
| 1310 } // namespace gpu_blink | 1258 } // namespace gpu_blink |
| OLD | NEW |