mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
Linux: Alsa backend for the audio plugins. Didn't succeed in reducing latency though, but hopefully will work better than libao - shouldn't hang weirdly at underruns, I hope, like libao does.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4240 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -75,6 +75,8 @@ struct CachedDisplayList
|
||||
frame_count = frameCount;
|
||||
}
|
||||
|
||||
bool uncachable; // if set, this DL will always be interpreted. This gets set if hash ever changes.
|
||||
|
||||
int pass;
|
||||
u32 dl_hash;
|
||||
|
||||
@ -87,8 +89,6 @@ struct CachedDisplayList
|
||||
|
||||
int frame_count;
|
||||
|
||||
bool uncachable; // if set, this DL will always be interpreted. This gets set if hash ever changes.
|
||||
|
||||
// ... Something containing cached vertex buffers here ...
|
||||
|
||||
// Compile the commands themselves down to native code.
|
||||
@ -159,12 +159,12 @@ bool AnalyzeAndRunDisplayList(u32 address, int size, CachedDisplayList *dl)
|
||||
// Execute
|
||||
u32 Cmd2 = DataReadU32();
|
||||
int transfer_size = ((Cmd2 >> 16) & 15) + 1;
|
||||
u32 address = Cmd2 & 0xFFFF;
|
||||
u32 xf_address = Cmd2 & 0xFFFF;
|
||||
// TODO - speed this up. pshufb?
|
||||
u32 data_buffer[16];
|
||||
for (int i = 0; i < transfer_size; i++)
|
||||
data_buffer[i] = DataReadU32();
|
||||
LoadXFReg(transfer_size, address, data_buffer);
|
||||
LoadXFReg(transfer_size, xf_address, data_buffer);
|
||||
INCSTAT(stats.thisFrame.numXFLoads);
|
||||
|
||||
// Analyze
|
||||
@ -311,13 +311,13 @@ bool CompileAndRunDisplayList(u32 address, int size, CachedDisplayList *dl)
|
||||
// Execute
|
||||
u32 Cmd2 = DataReadU32();
|
||||
int transfer_size = ((Cmd2 >> 16) & 15) + 1;
|
||||
u32 address = Cmd2 & 0xFFFF;
|
||||
u32 xf_address = Cmd2 & 0xFFFF;
|
||||
// TODO - speed this up. pshufb?
|
||||
u8 *real_data_buffer = AllocStaticData(4 * transfer_size);
|
||||
u32 *data_buffer = (u32 *)real_data_buffer;
|
||||
for (int i = 0; i < transfer_size; i++)
|
||||
data_buffer[i] = DataReadU32();
|
||||
LoadXFReg(transfer_size, address, data_buffer);
|
||||
LoadXFReg(transfer_size, xf_address, data_buffer);
|
||||
INCSTAT(stats.thisFrame.numXFLoads);
|
||||
|
||||
// Compile
|
||||
|
Reference in New Issue
Block a user