move blit to core, allow filtering while blitting
[pcsx_rearmed.git] / plugins / dfsound / externals.h
index 0ddf406..28dab57 100644 (file)
 // generic defines\r
 /////////////////////////////////////////////////////////\r
 \r
+#ifdef __GNUC__\r
+#define noinline __attribute__((noinline))\r
+#define unlikely(x) __builtin_expect((x), 0)\r
+#else\r
+#define noinline\r
+#define unlikely(x) x\r
+#endif\r
+\r
 #define PSE_LT_SPU                  4\r
 #define PSE_SPU_ERR_SUCCESS         0\r
 #define PSE_SPU_ERR                 -60\r
 // spu defines\r
 ////////////////////////////////////////////////////////////////////////\r
 \r
-// sound buffer sizes\r
-// 400 ms complete sound buffer\r
-#define SOUNDSIZE   70560\r
-// 137 ms test buffer... if less than that is buffered, a new upload will happen\r
-#define TESTSIZE    24192\r
-\r
 // num of channels\r
 #define MAXCHAN     24\r
 \r
-// ~ 1 ms of data\r
+// ~ FRAG_MSECS ms of data\r
 // note: must be even due to the way reverb works now\r
 #define FRAG_MSECS 2\r
 #define NSSIZE ((44100 * FRAG_MSECS / 1000 + 1) & ~1)\r
@@ -107,19 +109,16 @@ typedef struct
  int               spos;\r
  int               sinc;\r
 \r
- unsigned char *   pStart;                             // start ptr into sound mem\r
  unsigned char *   pCurr;                              // current pos in sound mem\r
  unsigned char *   pLoop;                              // loop ptr in sound mem\r
 \r
  unsigned int      bStop:1;                            // is channel stopped (sample _can_ still be playing, ADSR Release phase)\r
  unsigned int      bReverb:1;                          // can we do reverb on this channel? must have ctrl register bit, to get active\r
- unsigned int      bIgnoreLoop:1;                      // ignore loop bit, if an external loop address is used\r
  unsigned int      bRVBActive:1;                       // reverb active flag\r
  unsigned int      bNoise:1;                           // noise active flag\r
  unsigned int      bFMod:2;                            // freq mod (0=off, 1=sound channel, 2=freq channel)\r
+ unsigned int      prevflags:3;                        // flags from previous block\r
 \r
- int               iActFreq;                           // current psx pitch\r
- int               iUsedFreq;                          // current pc pitch\r
  int               iLeftVolume;                        // left volume\r
  int               iRightVolume;                       // right volume\r
  ADSRInfoEx        ADSRX;\r
@@ -206,15 +205,12 @@ extern unsigned char * pSpuBuffer;
 \r
 extern int        iVolume;\r
 extern int        iXAPitch;\r
-extern int        iUseTimer;\r
-extern int        iSPUIRQWait;\r
-extern int        iDebugMode;\r
-extern int        iRecordMode;\r
 extern int        iUseReverb;\r
 extern int        iUseInterpolation;\r
 // MISC\r
 \r
-extern int iSpuAsyncWait;\r
+extern int had_dma;\r
+extern int decode_pos;\r
 \r
 extern SPUCHAN s_chan[];\r
 extern REVERBInfo rvb;\r
@@ -224,8 +220,6 @@ extern unsigned short spuCtrl;
 extern unsigned short spuStat;\r
 extern unsigned short spuIrq;\r
 extern unsigned long  spuAddr;\r
-extern int      bEndThread; \r
-extern int      bThreadEnded;\r
 extern int      bSpuInit;\r
 extern unsigned int dwNewChannel;\r
 extern unsigned int dwChannelOn;\r
@@ -254,9 +248,6 @@ extern uint32_t * XAPlay;
 extern uint32_t * XAStart;\r
 extern uint32_t * XAEnd;\r
 \r
-extern uint32_t   XARepeat;\r
-extern uint32_t   XALastVal;\r
-\r
 extern uint32_t * CDDAFeed;\r
 extern uint32_t * CDDAPlay;\r
 extern uint32_t * CDDAStart;\r