Commit 0750bde7 authored by boliu@chromium.org's avatar boliu@chromium.org

Pass texture target to CreateResourceFromExternalTexture

Instead of hardcoding GL_TEXTURE_2D

BUG=230300

Review URL: https://chromiumcodereview.appspot.com/13870013

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194770 0039d316-1c4b-4281-b951-d872f2087c98
parent 29c014f9
...@@ -77,6 +77,7 @@ void IOSurfaceLayerImpl::WillDraw(ResourceProvider* resource_provider) { ...@@ -77,6 +77,7 @@ void IOSurfaceLayerImpl::WillDraw(ResourceProvider* resource_provider) {
io_surface_texture_id_ = context3d->createTexture(); io_surface_texture_id_ = context3d->createTexture();
io_surface_resource_id_ = io_surface_resource_id_ =
resource_provider->CreateResourceFromExternalTexture( resource_provider->CreateResourceFromExternalTexture(
GL_TEXTURE_RECTANGLE_ARB,
io_surface_texture_id_); io_surface_texture_id_);
} }
......
...@@ -68,7 +68,9 @@ void TextureLayerImpl::WillDraw(ResourceProvider* resource_provider) { ...@@ -68,7 +68,9 @@ void TextureLayerImpl::WillDraw(ResourceProvider* resource_provider) {
return; return;
DCHECK(!external_texture_resource_); DCHECK(!external_texture_resource_);
external_texture_resource_ = external_texture_resource_ =
resource_provider->CreateResourceFromExternalTexture(texture_id_); resource_provider->CreateResourceFromExternalTexture(
GL_TEXTURE_2D,
texture_id_);
} }
void TextureLayerImpl::AppendQuads(QuadSink* quad_sink, void TextureLayerImpl::AppendQuads(QuadSink* quad_sink,
......
...@@ -235,21 +235,23 @@ ResourceProvider::ResourceId ResourceProvider::CreateBitmap(gfx::Size size) { ...@@ -235,21 +235,23 @@ ResourceProvider::ResourceId ResourceProvider::CreateBitmap(gfx::Size size) {
return id; return id;
} }
ResourceProvider::ResourceId ResourceProvider:: ResourceProvider::ResourceId
CreateResourceFromExternalTexture(unsigned texture_id) { ResourceProvider::CreateResourceFromExternalTexture(
unsigned texture_target,
unsigned texture_id) {
DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(thread_checker_.CalledOnValidThread());
WebGraphicsContext3D* context3d = output_surface_->context3d(); WebGraphicsContext3D* context3d = output_surface_->context3d();
DCHECK(context3d); DCHECK(context3d);
GLC(context3d, context3d->bindTexture(GL_TEXTURE_2D, texture_id)); GLC(context3d, context3d->bindTexture(texture_target, texture_id));
GLC(context3d, context3d->texParameteri( GLC(context3d, context3d->texParameteri(
GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)); texture_target, GL_TEXTURE_MIN_FILTER, GL_LINEAR));
GLC(context3d, context3d->texParameteri( GLC(context3d, context3d->texParameteri(
GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); texture_target, GL_TEXTURE_MAG_FILTER, GL_LINEAR));
GLC(context3d, context3d->texParameteri( GLC(context3d, context3d->texParameteri(
GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE)); texture_target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));
GLC(context3d, context3d->texParameteri( GLC(context3d, context3d->texParameteri(
GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE)); texture_target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));
ResourceId id = next_id_++; ResourceId id = next_id_++;
Resource resource(texture_id, gfx::Size(), 0, GL_LINEAR); Resource resource(texture_id, gfx::Size(), 0, GL_LINEAR);
......
...@@ -99,7 +99,9 @@ class CC_EXPORT ResourceProvider { ...@@ -99,7 +99,9 @@ class CC_EXPORT ResourceProvider {
ResourceId CreateBitmap(gfx::Size size); ResourceId CreateBitmap(gfx::Size size);
// Wraps an external texture into a GL resource. // Wraps an external texture into a GL resource.
ResourceId CreateResourceFromExternalTexture(unsigned texture_id); ResourceId CreateResourceFromExternalTexture(
unsigned texture_target,
unsigned texture_id);
// Wraps an external texture mailbox into a GL resource. // Wraps an external texture mailbox into a GL resource.
ResourceId CreateResourceFromTextureMailbox(const TextureMailbox& mailbox); ResourceId CreateResourceFromTextureMailbox(const TextureMailbox& mailbox);
......
...@@ -324,6 +324,7 @@ VideoFrameExternalResources VideoResourceUpdater::CreateForHardwarePlanes( ...@@ -324,6 +324,7 @@ VideoFrameExternalResources VideoResourceUpdater::CreateForHardwarePlanes(
external_resources.hardware_resource = external_resources.hardware_resource =
resource_provider_->CreateResourceFromExternalTexture( resource_provider_->CreateResourceFromExternalTexture(
video_frame->texture_target(),
video_frame->texture_id()); video_frame->texture_id());
TextureMailbox::ReleaseCallback callback_to_return_resource = TextureMailbox::ReleaseCallback callback_to_return_resource =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment