gc_hal_dump.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /****************************************************************************
  2. *
  3. * Copyright (c) 2005 - 2014 by Vivante Corp. All rights reserved.
  4. *
  5. * The material in this file is confidential and contains trade secrets
  6. * of Vivante Corporation. This is proprietary information owned by
  7. * Vivante Corporation. No part of this work may be disclosed,
  8. * reproduced, copied, transmitted, or used in any way for any purpose,
  9. * without the express written permission of Vivante Corporation.
  10. *
  11. *****************************************************************************/
  12. #ifndef __gc_hal_dump_h_
  13. #define __gc_hal_dump_h_
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. /*
  18. ** FILE LAYOUT:
  19. **
  20. ** gcsDUMP_FILE structure
  21. **
  22. ** gcsDUMP_DATA frame
  23. ** gcsDUMP_DATA or gcDUMP_DATA_SIZE records rendingring the frame
  24. ** gctUINT8 data[length]
  25. */
  26. #define gcvDUMP_FILE_SIGNATURE gcmCC('g','c','D','B')
  27. typedef struct _gcsDUMP_FILE
  28. {
  29. gctUINT32 signature; /* File signature */
  30. gctSIZE_T length; /* Length of file */
  31. gctUINT32 frames; /* Number of frames in file */
  32. }
  33. gcsDUMP_FILE;
  34. typedef enum _gceDUMP_TAG
  35. {
  36. gcvTAG_SURFACE = gcmCC('s','u','r','f'),
  37. gcvTAG_FRAME = gcmCC('f','r','m',' '),
  38. gcvTAG_COMMAND = gcmCC('c','m','d',' '),
  39. gcvTAG_INDEX = gcmCC('i','n','d','x'),
  40. gcvTAG_STREAM = gcmCC('s','t','r','m'),
  41. gcvTAG_TEXTURE = gcmCC('t','e','x','t'),
  42. gcvTAG_RENDER_TARGET = gcmCC('r','n','d','r'),
  43. gcvTAG_DEPTH = gcmCC('z','b','u','f'),
  44. gcvTAG_RESOLVE = gcmCC('r','s','l','v'),
  45. gcvTAG_DELETE = gcmCC('d','e','l',' '),
  46. gcvTAG_BUFOBJ = gcmCC('b','u','f','o'),
  47. }
  48. gceDUMP_TAG;
  49. typedef struct _gcsDUMP_SURFACE
  50. {
  51. gceDUMP_TAG type; /* Type of record. */
  52. gctUINT32 address; /* Address of the surface. */
  53. gctINT16 width; /* Width of surface. */
  54. gctINT16 height; /* Height of surface. */
  55. gceSURF_FORMAT format; /* Surface pixel format. */
  56. gctSIZE_T length; /* Number of bytes inside the surface. */
  57. }
  58. gcsDUMP_SURFACE;
  59. typedef struct _gcsDUMP_DATA
  60. {
  61. gceDUMP_TAG type; /* Type of record. */
  62. gctSIZE_T length; /* Number of bytes of data. */
  63. gctUINT32 address; /* Address for the data. */
  64. }
  65. gcsDUMP_DATA;
  66. #ifdef __cplusplus
  67. }
  68. #endif
  69. #endif /* __gc_hal_dump_h_ */