Browse Source
Merge pull request #3627 from ReinUsesLisp/layered-view
gl_texture_cache: Attach view instead of base texture for layered attchments
pull/15/merge
Mat M
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
2 additions and
2 deletions
-
src/video_core/renderer_opengl/gl_texture_cache.cpp
|
|
|
@ -411,14 +411,13 @@ CachedSurfaceView::~CachedSurfaceView() = default; |
|
|
|
void CachedSurfaceView::Attach(GLenum attachment, GLenum target) const { |
|
|
|
ASSERT(params.num_levels == 1); |
|
|
|
|
|
|
|
const GLuint texture = surface.GetTexture(); |
|
|
|
if (params.num_layers > 1) { |
|
|
|
// Layered framebuffer attachments
|
|
|
|
UNIMPLEMENTED_IF(params.base_layer != 0); |
|
|
|
|
|
|
|
switch (params.target) { |
|
|
|
case SurfaceTarget::Texture2DArray: |
|
|
|
glFramebufferTexture(target, attachment, texture, params.base_level); |
|
|
|
glFramebufferTexture(target, attachment, GetTexture(), params.base_level); |
|
|
|
break; |
|
|
|
default: |
|
|
|
UNIMPLEMENTED(); |
|
|
|
@ -427,6 +426,7 @@ void CachedSurfaceView::Attach(GLenum attachment, GLenum target) const { |
|
|
|
} |
|
|
|
|
|
|
|
const GLenum view_target = surface.GetTarget(); |
|
|
|
const GLuint texture = surface.GetTexture(); |
|
|
|
switch (surface.GetSurfaceParams().target) { |
|
|
|
case SurfaceTarget::Texture1D: |
|
|
|
glFramebufferTexture1D(target, attachment, view_target, texture, params.base_level); |
|
|
|
|