Counter Strike : Global Offensive Source Code
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.5 KiB

  1. //===== Copyright � 2005-2009, Valve Corporation, All rights reserved. ======//
  2. //
  3. // Purpose: Format of the ps3optimalschedules.bin file, written
  4. // by the ps3shaderoptimizer command line tool.
  5. //
  6. //===========================================================================//
  7. #ifndef PS3OPTIMALSCHEDULESFMT_H
  8. #define PS3OPTIMALSCHEDULESFMT_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #define OPTIMAL_COMBO_SCHEDULE_FILE_HEADER_ID 0xF15EB9A4
  13. struct OptimalComboScheduleFileHeader_t
  14. {
  15. uint m_nID;
  16. uint m_nNumCombos;
  17. };
  18. // 16 bytes per record, or ~8MB per 500k combos
  19. #define COMBO_CYCLE_BITS 9
  20. #define COMBO_SCHEDULE_BITS 10
  21. #define COMBO_SEED_BITS 10
  22. struct OptimalComboScheduleFileRecord_t
  23. {
  24. uint64 m_nComboHash;
  25. uint64 m_nOptCycles : COMBO_CYCLE_BITS;
  26. enum { cDefaultScheduleIndex = ( 1 << COMBO_SCHEDULE_BITS ) - 1 };
  27. uint64 m_nOptSchedule : COMBO_SCHEDULE_BITS;
  28. uint64 m_nOptSeed : COMBO_SEED_BITS;
  29. uint64 m_nAltSchedule0 : COMBO_SCHEDULE_BITS;
  30. uint64 m_nAltSchedule1 : COMBO_SCHEDULE_BITS;
  31. uint64 m_nAltSchedule2 : COMBO_SCHEDULE_BITS;
  32. uint64 m_nUnused : 5;
  33. bool operator< ( const OptimalComboScheduleFileRecord_t &rhs ) const
  34. {
  35. return m_nComboHash < rhs.m_nComboHash;
  36. }
  37. };
  38. enum ShaderSchedulerParamSource_t
  39. {
  40. SHADER_SCHEDULER_PARAM_SOURCE_UNOPTIMIZED,
  41. SHADER_SCHEDULER_PARAM_SOURCE_UNOPTIMIZED_FALLBACK,
  42. SHADER_SCHEDULER_PARAM_SOURCE_FOUND_OPTIMAL,
  43. SHADER_SCHEDULER_PARAM_SOURCE_FROM_SCHEDULER_FILE,
  44. TOTAL_SHADER_SCHEDULER_PARAM_SOURCES
  45. };
  46. #endif // PS3OPTIMALSCHEDULESFMT_H