WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
WIP
2012_06_04_ESSL.diff (text/plain), 4.19 KB, created by
Roland Takacs
on 2012-06-04 07:19:51 PDT
(
hide
)
Description:
WIP
Filename:
MIME Type:
Creator:
Roland Takacs
Created:
2012-06-04 07:19:51 PDT
Size:
4.19 KB
patch
obsolete
>diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 6b65d1a..c9d4b78 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,22 @@ >+2012-06-04 Roland Takacs <takacs.roland@stud.u-szeged.hu> >+ >+ Shader compiler unprepared to make ESSL output when GLES is used >+ https://bugs.webkit.org/show_bug.cgi?id=87718 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Defined a new method to initialize shader compilers by the parameter value. >+ This parameter specifies what type of output must be generated. It must be >+ called before calling 'validateShaderSource' method. >+ >+ * platform/graphics/ANGLEWebKitBridge.cpp: >+ (WebCore::ANGLEWebKitBridge::initializeShaderCompilers): >+ (WebCore::ANGLEWebKitBridge::validateShaderSource): >+ * platform/graphics/ANGLEWebKitBridge.h: >+ (ANGLEWebKitBridge): >+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: >+ (WebCore::GraphicsContext3D::compileShader): >+ > 2012-06-04 Alexei Filippov <alexeif@chromium.org> > > Web Inspector: speed up _calculateRetainedSizes function >diff --git a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp >index 73848bd..f69b326 100644 >--- a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp >+++ b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp >@@ -66,11 +66,11 @@ void ANGLEWebKitBridge::setResources(ShBuiltInResources resources) > m_resources = resources; > } > >-bool ANGLEWebKitBridge::validateShaderSource(const char* shaderSource, ANGLEShaderType shaderType, String& translatedShaderSource, String& shaderValidationLog) >+bool ANGLEWebKitBridge::initializeShaderCompilers(ShShaderOutput shaderOutput) > { > if (!builtCompilers) { >- m_fragmentCompiler = ShConstructCompiler(SH_FRAGMENT_SHADER, SH_WEBGL_SPEC, SH_GLSL_OUTPUT, &m_resources); >- m_vertexCompiler = ShConstructCompiler(SH_VERTEX_SHADER, SH_WEBGL_SPEC, SH_GLSL_OUTPUT, &m_resources); >+ m_fragmentCompiler = ShConstructCompiler(SH_FRAGMENT_SHADER, SH_WEBGL_SPEC, ShaderOutput, &m_resources); >+ m_vertexCompiler = ShConstructCompiler(SH_VERTEX_SHADER, SH_WEBGL_SPEC, shaderOutput, &m_resources); > if (!m_fragmentCompiler || !m_vertexCompiler) { > cleanupCompilers(); > return false; >@@ -78,7 +78,11 @@ bool ANGLEWebKitBridge::validateShaderSource(const char* shaderSource, ANGLEShad > > builtCompilers = true; > } >- >+ >+ return true; >+} >+bool ANGLEWebKitBridge::validateShaderSource(const char* shaderSource, ANGLEShaderType shaderType, String& translatedShaderSource, String& shaderValidationLog) >+{ > ShHandle compiler; > > if (shaderType == SHADER_TYPE_VERTEX) >diff --git a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h >index c638bc0..1226a37 100644 >--- a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h >+++ b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h >@@ -53,6 +53,7 @@ public: > ShBuiltInResources getResources() { return m_resources; } > void setResources(ShBuiltInResources); > >+ bool initializeShaderCompilers(ShShaderOutput); > bool validateShaderSource(const char* shaderSource, ANGLEShaderType shaderType, String& translatedShaderSource, String& shaderValidationLog); > > private: >diff --git a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp >index 8c1e7e5..c903abe 100644 >--- a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp >+++ b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp >@@ -467,6 +467,9 @@ void GraphicsContext3D::compileShader(Platform3DObject shader) > String translatedShaderSource; > String shaderInfoLog; > >+ if (!(isGLES2Compliant() ? m_compiler.initializeShaderCompilers(SH_ESSL_OUTPUT) : m_compiler.initializeShaderCompilers(SH_GLSL_OUTPUT))) >+ return; // Error at initialization of shader compilers >+ > bool isValid = m_compiler.validateShaderSource(entry.source.utf8().data(), shaderType, translatedShaderSource, shaderInfoLog); > > entry.log = shaderInfoLog;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
rtakacs
:
review-
rtakacs
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 87718
:
144534
|
144790
|
145581
|
145764
|
145957
|
146128
|
149280
|
149322
|
149474