st/mesa: Enable MESA_shader_integer_functions on all GLSL 1.30 platforms
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
@@ -910,6 +910,7 @@ void st_init_extensions(struct pipe_screen *screen,
|
||||
|
||||
extensions->EXT_shader_integer_mix = GL_TRUE;
|
||||
extensions->ARB_arrays_of_arrays = GL_TRUE;
|
||||
extensions->MESA_shader_integer_functions = GL_TRUE;
|
||||
} else {
|
||||
/* Optional integer support for GLSL 1.2. */
|
||||
if (screen->get_shader_param(screen, PIPE_SHADER_VERTEX,
|
||||
|
||||
@@ -6761,7 +6761,21 @@ st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
|
||||
(have_dround ? 0 : DOPS_TO_DFRAC) |
|
||||
(options->EmitNoPow ? POW_TO_EXP2 : 0) |
|
||||
(!ctx->Const.NativeIntegers ? INT_DIV_TO_MUL_RCP : 0) |
|
||||
(options->EmitNoSat ? SAT_TO_CLAMP : 0));
|
||||
(options->EmitNoSat ? SAT_TO_CLAMP : 0) |
|
||||
/* Assume that if ARB_gpu_shader5 is not supported
|
||||
* then all of the extended integer functions need
|
||||
* lowering. It may be necessary to add some caps
|
||||
* for individual instructions.
|
||||
*/
|
||||
(!ctx->Extensions.ARB_gpu_shader5
|
||||
? BIT_COUNT_TO_MATH |
|
||||
EXTRACT_TO_SHIFTS |
|
||||
INSERT_TO_SHIFTS |
|
||||
REVERSE_TO_SHIFTS |
|
||||
FIND_LSB_TO_FLOAT_CAST |
|
||||
FIND_MSB_TO_FLOAT_CAST |
|
||||
IMUL_HIGH_TO_MUL
|
||||
: 0));
|
||||
|
||||
do_vec_index_to_cond_assign(ir);
|
||||
lower_vector_insert(ir, true);
|
||||
|
||||
Reference in New Issue
Block a user