| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "modules/webgl/WebGL2RenderingContextBase.h" | 5 #include "modules/webgl/WebGL2RenderingContextBase.h" |
| 6 | 6 |
| 7 #include "bindings/modules/v8/WebGLAny.h" | 7 #include "bindings/modules/v8/WebGLAny.h" |
| 8 #include "core/frame/ImageBitmap.h" | 8 #include "core/frame/ImageBitmap.h" |
| 9 #include "core/html/HTMLCanvasElement.h" | 9 #include "core/html/HTMLCanvasElement.h" |
| 10 #include "core/html/HTMLImageElement.h" | 10 #include "core/html/HTMLImageElement.h" |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 return; | 382 return; |
| 383 if (!validateTexFuncLevel("framebufferTextureLayer", textarget, level)) | 383 if (!validateTexFuncLevel("framebufferTextureLayer", textarget, level)) |
| 384 return; | 384 return; |
| 385 } | 385 } |
| 386 | 386 |
| 387 WebGLFramebuffer* framebufferBinding = getFramebufferBinding(target); | 387 WebGLFramebuffer* framebufferBinding = getFramebufferBinding(target); |
| 388 if (!framebufferBinding || !framebufferBinding->object()) { | 388 if (!framebufferBinding || !framebufferBinding->object()) { |
| 389 synthesizeGLError(GL_INVALID_OPERATION, "framebufferTextureLayer", "no f
ramebuffer bound"); | 389 synthesizeGLError(GL_INVALID_OPERATION, "framebufferTextureLayer", "no f
ramebuffer bound"); |
| 390 return; | 390 return; |
| 391 } | 391 } |
| 392 if (attachment == GL_DEPTH_STENCIL_ATTACHMENT) { | 392 framebufferBinding->setAttachmentForBoundFramebuffer(target, attachment, tex
target, texture, level, layer); |
| 393 contextGL()->FramebufferTextureLayer(target, GL_DEPTH_ATTACHMENT, object
OrZero(texture), level, layer); | |
| 394 contextGL()->FramebufferTextureLayer(target, GL_STENCIL_ATTACHMENT, obje
ctOrZero(texture), level, layer); | |
| 395 } else { | |
| 396 contextGL()->FramebufferTextureLayer(target, attachment, objectOrZero(te
xture), level, layer); | |
| 397 } | |
| 398 if (attachment == GL_DEPTH_STENCIL_ATTACHMENT) { | |
| 399 // On ES3, DEPTH_STENCIL_ATTACHMENT is like an alias for DEPTH_ATTACHMEN
T + STENCIL_ATTACHMENT. | |
| 400 // We divide it here so in WebGLFramebuffer, we don't have to handle DEP
TH_STENCIL_ATTACHMENT in WebGL 2. | |
| 401 framebufferBinding->setAttachmentForBoundFramebuffer(target, GL_DEPTH_AT
TACHMENT, textarget, texture, level, layer); | |
| 402 framebufferBinding->setAttachmentForBoundFramebuffer(target, GL_STENCIL_
ATTACHMENT, textarget, texture, level, layer); | |
| 403 } else { | |
| 404 framebufferBinding->setAttachmentForBoundFramebuffer(target, attachment,
textarget, texture, level, layer); | |
| 405 } | |
| 406 applyStencilTest(); | 393 applyStencilTest(); |
| 407 } | 394 } |
| 408 | 395 |
| 409 ScriptValue WebGL2RenderingContextBase::getInternalformatParameter(ScriptState*
scriptState, GLenum target, GLenum internalformat, GLenum pname) | 396 ScriptValue WebGL2RenderingContextBase::getInternalformatParameter(ScriptState*
scriptState, GLenum target, GLenum internalformat, GLenum pname) |
| 410 { | 397 { |
| 411 if (isContextLost()) | 398 if (isContextLost()) |
| 412 return ScriptValue::createNull(scriptState); | 399 return ScriptValue::createNull(scriptState); |
| 413 | 400 |
| 414 if (target != GL_RENDERBUFFER) { | 401 if (target != GL_RENDERBUFFER) { |
| 415 synthesizeGLError(GL_INVALID_ENUM, "getInternalformatParameter", "invali
d target"); | 402 synthesizeGLError(GL_INVALID_ENUM, "getInternalformatParameter", "invali
d target"); |
| (...skipping 3206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3622 params.skipPixels = m_unpackSkipPixels; | 3609 params.skipPixels = m_unpackSkipPixels; |
| 3623 params.skipRows = m_unpackSkipRows; | 3610 params.skipRows = m_unpackSkipRows; |
| 3624 if (dimension == Tex3D) { | 3611 if (dimension == Tex3D) { |
| 3625 params.imageHeight = m_unpackImageHeight; | 3612 params.imageHeight = m_unpackImageHeight; |
| 3626 params.skipImages = m_unpackSkipImages; | 3613 params.skipImages = m_unpackSkipImages; |
| 3627 } | 3614 } |
| 3628 return params; | 3615 return params; |
| 3629 } | 3616 } |
| 3630 | 3617 |
| 3631 } // namespace blink | 3618 } // namespace blink |
| OLD | NEW |