early-access version 3861

This commit is contained in:
pineappleEA 2023-09-10 04:07:21 +02:00
parent f8ca381d80
commit a8f426f152
6 changed files with 15 additions and 9 deletions

View file

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

View file

@ -23,7 +23,7 @@ void AdpcmDataSourceVersion1Command::Process(const AudioRenderer::CommandListPro
for (auto& wave_buffer : wave_buffers) { for (auto& wave_buffer : wave_buffers) {
wave_buffer.loop_start_offset = wave_buffer.start_offset; wave_buffer.loop_start_offset = wave_buffer.start_offset;
wave_buffer.loop_end_offset = wave_buffer.end_offset; wave_buffer.loop_end_offset = wave_buffer.end_offset;
wave_buffer.loop_count = -(wave_buffer.loop & 1); wave_buffer.loop_count = wave_buffer.loop ? -1 : 0;
} }
DecodeFromWaveBuffersArgs args{ DecodeFromWaveBuffersArgs args{

View file

@ -24,7 +24,7 @@ void PcmFloatDataSourceVersion1Command::Process(
for (auto& wave_buffer : wave_buffers) { for (auto& wave_buffer : wave_buffers) {
wave_buffer.loop_start_offset = wave_buffer.start_offset; wave_buffer.loop_start_offset = wave_buffer.start_offset;
wave_buffer.loop_end_offset = wave_buffer.end_offset; wave_buffer.loop_end_offset = wave_buffer.end_offset;
wave_buffer.loop_count = -(wave_buffer.loop & 1); wave_buffer.loop_count = wave_buffer.loop ? -1 : 0;
} }
DecodeFromWaveBuffersArgs args{ DecodeFromWaveBuffersArgs args{

View file

@ -26,7 +26,7 @@ void PcmInt16DataSourceVersion1Command::Process(
for (auto& wave_buffer : wave_buffers) { for (auto& wave_buffer : wave_buffers) {
wave_buffer.loop_start_offset = wave_buffer.start_offset; wave_buffer.loop_start_offset = wave_buffer.start_offset;
wave_buffer.loop_end_offset = wave_buffer.end_offset; wave_buffer.loop_end_offset = wave_buffer.end_offset;
wave_buffer.loop_count = -(wave_buffer.loop & 1); wave_buffer.loop_count = wave_buffer.loop ? -1 : 0;
} }
DecodeFromWaveBuffersArgs args{ DecodeFromWaveBuffersArgs args{

View file

@ -201,7 +201,10 @@ void InterruptSocketOperations() {
void AcknowledgeInterrupt() { void AcknowledgeInterrupt() {
u8 value = 0; u8 value = 0;
read(interrupt_pipe_fd[0], &value, sizeof(value)); ssize_t ret = read(interrupt_pipe_fd[0], &value, sizeof(value));
if (ret != 1 && errno != EAGAIN && errno != EWOULDBLOCK) {
LOG_ERROR(Network, "Failed to acknowledge interrupt on shutdown");
}
} }
SOCKET GetInterruptSocket() { SOCKET GetInterruptSocket() {

View file

@ -532,17 +532,20 @@ void BufferCacheRuntime::BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bi
buffer_handles.push_back(handle); buffer_handles.push_back(handle);
} }
if (device.IsExtExtendedDynamicStateSupported()) { if (device.IsExtExtendedDynamicStateSupported()) {
scheduler.Record([bindings_ = std::move(bindings), scheduler.Record([this, bindings_ = std::move(bindings),
buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) { buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) {
cmdbuf.BindVertexBuffers2EXT(bindings_.min_index, cmdbuf.BindVertexBuffers2EXT(bindings_.min_index,
bindings_.max_index - bindings_.min_index, std::min(bindings_.max_index - bindings_.min_index,
device.GetMaxVertexInputBindings()),
buffer_handles_.data(), bindings_.offsets.data(), buffer_handles_.data(), bindings_.offsets.data(),
bindings_.sizes.data(), bindings_.strides.data()); bindings_.sizes.data(), bindings_.strides.data());
}); });
} else { } else {
scheduler.Record([bindings_ = std::move(bindings), scheduler.Record([this, bindings_ = std::move(bindings),
buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) { buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) {
cmdbuf.BindVertexBuffers(bindings_.min_index, bindings_.max_index - bindings_.min_index, cmdbuf.BindVertexBuffers(bindings_.min_index,
std::min(bindings_.max_index - bindings_.min_index,
device.GetMaxVertexInputBindings()),
buffer_handles_.data(), bindings_.offsets.data()); buffer_handles_.data(), bindings_.offsets.data());
}); });
} }