early-access version 3454

main
pineappleEA 2023-03-13 15:51:04 +01:00
parent 3114efd039
commit 4dff9c4fb8
5 changed files with 9 additions and 8 deletions

View File

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 3453. This is the source code for early-access 3454.
## Legal Notice ## Legal Notice

View File

@ -652,24 +652,24 @@ bool SDLDriver::IsVibrationEnabled(const PadIdentifier& identifier) {
} }
void SDLDriver::SendVibrations() { void SDLDriver::SendVibrations() {
std::vector<VibrationRequest> filtered_virations{}; std::vector<VibrationRequest> filtered_vibrations{};
while (!vibration_queue.Empty()) { while (!vibration_queue.Empty()) {
VibrationRequest request; VibrationRequest request;
vibration_queue.Pop(request); vibration_queue.Pop(request);
const auto joystick = GetSDLJoystickByGUID(request.identifier.guid.RawString(), const auto joystick = GetSDLJoystickByGUID(request.identifier.guid.RawString(),
static_cast<int>(request.identifier.port)); static_cast<int>(request.identifier.port));
const auto it = std::find_if(filtered_virations.begin(), filtered_virations.end(), const auto it = std::find_if(filtered_vibrations.begin(), filtered_vibrations.end(),
[request](VibrationRequest vibration) { [request](VibrationRequest vibration) {
return vibration.identifier == request.identifier; return vibration.identifier == request.identifier;
}); });
if (it == filtered_virations.end()) { if (it == filtered_vibrations.end()) {
filtered_virations.push_back(std::move(request)); filtered_vibrations.push_back(std::move(request));
continue; continue;
} }
*it = request; *it = request;
} }
for (const auto& vibration : filtered_virations) { for (const auto& vibration : filtered_vibrations) {
const auto joystick = GetSDLJoystickByGUID(vibration.identifier.guid.RawString(), const auto joystick = GetSDLJoystickByGUID(vibration.identifier.guid.RawString(),
static_cast<int>(vibration.identifier.port)); static_cast<int>(vibration.identifier.port));
joystick->RumblePlay(vibration.vibration); joystick->RumblePlay(vibration.vibration);

View File

@ -164,6 +164,7 @@ void DrawManager::DrawEnd(u32 instance_count, bool force_draw) {
draw_state.index_buffer.count = draw_state.index_buffer.count =
static_cast<u32>(draw_state.inline_index_draw_indexes.size() / 4); static_cast<u32>(draw_state.inline_index_draw_indexes.size() / 4);
draw_state.index_buffer.format = Maxwell3D::Regs::IndexFormat::UnsignedInt; draw_state.index_buffer.format = Maxwell3D::Regs::IndexFormat::UnsignedInt;
maxwell3d->dirty.flags[VideoCommon::Dirty::IndexBuffer] = true;
ProcessDraw(true, instance_count); ProcessDraw(true, instance_count);
draw_state.inline_index_draw_indexes.clear(); draw_state.inline_index_draw_indexes.clear();
break; break;

View File

@ -22,7 +22,7 @@ BlitImageHelper::~BlitImageHelper() = default;
void BlitImageHelper::BlitColor(GLuint dst_framebuffer, GLuint src_image_view, GLuint src_sampler, void BlitImageHelper::BlitColor(GLuint dst_framebuffer, GLuint src_image_view, GLuint src_sampler,
const Region2D& dst_region, const Region2D& src_region, const Region2D& dst_region, const Region2D& src_region,
const Extent3D& src_size) { const Extent3D& src_size) {
glEnable(GL_CULL_FACE); glDisable(GL_CULL_FACE);
glDisable(GL_COLOR_LOGIC_OP); glDisable(GL_COLOR_LOGIC_OP);
glDisable(GL_DEPTH_TEST); glDisable(GL_DEPTH_TEST);
glDisable(GL_STENCIL_TEST); glDisable(GL_STENCIL_TEST);
@ -31,7 +31,6 @@ void BlitImageHelper::BlitColor(GLuint dst_framebuffer, GLuint src_image_view, G
glDisable(GL_ALPHA_TEST); glDisable(GL_ALPHA_TEST);
glDisablei(GL_BLEND, 0); glDisablei(GL_BLEND, 0);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glCullFace(GL_BACK);
glFrontFace(GL_CW); glFrontFace(GL_CW);
glColorMaski(0, GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); glColorMaski(0, GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glDepthRangeIndexed(0, 0.0, 0.0); glDepthRangeIndexed(0, 0.0, 0.0);

View File

@ -357,6 +357,7 @@ void RasterizerOpenGL::DrawTexture() {
.y = static_cast<s32>(draw_texture_state.src_y1)}}; .y = static_cast<s32>(draw_texture_state.src_y1)}};
blit_image.BlitColor(texture_cache.GetFramebuffer()->Handle(), texture.DefaultHandle(), blit_image.BlitColor(texture_cache.GetFramebuffer()->Handle(), texture.DefaultHandle(),
sampler->Handle(), dst_region, src_region, texture.size); sampler->Handle(), dst_region, src_region, texture.size);
state_tracker.InvalidateState();
} }
++num_queued_commands; ++num_queued_commands;