st/mesa: advertise ARB_shading_language_packing for GLSL >= 1.30

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Marek Olšák
2013-01-31 23:52:14 +01:00
parent afd4178fec
commit 48689ca14a
2 changed files with 16 additions and 0 deletions

View File

@@ -597,6 +597,7 @@ void st_init_extensions(struct st_context *st)
/* Extensions that either depend on GLSL 1.30 or are a subset thereof. */
ctx->Extensions.ARB_conservative_depth = GL_TRUE;
ctx->Extensions.ARB_shader_bit_encoding = GL_TRUE;
ctx->Extensions.ARB_shading_language_packing = GL_TRUE;
ctx->Extensions.OES_depth_texture_cube_map = GL_TRUE;
} else {
/* Optional integer support for GLSL 1.2. */

View File

@@ -5167,6 +5167,21 @@ st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
options->EmitNoIndirectUniform);
}
if (ctx->Extensions.ARB_shading_language_packing) {
unsigned lower_inst = LOWER_PACK_SNORM_2x16 |
LOWER_UNPACK_SNORM_2x16 |
LOWER_PACK_UNORM_2x16 |
LOWER_UNPACK_UNORM_2x16 |
LOWER_PACK_SNORM_4x8 |
LOWER_UNPACK_SNORM_4x8 |
LOWER_UNPACK_UNORM_4x8 |
LOWER_PACK_UNORM_4x8 |
LOWER_PACK_HALF_2x16 |
LOWER_UNPACK_HALF_2x16;
lower_packing_builtins(ir, lower_inst);
}
do_mat_op_to_vec(ir);
lower_instructions(ir,
MOD_TO_FRACT |