iris: Set MOCS for constant packets on Gen12+
It seems to be back, and we shouldn't use 0, as that's now considered an error. Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3720> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3720>
This commit is contained in:
parent
4bac2fa3c6
commit
4d57a27504
|
@ -5193,11 +5193,15 @@ emit_push_constant_packets(struct iris_context *ice,
|
|||
int stage,
|
||||
const struct push_bos *push_bos)
|
||||
{
|
||||
UNUSED struct isl_device *isl_dev = &batch->screen->isl_dev;
|
||||
struct iris_compiled_shader *shader = ice->shaders.prog[stage];
|
||||
struct brw_stage_prog_data *prog_data = (void *) shader->prog_data;
|
||||
|
||||
iris_emit_cmd(batch, GENX(3DSTATE_CONSTANT_VS), pkt) {
|
||||
pkt._3DCommandSubOpcode = push_constant_opcodes[stage];
|
||||
#if GEN_GEN >= 12
|
||||
pkt.MOCS = isl_dev->mocs.internal;
|
||||
#endif
|
||||
if (prog_data) {
|
||||
/* The Skylake PRM contains the following restriction:
|
||||
*
|
||||
|
@ -5229,6 +5233,8 @@ emit_push_constant_packet_all(struct iris_context *ice,
|
|||
uint32_t shader_mask,
|
||||
const struct push_bos *push_bos)
|
||||
{
|
||||
struct isl_device *isl_dev = &batch->screen->isl_dev;
|
||||
|
||||
if (!push_bos) {
|
||||
iris_emit_cmd(batch, GENX(3DSTATE_CONSTANT_ALL), pc) {
|
||||
pc.ShaderUpdateEnable = shader_mask;
|
||||
|
@ -5245,6 +5251,7 @@ emit_push_constant_packet_all(struct iris_context *ice,
|
|||
assert(n <= max_pointers);
|
||||
iris_pack_command(GENX(3DSTATE_CONSTANT_ALL), dw, all) {
|
||||
all.DWordLength = num_dwords - 2;
|
||||
all.MOCS = isl_dev->mocs.internal;
|
||||
all.ShaderUpdateEnable = shader_mask;
|
||||
all.PointerBufferMask = (1 << n) - 1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue