fixes vulkan issues and android settings (#105)

- removes provoking vertex, vertex input, dynamic state if not supported
- moves dynamic state to be a 0-3 slider and vertex input its own checkbox
- the rich presence was disabled on linux.
- there were duplicate settings in "edens veil"?
- weird behavior of the vertex input checkbox on per game setting
- adds xenoblade 2 to the d24 conversion control function
- adds the flush logs by line setting to android.
- adds the memory layout setting to android
- Adds the option to show building shaders on the android overlay.

Signed-off-by: Aleksandr Popovich <alekpopo@pm.me>
Co-authored-by: swurl <swurl@swurl.xyz>
Reviewed-on: eden-emu/eden#105
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me>
Co-committed-by: Aleksandr Popovich <alekpopo@pm.me>
This commit is contained in:
Aleksandr Popovich 2025-05-17 20:22:25 +00:00 committed by CamilleLaVey
parent 9d7075254d
commit 049cc54f4c
46 changed files with 555 additions and 403 deletions

View file

@ -30,12 +30,11 @@ ConfigureGraphicsExtensions::~ConfigureGraphicsExtensions() = default;
void ConfigureGraphicsExtensions::SetConfiguration() {}
void ConfigureGraphicsExtensions::Setup(const ConfigurationShared::Builder& builder) {
void ConfigureGraphicsExtensions::Setup(const ConfigurationShared::Builder& builder)
{
auto& layout = *ui->populate_target->layout();
std::map<u32, QWidget*> hold{}; // A map will sort the data for us
QSlider *dyna_state = nullptr;
QCheckBox *dyna_state3 = nullptr;
for (auto setting :
Settings::values.linkage.by_category[Settings::Category::RendererExtensions]) {
ConfigurationShared::Widget* widget = builder.BuildWidget(setting, apply_funcs);
@ -53,22 +52,14 @@ void ConfigureGraphicsExtensions::Setup(const ConfigurationShared::Builder& buil
if (setting->Id() == Settings::values.dyna_state.Id()) {
widget->slider->setTickInterval(1);
widget->slider->setTickPosition(QSlider::TicksAbove);
dyna_state = widget->slider;
} else if (setting->Id() == Settings::values.dyna_state3.Id()) {
dyna_state3 = widget->checkbox;
} else if (setting->Id() == Settings::values.vertex_input.Id()) {
// widget->checkbox->setDisabled(true);
}
}
for (const auto& [id, widget] : hold) {
layout.addWidget(widget);
}
connect(dyna_state, &QSlider::sliderMoved, this, [dyna_state3](int value) {
dyna_state3->setEnabled(value == 2);
if (value < 2) {
dyna_state3->setChecked(false);
}
});
}
void ConfigureGraphicsExtensions::ApplyConfiguration() {