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.

105 lines
8.0 KiB

  1. /************************************************************************************************************************************\
  2. |* *|
  3. |* Copyright 2012 NVIDIA Corporation. All rights reserved. *|
  4. |* *|
  5. |* NOTICE TO USER: *|
  6. |* *|
  7. |* This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws. *|
  8. |* *|
  9. |* This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA *|
  10. |* and are being provided solely under the terms and conditions of an NVIDIA software license agreement. *|
  11. |* Otherwise, you have no rights to use or access this software in any manner. *|
  12. |* *|
  13. |* If not covered by the applicable NVIDIA software license agreement: *|
  14. |* NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. *|
  15. |* IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. *|
  16. |* NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, *|
  17. |* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. *|
  18. |* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, *|
  19. |* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, *|
  20. |* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE. *|
  21. |* *|
  22. |* U.S. Government End Users. *|
  23. |* This software is a "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT 1995), *|
  24. |* consisting of "commercial computer software" and "commercial computer software documentation" *|
  25. |* as such terms are used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item. *|
  26. |* Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), *|
  27. |* all U.S. Government End Users acquire the software with only those rights set forth herein. *|
  28. |* *|
  29. |* Any use of this software in individual and commercial software must include, *|
  30. |* in the user documentation and internal comments to the code, *|
  31. |* the above Disclaimer (as applicable) and U.S. Government End Users Notice. *|
  32. |* *|
  33. \************************************************************************************************************************************/
  34. #pragma once
  35. #include"nvapi_lite_salstart.h"
  36. #include"nvapi_lite_common.h"
  37. #pragma pack(push,8)
  38. #ifdef __cplusplus
  39. extern "C" {
  40. #endif
  41. //! SUPPORTED OS: Windows XP and higher
  42. //!
  43. ///////////////////////////////////////////////////////////////////////////////
  44. //
  45. // FUNCTION NAME: NvAPI_DISP_GetGDIPrimaryDisplayId
  46. //
  47. //! DESCRIPTION: This API returns the Display ID of the GDI Primary.
  48. //!
  49. //! \param [out] displayId Display ID of the GDI Primary display.
  50. //!
  51. //! \retval ::NVAPI_OK: Capabilties have been returned.
  52. //! \retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND: GDI Primary not on an NVIDIA GPU.
  53. //! \retval ::NVAPI_INVALID_ARGUMENT: One or more args passed in are invalid.
  54. //! \retval ::NVAPI_API_NOT_INTIALIZED: The NvAPI API needs to be initialized first
  55. //! \retval ::NVAPI_NO_IMPLEMENTATION: This entrypoint not available
  56. //! \retval ::NVAPI_ERROR: Miscellaneous error occurred
  57. //!
  58. //! \ingroup dispcontrol
  59. ///////////////////////////////////////////////////////////////////////////////
  60. NVAPI_INTERFACE NvAPI_DISP_GetGDIPrimaryDisplayId(NvU32* displayId);
  61. #define NV_MOSAIC_MAX_DISPLAYS (64)
  62. //! SUPPORTED OS: Windows Vista and higher
  63. //!
  64. ///////////////////////////////////////////////////////////////////////////////
  65. //
  66. // FUNCTION NAME: NvAPI_Mosaic_GetDisplayViewportsByResolution
  67. //
  68. //! DESCRIPTION: This API returns the viewports that would be applied on
  69. //! the requested display.
  70. //!
  71. //! \param [in] displayId Display ID of a single display in the active
  72. //! mosaic topology to query.
  73. //! \param [in] srcWidth Width of full display topology. If both
  74. //! width and height are 0, the current
  75. //! resolution is used.
  76. //! \param [in] srcHeight Height of full display topology. If both
  77. //! width and height are 0, the current
  78. //! resolution is used.
  79. //! \param [out] viewports Array of NV_RECT viewports which represent
  80. //! the displays as identified in
  81. //! NvAPI_Mosaic_EnumGridTopologies. If the
  82. //! requested resolution is a single-wide
  83. //! resolution, only viewports[0] will
  84. //! contain the viewport details, regardless
  85. //! of which display is driving the display.
  86. //! \param [out] bezelCorrected Returns 1 if the requested resolution is
  87. //! bezel corrected. May be NULL.
  88. //!
  89. //! \retval ::NVAPI_OK Capabilties have been returned.
  90. //! \retval ::NVAPI_INVALID_ARGUMENT One or more args passed in are invalid.
  91. //! \retval ::NVAPI_API_NOT_INTIALIZED The NvAPI API needs to be initialized first
  92. //! \retval ::NVAPI_MOSAIC_NOT_ACTIVE The display does not belong to an active Mosaic Topology
  93. //! \retval ::NVAPI_NO_IMPLEMENTATION This entrypoint not available
  94. //! \retval ::NVAPI_ERROR Miscellaneous error occurred
  95. //!
  96. //! \ingroup mosaicapi
  97. ///////////////////////////////////////////////////////////////////////////////
  98. NVAPI_INTERFACE NvAPI_Mosaic_GetDisplayViewportsByResolution(NvU32 displayId, NvU32 srcWidth, NvU32 srcHeight, NV_RECT viewports[NV_MOSAIC_MAX_DISPLAYS], NvU8* bezelCorrected);
  99. #include"nvapi_lite_salend.h"
  100. #ifdef __cplusplus
  101. }
  102. #endif
  103. #pragma pack(pop)