early-access version 1479

main
pineappleEA 2021-02-21 03:07:36 +01:00
parent 2038bc4bf9
commit 024deff7f5
3 changed files with 12 additions and 14 deletions

View File

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

View File

@ -13,18 +13,12 @@ layout(binding = 0) buffer BgrImage {
void main() { void main() {
const uint index = gl_GlobalInvocationID.y * gl_NumWorkGroups.x + gl_GlobalInvocationID.x; const uint index = gl_GlobalInvocationID.y * gl_NumWorkGroups.x + gl_GlobalInvocationID.x;
const uint packed_bits = bgr_copy[index]; const uint packed_bits = bgr_copy[index];
uint swapped = 0; // R5 G6 B5
// The buffer is packed 16-bit shorts, we need to swizzle two pixels per element // RRRRRGGG GGGBBBBB
for (int i = 0; i < 2; i++) { const uint blue = bitfieldExtract(packed_bits, 0, 5);
// R5 G6 B5 const uint green = bitfieldExtract(packed_bits, 5 + 0, 6);
// RRRRRGGG GGGBBBBB const uint red = bitfieldExtract(packed_bits, 11 + 0, 5);
const int offset = i * 16; const uint swapped_bits = ((blue << 11) | (green << 5 ) | red);
const uint blue = bitfieldExtract(packed_bits, offset, 5); bgr_copy[index] = swapped_bits;
const uint green = bitfieldExtract(packed_bits, 5 + offset, 6);
const uint red = bitfieldExtract(packed_bits, 11 + offset, 5);
const uint temp = ((blue << 11) | (green << 5 ) | red) << offset;
swapped |= temp;
}
bgr_copy[index] = swapped;
return; return;
} }

View File

@ -335,6 +335,10 @@ void ShaderCacheOpenGL::LoadDiskCache(u64 title_id, const std::atomic_bool& stop
const VideoCore::DiskResourceLoadCallback& callback) { const VideoCore::DiskResourceLoadCallback& callback) {
disk_cache.BindTitleID(title_id); disk_cache.BindTitleID(title_id);
const std::optional transferable = disk_cache.LoadTransferable(); const std::optional transferable = disk_cache.LoadTransferable();
LOG_INFO(Render_OpenGL, "Total Shader Count: {}",
transferable.has_value() ? transferable->size() : 0);
if (!transferable) { if (!transferable) {
return; return;
} }