mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-07-21 02:55:45 +00:00
Vulkan 1.4 and New Extensions (#93)
- Add descriptor_indexing, VIDS, provoking_vertex - Fix up EDS - Implement VK 1.4 Co-authored-by: JPikachu <jpikachu.eden@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/93 Co-authored-by: swurl <swurl@swurl.xyz> Co-committed-by: swurl <swurl@swurl.xyz>
This commit is contained in:
parent
d75dc79f26
commit
aa333e6fb1
13 changed files with 264 additions and 159 deletions
|
@ -19,6 +19,9 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
|
|||
RENDERER_ASYNCHRONOUS_SHADERS("use_asynchronous_shaders"),
|
||||
RENDERER_REACTIVE_FLUSHING("use_reactive_flushing"),
|
||||
RENDERER_DEBUG("debug"),
|
||||
RENDERER_DYNA_STATE3("dyna_state3"),
|
||||
RENDERER_PROVOKING_VERTEX("provoking_vertex"),
|
||||
RENDERER_DESCRIPTOR_INDEXING("descriptor_indexing"),
|
||||
PICTURE_IN_PICTURE("picture_in_picture"),
|
||||
USE_CUSTOM_RTC("custom_rtc_enabled"),
|
||||
BLACK_BACKGROUNDS("black_backgrounds"),
|
||||
|
|
|
@ -57,13 +57,6 @@ abstract class SettingsItem(
|
|||
return NativeInput.getStyleIndex(0) != NpadStyleIndex.Handheld
|
||||
}
|
||||
|
||||
if (setting.key == ByteSetting.RENDERER_DYNA_STATE.key) {
|
||||
// Can't change on Mali GPU's otherwise no game loading for you
|
||||
if (!GpuDriverHelper.supportsCustomDriverLoading()) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// Can't edit settings that aren't saveable in per-game config even if they are switchable
|
||||
if (NativeConfig.isPerGameConfigLoaded() && !setting.isSaveable) {
|
||||
return false
|
||||
|
@ -139,10 +132,30 @@ abstract class SettingsItem(
|
|||
titleId = R.string.dyna_state,
|
||||
descriptionId = R.string.dyna_state_description,
|
||||
min = 0,
|
||||
max = 3,
|
||||
max = 2,
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.RENDERER_DYNA_STATE3,
|
||||
titleId = R.string.dyna_state3,
|
||||
descriptionId = R.string.dyna_state3_description
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.RENDERER_PROVOKING_VERTEX,
|
||||
titleId = R.string.provoking_vertex,
|
||||
descriptionId = R.string.provoking_vertex_description
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.RENDERER_DESCRIPTOR_INDEXING,
|
||||
titleId = R.string.descriptor_indexing,
|
||||
descriptionId = R.string.descriptor_indexing_description
|
||||
)
|
||||
)
|
||||
|
||||
put(
|
||||
SliderSetting(
|
||||
ShortSetting.RENDERER_SPEED_LIMIT,
|
||||
|
|
|
@ -479,7 +479,12 @@ class SettingsFragmentPresenter(
|
|||
descriptionId = R.string.use_lru_cache_description
|
||||
)
|
||||
)
|
||||
|
||||
add(ByteSetting.RENDERER_DYNA_STATE.key)
|
||||
add(BooleanSetting.RENDERER_DYNA_STATE3.key)
|
||||
add(BooleanSetting.RENDERER_PROVOKING_VERTEX.key)
|
||||
add(BooleanSetting.RENDERER_DESCRIPTOR_INDEXING.key)
|
||||
|
||||
add(
|
||||
SwitchSetting(
|
||||
syncCoreSpeedSetting,
|
||||
|
|
|
@ -64,9 +64,9 @@
|
|||
<string name="view_grid">Grid</string>
|
||||
<string name="folder">Folder</string>
|
||||
<string name="pre_alpha_warning_title">Pre-Alpha Software</string>
|
||||
<string name="pre_alpha_warning_description">"WARNING: This build is not meant to be shared or shown to the public. This software is in pre-alpha stages and may have bugs and incomplete feature implementations. \nIf you somehow got unauthorized access to this build; it's heavily recommended to uninstall it immediately "</string>
|
||||
<string name="dont_show_again">Dont Show Again</string>
|
||||
<string name="pre_alpha_warning">PRE-ALPHA SOFTWARE; NOT MEANT FOR PUBLIC USE</string>\
|
||||
<string name="pre_alpha_warning_description">"WARNING: This software is in the pre-alpha stage and may have bugs and incomplete feature implementations."</string>
|
||||
<string name="dont_show_again">Don\'t Show Again</string>
|
||||
<string name="pre_alpha_warning">PRE-ALPHA SOFTWARE</string>\
|
||||
<string name="add_directory_success">"New game directory added successfully "</string>
|
||||
<string name="home_games">Games</string>
|
||||
<string name="home_search">Search</string>
|
||||
|
@ -302,7 +302,13 @@
|
|||
<string name="shader_backend_description">Choose how shaders are compiled and translated for your GPU.</string>
|
||||
<string name="dyna_state">Extended Dynamic State</string>
|
||||
<string name="dyna_state_description">Enables Vulkan features to improve performance, rendering, and save resources on pipeline creation while maintaining lower CPU/GPU usage.
|
||||
These features may have repercussions on the device\'s temperature, some GPUs belonging to the older A6XX line may not react properly. Disabled by default to use Yuzu emulated formats, risk-free core functions 1 - 2, for higher-end devices select 3.</string>
|
||||
These extensions may increase device temperature, and GPUs belonging to the older A6XX line may not react properly. Set to 0 to use Yuzu emulated formats.</string>
|
||||
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
|
||||
<string name="dyna_state3_description">Improves performance on newer devices. Only supported on Vulkan 1.3+ GPUs.</string>
|
||||
<string name="provoking_vertex">Provoking Vertex</string>
|
||||
<string name="provoking_vertex_description">Improves lighting and vertex handling in certain games. Only supported on Vulkan 1.0+ GPUs.</string>
|
||||
<string name="descriptor_indexing">Descriptor Indexing</string>
|
||||
<string name="descriptor_indexing_description">Improves texture and buffer handling, as well as the Maxwell translation layer. Supported by some Vulkan 1.1 GPUs and all Vulkan 1.2+ GPUs.</string>
|
||||
|
||||
<!-- Debug settings strings -->
|
||||
<string name="cpu">CPU</string>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue