Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(255)

Side by Side Diff: Source/platform/graphics/angle/ANGLEPlatformBridge.cpp

Issue 25825003: Move ANGLEWebKitBridge to platform/graphics/angle/ANGLEPlatformBridge. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * 12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #include "config.h" 26 #include "config.h"
27 27
28 #include "core/platform/graphics/ANGLEWebKitBridge.h" 28 #include "platform/graphics/angle/ANGLEPlatformBridge.h"
29
29 #include "wtf/OwnArrayPtr.h" 30 #include "wtf/OwnArrayPtr.h"
30 31
31 namespace WebCore { 32 namespace WebCore {
32 33
33 typedef size_t ANGLEGetInfoType; 34 typedef size_t ANGLEGetInfoType;
34 35
35 inline static ANGLEGetInfoType getValidationResultValue(const ShHandle compiler, ShShaderInfo shaderInfo) 36 inline static ANGLEGetInfoType getValidationResultValue(const ShHandle compiler, ShShaderInfo shaderInfo)
36 { 37 {
37 ANGLEGetInfoType value = 0; 38 ANGLEGetInfoType value = 0;
38 ShGetInfo(compiler, shaderInfo, &value); 39 ShGetInfo(compiler, shaderInfo, &value);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 String arrayBrackets = "[" + String::number(i) + "]"; 126 String arrayBrackets = "[" + String::number(i) + "]";
126 symbol.name = name + arrayBrackets; 127 symbol.name = name + arrayBrackets;
127 symbol.mappedName = mappedName + arrayBrackets; 128 symbol.mappedName = mappedName + arrayBrackets;
128 symbols.append(symbol); 129 symbols.append(symbol);
129 } 130 }
130 } 131 }
131 } 132 }
132 return true; 133 return true;
133 } 134 }
134 135
135 ANGLEWebKitBridge::ANGLEWebKitBridge(ShShaderOutput shaderOutput, ShShaderSpec s haderSpec) 136 ANGLEPlatformBridge::ANGLEPlatformBridge(ShShaderOutput shaderOutput, ShShaderSp ec shaderSpec)
136 : builtCompilers(false) 137 : builtCompilers(false)
137 , m_fragmentCompiler(0) 138 , m_fragmentCompiler(0)
138 , m_vertexCompiler(0) 139 , m_vertexCompiler(0)
139 , m_shaderOutput(shaderOutput) 140 , m_shaderOutput(shaderOutput)
140 , m_shaderSpec(shaderSpec) 141 , m_shaderSpec(shaderSpec)
141 { 142 {
142 // This is a no-op if it's already initialized. 143 // This is a no-op if it's already initialized.
143 ShInitialize(); 144 ShInitialize();
144 } 145 }
145 146
146 ANGLEWebKitBridge::~ANGLEWebKitBridge() 147 ANGLEPlatformBridge::~ANGLEPlatformBridge()
147 { 148 {
148 cleanupCompilers(); 149 cleanupCompilers();
149 } 150 }
150 151
151 void ANGLEWebKitBridge::cleanupCompilers() 152 void ANGLEPlatformBridge::cleanupCompilers()
152 { 153 {
153 if (m_fragmentCompiler) 154 if (m_fragmentCompiler)
154 ShDestruct(m_fragmentCompiler); 155 ShDestruct(m_fragmentCompiler);
155 m_fragmentCompiler = 0; 156 m_fragmentCompiler = 0;
156 if (m_vertexCompiler) 157 if (m_vertexCompiler)
157 ShDestruct(m_vertexCompiler); 158 ShDestruct(m_vertexCompiler);
158 m_vertexCompiler = 0; 159 m_vertexCompiler = 0;
159 160
160 builtCompilers = false; 161 builtCompilers = false;
161 } 162 }
162 163
163 void ANGLEWebKitBridge::setResources(ShBuiltInResources resources) 164 void ANGLEPlatformBridge::setResources(ShBuiltInResources resources)
164 { 165 {
165 // Resources are (possibly) changing - cleanup compilers if we had them alre ady 166 // Resources are (possibly) changing - cleanup compilers if we had them alre ady
166 cleanupCompilers(); 167 cleanupCompilers();
167 168
168 m_resources = resources; 169 m_resources = resources;
169 } 170 }
170 171
171 bool ANGLEWebKitBridge::compileShaderSource(const char* shaderSource, ANGLEShade rType shaderType, String& translatedShaderSource, String& shaderValidationLog, V ector<ANGLEShaderSymbol>& symbols, int extraCompileOptions) 172 bool ANGLEPlatformBridge::compileShaderSource(const char* shaderSource, ANGLESha derType shaderType, String& translatedShaderSource, String& shaderValidationLog, Vector<ANGLEShaderSymbol>& symbols, int extraCompileOptions)
172 { 173 {
173 if (!builtCompilers) { 174 if (!builtCompilers) {
174 m_fragmentCompiler = ShConstructCompiler(SH_FRAGMENT_SHADER, m_shaderSpe c, m_shaderOutput, &m_resources); 175 m_fragmentCompiler = ShConstructCompiler(SH_FRAGMENT_SHADER, m_shaderSpe c, m_shaderOutput, &m_resources);
175 m_vertexCompiler = ShConstructCompiler(SH_VERTEX_SHADER, m_shaderSpec, m _shaderOutput, &m_resources); 176 m_vertexCompiler = ShConstructCompiler(SH_VERTEX_SHADER, m_shaderSpec, m _shaderOutput, &m_resources);
176 if (!m_fragmentCompiler || !m_vertexCompiler) { 177 if (!m_fragmentCompiler || !m_vertexCompiler) {
177 cleanupCompilers(); 178 cleanupCompilers();
178 return false; 179 return false;
179 } 180 }
180 181
181 builtCompilers = true; 182 builtCompilers = true;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 219
219 if (!getSymbolInfo(compiler, SH_ACTIVE_ATTRIBUTES, symbols)) 220 if (!getSymbolInfo(compiler, SH_ACTIVE_ATTRIBUTES, symbols))
220 return false; 221 return false;
221 if (!getSymbolInfo(compiler, SH_ACTIVE_UNIFORMS, symbols)) 222 if (!getSymbolInfo(compiler, SH_ACTIVE_UNIFORMS, symbols))
222 return false; 223 return false;
223 224
224 return true; 225 return true;
225 } 226 }
226 227
227 } 228 }
OLDNEW
« Source/platform/blink_platform.gyp ('K') | « Source/platform/graphics/angle/ANGLEPlatformBridge.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698