Commit 28ff9922 by Jamie Madill Committed by Commit Bot

Vulkan: Get rid of "TextureVkViews".

This struct was used to implement different views for stencil mode. It is replaced with a single stencil mode view for sampling. We shouldn't be using a stencil-specific view for our render view. In cases where we're attaching a Depth/Stencil texture to a Framebuffer's special depth/stencil attachment point we will still need to use a single 'Draw' view attached to depth/stencil. So there's no need for a separate 'Draw' view for stencil. Also there's no current support for a separate 'Fetch' view for stencil textures. There may not be any easy way to trigger this path as it's only used in seamful cube map emulation and image copy. Seamful emulation is ES 2.0 only while stencil textures are ES 3.1 so that's not a possible use. Image copy doesn't seem to be possible either as it stands right now. Bug: angleproject:3975 Change-Id: Ic999f9471ea533d1184a364732c569124aa802bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842230 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com>
parent 2fa9d734
...@@ -179,18 +179,6 @@ class TextureVk : public TextureImpl ...@@ -179,18 +179,6 @@ class TextureVk : public TextureImpl
} }
private: private:
struct TextureVkViews final : angle::NonCopyable
{
TextureVkViews();
~TextureVkViews();
void release(ContextVk *contextVk);
vk::ImageView mDrawImageView;
vk::ImageView mReadImageView;
vk::ImageView mFetchImageView;
};
// Transform an image index from the frontend into one that can be used on the backing // Transform an image index from the frontend into one that can be used on the backing
// ImageHelper, taking into account mipmap or cube face offsets // ImageHelper, taking into account mipmap or cube face offsets
gl::ImageIndex getNativeImageIndex(const gl::ImageIndex &inputImageIndex) const; gl::ImageIndex getNativeImageIndex(const gl::ImageIndex &inputImageIndex) const;
...@@ -311,13 +299,6 @@ class TextureVk : public TextureImpl ...@@ -311,13 +299,6 @@ class TextureVk : public TextureImpl
const bool sized, const bool sized,
uint32_t levelCount, uint32_t levelCount,
uint32_t layerCount); uint32_t layerCount);
angle::Result initImageViewImpl(ContextVk *contextVk,
const vk::Format &format,
uint32_t levelCount,
uint32_t layerCount,
TextureVkViews *views,
VkImageAspectFlags aspectFlags,
gl::SwizzleState mappedSwizzle);
angle::Result initLayerRenderTargets(ContextVk *contextVk, GLuint layerCount); angle::Result initLayerRenderTargets(ContextVk *contextVk, GLuint layerCount);
vk::ImageView *getLevelImageViewImpl(vk::ImageViewVector *imageViews, size_t level); vk::ImageView *getLevelImageViewImpl(vk::ImageViewVector *imageViews, size_t level);
vk::ImageView *getLayerLevelImageViewImpl(vk::LayerLevelImageViewVector *imageViews, vk::ImageView *getLayerLevelImageViewImpl(vk::LayerLevelImageViewVector *imageViews,
...@@ -331,8 +312,6 @@ class TextureVk : public TextureImpl ...@@ -331,8 +312,6 @@ class TextureVk : public TextureImpl
void onStagingBufferChange() { onStateChange(angle::SubjectMessage::SubjectChanged); } void onStagingBufferChange() { onStateChange(angle::SubjectMessage::SubjectChanged); }
const TextureVkViews *getTextureViews() const;
angle::Result changeLevels(ContextVk *contextVk, GLuint baseLevel, GLuint maxLevel); angle::Result changeLevels(ContextVk *contextVk, GLuint baseLevel, GLuint maxLevel);
bool mOwnsImage; bool mOwnsImage;
...@@ -350,10 +329,14 @@ class TextureVk : public TextureImpl ...@@ -350,10 +329,14 @@ class TextureVk : public TextureImpl
vk::ImageHelper *mImage; vk::ImageHelper *mImage;
// Read views. // Read views.
TextureVkViews mDefaultViews; vk::ImageView mReadImageView;
TextureVkViews mStencilViews; vk::ImageView mFetchImageView;
vk::ImageView mStencilReadImageView;
// Draw views. // Draw views.
vk::ImageView mDrawImageView;
vk::LayerLevelImageViewVector mLayerLevelDrawImageViews; vk::LayerLevelImageViewVector mLayerLevelDrawImageViews;
// Storage image views. // Storage image views.
vk::ImageViewVector mLevelStorageImageViews; vk::ImageViewVector mLevelStorageImageViews;
......
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