Closed Bug 879954 Opened 11 years ago Closed 11 years ago

Implement OES_texture_float_linear

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla24

People

(Reporter: bjacob, Assigned: guillaume.abadie)

References

Details

Attachments

(1 file, 2 obsolete files)

Generally, implementing a WebGL extension is documented there:

  https://wiki.mozilla.org/Platform/GFX/WebGL/Contribute/Extensions

In this particular case however, it's going to be a lot quicker than the general case. Skip all the parts that are about the IDL and JavaScript bindings. In bug 879952, we disabled linear filtering of float textures. When the OES_texture_float_linear extension is re-enabled, we want to re-allow linear filtering of float textures.
Implement OES_texture_float_linear. Have to be pull after patch 879952.
Attachment #759366 - Flags: review?(bjacob)
Comment on attachment 759366 [details] [diff] [review]
patch that have to be pull after patch 879952

Review of attachment 759366 [details] [diff] [review]:
-----------------------------------------------------------------

::: content/canvas/src/WebGLContext.cpp
@@ +989,2 @@
>              return gl->IsExtensionSupported(gl->IsGLES2() ? GLContext::OES_texture_float
> +                                            : GLContext::ARB_texture_float);

Ah, no, wait, this requires a check for the separate _linear extension!

http://www.khronos.org/registry/gles/extensions/OES/OES_texture_float_linear.txt

::: content/canvas/src/WebGLExtensions.h
@@ +145,5 @@
> +{
> +public:
> +    WebGLExtensionTextureFloatLinear(WebGLContext*);
> +    virtual ~WebGLExtensionTextureFloatLinear();
> +    

Trailing whitespace.

::: content/canvas/src/WebGLTexture.cpp
@@ +332,5 @@
>          {
>              if (mMinFilter == LOCAL_GL_LINEAR || mMinFilter == LOCAL_GL_LINEAR_MIPMAP_LINEAR || mMinFilter == LOCAL_GL_LINEAR_MIPMAP_NEAREST)
>              {
>                  mContext->GenerateWarning("%s is a texture with a linear minification filter "
> +                                          "that is not compatible with gl.FLOAT. "

Note (yes, I know that this is from your previous patch): this is better phrased as:

"%s is a texture with a linear minification filter, "
"which is not compatible with gl.FLOAT by default."

@@ +333,5 @@
>              if (mMinFilter == LOCAL_GL_LINEAR || mMinFilter == LOCAL_GL_LINEAR_MIPMAP_LINEAR || mMinFilter == LOCAL_GL_LINEAR_MIPMAP_NEAREST)
>              {
>                  mContext->GenerateWarning("%s is a texture with a linear minification filter "
> +                                          "that is not compatible with gl.FLOAT. "
> +                                          "OES_texture_float_linear might be a solution if supported.", msg_rendering_as_black);

The new second sentence would be better phrased:

   Try enabling the OES_texture_float_linear extension if supported.
Attachment #759366 - Flags: review?(bjacob) → review-
Attached patch patch for landing (obsolete) — Splinter Review
have to be push after patch 879952
Attachment #759366 - Attachment is obsolete: true
Attachment #759759 - Flags: review?(bjacob)
Attachment #759759 - Attachment is obsolete: true
Attachment #759759 - Flags: review?(bjacob)
Attachment #759829 - Flags: review?(bjacob)
Attachment #759829 - Flags: review?(bjacob) → review+
https://hg.mozilla.org/mozilla-central/rev/dbf8cb7f9755
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: