From 013b6891531b37e0f882b8b88d404feb63370617 Mon Sep 17 00:00:00 2001 From: Feng Chen Date: Thu, 5 Jan 2023 12:28:48 +0800 Subject: video_core: Implement opengl/vulkan draw_texture --- src/video_core/texture_cache/texture_cache.h | 7 +++++++ src/video_core/texture_cache/texture_cache_base.h | 3 +++ 2 files changed, 10 insertions(+) (limited to 'src/video_core/texture_cache') diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 87152c8e9..1b01990a4 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -148,6 +148,13 @@ typename P::ImageView& TextureCache
::GetImageView(ImageViewId id) noexcept {
return slot_image_views[id];
}
+template ::GetImageView(u32 index) noexcept {
+ const auto image_view_id = VisitImageView(channel_state->graphics_image_table,
+ channel_state->graphics_image_view_ids, index);
+ return slot_image_views[image_view_id];
+}
+
template ::MarkModification(ImageId id) noexcept {
MarkModification(slot_images[id]);
diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h
index 4eea1f609..485eaabaa 100644
--- a/src/video_core/texture_cache/texture_cache_base.h
+++ b/src/video_core/texture_cache/texture_cache_base.h
@@ -129,6 +129,9 @@ public:
/// Return a reference to the given image view id
[[nodiscard]] ImageView& GetImageView(ImageViewId id) noexcept;
+ /// Get the imageview from the graphics descriptor table in the specified index
+ [[nodiscard]] ImageView& GetImageView(u32 index) noexcept;
+
/// Mark an image as modified from the GPU
void MarkModification(ImageId id) noexcept;
--
cgit v1.2.3