anv/state: Use the new emit macro

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
This commit is contained in:
Jason Ekstrand 2016-04-18 15:24:59 -07:00
parent 9e9f3f4e71
commit 932c353592

View file

@ -44,97 +44,98 @@ genX(init_device_state)(struct anv_device *device)
batch.start = batch.next = cmds;
batch.end = (void *) cmds + sizeof(cmds);
anv_batch_emit(&batch, GENX(PIPELINE_SELECT),
anv_batch_emit_blk(&batch, GENX(PIPELINE_SELECT), ps) {
#if GEN_GEN >= 9
.MaskBits = 3,
ps.MaskBits = 3;
#endif
.PipelineSelection = _3D);
ps.PipelineSelection = _3D;
}
anv_batch_emit(&batch, GENX(3DSTATE_VF_STATISTICS),
.StatisticsEnable = true);
anv_batch_emit(&batch, GENX(3DSTATE_HS));
anv_batch_emit(&batch, GENX(3DSTATE_TE));
anv_batch_emit(&batch, GENX(3DSTATE_DS));
anv_batch_emit_blk(&batch, GENX(3DSTATE_VF_STATISTICS), vfs)
vfs.StatisticsEnable = true;
anv_batch_emit(&batch, GENX(3DSTATE_STREAMOUT), .SOFunctionEnable = false);
anv_batch_emit(&batch, GENX(3DSTATE_AA_LINE_PARAMETERS));
anv_batch_emit_blk(&batch, GENX(3DSTATE_HS), hs);
anv_batch_emit_blk(&batch, GENX(3DSTATE_TE), ts);
anv_batch_emit_blk(&batch, GENX(3DSTATE_DS), ds);
anv_batch_emit_blk(&batch, GENX(3DSTATE_STREAMOUT), so);
anv_batch_emit_blk(&batch, GENX(3DSTATE_AA_LINE_PARAMETERS), aa);
#if GEN_GEN >= 8
anv_batch_emit(&batch, GENX(3DSTATE_WM_CHROMAKEY),
.ChromaKeyKillEnable = false);
anv_batch_emit_blk(&batch, GENX(3DSTATE_WM_CHROMAKEY), ck);
/* See the Vulkan 1.0 spec Table 24.1 "Standard sample locations" and
* VkPhysicalDeviceFeatures::standardSampleLocations.
*/
anv_batch_emit(&batch, GENX(3DSTATE_SAMPLE_PATTERN),
._1xSample0XOffset = 0.5,
._1xSample0YOffset = 0.5,
._2xSample0XOffset = 0.25,
._2xSample0YOffset = 0.25,
._2xSample1XOffset = 0.75,
._2xSample1YOffset = 0.75,
._4xSample0XOffset = 0.375,
._4xSample0YOffset = 0.125,
._4xSample1XOffset = 0.875,
._4xSample1YOffset = 0.375,
._4xSample2XOffset = 0.125,
._4xSample2YOffset = 0.625,
._4xSample3XOffset = 0.625,
._4xSample3YOffset = 0.875,
._8xSample0XOffset = 0.5625,
._8xSample0YOffset = 0.3125,
._8xSample1XOffset = 0.4375,
._8xSample1YOffset = 0.6875,
._8xSample2XOffset = 0.8125,
._8xSample2YOffset = 0.5625,
._8xSample3XOffset = 0.3125,
._8xSample3YOffset = 0.1875,
._8xSample4XOffset = 0.1875,
._8xSample4YOffset = 0.8125,
._8xSample5XOffset = 0.0625,
._8xSample5YOffset = 0.4375,
._8xSample6XOffset = 0.6875,
._8xSample6YOffset = 0.9375,
._8xSample7XOffset = 0.9375,
._8xSample7YOffset = 0.0625,
anv_batch_emit_blk(&batch, GENX(3DSTATE_SAMPLE_PATTERN), sp) {
sp._1xSample0XOffset = 0.5;
sp._1xSample0YOffset = 0.5;
sp._2xSample0XOffset = 0.25;
sp._2xSample0YOffset = 0.25;
sp._2xSample1XOffset = 0.75;
sp._2xSample1YOffset = 0.75;
sp._4xSample0XOffset = 0.375;
sp._4xSample0YOffset = 0.125;
sp._4xSample1XOffset = 0.875;
sp._4xSample1YOffset = 0.375;
sp._4xSample2XOffset = 0.125;
sp._4xSample2YOffset = 0.625;
sp._4xSample3XOffset = 0.625;
sp._4xSample3YOffset = 0.875;
sp._8xSample0XOffset = 0.5625;
sp._8xSample0YOffset = 0.3125;
sp._8xSample1XOffset = 0.4375;
sp._8xSample1YOffset = 0.6875;
sp._8xSample2XOffset = 0.8125;
sp._8xSample2YOffset = 0.5625;
sp._8xSample3XOffset = 0.3125;
sp._8xSample3YOffset = 0.1875;
sp._8xSample4XOffset = 0.1875;
sp._8xSample4YOffset = 0.8125;
sp._8xSample5XOffset = 0.0625;
sp._8xSample5YOffset = 0.4375;
sp._8xSample6XOffset = 0.6875;
sp._8xSample6YOffset = 0.9375;
sp._8xSample7XOffset = 0.9375;
sp._8xSample7YOffset = 0.0625;
#if GEN_GEN >= 9
._16xSample0XOffset = 0.5625,
._16xSample0YOffset = 0.5625,
._16xSample1XOffset = 0.4375,
._16xSample1YOffset = 0.3125,
._16xSample2XOffset = 0.3125,
._16xSample2YOffset = 0.6250,
._16xSample3XOffset = 0.7500,
._16xSample3YOffset = 0.4375,
._16xSample4XOffset = 0.1875,
._16xSample4YOffset = 0.3750,
._16xSample5XOffset = 0.6250,
._16xSample5YOffset = 0.8125,
._16xSample6XOffset = 0.8125,
._16xSample6YOffset = 0.6875,
._16xSample7XOffset = 0.6875,
._16xSample7YOffset = 0.1875,
._16xSample8XOffset = 0.3750,
._16xSample8YOffset = 0.8750,
._16xSample9XOffset = 0.5000,
._16xSample9YOffset = 0.0625,
._16xSample10XOffset = 0.2500,
._16xSample10YOffset = 0.1250,
._16xSample11XOffset = 0.1250,
._16xSample11YOffset = 0.7500,
._16xSample12XOffset = 0.0000,
._16xSample12YOffset = 0.5000,
._16xSample13XOffset = 0.9375,
._16xSample13YOffset = 0.2500,
._16xSample14XOffset = 0.8750,
._16xSample14YOffset = 0.9375,
._16xSample15XOffset = 0.0625,
._16xSample15YOffset = 0.0000,
sp._16xSample0XOffset = 0.5625;
sp._16xSample0YOffset = 0.5625;
sp._16xSample1XOffset = 0.4375;
sp._16xSample1YOffset = 0.3125;
sp._16xSample2XOffset = 0.3125;
sp._16xSample2YOffset = 0.6250;
sp._16xSample3XOffset = 0.7500;
sp._16xSample3YOffset = 0.4375;
sp._16xSample4XOffset = 0.1875;
sp._16xSample4YOffset = 0.3750;
sp._16xSample5XOffset = 0.6250;
sp._16xSample5YOffset = 0.8125;
sp._16xSample6XOffset = 0.8125;
sp._16xSample6YOffset = 0.6875;
sp._16xSample7XOffset = 0.6875;
sp._16xSample7YOffset = 0.1875;
sp._16xSample8XOffset = 0.3750;
sp._16xSample8YOffset = 0.8750;
sp._16xSample9XOffset = 0.5000;
sp._16xSample9YOffset = 0.0625;
sp._16xSample10XOffset = 0.2500;
sp._16xSample10YOffset = 0.1250;
sp._16xSample11XOffset = 0.1250;
sp._16xSample11YOffset = 0.7500;
sp._16xSample12XOffset = 0.0000;
sp._16xSample12YOffset = 0.5000;
sp._16xSample13XOffset = 0.9375;
sp._16xSample13YOffset = 0.2500;
sp._16xSample14XOffset = 0.8750;
sp._16xSample14YOffset = 0.9375;
sp._16xSample15XOffset = 0.0625;
sp._16xSample15YOffset = 0.0000;
#endif
);
}
#endif
anv_batch_emit(&batch, GENX(MI_BATCH_BUFFER_END));
anv_batch_emit_blk(&batch, GENX(MI_BATCH_BUFFER_END), bbe);
assert(batch.next <= batch.end);