/* Texture group */
ctx->Texture.CurrentUnit = 0; /* multitexture */
- /* 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."
- *
- * Unfortunatley, a call to _mesa_is_gles3 below will only work if
- * the driver has already computed and set ctx->Version, however drivers
- * seem to call _mesa_initialize_context (which calls this) early
- * in the CreateContext hook and _mesa_compute_version much later (since
- * it needs information about available extensions). So, we will
- * enable seamless cubemaps by default since GLES2. This should work
- * for most implementations and drivers that don't support seamless
- * cubemaps for GLES2 can still disable it.
- */
- ctx->Texture.CubeMapSeamless = _mesa_is_gles2(ctx);
-
for (u = 0; u < ARRAY_SIZE(ctx->Texture.Unit); u++) {
struct gl_texture_unit *texUnit = &ctx->Texture.Unit[u];
GLuint tex;
if (_mesa_has_tessellation(ctx))
ctx->SupportedPrimMask |= 1 << GL_PATCHES;
+ /* 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."
+ *
+ * Now that we know our version, enable seamless filtering for GLES3 only.
+ */
+ ctx->Texture.CubeMapSeamless = _mesa_is_gles3(ctx);
+
/* First time initialization. */
_mesa_update_valid_to_render_state(ctx);
}
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.81,Fail
dEQP-GLES2.functional.fragment_ops.random.43,Fail
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.rgb_half_float_oes,Fail
-dEQP-GLES2.functional.shaders.texture_functions.vertex.texturecubelod,Fail
-dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_linear,Fail
-dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_nearest,Fail
-dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_linear,Fail
-dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_nearest,Fail
-dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_linear,Fail
-dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_nearest,Fail
-dEQP-GLES2.functional.texture.vertex.cube.filtering.linear_mipmap_linear_linear_clamp,Fail
-dEQP-GLES2.functional.texture.vertex.cube.filtering.linear_mipmap_linear_linear_mirror,Fail
-dEQP-GLES2.functional.texture.vertex.cube.filtering.linear_mipmap_linear_nearest_clamp,Fail
-dEQP-GLES2.functional.texture.vertex.cube.filtering.linear_mipmap_linear_nearest_mirror,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_clamp,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_mirror,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_repeat,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_clamp,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_mirror,Fail
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_repeat,Fail
-dEQP-GLES2.functional.texture.vertex.cube.wrap.clamp_clamp,Fail
-dEQP-GLES2.functional.texture.vertex.cube.wrap.clamp_mirror,Fail
-dEQP-GLES2.functional.texture.vertex.cube.wrap.clamp_repeat,Fail
-dEQP-GLES2.functional.texture.vertex.cube.wrap.mirror_clamp,Fail
-dEQP-GLES2.functional.texture.vertex.cube.wrap.mirror_mirror,Fail
-dEQP-GLES2.functional.texture.vertex.cube.wrap.mirror_repeat,Fail