diff options
Diffstat (limited to 'mesalib/src/mesa')
-rw-r--r-- | mesalib/src/mesa/main/extensions.c | 1 | ||||
-rw-r--r-- | mesalib/src/mesa/main/mtypes.h | 3 | ||||
-rw-r--r-- | mesalib/src/mesa/main/queryobj.c | 2 | ||||
-rw-r--r-- | mesalib/src/mesa/main/samplerobj.c | 3 | ||||
-rw-r--r-- | mesalib/src/mesa/main/texstate.c | 8 | ||||
-rw-r--r-- | mesalib/src/mesa/program/ir_to_mesa.cpp | 3 | ||||
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 3 | ||||
-rw-r--r-- | mesalib/src/mesa/vbo/vbo_exec.c | 12 |
8 files changed, 30 insertions, 5 deletions
diff --git a/mesalib/src/mesa/main/extensions.c b/mesalib/src/mesa/main/extensions.c index f60157f8c..88fcde3b9 100644 --- a/mesalib/src/mesa/main/extensions.c +++ b/mesalib/src/mesa/main/extensions.c @@ -311,6 +311,7 @@ static const struct extension extension_table[] = { { "GL_IBM_texture_mirrored_repeat", o(dummy_true), GLL, 1998 }, { "GL_INGR_blend_func_separate", o(EXT_blend_func_separate), GLL, 1999 }, { "GL_MESA_pack_invert", o(MESA_pack_invert), GL, 2002 }, + { "GL_MESA_shader_integer_mix", o(MESA_shader_integer_mix), GL | ES3, 2013 }, { "GL_MESA_texture_array", o(MESA_texture_array), GLL, 2007 }, { "GL_MESA_texture_signed_rgba", o(EXT_texture_snorm), GL, 2009 }, { "GL_MESA_window_pos", o(dummy_true), GLL, 2000 }, diff --git a/mesalib/src/mesa/main/mtypes.h b/mesalib/src/mesa/main/mtypes.h index ef16c5910..ca7111e50 100644 --- a/mesalib/src/mesa/main/mtypes.h +++ b/mesalib/src/mesa/main/mtypes.h @@ -3154,8 +3154,9 @@ struct gl_extensions GLboolean ATI_fragment_shader; GLboolean ATI_separate_stencil; GLboolean MESA_pack_invert; - GLboolean MESA_ycbcr_texture; + GLboolean MESA_shader_integer_mix; GLboolean MESA_texture_array; + GLboolean MESA_ycbcr_texture; GLboolean NV_conditional_render; GLboolean NV_fog_distance; GLboolean NV_fragment_program_option; diff --git a/mesalib/src/mesa/main/queryobj.c b/mesalib/src/mesa/main/queryobj.c index 6b636f4cb..a18013369 100644 --- a/mesalib/src/mesa/main/queryobj.c +++ b/mesalib/src/mesa/main/queryobj.c @@ -43,7 +43,7 @@ static struct gl_query_object * _mesa_new_query_object(struct gl_context *ctx, GLuint id) { - struct gl_query_object *q = MALLOC_STRUCT(gl_query_object); + struct gl_query_object *q = CALLOC_STRUCT(gl_query_object); (void) ctx; if (q) { q->Id = id; diff --git a/mesalib/src/mesa/main/samplerobj.c b/mesalib/src/mesa/main/samplerobj.c index 39cfcd086..c3b612c76 100644 --- a/mesalib/src/mesa/main/samplerobj.c +++ b/mesalib/src/mesa/main/samplerobj.c @@ -569,7 +569,8 @@ static GLuint set_sampler_cube_map_seamless(struct gl_context *ctx, struct gl_sampler_object *samp, GLboolean param) { - if (!ctx->Extensions.AMD_seamless_cubemap_per_texture) + if (!_mesa_is_desktop_gl(ctx) + || !ctx->Extensions.AMD_seamless_cubemap_per_texture) return INVALID_PNAME; if (samp->CubeMapSeamless == param) diff --git a/mesalib/src/mesa/main/texstate.c b/mesalib/src/mesa/main/texstate.c index dad69a8f6..ad80dcfaa 100644 --- a/mesalib/src/mesa/main/texstate.c +++ b/mesalib/src/mesa/main/texstate.c @@ -810,6 +810,14 @@ _mesa_init_texture(struct gl_context *ctx) ctx->Texture.CurrentUnit = 0; /* multitexture */ ctx->Texture._EnabledUnits = 0x0; + /* Appendix F.2 of the OpenGL ES 3.0 spec says: + * + * "OpenGL ES 3.0 requires that all cube map filtering be + * seamless. OpenGL ES 2.0 specified that a single cube map face be + * selected and used for filtering." + */ + ctx->Texture.CubeMapSeamless = _mesa_is_gles3(ctx); + for (u = 0; u < Elements(ctx->Texture.Unit); u++) init_texture_unit(ctx, u); diff --git a/mesalib/src/mesa/program/ir_to_mesa.cpp b/mesalib/src/mesa/program/ir_to_mesa.cpp index 340a4497f..510235cae 100644 --- a/mesalib/src/mesa/program/ir_to_mesa.cpp +++ b/mesalib/src/mesa/program/ir_to_mesa.cpp @@ -837,7 +837,7 @@ ir_to_mesa_visitor::visit(ir_function *ir) const ir_function_signature *sig; exec_list empty; - sig = ir->matching_signature(&empty); + sig = ir->matching_signature(NULL, &empty); assert(sig); @@ -1497,6 +1497,7 @@ ir_to_mesa_visitor::visit(ir_expression *ir) case ir_triop_bitfield_extract: case ir_triop_vector_insert: case ir_quadop_bitfield_insert: + case ir_triop_csel: assert(!"not supported"); break; diff --git a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 37779d4e5..1c9174c91 100644 --- a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -1209,7 +1209,7 @@ glsl_to_tgsi_visitor::visit(ir_function *ir) const ir_function_signature *sig; exec_list empty; - sig = ir->matching_signature(&empty); + sig = ir->matching_signature(NULL, &empty); assert(sig); @@ -1979,6 +1979,7 @@ glsl_to_tgsi_visitor::visit(ir_expression *ir) case ir_quadop_vector: case ir_binop_vector_extract: case ir_triop_vector_insert: + case ir_triop_csel: /* This operation is not supported, or should have already been handled. */ assert(!"Invalid ir opcode in glsl_to_tgsi_visitor::visit()"); diff --git a/mesalib/src/mesa/vbo/vbo_exec.c b/mesalib/src/mesa/vbo/vbo_exec.c index 9c20bdef2..aa2c7b07b 100644 --- a/mesalib/src/mesa/vbo/vbo_exec.c +++ b/mesalib/src/mesa/vbo/vbo_exec.c @@ -149,6 +149,18 @@ vbo_count_tessellated_primitives(GLenum mode, GLuint count, case GL_QUADS: num_primitives = (count / 4) * 2; break; + case GL_LINES_ADJACENCY: + num_primitives = count / 4; + break; + case GL_LINE_STRIP_ADJACENCY: + num_primitives = count >= 4 ? count - 3 : 0; + break; + case GL_TRIANGLES_ADJACENCY: + num_primitives = count / 6; + break; + case GL_TRIANGLE_STRIP_ADJACENCY: + num_primitives = count >= 6 ? (count - 4) / 2 : 0; + break; default: assert(!"Unexpected primitive type in count_tessellated_primitives"); num_primitives = 0; |