mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-24 21:40:10 +00:00
[Android] Start of *working* GLES3 support. Needs to be able to compile in Windows still.
This commit is contained in:
parent
1bea76a6e0
commit
703a51e4c0
392
Source/Android/.idea/workspace.xml
generated
392
Source/Android/.idea/workspace.xml
generated
@ -35,24 +35,6 @@
|
||||
<list default="true" id="682e8195-a9c2-48a7-a941-e8c10f5cb64a" name="Default" comment="" />
|
||||
<ignored path="Android.iws" />
|
||||
<ignored path=".idea/workspace.xml" />
|
||||
<file path="/fragment.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1368867720090" ignored="false" />
|
||||
<file path="/Dummy.txt" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1368955682446" ignored="false" />
|
||||
<file path="/GameListView.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369035891369" ignored="false" />
|
||||
<file path="/SettingBrowser.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1368965879091" ignored="false" />
|
||||
<file path="/SettingMenuItem.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1368957197656" ignored="false" />
|
||||
<file path="/SettingMenuAdapter.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1368957350110" ignored="false" />
|
||||
<file path="/AndroidManifest.xml" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369534483869" ignored="false" />
|
||||
<file path="/EditNameDialog.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369023935830" ignored="false" />
|
||||
<file path="/PrefsActivity.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369031747746" ignored="false" />
|
||||
<file path="/PrefsFragment.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369032642639" ignored="false" />
|
||||
<file path="/prefs.xml" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369036284146" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/gen/org/dolphinemu/dolphinemu/BuildConfig.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369127789356" ignored="false" />
|
||||
<file path="/prefvalues.xml" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369036331457" ignored="false" />
|
||||
<file path="/FolderBrowser.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369217914695" ignored="false" />
|
||||
<file path="/DolphinEmulator.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369534697502" ignored="false" />
|
||||
<file path="/a.groovy" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369535676012" ignored="false" />
|
||||
<file path="/a.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369535541830" ignored="false" />
|
||||
<file path="/sample.java" changelist="682e8195-a9c2-48a7-a941-e8c10f5cb64a" time="1369535538754" ignored="false" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@ -118,19 +100,19 @@
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<file leaf-file-name="DolphinEmulator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<file leaf-file-name="DolphinEmulator.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/DolphinEmulator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="164" column="4" selection-start="4827" selection-end="4827" vertical-scroll-proportion="-9.307693">
|
||||
<state line="140" column="60" selection-start="4228" selection-end="4228" vertical-scroll-proportion="0.18997361" vertical-offset="1878" max-vertical-offset="2490">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="AndroidManifest.xml" pinned="false" current="true" current-in-tab="true">
|
||||
<file leaf-file-name="AndroidManifest.xml" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/AndroidManifest.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="6" column="72" selection-start="281" selection-end="281" vertical-scroll-proportion="0.23316061">
|
||||
<state line="6" column="71" selection-start="280" selection-end="280" vertical-scroll-proportion="0.0" vertical-offset="75" max-vertical-offset="735">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -139,7 +121,7 @@
|
||||
<file leaf-file-name="GameListView.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/GameListView.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="51" column="78" selection-start="1629" selection-end="1629" vertical-scroll-proportion="0.0">
|
||||
<state line="62" column="13" selection-start="2128" selection-end="2128" vertical-scroll-proportion="0.0" vertical-offset="915" max-vertical-offset="3420">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -148,28 +130,7 @@
|
||||
<file leaf-file-name="FolderBrowser.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/FolderBrowser.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="81" column="36" selection-start="2675" selection-end="2675" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="prefs.xml" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/res/layout/prefs.xml">
|
||||
<provider editor-type-id="android-designer">
|
||||
<state />
|
||||
</provider>
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="prefvalues.xml" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/res/values/prefvalues.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="31" selection-start="392" selection-end="392" vertical-scroll-proportion="-8.4">
|
||||
<state line="75" column="25" selection-start="2518" selection-end="2518" vertical-scroll-proportion="0.0" vertical-offset="1110" max-vertical-offset="1485">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -178,10 +139,8 @@
|
||||
<file leaf-file-name="PrefsActivity.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/PrefsActivity.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="0" selection-start="389" selection-end="389" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
<state line="14" column="0" selection-start="389" selection-end="389" vertical-scroll-proportion="0.0" vertical-offset="195" max-vertical-offset="690">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -204,7 +163,6 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/SideMenuItem.java" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/SettingMenuItem.java" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/SettingMenuAdapter.java" />
|
||||
<option value="$PROJECT_DIR$/res/layout/fragment_edit_name.xml" />
|
||||
@ -215,11 +173,12 @@
|
||||
<option value="$PROJECT_DIR$/res/values/prefs.xml" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/SettingBrowser.java" />
|
||||
<option value="$PROJECT_DIR$/res/layout/prefs.xml" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/FolderBrowser.java" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/GameListView.java" />
|
||||
<option value="$PROJECT_DIR$/res/values/prefvalues.xml" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/DolphinEmulator.java" />
|
||||
<option value="$PROJECT_DIR$/AndroidManifest.xml" />
|
||||
<option value="$PROJECT_DIR$/res/values/prefvalues.xml" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/GameListView.java" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/GameListItem.java" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/FolderBrowser.java" />
|
||||
<option value="$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/DolphinEmulator.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -273,6 +232,44 @@
|
||||
<sortByType />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="dolphinemu" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Scope">
|
||||
<subPane subId="Project Files">
|
||||
<PATH>
|
||||
@ -317,67 +314,47 @@
|
||||
<option name="myItemType" value="" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT USER_OBJECT="Root">
|
||||
<option name="myItemId" value="" />
|
||||
<option name="myItemType" value="" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT USER_OBJECT="Android">
|
||||
<option name="myItemId" value="" />
|
||||
<option name="myItemType" value="" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT USER_OBJECT="Android">
|
||||
<option name="myItemId" value="" />
|
||||
<option name="myItemType" value="" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT USER_OBJECT="assets">
|
||||
<option name="myItemId" value="" />
|
||||
<option name="myItemType" value="" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="Android" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="dolphinemu" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="dynamic.classpath" value="false" />
|
||||
<property name="GoToClass.includeLibraries" value="false" />
|
||||
<property name="MemberChooser.showClasses" value="true" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="recentsLimit" value="5" />
|
||||
<property name="MemberChooser.sorted" value="false" />
|
||||
<property name="FullScreen" value="false" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="ANDROID_EXTENDED_DEVICE_CHOOSER_AVD" value="YES" />
|
||||
<property name="restartRequiresConfirmation" value="true" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="options.splitter.main.proportions" value="0.3" />
|
||||
<property name="GoToFile.includeJavaFiles" value="false" />
|
||||
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
|
||||
<property name="options.lastSelected" value="android.dex.compiler" />
|
||||
<property name="FullScreen" value="false" />
|
||||
<property name="GoToFile.includeJavaFiles" value="false" />
|
||||
<property name="MemberChooser.copyJavadoc" value="false" />
|
||||
<property name="ANDROID_EXTENDED_DEVICE_CHOOSER_SERIALS" value="192.168.0.188:5555" />
|
||||
<property name="recentsLimit" value="5" />
|
||||
<property name="options.lastSelected" value="editor.preferences.appearance" />
|
||||
<property name="restartRequiresConfirmation" value="true" />
|
||||
<property name="MemberChooser.sorted" value="false" />
|
||||
<property name="options.splitter.main.proportions" value="0.3" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="ANDROID_EXTENDED_DEVICE_CHOOSER_SERIALS" value="978fa698" />
|
||||
<property name="GoToClass.includeLibraries" value="false" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="ANDROID_EXTENDED_DEVICE_CHOOSER_AVD" value="YES" />
|
||||
<property name="MemberChooser.showClasses" value="true" />
|
||||
<property name="dynamic.classpath" value="false" />
|
||||
</component>
|
||||
<component name="RunManager" selected="Android Application.Dolphin Emulator">
|
||||
<configuration default="true" type="Remote" factoryName="Remote">
|
||||
@ -388,17 +365,22 @@
|
||||
<option name="PORT" value="5005" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="Applet" factoryName="Applet">
|
||||
<configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
|
||||
<module name="" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="HTML_FILE_NAME" />
|
||||
<option name="HTML_USED" value="false" />
|
||||
<option name="WIDTH" value="400" />
|
||||
<option name="HEIGHT" value="300" />
|
||||
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="TESTING_TYPE" value="0" />
|
||||
<option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
|
||||
<option name="METHOD_NAME" value="" />
|
||||
<option name="CLASS_NAME" value="" />
|
||||
<option name="PACKAGE_NAME" value="" />
|
||||
<option name="TARGET_SELECTION_MODE" value="EMULATOR" />
|
||||
<option name="PREFERRED_AVD" value="" />
|
||||
<option name="USE_COMMAND_LINE" value="true" />
|
||||
<option name="COMMAND_LINE" value="" />
|
||||
<option name="WIPE_USER_DATA" value="false" />
|
||||
<option name="DISABLE_BOOT_ANIMATION" value="false" />
|
||||
<option name="NETWORK_SPEED" value="full" />
|
||||
<option name="NETWORK_LATENCY" value="none" />
|
||||
<option name="CLEAR_LOGCAT" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="JUnit" factoryName="JUnit">
|
||||
@ -435,24 +417,6 @@
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
|
||||
<module name="" />
|
||||
<option name="TESTING_TYPE" value="0" />
|
||||
<option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
|
||||
<option name="METHOD_NAME" value="" />
|
||||
<option name="CLASS_NAME" value="" />
|
||||
<option name="PACKAGE_NAME" value="" />
|
||||
<option name="TARGET_SELECTION_MODE" value="EMULATOR" />
|
||||
<option name="PREFERRED_AVD" value="" />
|
||||
<option name="USE_COMMAND_LINE" value="true" />
|
||||
<option name="COMMAND_LINE" value="" />
|
||||
<option name="WIPE_USER_DATA" value="false" />
|
||||
<option name="DISABLE_BOOT_ANIMATION" value="false" />
|
||||
<option name="NETWORK_SPEED" value="full" />
|
||||
<option name="NETWORK_LATENCY" value="none" />
|
||||
<option name="CLEAR_LOGCAT" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application">
|
||||
<module name="" />
|
||||
<option name="ACTIVITY_CLASS" value="" />
|
||||
@ -469,6 +433,19 @@
|
||||
<option name="CLEAR_LOGCAT" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="Applet" factoryName="Applet">
|
||||
<module name="" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="HTML_FILE_NAME" />
|
||||
<option name="HTML_USED" value="false" />
|
||||
<option name="WIDTH" value="400" />
|
||||
<option name="HEIGHT" value="300" />
|
||||
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="Dolphin Emulator" type="AndroidRunConfigurationType" factoryName="Android Application">
|
||||
<module name="Android" />
|
||||
<option name="ACTIVITY_CLASS" value="" />
|
||||
@ -543,11 +520,20 @@
|
||||
<workItem from="1369308108390" duration="81000" />
|
||||
<workItem from="1369310924441" duration="263000" />
|
||||
<workItem from="1369391881947" duration="6610000" />
|
||||
<workItem from="1369625958954" duration="18957000" />
|
||||
<workItem from="1370018581705" duration="1122000" />
|
||||
<workItem from="1370034754003" duration="6035000" />
|
||||
<workItem from="1370353132771" duration="5420000" />
|
||||
<workItem from="1370516537067" duration="4475000" />
|
||||
<workItem from="1370645477148" duration="1282000" />
|
||||
<workItem from="1370804398348" duration="807000" />
|
||||
<workItem from="1370827141473" duration="1893000" />
|
||||
<workItem from="1370854938756" duration="5106000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="47388000" />
|
||||
<option name="totallyTimeSpent" value="92485000" />
|
||||
</component>
|
||||
<component name="TodoView" selected-index="0">
|
||||
<todo-panel id="selected-file">
|
||||
@ -573,30 +559,30 @@
|
||||
<frame x="24" y="0" width="1342" height="744" extended-state="0" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2179289" sideWeight="0.6912752" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Palette	" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.13678516" sideWeight="0.6912752" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32998326" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3110368" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.30872482" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.17619784" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.17851622" sideWeight="0.6912752" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Android" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.7466443" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32998455" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.29865772" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32718122" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.17851622" sideWeight="0.6912752" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.29865772" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32998455" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Android" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.7466443" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Palette	" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.13678516" sideWeight="0.6912752" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32998326" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32885906" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2179289" sideWeight="0.7013423" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32998326" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.17619784" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32885906" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="VcsContentAnnotationSettings">
|
||||
@ -662,14 +648,12 @@
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/res/values/prefvalues.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0" />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/FolderBrowser.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="58" column="30" selection-start="1963" selection-end="1963" vertical-scroll-proportion="0.0">
|
||||
<state line="58" column="30" selection-start="1963" selection-end="1963" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -679,28 +663,19 @@
|
||||
<state />
|
||||
</provider>
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="21" column="41" selection-start="857" selection-end="857" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/GameListItem.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="30" column="64" selection-start="729" selection-end="729" vertical-scroll-proportion="-0.42105263">
|
||||
<folding />
|
||||
</state>
|
||||
<state line="21" column="41" selection-start="857" selection-end="857" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0" />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/SideMenuAdapter.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="11" column="13" selection-start="267" selection-end="267" vertical-scroll-proportion="0.082167834">
|
||||
<state line="11" column="13" selection-start="267" selection-end="267" vertical-scroll-proportion="0.082167834" vertical-offset="0" max-vertical-offset="0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$APPLICATION_HOME_DIR$/sdk/platforms/android-17/android.jar!/android/app/Activity.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="132" column="0" selection-start="5190" selection-end="5190" vertical-scroll-proportion="2.0" />
|
||||
<state line="132" column="0" selection-start="5190" selection-end="5190" vertical-scroll-proportion="2.0" vertical-offset="0" max-vertical-offset="0" />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/res/layout/folderbrowser.xml">
|
||||
@ -708,9 +683,7 @@
|
||||
<state />
|
||||
</provider>
|
||||
<provider editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0" />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/res/layout/main.xml">
|
||||
@ -718,23 +691,7 @@
|
||||
<state />
|
||||
</provider>
|
||||
<provider editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/FolderBrowser.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="81" column="36" selection-start="2675" selection-end="2675" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/GameListView.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="51" column="78" selection-start="1629" selection-end="1629" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0" />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/res/layout/folderbrowserfooter.xml">
|
||||
@ -742,47 +699,60 @@
|
||||
<state />
|
||||
</provider>
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0" />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/res/layout/prefs.xml">
|
||||
<provider editor-type-id="android-designer">
|
||||
<state />
|
||||
</provider>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/PrefsActivity.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0">
|
||||
<state line="14" column="0" selection-start="389" selection-end="389" vertical-scroll-proportion="0.0" vertical-offset="195" max-vertical-offset="690">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/res/values/prefvalues.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="31" selection-start="392" selection-end="392" vertical-scroll-proportion="-8.4">
|
||||
<state line="14" column="26" selection-start="387" selection-end="387" vertical-scroll-proportion="0.5426357" vertical-offset="0" max-vertical-offset="0" />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/res/layout/prefs.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0" vertical-offset="0" max-vertical-offset="0" />
|
||||
</provider>
|
||||
<provider editor-type-id="android-designer">
|
||||
<state />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/AndroidManifest.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="6" column="71" selection-start="280" selection-end="280" vertical-scroll-proportion="0.0" vertical-offset="75" max-vertical-offset="735">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/PrefsActivity.java">
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/GameListView.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="0" selection-start="389" selection-end="389" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
<state line="62" column="13" selection-start="2128" selection-end="2128" vertical-scroll-proportion="0.0" vertical-offset="915" max-vertical-offset="3420">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/GameListItem.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="56" column="5" selection-start="1377" selection-end="1377" vertical-scroll-proportion="-0.39534885" vertical-offset="0" max-vertical-offset="0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/FolderBrowser.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="75" column="25" selection-start="2518" selection-end="2518" vertical-scroll-proportion="0.0" vertical-offset="1110" max-vertical-offset="1485">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/org/dolphinemu/dolphinemu/DolphinEmulator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="164" column="4" selection-start="4827" selection-end="4827" vertical-scroll-proportion="-9.307693">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/AndroidManifest.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="6" column="72" selection-start="281" selection-end="281" vertical-scroll-proportion="0.23316061">
|
||||
<state line="140" column="60" selection-start="4228" selection-end="4228" vertical-scroll-proportion="0.18997361" vertical-offset="1878" max-vertical-offset="2490">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
<string-array name="gpuOptions">
|
||||
<item>Software Renderer</item>
|
||||
<!--item>OpenGL</item-->
|
||||
<item>OpenGL</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="gpuValues">
|
||||
|
@ -4,6 +4,7 @@ set(SRCS Src/BPFunctions.cpp
|
||||
Src/CPMemory.cpp
|
||||
Src/CommandProcessor.cpp
|
||||
Src/Debugger.cpp
|
||||
Src/DriverDetails.cpp
|
||||
Src/Fifo.cpp
|
||||
Src/FPSCounter.cpp
|
||||
Src/FramebufferManagerBase.cpp
|
||||
|
69
Source/Core/VideoCommon/Src/DriverDetails.cpp
Normal file
69
Source/Core/VideoCommon/Src/DriverDetails.cpp
Normal file
@ -0,0 +1,69 @@
|
||||
// Copyright 2013 Dolphin Emulator Project
|
||||
// Licensed under GPLv2
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include <map>
|
||||
|
||||
#include "LogManager.h"
|
||||
#include "DriverDetails.h"
|
||||
|
||||
namespace DriverDetails
|
||||
{
|
||||
struct BugInfo
|
||||
{
|
||||
Bug m_bug; // Which bug it is
|
||||
u32 m_devfamily; // Which device(family) has the error
|
||||
double m_versionstart; // When it started
|
||||
double m_versionend; // When it ended
|
||||
bool m_hasbug; // Does it have it?
|
||||
};
|
||||
|
||||
// Local members
|
||||
Vendor m_vendor = VENDOR_UNKNOWN;
|
||||
u32 m_devfamily = 0;
|
||||
double m_version = 0.0;
|
||||
|
||||
// This is a list of all known bugs for each vendor
|
||||
// We use this to check if the device and driver has a issue
|
||||
BugInfo m_qualcommbugs[] = {
|
||||
{BUG_NODYNUBOACCESS, 300, 14.0, -1.0},
|
||||
{BUG_BROKENCENTROID, 300, 14.0, -1.0},
|
||||
};
|
||||
|
||||
std::map<std::pair<Vendor, Bug>, BugInfo> m_bugs;
|
||||
|
||||
// Private function
|
||||
void InitBugMap()
|
||||
{
|
||||
switch(m_vendor)
|
||||
{
|
||||
case VENDOR_QUALCOMM:
|
||||
for (int a = 0; a < (sizeof(m_qualcommbugs) / sizeof(BugInfo)); ++a)
|
||||
m_bugs[std::make_pair(m_vendor, m_qualcommbugs[a].m_bug)] = m_qualcommbugs[a];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Init(Vendor vendor, const u32 devfamily, const double version)
|
||||
{
|
||||
m_vendor = vendor;
|
||||
m_devfamily = devfamily;
|
||||
m_version = version;
|
||||
InitBugMap();
|
||||
|
||||
for (auto it = m_bugs.begin(); it != m_bugs.end(); ++it)
|
||||
if (it->second.m_devfamily == m_devfamily)
|
||||
if (it->second.m_versionend == -1.0 || (it->second.m_versionstart <= m_version && it->second.m_versionend > m_version))
|
||||
it->second.m_hasbug = true;
|
||||
}
|
||||
|
||||
const bool HasBug(Bug bug)
|
||||
{
|
||||
auto it = m_bugs.find(std::make_pair(m_vendor, bug));
|
||||
if (it == m_bugs.end())
|
||||
return false;
|
||||
return it->second.m_hasbug;
|
||||
}
|
||||
}
|
52
Source/Core/VideoCommon/Src/DriverDetails.h
Normal file
52
Source/Core/VideoCommon/Src/DriverDetails.h
Normal file
@ -0,0 +1,52 @@
|
||||
// Copyright 2013 Dolphin Emulator Project
|
||||
// Licensed under GPLv2
|
||||
// Refer to the license.txt file included.
|
||||
#pragma once
|
||||
#include "CommonTypes.h"
|
||||
|
||||
namespace DriverDetails
|
||||
{
|
||||
// Enum of known vendors
|
||||
// Tegra and Nvidia are separated out due to such substantial differences
|
||||
enum Vendor
|
||||
{
|
||||
VENDOR_NVIDIA = 0,
|
||||
VENDOR_ATI,
|
||||
VENDOR_INTEL,
|
||||
VENDOR_ARM,
|
||||
VENDOR_QUALCOMM,
|
||||
VENDOR_IMGTEC,
|
||||
VENDOR_TEGRA,
|
||||
VENDOR_VIVANTE,
|
||||
VENDOR_UNKNOWN
|
||||
};
|
||||
|
||||
// Enum of known bugs
|
||||
// These can be vendor specific, but we put them all in here
|
||||
// For putting a new bug in here, make sure to put a detailed comment above the enum
|
||||
// This'll ensure we know exactly what the issue is.
|
||||
enum Bug
|
||||
{
|
||||
// Bug: No Dynamic UBO array object access
|
||||
// Affected Devices: Qualcomm/Adreno
|
||||
// Started Version: 14
|
||||
// Ended Version: -1
|
||||
// Accessing UBO array members dynamically causes the Adreno shader compiler to crash
|
||||
// Errors out with "Internal Error"
|
||||
BUG_NODYNUBOACCESS = 0,
|
||||
// Bug: Centroid is broken in shaders
|
||||
// Affected devices: Qualcomm/Adreno
|
||||
// Started Version: 14
|
||||
// Ended Version: -1
|
||||
// Centroid in/out, used in the shaders, is used for multisample buffers to get the texel correctly
|
||||
// When MSAA is disabled, it acts like a regular in/out
|
||||
// Tends to cause the driver to render full white or black
|
||||
BUG_BROKENCENTROID,
|
||||
};
|
||||
|
||||
// Initializes our internal vendor, device family, and driver version
|
||||
void Init(Vendor vendor, const u32 devfamily, const double version);
|
||||
|
||||
// Once Vendor and driver version is set, this will return if it has the applicable bug passed to it.
|
||||
const bool HasBug(Bug bug);
|
||||
}
|
@ -9,6 +9,7 @@
|
||||
|
||||
#include "BPMemory.h"
|
||||
#include "CPMemory.h"
|
||||
#include "DriverDetails.h"
|
||||
#include "LightingShaderGen.h"
|
||||
#include "VertexShaderGen.h"
|
||||
#include "VideoConfig.h"
|
||||
@ -322,13 +323,22 @@ const char *GenerateVertexShaderCode(u32 components, API_TYPE ApiType)
|
||||
WRITE(p, "int posmtx = int(fposmtx);\n");
|
||||
}
|
||||
|
||||
WRITE(p, "float4 pos = float4(dot(" I_TRANSFORMMATRICES"[posmtx], rawpos), dot(" I_TRANSFORMMATRICES"[posmtx+1], rawpos), dot(" I_TRANSFORMMATRICES"[posmtx+2], rawpos), 1);\n");
|
||||
|
||||
if (components & VB_HAS_NRMALL) {
|
||||
WRITE(p, "int normidx = posmtx >= 32 ? (posmtx-32) : posmtx;\n");
|
||||
WRITE(p, "float3 N0 = " I_NORMALMATRICES"[normidx].xyz, N1 = " I_NORMALMATRICES"[normidx+1].xyz, N2 = " I_NORMALMATRICES"[normidx+2].xyz;\n");
|
||||
if (DriverDetails::HasBug(BUG_NODYNUBOACCESS))
|
||||
{
|
||||
// This'll cause issues, but it can't be helped
|
||||
WRITE(p, "float4 pos = float4(dot(" I_TRANSFORMMATRICES"[0], rawpos), dot(" I_TRANSFORMMATRICES"[1], rawpos), dot(" I_TRANSFORMMATRICES"[2], rawpos), 1);\n");
|
||||
if (components & VB_HAS_NRMALL)
|
||||
WRITE(p, "float3 N0 = " I_NORMALMATRICES"[0].xyz, N1 = " I_NORMALMATRICES"[1].xyz, N2 = " I_NORMALMATRICES"[2].xyz;\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
WRITE(p, "float4 pos = float4(dot(" I_TRANSFORMMATRICES"[posmtx], rawpos), dot(" I_TRANSFORMMATRICES"[posmtx+1], rawpos), dot(" I_TRANSFORMMATRICES"[posmtx+2], rawpos), 1);\n");
|
||||
|
||||
if (components & VB_HAS_NRMALL) {
|
||||
WRITE(p, "int normidx = posmtx >= 32 ? (posmtx-32) : posmtx;\n");
|
||||
WRITE(p, "float3 N0 = " I_NORMALMATRICES"[normidx].xyz, N1 = " I_NORMALMATRICES"[normidx+1].xyz, N2 = " I_NORMALMATRICES"[normidx+2].xyz;\n");
|
||||
}
|
||||
}
|
||||
if (components & VB_HAS_NRM0)
|
||||
WRITE(p, "float3 _norm0 = normalize(float3(dot(N0, rawnorm0), dot(N1, rawnorm0), dot(N2, rawnorm0)));\n");
|
||||
if (components & VB_HAS_NRM1)
|
||||
|
@ -24,9 +24,10 @@ if(USE_EGL)
|
||||
EGL)
|
||||
endif()
|
||||
|
||||
if(USE_GLES)
|
||||
if(USE_GLES3)
|
||||
set(LIBS ${LIBS}
|
||||
GLESv2)
|
||||
set(SRCS ${SRCS} Src/GLFunctions.cpp)
|
||||
else()
|
||||
set(LIBS ${LIBS}
|
||||
GLEW
|
||||
|
93
Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.cpp
Normal file
93
Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.cpp
Normal file
@ -0,0 +1,93 @@
|
||||
// Copyright 2013 Dolphin Emulator Project
|
||||
// Licensed under GPLv2
|
||||
// Refer to the license.txt file included.
|
||||
#include "GLFunctions.h"
|
||||
#include "Log.h"
|
||||
#ifdef USE_GLES3
|
||||
PFNGLMAPBUFFERPROC glMapBuffer;
|
||||
PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
|
||||
PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
||||
PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
|
||||
|
||||
PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
|
||||
|
||||
PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
|
||||
PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
|
||||
PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
|
||||
|
||||
PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
|
||||
PFNGLDELETESYNCPROC glDeleteSync;
|
||||
PFNGLFENCESYNCPROC glFenceSync;
|
||||
|
||||
PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
|
||||
PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
|
||||
PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
|
||||
PFNGLBINDSAMPLERPROC glBindSampler;
|
||||
PFNGLDELETESAMPLERSPROC glDeleteSamplers;
|
||||
PFNGLGENSAMPLERSPROC glGenSamplers;
|
||||
|
||||
PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
|
||||
PFNGLPROGRAMBINARYPROC glProgramBinary;
|
||||
PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
|
||||
|
||||
PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
|
||||
PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
|
||||
|
||||
PFNGLBEGINQUERYPROC glBeginQuery;
|
||||
PFNGLENDQUERYPROC glEndQuery;
|
||||
PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
|
||||
PFNGLDELETEQUERIESPROC glDeleteQueries;
|
||||
PFNGLGENQUERIESPROC glGenQueries;
|
||||
#endif
|
||||
namespace GLFunc
|
||||
{
|
||||
void LoadFunction(const char *name, void **func)
|
||||
{
|
||||
#ifdef USE_GLES3
|
||||
*func = (void*)eglGetProcAddress(name);
|
||||
if (*func == NULL)
|
||||
{
|
||||
ERROR_LOG(VIDEO, "Couldn't load function %s", name);
|
||||
exit(0);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Init()
|
||||
{
|
||||
LoadFunction("glBeginQuery", (void**)&glBeginQuery);
|
||||
LoadFunction("glEndQuery", (void**)&glEndQuery);
|
||||
LoadFunction("glGetQueryObjectuiv", (void**)&glGetQueryObjectuiv);
|
||||
LoadFunction("glDeleteQueries", (void**)&glDeleteQueries);
|
||||
LoadFunction("glGenQueries", (void**)&glGenQueries);
|
||||
{
|
||||
LoadFunction("glMapBuffer", (void**)&glMapBuffer);
|
||||
LoadFunction("glUnmapBuffer", (void**)&glUnmapBuffer);
|
||||
LoadFunction("glMapBufferRange", (void**)&glMapBufferRange);
|
||||
LoadFunction("glBindBufferRange", (void**)&glBindBufferRange);
|
||||
|
||||
LoadFunction("glBlitFramebuffer", (void**)&glBlitFramebuffer);
|
||||
|
||||
LoadFunction("glGenVertexArrays", (void**)&glGenVertexArrays);
|
||||
LoadFunction("glDeleteVertexArrays", (void**)&glDeleteVertexArrays);
|
||||
LoadFunction("glBindVertexArray", (void**)&glBindVertexArray);
|
||||
|
||||
LoadFunction("glClientWaitSync", (void**)&glClientWaitSync);
|
||||
LoadFunction("glDeleteSync", (void**)&glDeleteSync);
|
||||
LoadFunction("glFenceSync", (void**)&glFenceSync);
|
||||
LoadFunction("glSamplerParameterf", (void**)&glSamplerParameterf);
|
||||
LoadFunction("glSamplerParameteri", (void**)&glSamplerParameteri);
|
||||
LoadFunction("glSamplerParameterfv", (void**)&glSamplerParameterfv);
|
||||
LoadFunction("glBindSampler", (void**)&glBindSampler);
|
||||
LoadFunction("glDeleteSamplers", (void**)&glDeleteSamplers);
|
||||
LoadFunction("glGenSamplers", (void**)&glGenSamplers);
|
||||
}
|
||||
|
||||
LoadFunction("glGetProgramBinary", (void**)&glGetProgramBinary);
|
||||
LoadFunction("glProgramBinary", (void**)&glProgramBinary);
|
||||
LoadFunction("glProgramParameteri", (void**)&glProgramParameteri);
|
||||
|
||||
LoadFunction("glGetUniformBlockIndex", (void**)&glGetUniformBlockIndex);
|
||||
LoadFunction("glUniformBlockBinding", (void**)&glUniformBlockBinding);
|
||||
}
|
||||
}
|
90
Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.h
Normal file
90
Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.h
Normal file
@ -0,0 +1,90 @@
|
||||
// Copyright 2013 Dolphin Emulator Project
|
||||
// Licensed under GPLv2
|
||||
// Refer to the license.txt file included.
|
||||
#ifndef GLFUNCTIONS_H_
|
||||
#define GLFUNCTIONS_H_
|
||||
#include "GLInterface.h"
|
||||
|
||||
#ifdef USE_GLES3
|
||||
typedef GLvoid* (*PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
|
||||
typedef GLvoid* (*PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
|
||||
typedef void (*PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
|
||||
typedef GLboolean (*PFNGLUNMAPBUFFERPROC) (GLenum target);
|
||||
|
||||
typedef void (*PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
// VAOS
|
||||
typedef void (*PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays);
|
||||
typedef void (*PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays);
|
||||
typedef void (*PFNGLBINDVERTEXARRAYPROC) (GLuint array);
|
||||
|
||||
// Sync
|
||||
typedef GLenum (*PFNGLCLIENTWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout);
|
||||
typedef void (*PFNGLDELETESYNCPROC) (GLsync GLsync);
|
||||
typedef GLsync (*PFNGLFENCESYNCPROC) (GLenum condition,GLbitfield flags);
|
||||
|
||||
//Sampler
|
||||
typedef void (*PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
|
||||
typedef void (*PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
|
||||
typedef void (*PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* params);
|
||||
typedef void (*PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
|
||||
typedef void (*PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint * samplers);
|
||||
typedef void (*PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers);
|
||||
|
||||
//Program binar
|
||||
typedef void (*PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLenum *binaryFormat, GLvoid*binary);
|
||||
typedef void (*PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void* binary, GLsizei length);
|
||||
typedef void (*PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
|
||||
|
||||
typedef GLuint (*PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar* uniformBlockName);
|
||||
typedef void (*PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
|
||||
|
||||
//Query
|
||||
typedef void (*PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
|
||||
typedef void (*PFNGLENDQUERYPROC) (GLenum target);
|
||||
typedef void (*PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params);
|
||||
typedef void (*PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* ids);
|
||||
typedef void (*PFNGLGENQUERIESPROC) (GLsizei n, GLuint* ids);
|
||||
|
||||
// ptrs
|
||||
extern PFNGLBEGINQUERYPROC glBeginQuery;
|
||||
extern PFNGLENDQUERYPROC glEndQuery;
|
||||
extern PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
|
||||
extern PFNGLDELETEQUERIESPROC glDeleteQueries;
|
||||
extern PFNGLGENQUERIESPROC glGenQueries;
|
||||
|
||||
extern PFNGLMAPBUFFERPROC glMapBuffer;
|
||||
extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
||||
extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
|
||||
extern PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
|
||||
|
||||
extern PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
|
||||
|
||||
extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
|
||||
extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
|
||||
extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
|
||||
|
||||
extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
|
||||
extern PFNGLDELETESYNCPROC glDeleteSync;
|
||||
extern PFNGLFENCESYNCPROC glFenceSync;
|
||||
|
||||
extern PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
|
||||
extern PFNGLPROGRAMBINARYPROC glProgramBinary;
|
||||
extern PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
|
||||
|
||||
//Sampler
|
||||
extern PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
|
||||
extern PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
|
||||
extern PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
|
||||
extern PFNGLBINDSAMPLERPROC glBindSampler;
|
||||
extern PFNGLDELETESAMPLERSPROC glDeleteSamplers;
|
||||
extern PFNGLGENSAMPLERSPROC glGenSamplers;
|
||||
|
||||
extern PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
|
||||
extern PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
|
||||
#endif
|
||||
|
||||
namespace GLFunc
|
||||
{
|
||||
void Init();
|
||||
}
|
||||
#endif
|
@ -21,6 +21,9 @@
|
||||
#define PREC "highp"
|
||||
#define TEXTYPE "sampler2D"
|
||||
#define TEXFUNC "texture2D"
|
||||
#ifdef USE_GLES3
|
||||
#include "GLFunctions.h"
|
||||
#endif
|
||||
#else
|
||||
#define TEX2D GL_TEXTURE_RECTANGLE_ARB
|
||||
#define PREC
|
||||
|
@ -3,6 +3,7 @@
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include "ProgramShaderCache.h"
|
||||
#include "DriverDetails"
|
||||
#include "MathUtil.h"
|
||||
#include "StreamBuffer.h"
|
||||
#include "Debugger.h"
|
||||
@ -539,8 +540,8 @@ void ProgramShaderCache::CreateHeader ( void )
|
||||
, g_ActiveConfig.backend_info.bSupportsGLSLUBO && v<GLSL_140 ? "#extension GL_ARB_uniform_buffer_object : enable" : ""
|
||||
, v==GLSL_120 ? "attribute" : "in"
|
||||
, v==GLSL_120 ? "attribute" : "out"
|
||||
, v==GLSL_120 ? "varying" : "centroid in"
|
||||
, v==GLSL_120 ? "varying" : "centroid out"
|
||||
, DriverDetails::HasBug(BUG_BROKENCENTROID) ? "in" : v==GLSL_120 ? "varying" : "centroid in"
|
||||
, DriverDetails::HasBug(BUG_BROKENCENTROID) ? "out" : v==GLSL_120 ? "varying" : "centroid out"
|
||||
, v==GLSL_120 ? "#define texture texture2D" : ""
|
||||
, v==GLSL_120 ? "#define round(x) floor((x)+0.5f)" : ""
|
||||
, v==GLSL_120 ? "#define out " : ""
|
||||
|
@ -22,6 +22,7 @@
|
||||
#endif
|
||||
|
||||
#include "CommonPaths.h"
|
||||
#include "DriverDetails.h"
|
||||
#include "VideoConfig.h"
|
||||
#include "Statistics.h"
|
||||
#include "ImageWrite.h"
|
||||
@ -254,6 +255,53 @@ void ErrorCallback( GLenum source, GLenum type, GLuint id, GLenum severity, GLsi
|
||||
#endif
|
||||
}
|
||||
|
||||
void InitDriverInfo()
|
||||
{
|
||||
// Get Vendor
|
||||
std::string svendor = std::string(g_ogl_config.gl_vendor);
|
||||
std::string srenderer = std::string(g_ogl_config.gl_renderer);
|
||||
DriverDetails::Vendor vendor = DriverDetails::VENDOR_UNKNOWN;
|
||||
u32 devfamily = 0;
|
||||
double version = 0.0;
|
||||
|
||||
// Get Vendor first
|
||||
if (svendor == "NVIDIA Corporation" && srenderer != "NVIDIA Tegra")
|
||||
vendor = DriverDetails::VENDOR_NVIDIA;
|
||||
else if (svendor == "ATI Technologies Inc.")
|
||||
vendor = DriverDetails::VENDOR_ATI;
|
||||
else if (std::string::npos != svendor.find("Intel"))
|
||||
vendor = DriverDetails::VENDOR_INTEL;
|
||||
else if (svendor == "ARM")
|
||||
vendor = DriverDetails::VENDOR_ARM;
|
||||
else if (svendor == "Qualcomm")
|
||||
vendor = DriverDetails::VENDOR_QUALCOMM;
|
||||
else if (svendor == "Imagination Technologies")
|
||||
vendor = DriverDetails::VENDOR_IMGTEC;
|
||||
else if (svendor == "NVIDIA Corporation" && srenderer != "NVIDIA Tegra")
|
||||
vendor = DriverDetails::VENDOR_TEGRA;
|
||||
else if (svendor == "Vivante Corporation")
|
||||
vendor = DriverDetails::VENDOR_VIVANTE;
|
||||
|
||||
// Get device family and driver version...if we care about it
|
||||
switch(vendor)
|
||||
{
|
||||
case DriverDetails::VENDOR_QUALCOMM:
|
||||
{
|
||||
if (std::string::npos != srenderer.find("Adreno (TM) 3"))
|
||||
devfamily = 300;
|
||||
else
|
||||
devfamily = 200;
|
||||
double glVersion;
|
||||
sscanf(g_ogl_config.gl_version, "OpenGL ES %lg V@%lg", &glVersion, &version);
|
||||
}
|
||||
break;
|
||||
// We don't care about these
|
||||
default:
|
||||
break;
|
||||
}
|
||||
DriverDetails::Init(vendor, devfamily, version);
|
||||
}
|
||||
|
||||
// Init functions
|
||||
Renderer::Renderer()
|
||||
{
|
||||
@ -272,9 +320,12 @@ Renderer::Renderer()
|
||||
g_ogl_config.gl_version = (const char*)glGetString(GL_VERSION);
|
||||
g_ogl_config.glsl_version = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION);
|
||||
|
||||
InitDriverInfo();
|
||||
|
||||
// Init extension support.
|
||||
#ifdef USE_GLES3
|
||||
// Set default GLES3 options
|
||||
GLFunc::Init();
|
||||
WARN_LOG(VIDEO, "Running the OpenGL ES 3 backend!");
|
||||
g_Config.backend_info.bSupportsDualSourceBlend = false;
|
||||
g_Config.backend_info.bSupportsGLSLUBO = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user