mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-25 15:40:46 +02:00
i965/blorp: Only set src_z for gen8+ 3D textures
Otherwise, we end up with a bogus value in the third component. On gen6-7 where we always use 2D textures, this can cause problems if the SurfaceArray bit is set in the SURFACE_STATE. Acked-by: Chad Versace <chad.versace@intel.com>
This commit is contained in:
parent
664dc89a1b
commit
320de71858
1 changed files with 9 additions and 2 deletions
|
|
@ -1846,8 +1846,15 @@ brw_blorp_blit_miptrees(struct brw_context *brw,
|
|||
brw_blorp_setup_coord_transform(¶ms.wm_push_consts.y_transform,
|
||||
src_y0, src_y1, dst_y0, dst_y1, mirror_y);
|
||||
|
||||
params.wm_push_consts.src_z =
|
||||
params.src.mt->target == GL_TEXTURE_3D ? params.src.layer : 0;
|
||||
if (brw->gen >= 8 && params.src.mt->target == GL_TEXTURE_3D) {
|
||||
/* On gen8+ we use actual 3-D textures so we need to pass the layer
|
||||
* through to the sampler.
|
||||
*/
|
||||
params.wm_push_consts.src_z = params.src.layer;
|
||||
} else {
|
||||
/* On gen7 and earlier, we fake everything with 2-D textures */
|
||||
params.wm_push_consts.src_z = 0;
|
||||
}
|
||||
|
||||
if (params.dst.num_samples <= 1 && dst_mt->num_samples > 1) {
|
||||
/* We must expand the rectangle we send through the rendering pipeline,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue