diff options
author | bunnei <bunneidev@gmail.com> | 2019-03-10 22:27:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-10 22:27:49 +0100 |
commit | 4a84921b315d58253f4b3c086b3f878e08ec7515 (patch) | |
tree | 0af46500de6cdce1b9f978cb7506883e8841c5bb /src/video_core/renderer_opengl/gl_rasterizer_cache.h | |
parent | Merge pull request #2220 from lioncash/cubeb (diff) | |
parent | gl_rasterizer_cache: Create texture views for array discrepancies (diff) | |
download | yuzu-4a84921b315d58253f4b3c086b3f878e08ec7515.tar yuzu-4a84921b315d58253f4b3c086b3f878e08ec7515.tar.gz yuzu-4a84921b315d58253f4b3c086b3f878e08ec7515.tar.bz2 yuzu-4a84921b315d58253f4b3c086b3f878e08ec7515.tar.lz yuzu-4a84921b315d58253f4b3c086b3f878e08ec7515.tar.xz yuzu-4a84921b315d58253f4b3c086b3f878e08ec7515.tar.zst yuzu-4a84921b315d58253f4b3c086b3f878e08ec7515.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.h')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer_cache.h | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h index 797bbdc9c..9cf6f50be 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h @@ -367,31 +367,19 @@ public: return texture; } - const OGLTexture& TextureLayer() { - if (params.is_array) { - return Texture(); + const OGLTexture& Texture(bool as_array) { + if (params.is_array == as_array) { + return texture; + } else { + EnsureTextureDiscrepantView(); + return discrepant_view; } - EnsureTextureView(); - return texture_view; } GLenum Target() const { return gl_target; } - GLenum TargetLayer() const { - using VideoCore::Surface::SurfaceTarget; - switch (params.target) { - case SurfaceTarget::Texture1D: - return GL_TEXTURE_1D_ARRAY; - case SurfaceTarget::Texture2D: - return GL_TEXTURE_2D_ARRAY; - case SurfaceTarget::TextureCubemap: - return GL_TEXTURE_CUBE_MAP_ARRAY; - } - return Target(); - } - const SurfaceParams& GetSurfaceParams() const { return params; } @@ -431,10 +419,10 @@ public: private: void UploadGLMipmapTexture(u32 mip_map, GLuint read_fb_handle, GLuint draw_fb_handle); - void EnsureTextureView(); + void EnsureTextureDiscrepantView(); OGLTexture texture; - OGLTexture texture_view; + OGLTexture discrepant_view; std::vector<std::vector<u8>> gl_buffer; SurfaceParams params{}; GLenum gl_target{}; |