vk: Fix stride of stencil buffers
Stencil buffers have strange pitch. The PRM says: The pitch must be set to 2x the value computed based on width, as the stencil buffer is stored with two rows interleaved.
This commit is contained in:
parent
31af126229
commit
14e1d58fb7
|
@ -585,7 +585,14 @@ gen7_cmd_buffer_emit_depth_stencil(struct anv_cmd_buffer *cmd_buffer)
|
|||
if (has_stencil) {
|
||||
anv_batch_emit(&cmd_buffer->batch, GEN7_3DSTATE_STENCIL_BUFFER,
|
||||
.StencilBufferObjectControlState = GEN7_MOCS,
|
||||
.SurfacePitch = image->stencil_surface.stride - 1,
|
||||
|
||||
/* Stencil buffers have strange pitch. The PRM says:
|
||||
*
|
||||
* The pitch must be set to 2x the value computed based on width,
|
||||
* as the stencil buffer is stored with two rows interleaved.
|
||||
*/
|
||||
.SurfacePitch = 2 * image->stencil_surface.stride - 1,
|
||||
|
||||
.SurfaceBaseAddress = {
|
||||
.bo = image->bo,
|
||||
.offset = image->offset + image->stencil_surface.offset,
|
||||
|
|
|
@ -520,7 +520,14 @@ gen8_cmd_buffer_emit_depth_stencil(struct anv_cmd_buffer *cmd_buffer)
|
|||
anv_batch_emit(&cmd_buffer->batch, GEN8_3DSTATE_STENCIL_BUFFER,
|
||||
.StencilBufferEnable = true,
|
||||
.StencilBufferObjectControlState = GEN8_MOCS,
|
||||
.SurfacePitch = image->stencil_surface.stride - 1,
|
||||
|
||||
/* Stencil buffers have strange pitch. The PRM says:
|
||||
*
|
||||
* The pitch must be set to 2x the value computed based on width,
|
||||
* as the stencil buffer is stored with two rows interleaved.
|
||||
*/
|
||||
.SurfacePitch = 2 * image->stencil_surface.stride - 1,
|
||||
|
||||
.SurfaceBaseAddress = {
|
||||
.bo = image->bo,
|
||||
.offset = image->offset + image->stencil_surface.offset,
|
||||
|
|
Loading…
Reference in New Issue