gen7/cmd_buffer: SCISSOR_RECT structs are tightly packed

The pointer has to be 32-byte aligned, but the structs themselves are 2
dwords each, tightly packed.
This commit is contained in:
Jason Ekstrand 2016-01-26 22:10:11 -08:00
parent f2f03c5b65
commit d3607351fe

View file

@ -170,7 +170,7 @@ emit_scissor_state(struct anv_cmd_buffer *cmd_buffer,
uint32_t count, const VkRect2D *scissors)
{
struct anv_state scissor_state =
anv_cmd_buffer_alloc_dynamic_state(cmd_buffer, count * 32, 32);
anv_cmd_buffer_alloc_dynamic_state(cmd_buffer, count * 8, 32);
for (uint32_t i = 0; i < count; i++) {
const VkRect2D *s = &scissors[i];
@ -197,10 +197,10 @@ emit_scissor_state(struct anv_cmd_buffer *cmd_buffer,
};
if (s->extent.width <= 0 || s->extent.height <= 0) {
GEN7_SCISSOR_RECT_pack(NULL, scissor_state.map + i * 32,
GEN7_SCISSOR_RECT_pack(NULL, scissor_state.map + i * 8,
&empty_scissor);
} else {
GEN7_SCISSOR_RECT_pack(NULL, scissor_state.map + i * 32, &scissor);
GEN7_SCISSOR_RECT_pack(NULL, scissor_state.map + i * 8, &scissor);
}
}