WebCL implementation for Chromium
-
Install windows 8.x SDK http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx
1.1) Patch the Windows 8 SDK to build with Visual C++ 2010 By default the Windows 8 SDK will install to C:\Program Files (x86)\Windows Kits\8.0. This directory will require admin privileges to write to. Easiest way to do apply this patch is to start an administrative command prompt, cd to C:\Program Files (x86)\Windows Kits\8.0\Include\winrt, run "notepad.exe asyncinfo.h" and comment out or delete the word "class" on line 66.
-
Install DirectX SDK june 2010 http://www.microsoft.com/en-us/download/details.aspx?id=6812
Including .net libraries (restart)
2.5) Google "AMD APP SDK" and install it. To verify the installation, check that you have the AMDAPPSDKROOT environment variable created for you. The tested version of the SDK for this project is AMD-APP-SDK-v2.9-Windows-64.exe
-
Install visual studio 2010, make sure x64 compiler and tools are installed. Install SP1. The tested environment looks like (Visual Studio -> Help -> About) Version 1.0.40219 SP1Rel.
-
Install VS2010 SP1 https://www.microsoft.com/en-us/download/details.aspx?id=23691
(restart)
-
Download depot_tools https://src.chromium.org/svn/trunk/tools/depot_tools.zip
-
Install depot_tools.zip in c:\depot_tools
-
Add c:\depots_tools in your path
-
open cmd tool
-
cd c:\depot_tools
-
git config –global user.name “your name”
-
git comfig –global user.email “your email”
-
git config –global core.autocrlf false
-
git config –global core.filemode false
-
run ‘gclient’ [In case of gclient giving an error fetching python, get python_bin.zip as per the message says, copy all the content of the zip directly inside c:\depot_tools. Edit update_depot_tools.bat and remove the ‘force’ option (see comment in the file). git commit update_depot_tools.bat. Run gclient again]
-
Go to location where you want to store chromium code. Best is to use a separate drive than the system drive. Turn off windows disk index for this folder and subfolder
-
cd /the/location/for/chromium
-
fetch chromium –nosvn=True This will create a ‘src’ folder at the location you run fetch This will take a while, and require a good internet connection Remove sleep timer on your pc, as If the pc goes to sleep it will interrupt the fetch, and you will have to start again from scratch. [if fetch does not complete, try gclient sync. But it fails, the only solution seems to delete ‘src’ and do a fetch again https://code.google.com/p/chromium/issues/detail?id=230691]
For more information consult http://dev.chromium.org/developers/how-tos/get-the-code
-
Get and run setup.bat. Get setup.bat from https://github.com/amd/Chromium-WebCL/raw/master/src/setup.bat, and save it in the src directory. Then, cd into src and run setup.bat. NOTE: setup.bat MUST BE EXECUTED IN THE src DIRECTORY! What this script does is the following: (a) switch to branch_1700, i.e. current Chromium Beta (b) Delete all the .git directories that came with your chromium clone (c) point at and sync with AMD repository (WebCL related changes to Chromium)
-
In Visual Studio, load chrome.sln from src/chrome. (a) Set "chrome" project as Startup Project by right-clicking on it and selecting "Set as Startup Project". (b) Now we add AMD APP SDK paths globally to Visual Studio. To do this, click on project "chrome" to select it. Then in the View menu, select Property Manager, and Property Manager will show up as a tab beside Solution Explorer, Class View, etc. In Property Manager, expand the "chrome" project, then expand "Debug|Win32". Right click on Microsoft.Cpp.Win32.user, and select Properties. Then, in Common Properties, click on "VC++ Directories" on the left. Then, on the right, add
$(AMDAPPSDKROOT)\include to "Include Directories"; add $ (AMDAPPSDKROOT)\lib\x86 to "Library Directories". Then, expand "Release|Win32", and repeat. -
Select Debug or Release. First build the hardware libvpx library. In Visual Studio, right click on third_party/libvpx/vpx and select Rebuild; this should finish quickly. Then, right click on the chrome project (chrome/chrome) and start building the chrome project. This can take hours.
-
Go to src/build/Debug or src/build/Release, depending on your build, and execute chrome.exe
Point your web server at the superconductor directory, which is at the same level of src; use a port number of your choice, say 8888. If you use the server that came with python in depot_tools, the command to run (with src as the current directory) is "python -m SimpleHTTPServer 8888". Then, in the browser, load http://localhost:8888/examples/linegraph-3d or http://localhost:8888/examples/treemap to load the main Superconductor demos. To get a sense of how the demos should look, watch the screen-capture video at http://youtu.be/dGD9NpipcrE
If you need a pre-compiled binary of the browser, download it from https://app.box.com/s/u33oh8opeooek2wtsf8m
The repository also hosts AMD's effort to accelerate playback of WebM vidoe content in Chromium. In particular, a version of libvpx that has been optimized to use hardware acceleration is integrated into Chromium in this repository. Follow the same instructions above to build, and the resulting chromium executable will have hardware-accelerated webm playback built-in.