зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1105535 - Move color_buffer_[half_]float out from draft status. - r=kamidphish
This commit is contained in:
Родитель
cef79941bd
Коммит
e84cd0a4e7
|
@ -33,8 +33,8 @@ WebGLContext::GetExtensionString(WebGLExtensionID ext)
|
|||
WEBGL_EXTENSION_IDENTIFIER(EXT_blend_minmax)
|
||||
WEBGL_EXTENSION_IDENTIFIER(EXT_color_buffer_half_float)
|
||||
WEBGL_EXTENSION_IDENTIFIER(EXT_frag_depth)
|
||||
WEBGL_EXTENSION_IDENTIFIER(EXT_sRGB)
|
||||
WEBGL_EXTENSION_IDENTIFIER(EXT_shader_texture_lod)
|
||||
WEBGL_EXTENSION_IDENTIFIER(EXT_sRGB)
|
||||
WEBGL_EXTENSION_IDENTIFIER(EXT_texture_filter_anisotropic)
|
||||
WEBGL_EXTENSION_IDENTIFIER(OES_element_index_uint)
|
||||
WEBGL_EXTENSION_IDENTIFIER(OES_standard_derivatives)
|
||||
|
@ -95,24 +95,37 @@ bool WebGLContext::IsExtensionSupported(JSContext* cx,
|
|||
return IsExtensionSupported(ext);
|
||||
}
|
||||
|
||||
bool WebGLContext::IsExtensionSupported(WebGLExtensionID ext) const
|
||||
bool
|
||||
WebGLContext::IsExtensionSupported(WebGLExtensionID ext) const
|
||||
{
|
||||
if (mDisableExtensions)
|
||||
return false;
|
||||
|
||||
// In alphabetical order
|
||||
switch (ext) {
|
||||
case WebGLExtensionID::OES_vertex_array_object:
|
||||
case WebGLExtensionID::WEBGL_lose_context:
|
||||
// Always supported.
|
||||
return true;
|
||||
// ANGLE_
|
||||
case WebGLExtensionID::ANGLE_instanced_arrays:
|
||||
return WebGLExtensionInstancedArrays::IsSupported(this);
|
||||
|
||||
// EXT_
|
||||
case WebGLExtensionID::EXT_blend_minmax:
|
||||
return WebGLExtensionBlendMinMax::IsSupported(this);
|
||||
case WebGLExtensionID::EXT_color_buffer_half_float:
|
||||
return WebGLExtensionColorBufferHalfFloat::IsSupported(this);
|
||||
case WebGLExtensionID::EXT_frag_depth:
|
||||
return WebGLExtensionFragDepth::IsSupported(this);
|
||||
case WebGLExtensionID::EXT_shader_texture_lod:
|
||||
return gl->IsExtensionSupported(gl::GLContext::EXT_shader_texture_lod);
|
||||
case WebGLExtensionID::EXT_sRGB:
|
||||
return WebGLExtensionSRGB::IsSupported(this);
|
||||
case WebGLExtensionID::EXT_texture_filter_anisotropic:
|
||||
return gl->IsExtensionSupported(gl::GLContext::EXT_texture_filter_anisotropic);
|
||||
|
||||
// OES_
|
||||
case WebGLExtensionID::OES_element_index_uint:
|
||||
return gl->IsSupported(gl::GLFeature::element_index_uint);
|
||||
case WebGLExtensionID::OES_standard_derivatives:
|
||||
return gl->IsSupported(gl::GLFeature::standard_derivatives);
|
||||
|
||||
case WebGLExtensionID::OES_texture_float:
|
||||
return gl->IsSupported(gl::GLFeature::texture_float);
|
||||
case WebGLExtensionID::OES_texture_float_linear:
|
||||
|
@ -126,8 +139,18 @@ bool WebGLContext::IsExtensionSupported(WebGLExtensionID ext) const
|
|||
|
||||
case WebGLExtensionID::OES_texture_half_float_linear:
|
||||
return gl->IsSupported(gl::GLFeature::texture_half_float_linear);
|
||||
case WebGLExtensionID::EXT_texture_filter_anisotropic:
|
||||
return gl->IsExtensionSupported(gl::GLContext::EXT_texture_filter_anisotropic);
|
||||
case WebGLExtensionID::OES_vertex_array_object:
|
||||
return true;
|
||||
|
||||
// WEBGL_
|
||||
case WebGLExtensionID::WEBGL_color_buffer_float:
|
||||
return WebGLExtensionColorBufferFloat::IsSupported(this);
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_atc:
|
||||
return gl->IsExtensionSupported(gl::GLContext::AMD_compressed_ATC_texture);
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_etc1:
|
||||
return gl->IsExtensionSupported(gl::GLContext::OES_compressed_ETC1_RGB8_texture);
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_pvrtc:
|
||||
return gl->IsExtensionSupported(gl::GLContext::IMG_texture_compression_pvrtc);
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_s3tc:
|
||||
if (gl->IsExtensionSupported(gl::GLContext::EXT_texture_compression_s3tc))
|
||||
return true;
|
||||
|
@ -135,13 +158,6 @@ bool WebGLContext::IsExtensionSupported(WebGLExtensionID ext) const
|
|||
return gl->IsExtensionSupported(gl::GLContext::EXT_texture_compression_dxt1) &&
|
||||
gl->IsExtensionSupported(gl::GLContext::ANGLE_texture_compression_dxt3) &&
|
||||
gl->IsExtensionSupported(gl::GLContext::ANGLE_texture_compression_dxt5);
|
||||
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_atc:
|
||||
return gl->IsExtensionSupported(gl::GLContext::AMD_compressed_ATC_texture);
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_etc1:
|
||||
return gl->IsExtensionSupported(gl::GLContext::OES_compressed_ETC1_RGB8_texture);
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_pvrtc:
|
||||
return gl->IsExtensionSupported(gl::GLContext::IMG_texture_compression_pvrtc);
|
||||
case WebGLExtensionID::WEBGL_depth_texture:
|
||||
// WEBGL_depth_texture supports DEPTH_STENCIL textures
|
||||
if (!gl->IsSupported(gl::GLFeature::packed_depth_stencil))
|
||||
|
@ -149,17 +165,11 @@ bool WebGLContext::IsExtensionSupported(WebGLExtensionID ext) const
|
|||
|
||||
return gl->IsSupported(gl::GLFeature::depth_texture) ||
|
||||
gl->IsExtensionSupported(gl::GLContext::ANGLE_depth_texture);
|
||||
|
||||
case WebGLExtensionID::ANGLE_instanced_arrays:
|
||||
return WebGLExtensionInstancedArrays::IsSupported(this);
|
||||
case WebGLExtensionID::EXT_sRGB:
|
||||
return WebGLExtensionSRGB::IsSupported(this);
|
||||
case WebGLExtensionID::WEBGL_draw_buffers:
|
||||
return WebGLExtensionDrawBuffers::IsSupported(this);
|
||||
case WebGLExtensionID::EXT_frag_depth:
|
||||
return WebGLExtensionFragDepth::IsSupported(this);
|
||||
case WebGLExtensionID::EXT_shader_texture_lod:
|
||||
return gl->IsExtensionSupported(gl::GLContext::EXT_shader_texture_lod);
|
||||
case WebGLExtensionID::WEBGL_lose_context:
|
||||
// We always support this extension.
|
||||
return true;
|
||||
|
||||
default:
|
||||
// For warnings-as-errors.
|
||||
|
@ -169,15 +179,13 @@ bool WebGLContext::IsExtensionSupported(WebGLExtensionID ext) const
|
|||
if (Preferences::GetBool("webgl.enable-draft-extensions", false) ||
|
||||
IsWebGL2())
|
||||
{
|
||||
/* None for now.
|
||||
switch (ext) {
|
||||
case WebGLExtensionID::EXT_color_buffer_half_float:
|
||||
return WebGLExtensionColorBufferHalfFloat::IsSupported(this);
|
||||
case WebGLExtensionID::WEBGL_color_buffer_float:
|
||||
return WebGLExtensionColorBufferFloat::IsSupported(this);
|
||||
default:
|
||||
// For warnings-as-errors.
|
||||
break;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -292,39 +300,38 @@ WebGLContext::EnableExtension(WebGLExtensionID ext)
|
|||
|
||||
WebGLExtensionBase* obj = nullptr;
|
||||
switch (ext) {
|
||||
// ANGLE_
|
||||
case WebGLExtensionID::ANGLE_instanced_arrays:
|
||||
obj = new WebGLExtensionInstancedArrays(this);
|
||||
break;
|
||||
|
||||
// EXT_
|
||||
case WebGLExtensionID::EXT_blend_minmax:
|
||||
obj = new WebGLExtensionBlendMinMax(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_color_buffer_half_float:
|
||||
obj = new WebGLExtensionColorBufferHalfFloat(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_frag_depth:
|
||||
obj = new WebGLExtensionFragDepth(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_shader_texture_lod:
|
||||
obj = new WebGLExtensionShaderTextureLod(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_sRGB:
|
||||
obj = new WebGLExtensionSRGB(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_texture_filter_anisotropic:
|
||||
obj = new WebGLExtensionTextureFilterAnisotropic(this);
|
||||
break;
|
||||
|
||||
// OES_
|
||||
case WebGLExtensionID::OES_element_index_uint:
|
||||
obj = new WebGLExtensionElementIndexUint(this);
|
||||
break;
|
||||
case WebGLExtensionID::OES_standard_derivatives:
|
||||
obj = new WebGLExtensionStandardDerivatives(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_texture_filter_anisotropic:
|
||||
obj = new WebGLExtensionTextureFilterAnisotropic(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_lose_context:
|
||||
obj = new WebGLExtensionLoseContext(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_s3tc:
|
||||
obj = new WebGLExtensionCompressedTextureS3TC(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_atc:
|
||||
obj = new WebGLExtensionCompressedTextureATC(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_etc1:
|
||||
obj = new WebGLExtensionCompressedTextureETC1(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_pvrtc:
|
||||
obj = new WebGLExtensionCompressedTexturePVRTC(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_debug_renderer_info:
|
||||
obj = new WebGLExtensionDebugRendererInfo(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_debug_shaders:
|
||||
obj = new WebGLExtensionDebugShaders(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_depth_texture:
|
||||
obj = new WebGLExtensionDepthTexture(this);
|
||||
break;
|
||||
case WebGLExtensionID::OES_texture_float:
|
||||
obj = new WebGLExtensionTextureFloat(this);
|
||||
break;
|
||||
|
@ -337,36 +344,44 @@ WebGLContext::EnableExtension(WebGLExtensionID ext)
|
|||
case WebGLExtensionID::OES_texture_half_float_linear:
|
||||
obj = new WebGLExtensionTextureHalfFloatLinear(this);
|
||||
break;
|
||||
case WebGLExtensionID::OES_vertex_array_object:
|
||||
obj = new WebGLExtensionVertexArray(this);
|
||||
break;
|
||||
|
||||
// WEBGL_
|
||||
case WebGLExtensionID::WEBGL_color_buffer_float:
|
||||
obj = new WebGLExtensionColorBufferFloat(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_color_buffer_half_float:
|
||||
obj = new WebGLExtensionColorBufferHalfFloat(this);
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_atc:
|
||||
obj = new WebGLExtensionCompressedTextureATC(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_etc1:
|
||||
obj = new WebGLExtensionCompressedTextureETC1(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_pvrtc:
|
||||
obj = new WebGLExtensionCompressedTexturePVRTC(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_compressed_texture_s3tc:
|
||||
obj = new WebGLExtensionCompressedTextureS3TC(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_debug_renderer_info:
|
||||
obj = new WebGLExtensionDebugRendererInfo(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_debug_shaders:
|
||||
obj = new WebGLExtensionDebugShaders(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_depth_texture:
|
||||
obj = new WebGLExtensionDepthTexture(this);
|
||||
break;
|
||||
case WebGLExtensionID::WEBGL_draw_buffers:
|
||||
obj = new WebGLExtensionDrawBuffers(this);
|
||||
break;
|
||||
case WebGLExtensionID::OES_vertex_array_object:
|
||||
obj = new WebGLExtensionVertexArray(this);
|
||||
break;
|
||||
case WebGLExtensionID::ANGLE_instanced_arrays:
|
||||
obj = new WebGLExtensionInstancedArrays(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_sRGB:
|
||||
obj = new WebGLExtensionSRGB(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_frag_depth:
|
||||
obj = new WebGLExtensionFragDepth(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_blend_minmax:
|
||||
obj = new WebGLExtensionBlendMinMax(this);
|
||||
break;
|
||||
case WebGLExtensionID::EXT_shader_texture_lod:
|
||||
obj = new WebGLExtensionShaderTextureLod(this);
|
||||
case WebGLExtensionID::WEBGL_lose_context:
|
||||
obj = new WebGLExtensionLoseContext(this);
|
||||
break;
|
||||
|
||||
default:
|
||||
MOZ_ASSERT(false, "should not get there.");
|
||||
break;
|
||||
}
|
||||
|
||||
mExtensions[ext] = obj;
|
||||
|
|
|
@ -499,7 +499,6 @@ support-files = webgl-conformance/../webgl-mochitest/driver-info.js
|
|||
[webgl-conformance/_wrappers/test_conformance__buffers__index-validation-with-resized-buffer.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__buffers__index-validation.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__canvas__buffer-offscreen-test.html]
|
||||
skip-if = os == 'android' # Bug 1102402 - It fails intermittently and causes a lot of retried jobs
|
||||
[webgl-conformance/_wrappers/test_conformance__canvas__buffer-preserve-test.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__canvas__canvas-test.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__canvas__canvas-zero-size.html]
|
||||
|
@ -520,6 +519,7 @@ skip-if = (os == 'b2g')
|
|||
[webgl-conformance/_wrappers/test_conformance__extensions__oes-standard-derivatives.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__extensions__ext-texture-filter-anisotropic.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__extensions__oes-texture-float.html]
|
||||
fail-if = (os == 'linux')
|
||||
[webgl-conformance/_wrappers/test_conformance__extensions__oes-vertex-array-object.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-renderer-info.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__extensions__webgl-debug-shaders.html]
|
||||
|
@ -768,7 +768,7 @@ skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
|
|||
[webgl-conformance/_wrappers/test_conformance__textures__texture-formats-test.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__textures__texture-mips.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__textures__texture-npot-video.html]
|
||||
skip-if = os == 'win' || buildapp == 'mulet' # Mulet - bug 1089453 (crashes in libLLVM-3.0.so)
|
||||
skip-if = os == 'win'
|
||||
[webgl-conformance/_wrappers/test_conformance__textures__texture-npot.html]
|
||||
[webgl-conformance/_wrappers/test_conformance__textures__texture-size.html]
|
||||
skip-if = os == 'android'
|
||||
|
|
|
@ -31,6 +31,7 @@ EXTRA_SUPPORT_FILES = [
|
|||
|
||||
ACCEPTABLE_ERRATA_KEYS = set([
|
||||
'skip-if',
|
||||
'fail-if',
|
||||
])
|
||||
|
||||
GENERATED_HEADER = '''
|
||||
|
|
|
@ -77,6 +77,12 @@ skip-if = (os == 'b2g')
|
|||
# Intermittently asserts on 'B2G ICS Emulator Debug'.
|
||||
skip-if = (os == 'b2g')
|
||||
|
||||
########################################################################
|
||||
# Linux
|
||||
[_wrappers/test_conformance__extensions__oes-texture-float.html]
|
||||
# Failures after enabling color_buffer_[half_]float.
|
||||
fail-if = (os == 'linux')
|
||||
|
||||
########################################################################
|
||||
# Mac
|
||||
[_wrappers/test_conformance__canvas__drawingbuffer-static-canvas-test.html]
|
||||
|
|
Загрузка…
Ссылка в новой задаче