Skip to content

Commit

Permalink
Bug 696889 - Upgrade ANGLE to r802 - no review
Browse files Browse the repository at this point in the history
This is syncing us with the ANGLE project at

   http://code.google.com/p/angleproject/

Also, with this new ANGLE revision, two WebGL conformance tests are now passing on windows so this patch removes them from failing_tests_windows.txt.
  • Loading branch information
Benoit Jacob committed Oct 25, 2011
1 parent 7c218bf commit 28015c6
Show file tree
Hide file tree
Showing 31 changed files with 773 additions and 609 deletions.
2 changes: 0 additions & 2 deletions content/canvas/test/webgl/failing_tests_windows.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ conformance/context/premultiplyalpha-test.html
conformance/glsl/functions/glsl-function-atan.html
conformance/glsl/functions/glsl-function-atan-xy.html
conformance/glsl/functions/glsl-function-mod-gentype.html
conformance/glsl/misc/glsl-function-nodes.html
conformance/glsl/misc/glsl-long-variable-names.html
conformance/glsl/misc/shader-with-256-character-identifier.frag.html
conformance/glsl/misc/shader-with-long-line.html
conformance/glsl/variables/gl-frontfacing.html
conformance/reading/read-pixels-test.html
conformance/renderbuffers/framebuffer-object-attachment.html
conformance/more/conformance/quickCheckAPI-S_V.html
Expand Down
3 changes: 3 additions & 0 deletions gfx/angle/CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Google Inc.
Adrienne Walker

Mozilla Corp.
Ehsan Akhgari
Benoit Jacob
Makoto Kato
Vladimir Vukicevic
Expand All @@ -40,3 +41,5 @@ Jim Hauxwell <james at dattrax.co.uk>
ddefrostt
timeless
Yore Apex
Mark Callow

2 changes: 1 addition & 1 deletion gfx/angle/DEPS
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
deps = {
"trunk/third_party/gyp":
"http://gyp.googlecode.com/svn/trunk@800",
"http://gyp.googlecode.com/svn/trunk@1080",
}

hooks = [
Expand Down
9 changes: 3 additions & 6 deletions gfx/angle/README.mozilla
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
This is the ANGLE project, from http://code.google.com/p/angleproject/

Current revision: r774
Current revision: r802

== Applied local patches ==

In this order:
angle-nspr-misc.patch - don't bother with ANGLE_OS detection with NSPR
angle-renaming.patch - rename debug.h to compilerdebug.h to avoid conflict in our makefiles
angle-instrinsic-msvc2005.patch - work around a MSVC 2005 compile error
angle-renaming-debug.patch - rename debug.h to compilerdebug.h to avoid conflict in our makefiles
angle-intrinsic-msvc2005.patch - work around a MSVC 2005 compile error
angle-limit-identifiers-to-250-chars.patch - see bug 675625
angle-use-xmalloc.patch - see bug 680840. Can drop this patch whenever the new preprocessor lands.
angle-mCurrentValueOffsets-size_t.patch - ANGLE bug 220 - compile fix on win64
angle-pool_allocator-assignable.patch - ANGLE r798

In addition to these patches, the Makefile.in files are ours, they're not present in upsteam ANGLE.

Expand Down
File renamed without changes.
2 changes: 0 additions & 2 deletions gfx/angle/angle-nspr-misc.patch

This file was deleted.

23 changes: 12 additions & 11 deletions gfx/angle/angle-use-xmalloc.patch
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
# HG changeset patch
# Parent 74f1894d664435118be4fdefd53cabfdaa9985bc
# Parent fecc64a6df53a9056b21958affad38c80ca38496

diff --git a/gfx/angle/Makefile.in b/gfx/angle/Makefile.in
--- a/gfx/angle/Makefile.in
+++ b/gfx/angle/Makefile.in
@@ -123,16 +123,18 @@ CSRCS = \
memory.c \
scanner.c \
symbols.c \
tokens.c \
@@ -127,16 +127,18 @@ CSRCS = \
$(NULL)

DEFINES += -DANGLE_USE_NSPR -DANGLE_BUILD

#these defines are from ANGLE's build_angle.gyp
DEFINES += -DANGLE_DISABLE_TRACE
DEFINES += -DANGLE_COMPILE_OPTIMIZATION_LEVEL=D3DCOMPILE_OPTIMIZATION_LEVEL0

+EXTRA_DSO_LDOPTS = $(MOZALLOC_LIB)
+
ifdef MOZ_ANGLE
Expand All @@ -25,14 +26,14 @@ diff --git a/gfx/angle/Makefile.in b/gfx/angle/Makefile.in
diff --git a/gfx/angle/README.mozilla b/gfx/angle/README.mozilla
--- a/gfx/angle/README.mozilla
+++ b/gfx/angle/README.mozilla
@@ -4,16 +4,17 @@ Current revision: r740
@@ -3,16 +3,17 @@ This is the ANGLE project, from http://c
Current revision: r774

== Applied local patches ==

In this order:
angle-nspr-misc.patch - don't bother with ANGLE_OS detection with NSPR
angle-renaming.patch - rename debug.h to compilerdebug.h to avoid conflict in our makefiles
angle-intrinsic-msvc2005.patch - work around a MSVC 2005 compile error
angle-instrinsic-msvc2005.patch - work around a MSVC 2005 compile error
angle-limit-identifiers-to-250-chars.patch - see bug 675625
+ angle-use-xmalloc.patch - see bug 680840. Can drop this patch whenever the new preprocessor lands.

Expand Down Expand Up @@ -118,7 +119,7 @@ diff --git a/gfx/angle/src/compiler/preprocessor/atom.c b/gfx/angle/src/compiler
diff --git a/gfx/angle/src/libEGL/Makefile.in b/gfx/angle/src/libEGL/Makefile.in
--- a/gfx/angle/src/libEGL/Makefile.in
+++ b/gfx/angle/src/libEGL/Makefile.in
@@ -150,8 +150,10 @@ RCFILE = $(srcdir)/libEGL.rc
@@ -153,8 +153,10 @@ RCFILE = $(srcdir)/libEGL.rc
include $(topsrcdir)/config/rules.mk

EXTRA_DSO_LDOPTS = "$(MOZ_DIRECTX_SDK_PATH)/lib/$(MOZ_DIRECTX_SDK_CPU_SUFFIX)/d3d9.lib" \
Expand All @@ -132,7 +133,7 @@ diff --git a/gfx/angle/src/libEGL/Makefile.in b/gfx/angle/src/libEGL/Makefile.in
diff --git a/gfx/angle/src/libGLESv2/Makefile.in b/gfx/angle/src/libGLESv2/Makefile.in
--- a/gfx/angle/src/libGLESv2/Makefile.in
+++ b/gfx/angle/src/libGLESv2/Makefile.in
@@ -159,8 +159,10 @@ CPPSRCS += \
@@ -162,8 +162,10 @@ CPPSRCS += \
DEFFILE = $(srcdir)/libGLESv2.def
RCFILE = $(srcdir)/libGLESv2.rc

Expand Down
7 changes: 6 additions & 1 deletion gfx/angle/build/common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

{
'variables': {
'library%': 'shared_library',
'component%': 'static_library',
},
'target_defaults': {
'default_configuration': 'Debug',
Expand Down Expand Up @@ -81,6 +81,11 @@
},
}, # Release
}, # configurations
'conditions': [
['component=="shared_library"', {
'defines': ['COMPONENT_BUILD'],
}],
],
}, # target_defaults
'conditions': [
['OS=="win"', {
Expand Down
118 changes: 118 additions & 0 deletions gfx/angle/extensions/ANGLE_translated_shader_source.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
Name

ANGLE_translated_shader_source

Name Strings

GL_ANGLE_translated_shader_source

Contributors

Daniel Koch, TransGaming Inc.
Gregg Tavares, Google Inc.
Kenneth Russell, Google Inc.
Zhenyao Mo, Google Inc.

Contact

Zhenyao Mo, Google Inc. (zmo 'at' google 'dot' com)

Status

Implemented in ANGLE ES2

Version

Last Modified Date: October 5, 2011
Author Revision: 2

Number

OpenGL ES Extension #??

Dependencies

OpenGL ES 2.0 is required.

The extension is written against the OpenGL ES 2.0 specification.

Overview

WebGL uses the GLSL ES 2.0 spec on all platforms, and translates these
shaders to the host platform's native language (HLSL, GLSL, and even GLSL
ES). For debugging purposes, it is useful to be able to examine the shader
after translation.

This extension addes a new function to query the translated shader source,
and adds a new enum for GetShaderiv's <pname> parameter to query the
translated shader source length.

IP Status

No known IP claims.

New Types

None

New Procedures and Functions

void GetTranslatedShaderSourceANGLE(uint shader, sizei bufsize,
sizei* length, char* source);

New Tokens

Accepted by the <pname> parameter of GetShaderiv:

TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0

Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State
Requests)

Append in the end of the fourth paragraph of section 6.1.8 (Shader and
Program Queries):

" If <pname> is TRANSLATED_SHADER_LENGTH_ANGLE, the length of the translated
source string, including a null terminator, is returned. If no source has
been defined, CompileShader has not been called, or the translation has
failed for <shader>, zero is returned."

Append after the last paragraph of section 6.1.8 (Shader and Program
Queries):

"The command

void GetTranslatedShaderSourceANGLE( uint shader, sizei bufSize,
sizei *length, char *source );

returns in <source> the string making up the translated source code for
the shader object <shader>. The string <source> will be null terminated.
The actual number of characters written into <source>, excluding the null
terminator, is returned in <length>. If <length> is NULL, no length is
returned. The maximum number of characters that may be written into
<source>, including the null terminator, is specified by <bufSize>. The
string <source> is the translated string of a concatenation of the strings
passed to the GL using ShaderSource. The length of this translated string
is given by TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE, which can be queried
with GetShaderiv.

If no source has been defined, CompileShader has not been called, or the
translation has failed for <shader>, zero is returned for <length>, and
an empty string is returned for <source>.

If the value of SHADER_COMPILER is not TRUE, then the error INVALID_-
OPERATION is generated."

Issues

1) What enum value should be used for TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE?

RESOLVED: The first draft used a temporary enum value. This been replaced
with a enum allocated from the ANGLE range of GL enums.

Revision History

Revision 1, 2011/09/29, zmo
- first draft
Revision 2, 2011/10/05, dgkoch
- assigned enum
6 changes: 4 additions & 2 deletions gfx/angle/extensions/EGL_ANGLE_software_display.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Status

Version

Version 1, July 12, 2011
Version 2, October 19, 2011

Number

Expand All @@ -46,7 +46,7 @@ New Procedures and Functions

New Tokens

None
EGL_SOFTWARE_DISPLAY_ANGLE (EGLNativeDisplayType)-1

Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors)

Expand All @@ -61,3 +61,5 @@ Issues
Revision History

Version 1, 2011/07/12 - first draft.
Version 2, 2011/10/18 - add token definition

14 changes: 14 additions & 0 deletions gfx/angle/include/GLES2/gl2ext.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,11 @@ typedef void* GLeglImageOES;
#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
#endif

/* GL_ANGLE_translated_shader_source */
#ifndef GL_ANGLE_translated_shader_source
#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
#endif

/*------------------------------------------------------------------------*
* APPLE extension tokens
*------------------------------------------------------------------------*/
Expand Down Expand Up @@ -810,6 +815,15 @@ typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum
#define GL_ANGLE_texture_compression_dxt5 1
#endif

/* GL_ANGLE_translated_shader_source */
#ifndef GL_ANGLE_translated_shader_source
#define GL_ANGLE_translated_shader_source 1
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
#endif
typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
#endif

/*------------------------------------------------------------------------*
* APPLE extension functions
*------------------------------------------------------------------------*/
Expand Down
Loading

0 comments on commit 28015c6

Please sign in to comment.