1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/at_exit.h"
6 #include "base/command_line.h"
7 #include "base/message_loop/message_loop.h"
9 #include "base/mac/scoped_nsautorelease_pool.h"
12 #include "base/strings/utf_string_conversions.h"
14 #include "ui/gl/gl_surface.h"
17 #if defined(GLES2_CONFORM_SUPPORT_ONLY)
18 #include "gpu/gles2_conform_support/gtf/gtf_stubs.h"
20 #include "third_party/gles2_conform/GTF_ES/glsl/GTF/Source/GTFMain.h"
24 int main(int argc
, char *argv
[]) {
25 base::AtExitManager at_exit
;
26 base::CommandLine::Init(argc
, argv
);
27 base::MessageLoopForUI message_loop
;
29 base::CommandLine::StringVector args
=
30 base::CommandLine::ForCurrentProcess()->GetArgs();
32 #if defined(OS_MACOSX)
33 base::mac::ScopedNSAutoreleasePool pool
;
36 scoped_ptr
<const char*[]> argsArray(new const char*[args
.size()+1]);
37 argsArray
[0] = argv
[0];
40 std::vector
<std::string
> argsNonWide(args
.size());
41 for (size_t index
= 0; index
< args
.size(); ++index
) {
42 argsNonWide
[index
] = base::UTF16ToASCII(args
[index
]);
43 argsArray
[index
+1] = argsNonWide
[index
].c_str();
46 for (size_t index
= 0; index
< args
.size(); ++index
) {
47 argsArray
[index
+1] = args
[index
].c_str();
51 GTFMain(static_cast<int>(args
.size()+1),
52 const_cast<char**>(argsArray
.get()));