diff options
author | Kenneth Graunke <[email protected]> | 2018-12-02 22:30:07 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:10 -0800 |
commit | 4749f6cc4f82b4c76753262efaabdac202854ea4 (patch) | |
tree | 59ab53f2aafbcec01bb61c9e139c9bd8027e64c9 | |
parent | a24734a2d785b86963e95e0c2d3ad093446124ce (diff) |
iris: Fix NOS mechanism
Set bits, not values
-rw-r--r-- | src/gallium/drivers/iris/iris_program.c | 14 | ||||
-rw-r--r-- | src/gallium/drivers/iris/iris_state.c | 1 |
2 files changed, 7 insertions, 8 deletions
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 |