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 3// found in the LICENSE file. 4 5#include "ppapi/thunk/thunk.h" 6#include "ppapi/thunk/enter.h" 7#include "ppapi/thunk/ppb_graphics_3d_api.h" 8#include "ppapi/thunk/resource_creation_api.h" 9 10namespace ppapi { 11namespace thunk { 12 13namespace { 14 15typedef EnterResource<PPB_Graphics3D_API> EnterGraphics3D; 16 17void* MapTexSubImage2DCHROMIUM(PP_Resource context, 18 GLenum target, 19 GLint level, 20 GLint xoffset, 21 GLint yoffset, 22 GLsizei width, 23 GLsizei height, 24 GLenum format, 25 GLenum type, 26 GLenum access) { 27 EnterGraphics3D enter(context, true); 28 if (enter.succeeded()) { 29 return enter.object()->MapTexSubImage2DCHROMIUM( 30 target, level, xoffset, yoffset, width, height, format, type, access); 31 } 32 return NULL; 33} 34 35void UnmapTexSubImage2DCHROMIUM(PP_Resource context, const void* mem) { 36 EnterGraphics3D enter(context, true); 37 if (enter.succeeded()) 38 enter.object()->UnmapTexSubImage2DCHROMIUM(mem); 39} 40 41const PPB_GLESChromiumTextureMapping_Dev 42g_ppb_gles_chromium_texture_mapping_thunk = { 43 &MapTexSubImage2DCHROMIUM, 44 &UnmapTexSubImage2DCHROMIUM 45}; 46 47} // namespace 48 49const PPB_GLESChromiumTextureMapping_Dev_0_1* 50GetPPB_GLESChromiumTextureMapping_Dev_0_1_Thunk() { 51 return &g_ppb_gles_chromium_texture_mapping_thunk; 52} 53 54} // namespace thunk 55} // namespace ppapi 56