Commit a7be1f77 by Jamie Madill Committed by Commit Bot

Vulkan: Rename StagingStorage to PixelBuffer.

This more closely matches the OpenGL "Pixel Buffer" concept. Bug: angleproject:2318 Change-Id: I930b24f68cde2995488737908aae469c86b74092 Reviewed-on: https://chromium-review.googlesource.com/1012456Reviewed-by: 's avatarLuc Ferron <lucferron@chromium.org> Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent a4fa9c27
...@@ -55,29 +55,29 @@ constexpr size_t kStagingBufferSize = 1024 * 16; ...@@ -55,29 +55,29 @@ constexpr size_t kStagingBufferSize = 1024 * 16;
} // anonymous namespace } // anonymous namespace
// StagingStorage implementation. // StagingStorage implementation.
StagingStorage::StagingStorage() : mStagingBuffer(kStagingBufferFlags, kStagingBufferSize) PixelBuffer::PixelBuffer() : mStagingBuffer(kStagingBufferFlags, kStagingBufferSize)
{ {
// vkCmdCopyBufferToImage must have an offset that is a multiple of 4. // vkCmdCopyBufferToImage must have an offset that is a multiple of 4.
// https://www.khronos.org/registry/vulkan/specs/1.0/man/html/VkBufferImageCopy.html // https://www.khronos.org/registry/vulkan/specs/1.0/man/html/VkBufferImageCopy.html
mStagingBuffer.init(4); mStagingBuffer.init(4);
} }
StagingStorage::~StagingStorage() PixelBuffer::~PixelBuffer()
{ {
} }
void StagingStorage::release(RendererVk *renderer) void PixelBuffer::release(RendererVk *renderer)
{ {
mStagingBuffer.release(renderer); mStagingBuffer.release(renderer);
} }
gl::Error StagingStorage::stageSubresourceUpdate(ContextVk *contextVk, gl::Error PixelBuffer::stageSubresourceUpdate(ContextVk *contextVk,
const gl::ImageIndex &index, const gl::ImageIndex &index,
const gl::Extents &extents, const gl::Extents &extents,
const gl::InternalFormat &formatInfo, const gl::InternalFormat &formatInfo,
const gl::PixelUnpackState &unpack, const gl::PixelUnpackState &unpack,
GLenum type, GLenum type,
const uint8_t *pixels) const uint8_t *pixels)
{ {
GLuint inputRowPitch = 0; GLuint inputRowPitch = 0;
ANGLE_TRY_RESULT( ANGLE_TRY_RESULT(
...@@ -139,9 +139,9 @@ gl::Error StagingStorage::stageSubresourceUpdate(ContextVk *contextVk, ...@@ -139,9 +139,9 @@ gl::Error StagingStorage::stageSubresourceUpdate(ContextVk *contextVk,
return gl::NoError(); return gl::NoError();
} }
vk::Error StagingStorage::flushUpdatesToImage(RendererVk *renderer, vk::Error PixelBuffer::flushUpdatesToImage(RendererVk *renderer,
vk::ImageHelper *image, vk::ImageHelper *image,
vk::CommandBuffer *commandBuffer) vk::CommandBuffer *commandBuffer)
{ {
if (mSubresourceUpdates.empty()) if (mSubresourceUpdates.empty())
{ {
...@@ -167,17 +167,17 @@ vk::Error StagingStorage::flushUpdatesToImage(RendererVk *renderer, ...@@ -167,17 +167,17 @@ vk::Error StagingStorage::flushUpdatesToImage(RendererVk *renderer,
return vk::NoError(); return vk::NoError();
} }
StagingStorage::SubresourceUpdate::SubresourceUpdate() : bufferHandle(VK_NULL_HANDLE) PixelBuffer::SubresourceUpdate::SubresourceUpdate() : bufferHandle(VK_NULL_HANDLE)
{ {
} }
StagingStorage::SubresourceUpdate::SubresourceUpdate(VkBuffer bufferHandleIn, PixelBuffer::SubresourceUpdate::SubresourceUpdate(VkBuffer bufferHandleIn,
const VkBufferImageCopy &copyRegionIn) const VkBufferImageCopy &copyRegionIn)
: bufferHandle(bufferHandleIn), copyRegion(copyRegionIn) : bufferHandle(bufferHandleIn), copyRegion(copyRegionIn)
{ {
} }
StagingStorage::SubresourceUpdate::SubresourceUpdate(const SubresourceUpdate &other) = default; PixelBuffer::SubresourceUpdate::SubresourceUpdate(const SubresourceUpdate &other) = default;
// TextureVk implementation. // TextureVk implementation.
TextureVk::TextureVk(const gl::TextureState &state) : TextureImpl(state) TextureVk::TextureVk(const gl::TextureState &state) : TextureImpl(state)
...@@ -199,7 +199,7 @@ gl::Error TextureVk::onDestroy(const gl::Context *context) ...@@ -199,7 +199,7 @@ gl::Error TextureVk::onDestroy(const gl::Context *context)
releaseImage(context, renderer); releaseImage(context, renderer);
renderer->releaseResource(*this, &mSampler); renderer->releaseResource(*this, &mSampler);
mStagingStorage.release(renderer); mPixelBuffer.release(renderer);
return gl::NoError(); return gl::NoError();
} }
...@@ -276,8 +276,8 @@ gl::Error TextureVk::setImage(const gl::Context *context, ...@@ -276,8 +276,8 @@ gl::Error TextureVk::setImage(const gl::Context *context,
// Handle initial data. // Handle initial data.
if (pixels) if (pixels)
{ {
ANGLE_TRY(mStagingStorage.stageSubresourceUpdate(contextVk, index, size, formatInfo, unpack, ANGLE_TRY(mPixelBuffer.stageSubresourceUpdate(contextVk, index, size, formatInfo, unpack,
type, pixels)); type, pixels));
} }
return gl::NoError(); return gl::NoError();
...@@ -293,9 +293,9 @@ gl::Error TextureVk::setSubImage(const gl::Context *context, ...@@ -293,9 +293,9 @@ gl::Error TextureVk::setSubImage(const gl::Context *context,
{ {
ContextVk *contextVk = vk::GetImpl(context); ContextVk *contextVk = vk::GetImpl(context);
const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(format, type); const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(format, type);
ANGLE_TRY(mStagingStorage.stageSubresourceUpdate( ANGLE_TRY(mPixelBuffer.stageSubresourceUpdate(contextVk, index,
contextVk, index, gl::Extents(area.width, area.height, area.depth), formatInfo, unpack, gl::Extents(area.width, area.height, area.depth),
type, pixels)); formatInfo, unpack, type, pixels));
return gl::NoError(); return gl::NoError();
} }
...@@ -464,7 +464,7 @@ vk::Error TextureVk::ensureImageInitialized(RendererVk *renderer) ...@@ -464,7 +464,7 @@ vk::Error TextureVk::ensureImageInitialized(RendererVk *renderer)
mImage.clearColor(black, commandBuffer); mImage.clearColor(black, commandBuffer);
} }
ANGLE_TRY(mStagingStorage.flushUpdatesToImage(renderer, &mImage, commandBuffer)); ANGLE_TRY(mPixelBuffer.flushUpdatesToImage(renderer, &mImage, commandBuffer));
return vk::NoError(); return vk::NoError();
} }
......
...@@ -18,11 +18,11 @@ ...@@ -18,11 +18,11 @@
namespace rx namespace rx
{ {
class StagingStorage final : angle::NonCopyable class PixelBuffer final : angle::NonCopyable
{ {
public: public:
StagingStorage(); PixelBuffer();
~StagingStorage(); ~PixelBuffer();
void release(RendererVk *renderer); void release(RendererVk *renderer);
...@@ -156,7 +156,7 @@ class TextureVk : public TextureImpl, public vk::CommandGraphResource ...@@ -156,7 +156,7 @@ class TextureVk : public TextureImpl, public vk::CommandGraphResource
RenderTargetVk mRenderTarget; RenderTargetVk mRenderTarget;
StagingStorage mStagingStorage; PixelBuffer mPixelBuffer;
}; };
} // namespace rx } // namespace rx
......
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