mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-01 06:50:22 +01:00
i965/skl: Implement WaDisable1DDepthStencil
Skylake+ doesn't support setting a depth buffer to a 1D surface but it
does allow pretending it's a 2D texture with a height of 1 instead.
This fixes the GL_DEPTH_COMPONENT_* tests of the copyteximage piglit
test (and also seems to avoid a subsequent GPU hang).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89037
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 5b29b2922a)
Nominated-by: Ian Romanick <idr@freedesktop.org>
This commit is contained in:
parent
3e54be2e8a
commit
7c448551eb
1 changed files with 12 additions and 0 deletions
|
|
@ -190,6 +190,18 @@ gen8_emit_depth_stencil_hiz(struct brw_context *brw,
|
|||
case GL_TEXTURE_3D:
|
||||
assert(mt);
|
||||
depth = MAX2(mt->logical_depth0, 1);
|
||||
surftype = translate_tex_target(gl_target);
|
||||
break;
|
||||
case GL_TEXTURE_1D_ARRAY:
|
||||
case GL_TEXTURE_1D:
|
||||
if (brw->gen >= 9) {
|
||||
/* WaDisable1DDepthStencil. Skylake+ doesn't support 1D depth
|
||||
* textures but it does allow pretending it's a 2D texture
|
||||
* instead.
|
||||
*/
|
||||
surftype = BRW_SURFACE_2D;
|
||||
break;
|
||||
}
|
||||
/* fallthrough */
|
||||
default:
|
||||
surftype = translate_tex_target(gl_target);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue