|
1 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 #include "WebGLContext.h" |
|
7 #include "WebGLExtensions.h" |
|
8 #include "mozilla/dom/WebGLRenderingContextBinding.h" |
|
9 |
|
10 using namespace mozilla; |
|
11 |
|
12 WebGLExtensionDebugShaders::WebGLExtensionDebugShaders(WebGLContext* context) |
|
13 : WebGLExtensionBase(context) |
|
14 { |
|
15 } |
|
16 |
|
17 WebGLExtensionDebugShaders::~WebGLExtensionDebugShaders() |
|
18 { |
|
19 } |
|
20 |
|
21 /* If no source has been defined, compileShader() has not been called, |
|
22 * or the translation has failed for shader, an empty string is |
|
23 * returned; otherwise, return the translated source. |
|
24 */ |
|
25 void |
|
26 WebGLExtensionDebugShaders::GetTranslatedShaderSource(WebGLShader* shader, |
|
27 nsAString& retval) |
|
28 { |
|
29 if (mIsLost) { |
|
30 return mContext->ErrorInvalidOperation("getTranslatedShaderSource: " |
|
31 "Extension is lost."); |
|
32 } |
|
33 |
|
34 mContext->GetShaderTranslatedSource(shader, retval); |
|
35 |
|
36 if (retval.IsVoid()) { |
|
37 CopyASCIItoUTF16("", retval); |
|
38 } |
|
39 } |
|
40 |
|
41 IMPL_WEBGL_EXTENSION_GOOP(WebGLExtensionDebugShaders) |