//-----------------------------------------------------------------------------
	D3D9StereoDriverBridge::D3D9StereoDriverBridge(StereoModeType stereoMode)
	{
		mPimpl = NULL;
		mIsNvapiInitialized = false;
		mStereoMode = stereoMode;

		if (SMT_FRAME_SEQUENTIAL != mStereoMode)
			return;

		// Both initialize and set driver mode need to be called to determine whether NVIDIA stereo is available
		NvAPI_Status nvStatus = NvAPI_Initialize();
		if (NVAPI_OK == nvStatus)
			nvStatus = NvAPI_Stereo_SetDriverMode(NVAPI_STEREO_DRIVER_MODE_DIRECT);
			
		if (NVAPI_OK == nvStatus)
		{
			NvAPI_ShortString nvapiStatusMessage;
			NvAPI_GetErrorMessage(nvStatus, nvapiStatusMessage);
			mIsNvapiInitialized = true;
			mPimpl = new D3D9StereoDriverNVIDIA();
		}
		else
		{
			// Assume the AMD implementation, since the device must be created before verifying AMD QBS
			mPimpl = new D3D9StereoDriverAMD();
		}
	}
/*
This function is used to print to the command line a text message
describing the nvapi error and quits
*/
void nvapi_error(NvAPI_Status status)
{
	NvAPI_ShortString szDesc = { 0 };
	NvAPI_GetErrorMessage(status, szDesc);
	LL_WARNS() << szDesc << LL_ENDL;

	//should always trigger when asserts are enabled
	//llassert(status == NVAPI_OK);
}
Exemplo n.º 3
0
String^ NvAPI::GetErrorMessage(Status nr)
{
  NvAPI_ShortString desc;
  if (NvAPI_GetErrorMessage((NvAPI_Status) nr, desc) == NVAPI_OK)
  {
    return gcnew String(desc);
  }
  return String::Empty;
}
Exemplo n.º 4
0
int PyNvAPI_CheckError(const NvAPI_Status st)
{
    int res = st != NVAPI_OK;
    if (res)
    {
        NvAPI_ShortString szDesc;
        NvAPI_GetErrorMessage(st, szDesc);
        PyErr_SetString(PyExc_NvAPIError, szDesc);
    }
    return res;
}
	//---------------------------------------------------------------------
	D3D11StereoDriverBridge::~D3D11StereoDriverBridge()
	{
		if (NULL != mPimpl)
		{
			delete mPimpl;
			mPimpl = NULL;
		}

		if (mIsNvapiInitialized)
		{
			NvAPI_Status nvStatus = NvAPI_Unload();
			NvAPI_ShortString nvapiStatusMessage;
			NvAPI_GetErrorMessage(nvStatus, nvapiStatusMessage);
		}
	}
Exemplo n.º 6
0
VOID LogEvent(__in PWSTR str, __in int status)
{
    switch (GraphicsType)
    {
    case NvidiaGraphics:
        {
            if (NvAPI_GetErrorMessage != NULL)
            {
                PPH_STRING nvPhString = NULL;
                PPH_STRING statusString = NULL;
                NvAPI_ShortString nvString = { 0 };

                NvAPI_GetErrorMessage((NvStatus)status, nvString);

                nvPhString = PhCreateStringFromAnsi(nvString);
                statusString = PhFormatString(str, nvPhString->Buffer);

                PhLogMessageEntry(PH_LOG_ENTRY_MESSAGE, statusString);

                PhDereferenceObject(statusString);
                PhDereferenceObject(nvPhString);
            }
            else
            {
                PPH_STRING string = PhCreateString(L"gfxinfo: (LogEvent) NvAPI_GetErrorMessage was not initialized.");

                PhLogMessageEntry(PH_LOG_ENTRY_MESSAGE, string);

                PhDereferenceObject(string);
            }
        }
        break;
    case AtiGraphics:
        {
            //PPH_STRING string = PhFormatString(str, status);

            //PhLogMessageEntry(PH_LOG_ENTRY_MESSAGE, string);

            //PhDereferenceObject(string);
        }
        break;
    }
}
	//---------------------------------------------------------------------
	D3D11StereoDriverBridge::D3D11StereoDriverBridge(StereoModeType stereoMode)
	{
		mPimpl = NULL;
		mIsNvapiInitialized = false;
		mStereoMode = stereoMode;

		if (SMT_FRAME_SEQUENTIAL != mStereoMode)
			return;

		NvAPI_Status nvStatus = NvAPI_Initialize();
		if (NVAPI_OK == nvStatus)
		{
			NvAPI_ShortString nvapiStatusMessage;
			NvAPI_GetErrorMessage(nvStatus, nvapiStatusMessage);
			mIsNvapiInitialized = true;
			mPimpl = new D3D11StereoDriverNVIDIA();
		}
		else
		{
			// Assume the AMD implementation, since the device must be created before verifying AMD QBS
			mPimpl = new D3D11StereoDriverAMD();
		}
	}