Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.6 KiB

  1. // $Header: G:/SwDev/WDM/Video/bt848/rcs/Risceng.h 1.6 1998/04/29 22:43:38 tomz Exp $
  2. #ifndef __RISCENG_H
  3. #define __RISCENG_H
  4. #ifndef __VIDDEFS_H
  5. #include "viddefs.h"
  6. #endif
  7. #ifndef __RISCPROG_H
  8. #include "riscprog.h"
  9. #endif
  10. #ifndef __COMPREG_H
  11. #include "compreg.h"
  12. #endif
  13. #include "preg.h"
  14. typedef RISCProgram *RiscPrgHandle;
  15. /* Class: RISCEng
  16. * Purpose: This class provides control over the BtPisces' RISC engine
  17. * Attributes:
  18. * Operations:
  19. */
  20. class RISCEng
  21. {
  22. protected:
  23. DECLARE_RISCPROGRAMSTARTADDRESS;
  24. DECLARE_CONTROL;
  25. public:
  26. virtual RiscPrgHandle CreateProgram( MSize &ImageSize, DWORD dwPitch,
  27. ColFmt, DataBuf &buf, bool Intr = false, DWORD dwPlanarAdjust = 0, bool rsync = false );
  28. virtual void DestroyProgram( RiscPrgHandle ToDie );
  29. void ChangeAddress( RiscPrgHandle prog, DataBuf &buf );
  30. void Start( RISCProgram &ToStart )
  31. {
  32. DebugOut((1, "Starting RISC program (%x)\n", &ToStart));
  33. //ToStart.Dump();
  34. RISC_IPC = ToStart.GetPhysProgAddr() & ~0x3;
  35. FIFO_ENABLE = 1;
  36. RISC_ENABLE = 1;
  37. }
  38. void Stop() { RISC_ENABLE = 0; FIFO_ENABLE = 0; };
  39. void Chain( RiscPrgHandle hParent, RiscPrgHandle hChild , int ndxParent = -1, int ndxChild = -1);
  40. void Skip( RiscPrgHandle hToSkip );
  41. RISCEng() : CONSTRUCT_RISCPROGRAMSTARTADDRESS, CONSTRUCT_CONTROL
  42. { PKTP = 1; }
  43. };
  44. #endif