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
=============
This is the source code for early-access 3860.
This is the source code for early-access 3861.
## Legal Notice

View File

@ -23,7 +23,7 @@ void AdpcmDataSourceVersion1Command::Process(const AudioRenderer::CommandListPro
for (auto& wave_buffer : wave_buffers) {
wave_buffer.loop_start_offset = wave_buffer.start_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{

View File

@ -24,7 +24,7 @@ void PcmFloatDataSourceVersion1Command::Process(
for (auto& wave_buffer : wave_buffers) {
wave_buffer.loop_start_offset = wave_buffer.start_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{

View File

@ -26,7 +26,7 @@ void PcmInt16DataSourceVersion1Command::Process(
for (auto& wave_buffer : wave_buffers) {
wave_buffer.loop_start_offset = wave_buffer.start_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{

View File

@ -201,7 +201,10 @@ void InterruptSocketOperations() {
void AcknowledgeInterrupt() {
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() {

View File

@ -532,17 +532,20 @@ void BufferCacheRuntime::BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bi
buffer_handles.push_back(handle);
}
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) {
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(),
bindings_.sizes.data(), bindings_.strides.data());
});
} else {
scheduler.Record([bindings_ = std::move(bindings),
scheduler.Record([this, bindings_ = std::move(bindings),
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());
});
}