From: Kenneth Graunke Date: Mon, 3 Dec 2018 06:30:07 +0000 (-0800) Subject: iris: Fix NOS mechanism X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4749f6cc4f82b4c76753262efaabdac202854ea4;p=mesa.git iris: Fix NOS mechanism Set bits, not values --- diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c index 34e9bd04227..5fb4ef64861 100644 --- a/src/gallium/drivers/iris/iris_program.c +++ b/src/gallium/drivers/iris/iris_program.c @@ -261,7 +261,7 @@ iris_create_vs_state(struct pipe_context *ctx, /* User clip planes */ if (ish->nir->info.clip_distance_array_size == 0) - ish->nos |= IRIS_NOS_RASTERIZER; + ish->nos |= (1ull << IRIS_NOS_RASTERIZER); if (screen->precompile) { struct brw_vs_prog_key key = { KEY_INIT }; @@ -354,15 +354,15 @@ iris_create_fs_state(struct pipe_context *ctx, struct iris_uncompiled_shader *ish = iris_create_shader_state(ctx, state); struct shader_info *info = &ish->nir->info; - ish->nos |= IRIS_NOS_FRAMEBUFFER | - IRIS_NOS_DEPTH_STENCIL_ALPHA | - IRIS_NOS_RASTERIZER | - IRIS_NOS_BLEND; + ish->nos |= (1ull << IRIS_NOS_FRAMEBUFFER) | + (1ull << IRIS_NOS_DEPTH_STENCIL_ALPHA) | + (1ull << IRIS_NOS_RASTERIZER) | + (1ull << IRIS_NOS_BLEND); /* The program key needs the VUE map if there are > 16 inputs */ if (util_bitcount64(ish->nir->info.inputs_read & BRW_FS_VARYING_INPUT_MASK) > 16) { - ish->nos |= IRIS_NOS_LAST_VUE_MAP; + ish->nos |= (1ull << IRIS_NOS_LAST_VUE_MAP); } if (screen->precompile) { @@ -1221,7 +1221,7 @@ iris_update_compiled_fs(struct iris_context *ice) struct brw_wm_prog_key key = { KEY_INIT }; ice->vtbl.populate_fs_key(ice, &key); - if (ish->nos & IRIS_NOS_LAST_VUE_MAP) + if (ish->nos & (1ull << IRIS_NOS_LAST_VUE_MAP)) key.input_slots_valid = ice->shaders.last_vue_map->slots_valid; struct iris_compiled_shader *old = ice->shaders.prog[IRIS_CACHE_FS]; diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index dd0d16cf684..88a109ad3ca 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -1072,7 +1072,6 @@ iris_create_rasterizer_state(struct pipe_context *ctx, not necessary? { poly_smooth - force_persample_interp - ? bottom_edge_rule offset_units_unscaled - cap not exposed