summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp')
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp b/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp
index 2d0ee27b478..a5c1f21ad4b 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp
@@ -258,13 +258,12 @@ gl::Error TextureD3D::subImage(const gl::Context *context,
GLenum format,
GLenum type,
const gl::PixelUnpackState &unpack,
+ gl::Buffer *unpackBuffer,
const uint8_t *pixels,
ptrdiff_t layerOffset)
{
// CPU readback & copy where direct GPU copy is not supported
const uint8_t *pixelData = nullptr;
- gl::Buffer *unpackBuffer =
- context->getGLState().getTargetBuffer(gl::BufferBinding::PixelUnpack);
ANGLE_TRY(GetUnpackPointer(context, unpack, unpackBuffer, pixels, layerOffset, &pixelData));
if (pixelData != nullptr)
@@ -879,6 +878,7 @@ gl::Error TextureD3D_2D::setSubImage(const gl::Context *context,
GLenum format,
GLenum type,
const gl::PixelUnpackState &unpack,
+ gl::Buffer *unpackBuffer,
const uint8_t *pixels)
{
ASSERT(target == GL_TEXTURE_2D && area.depth == 1 && area.z == 0);
@@ -886,8 +886,6 @@ gl::Error TextureD3D_2D::setSubImage(const gl::Context *context,
GLint level = static_cast<GLint>(imageLevel);
gl::ImageIndex index = gl::ImageIndex::Make2D(level);
- gl::Buffer *unpackBuffer =
- context->getGLState().getTargetBuffer(gl::BufferBinding::PixelUnpack);
if (isFastUnpackable(unpackBuffer, getInternalFormat(level)) && isLevelComplete(level))
{
RenderTargetD3D *renderTarget = nullptr;
@@ -899,7 +897,7 @@ gl::Error TextureD3D_2D::setSubImage(const gl::Context *context,
}
else
{
- return TextureD3D::subImage(context, index, area, format, type, unpack, pixels, 0);
+ return TextureD3D::subImage(context, index, area, format, type, unpack, unpackBuffer, pixels, 0);
}
}
@@ -1669,12 +1667,13 @@ gl::Error TextureD3D_Cube::setSubImage(const gl::Context *context,
GLenum format,
GLenum type,
const gl::PixelUnpackState &unpack,
+ gl::Buffer *unpackBuffer,
const uint8_t *pixels)
{
ASSERT(area.depth == 1 && area.z == 0);
gl::ImageIndex index = gl::ImageIndex::MakeCube(target, static_cast<GLint>(level));
- return TextureD3D::subImage(context, index, area, format, type, unpack, pixels, 0);
+ return TextureD3D::subImage(context, index, area, format, type, unpack, unpackBuffer, pixels, 0);
}
gl::Error TextureD3D_Cube::setCompressedImage(const gl::Context *context,
@@ -2458,6 +2457,7 @@ gl::Error TextureD3D_3D::setSubImage(const gl::Context *context,
GLenum format,
GLenum type,
const gl::PixelUnpackState &unpack,
+ gl::Buffer *unpackBuffer,
const uint8_t *pixels)
{
ASSERT(target == GL_TEXTURE_3D);
@@ -2466,8 +2466,6 @@ gl::Error TextureD3D_3D::setSubImage(const gl::Context *context,
gl::ImageIndex index = gl::ImageIndex::Make3D(level);
// Attempt a fast gpu copy of the pixel data to the surface if the app bound an unpack buffer
- gl::Buffer *unpackBuffer =
- context->getGLState().getTargetBuffer(gl::BufferBinding::PixelUnpack);
if (isFastUnpackable(unpackBuffer, getInternalFormat(level)) && isLevelComplete(level))
{
RenderTargetD3D *destRenderTarget = nullptr;
@@ -2479,7 +2477,7 @@ gl::Error TextureD3D_3D::setSubImage(const gl::Context *context,
}
else
{
- return TextureD3D::subImage(context, index, area, format, type, unpack, pixels, 0);
+ return TextureD3D::subImage(context, index, area, format, type, unpack, unpackBuffer, pixels, 0);
}
}
@@ -2997,6 +2995,7 @@ gl::Error TextureD3D_2DArray::setSubImage(const gl::Context *context,
GLenum format,
GLenum type,
const gl::PixelUnpackState &unpack,
+ gl::Buffer *unpackBuffer,
const uint8_t *pixels)
{
ASSERT(target == GL_TEXTURE_2D_ARRAY);
@@ -3016,7 +3015,7 @@ gl::Error TextureD3D_2DArray::setSubImage(const gl::Context *context,
gl::Box layerArea(area.x, area.y, 0, area.width, area.height, 1);
gl::ImageIndex index = gl::ImageIndex::Make2DArray(level, layer);
- ANGLE_TRY(TextureD3D::subImage(context, index, layerArea, format, type, unpack, pixels,
+ ANGLE_TRY(TextureD3D::subImage(context, index, layerArea, format, type, unpack, unpackBuffer, pixels,
layerOffset));
}
@@ -3566,6 +3565,7 @@ gl::Error TextureD3D_External::setSubImage(const gl::Context *context,
GLenum format,
GLenum type,
const gl::PixelUnpackState &unpack,
+ gl::Buffer *unpackBuffer,
const uint8_t *pixels)
{
UNREACHABLE();