diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/iris/iris_pipe.h | 17 | ||||
-rw-r--r-- | src/gallium/drivers/iris/iris_state.c | 17 |
2 files changed, 17 insertions, 17 deletions
diff --git a/src/gallium/drivers/iris/iris_pipe.h b/src/gallium/drivers/iris/iris_pipe.h index 06ff938372e..1cb0a76af9a 100644 --- a/src/gallium/drivers/iris/iris_pipe.h +++ b/src/gallium/drivers/iris/iris_pipe.h @@ -40,4 +40,21 @@ stage_from_pipe(enum pipe_shader_type pstage) return stages[pstage]; } +/** + * Convert an swizzle enumeration (i.e. PIPE_SWIZZLE_X) to one of the HW's + * "Shader Channel Select" enumerations (i.e. SCS_RED). The mappings are + * + * SWIZZLE_X, SWIZZLE_Y, SWIZZLE_Z, SWIZZLE_W, SWIZZLE_ZERO, SWIZZLE_ONE + * 0 1 2 3 4 5 + * 4 5 6 7 0 1 + * SCS_RED, SCS_GREEN, SCS_BLUE, SCS_ALPHA, SCS_ZERO, SCS_ONE + * + * which is simply adding 4 then modding by 8 (or anding with 7). + */ +static inline enum isl_channel_select +pipe_swizzle_to_isl_channel(enum pipe_swizzle swizzle) +{ + return (swizzle + 4) & 7; +} + #endif diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index 525bdf6a55e..86aeccd8c81 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -1290,23 +1290,6 @@ iris_bind_sampler_states(struct pipe_context *ctx, } /** - * Convert an swizzle enumeration (i.e. PIPE_SWIZZLE_X) to one of the HW's - * "Shader Channel Select" enumerations (i.e. SCS_RED). The mappings are - * - * SWIZZLE_X, SWIZZLE_Y, SWIZZLE_Z, SWIZZLE_W, SWIZZLE_ZERO, SWIZZLE_ONE - * 0 1 2 3 4 5 - * 4 5 6 7 0 1 - * SCS_RED, SCS_GREEN, SCS_BLUE, SCS_ALPHA, SCS_ZERO, SCS_ONE - * - * which is simply adding 4 then modding by 8 (or anding with 7). - */ -static enum isl_channel_select -pipe_swizzle_to_isl_channel(enum pipe_swizzle swizzle) -{ - return (swizzle + 4) & 7; -} - -/** * The pipe->create_sampler_view() driver hook. */ static struct pipe_sampler_view * |