summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-12-02 22:30:07 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:10 -0800
commit4749f6cc4f82b4c76753262efaabdac202854ea4 (patch)
tree59ab53f2aafbcec01bb61c9e139c9bd8027e64c9
parenta24734a2d785b86963e95e0c2d3ad093446124ce (diff)
iris: Fix NOS mechanism
Set bits, not values
-rw-r--r--src/gallium/drivers/iris/iris_program.c14
-rw-r--r--src/gallium/drivers/iris/iris_state.c1
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