diff options
author | Ian Romanick <[email protected]> | 2016-06-23 16:19:45 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2016-07-19 12:19:29 -0700 |
commit | 7cb49b1bd7f15d53e08d3716e9a835c42dc11c09 (patch) | |
tree | 1fb8821b2d38242e0e61c6116b06eea5636d5ede /src/mesa/drivers/dri | |
parent | 5726e57f13e46ac1555861704f4318a58202b5ad (diff) |
i965: Enable MESA_shader_integer_functions on all GLSL 1.30 platforms
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_link.cpp | 20 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_extensions.c | 1 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp index b2664b8b6ea..a77df50c7c4 100644 --- a/src/mesa/drivers/dri/i965/brw_link.cpp +++ b/src/mesa/drivers/dri/i965/brw_link.cpp @@ -106,12 +106,20 @@ process_glsl_ir(gl_shader_stage stage, */ brw_lower_packing_builtins(brw, shader->Stage, shader->ir); do_mat_op_to_vec(shader->ir); - lower_instructions(shader->ir, - DIV_TO_MUL_RCP | - SUB_TO_ADD_NEG | - EXP_TO_EXP2 | - LOG_TO_LOG2 | - DFREXP_DLDEXP_TO_ARITH); + + unsigned instructions_to_lower = (DIV_TO_MUL_RCP | + SUB_TO_ADD_NEG | + EXP_TO_EXP2 | + LOG_TO_LOG2 | + DFREXP_DLDEXP_TO_ARITH); + if (brw->gen < 7) { + instructions_to_lower |= BIT_COUNT_TO_MATH | + EXTRACT_TO_SHIFTS | + INSERT_TO_SHIFTS | + REVERSE_TO_SHIFTS; + } + + lower_instructions(shader->ir, instructions_to_lower); /* Pre-gen6 HW can only nest if-statements 16 deep. Beyond this, * if-statements need to be flattened. diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c index cf383bcaae4..5ebcba20e29 100644 --- a/src/mesa/drivers/dri/i965/intel_extensions.c +++ b/src/mesa/drivers/dri/i965/intel_extensions.c @@ -278,6 +278,7 @@ intelInitExtensions(struct gl_context *ctx) _mesa_override_glsl_version(&ctx->Const); ctx->Extensions.EXT_shader_integer_mix = ctx->Const.GLSLVersion >= 130; + ctx->Extensions.MESA_shader_integer_functions = ctx->Const.GLSLVersion >= 130; if (brw->gen >= 5) { ctx->Extensions.ARB_texture_query_levels = ctx->Const.GLSLVersion >= 130; |