/*
Copyright 2001-2004 by NVIDIA Corporation.  All rights reserved.

All information contained herein is proprietary and confidential to NVIDIA 
Corporation. Any use, reproduction, or disclosure without the advance written
permission of NVIDIA Corporation is prohibited.  

Without limiting any of the foregoing, all information contained herein shall
be deemed NVIDIA "Confidential Information" as defined in the Confidentiality
and Non-Disclosure Agreement among Sony Computer Entertainment Inc. ("SCEI"),
Toshiba Corporation ("Toshiba"), NVIDIA Corporation, and NVIDIA K.K.
(collectively, "NVIDIA"), entered into as of March 5, 2004 ("CNDA").  NVIDIA 
Confidential Information is hereby disclosed and transmitted solely and 
exclusively to SCEI pursuant to the terms and conditions set forth in the CNDA
and pursuant to the Letter of Intent executed between NVIDIA Corporation and
SCEI on or about on December 7, 2004 ("LOI").  Provided, however,
notwithstanding any language to the contrary in the CNDA,  SCEI acknowledges
and agrees that NVIDIA Confidential Information contained herein shall not be
disclosed to Toshiba without first obtaining NVIDIA's advance written approval.
*/



/*
 *
 * Copyright (c) 2002-2004, NVIDIA Corporation.
 * 
 *  
 * 
 * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration 
 * of your agreement to the following terms, and your use, installation, 
 * modification or redistribution of this NVIDIA software constitutes 
 * acceptance of these terms.  If you do not agree with these terms, please do 
 * not use, install, modify or redistribute this NVIDIA software.
 * 
 *  
 * 
 * In consideration of your agreement to abide by the following terms, and 
 * subject to these terms, NVIDIA grants you a personal, non-exclusive license,
 * under NVIDIA痴 copyrights in this original NVIDIA software (the "NVIDIA 
 * Software"), to use, reproduce, modify and redistribute the NVIDIA 
 * Software, with or without modifications, in source and/or binary forms; 
 * provided that if you redistribute the NVIDIA Software, you must retain the 
 * copyright notice of NVIDIA, this notice and the following text and 
 * disclaimers in all such redistributions of the NVIDIA Software. Neither the 
 * name, trademarks, service marks nor logos of NVIDIA Corporation may be used 
 * to endorse or promote products derived from the NVIDIA Software without 
 * specific prior written permission from NVIDIA.  Except as expressly stated 
 * in this notice, no other rights or licenses express or implied, are granted 
 * by NVIDIA herein, including but not limited to any patent rights that may be 
 * infringed by your derivative works or by other works in which the NVIDIA 
 * Software may be incorporated. No hardware is licensed hereunder. 
 * 
 *  
 * 
 * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING 
 * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, 
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION 
 * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
 * 
 *  
 * 
 * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, 
 * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST 
 * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
 * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, 
 * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, 
 * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING 
 * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 */ 

/* 
 * The following macro invocations define error codes returned by various cg 
 * API functions.
 *
 * The macros have the form :
 *
 *   CG_ERROR_MACRO(code, enum_name, message)
 *
 *     code      : The integer error code associated with the error.
 *     enum_name : The name of enumerant of the error code in the API.  
 *     message   : A description string associated with the error.
 *   
 */


CG_ERROR_MACRO(0, 
               CG_NO_ERROR,
               "No error has occurred.")

CG_ERROR_MACRO(1, 
               CG_COMPILER_ERROR, 
               "The compile returned an error.")

CG_ERROR_MACRO(2, 
               CG_INVALID_PARAMETER_ERROR,
               "The parameter used is invalid.")

CG_ERROR_MACRO(3, 
               CG_INVALID_PROFILE_ERROR,
               "The profile is not supported.")

CG_ERROR_MACRO(4, 
               CG_PROGRAM_LOAD_ERROR,
               "The program could not load.")

CG_ERROR_MACRO(5, 
               CG_PROGRAM_BIND_ERROR, 
               "The program could not bind.")

CG_ERROR_MACRO(6, 
               CG_PROGRAM_NOT_LOADED_ERROR,
               "The program must be loaded before this operation may be used.")

CG_ERROR_MACRO(7, 
               CG_UNSUPPORTED_GL_EXTENSION_ERROR, 
               "An unsupported GL extension was required to perform this operation.")

CG_ERROR_MACRO(8, 
               CG_INVALID_VALUE_TYPE_ERROR, 
               "An unknown value type was assigned to a parameter.")

CG_ERROR_MACRO(9, 
               CG_NOT_MATRIX_PARAM_ERROR, 
               "The parameter is not of matrix type.")

CG_ERROR_MACRO(10, 
               CG_INVALID_ENUMERANT_ERROR, 
               "The enumerant parameter has an invalid value.")

CG_ERROR_MACRO(11, 
               CG_NOT_4x4_MATRIX_ERROR, 
               "The parameter must be a 4x4 matrix type.")

CG_ERROR_MACRO(12, 
               CG_FILE_READ_ERROR, 
               "The file could not be read.")

CG_ERROR_MACRO(13, 
               CG_FILE_WRITE_ERROR, 
               "The file could not be written.")

CG_ERROR_MACRO(14, 
               CG_NVPARSE_ERROR, 
               "nvparse could not successfully parse the output from the Cg "
               "compiler backend.")

CG_ERROR_MACRO(15, 
               CG_MEMORY_ALLOC_ERROR, 
               "Memory allocation failed.")

CG_ERROR_MACRO(16, 
               CG_INVALID_CONTEXT_HANDLE_ERROR, 
               "Invalid context handle.")

CG_ERROR_MACRO(17, 
               CG_INVALID_PROGRAM_HANDLE_ERROR, 
               "Invalid program handle.")

CG_ERROR_MACRO(18, 
               CG_INVALID_PARAM_HANDLE_ERROR, 
               "Invalid parameter handle.")

CG_ERROR_MACRO(19, 
               CG_UNKNOWN_PROFILE_ERROR, 
               "The specified profile is unknown.")

CG_ERROR_MACRO(20, 
               CG_VAR_ARG_ERROR, 
               "The variable arguments were specified incorrectly.")

CG_ERROR_MACRO(21, 
               CG_INVALID_DIMENSION_ERROR, 
               "The dimension value is invalid.")

CG_ERROR_MACRO(22, 
               CG_ARRAY_PARAM_ERROR, 
               "The parameter must be an array.")

CG_ERROR_MACRO(23, 
               CG_OUT_OF_ARRAY_BOUNDS_ERROR, 
               "Index into the array is out of bounds.")

CG_ERROR_MACRO(24, 
               CG_CONFLICTING_TYPES_ERROR, 
               "A type being added to the context conflicts with an "
               "existing type.")

CG_ERROR_MACRO(25, 
               CG_CONFLICTING_PARAMETER_TYPES_ERROR, 
               "The parameters being bound have conflicting types.")

CG_ERROR_MACRO(26, 
               CG_PARAMETER_IS_NOT_SHARED_ERROR, 
               "The parameter must be global.")

CG_ERROR_MACRO(27, 
               CG_INVALID_PARAMETER_VARIABILITY_ERROR, 
               "The parameter could not be changed to the given variability.")

CG_ERROR_MACRO(28, 
               CG_CANNOT_DESTROY_PARAMETER_ERROR, 
               "Cannot destroy the parameter.  It is bound to other parameters "
               "or is not a root parameter.")


CG_ERROR_MACRO(29, 
               CG_NOT_ROOT_PARAMETER_ERROR, 
               "The parameter is not a root parameter.")

CG_ERROR_MACRO(30, 
               CG_PARAMETERS_DO_NOT_MATCH_ERROR, 
               "The two parameters being bound do not match.")

CG_ERROR_MACRO(31, 
               CG_IS_NOT_PROGRAM_PARAMETER_ERROR, 
               "The parameter is not a program parameter.")

CG_ERROR_MACRO(32, 
               CG_INVALID_PARAMETER_TYPE_ERROR, 
               "The type of the parameter is invalid.")

CG_ERROR_MACRO(33, 
               CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR, 
               "The parameter must be a resizable array.")

CG_ERROR_MACRO(34, 
               CG_INVALID_SIZE_ERROR, 
               "The size value is invalid.")

CG_ERROR_MACRO(35, 
               CG_BIND_CREATES_CYCLE_ERROR, 
               "Cannot bind the given parameters.  Binding will form a cycle.")

CG_ERROR_MACRO(36, 
               CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR, 
               "Cannot bind the given parameters.  Array types do not match.")

CG_ERROR_MACRO(37, 
               CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR, 
               "Cannot bind the given parameters.  "
               "Array dimensions do not match.")

CG_ERROR_MACRO(38, 
               CG_ARRAY_HAS_WRONG_DIMENSION_ERROR, 
               "The array is has the wrong dimension.")

CG_ERROR_MACRO(39, 
               CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR, 
               "Connecting the parameters failed because The type of the "
               "source parameter is not defined within the given program "
               "or does not match the type with the same name in the program.")

CG_ERROR_MACRO(40,
               CG_INVALID_EFFECT_HANDLE_ERROR,
               "Invalid effect handle.")

CG_ERROR_MACRO(41,
               CG_INVALID_STATE_HANDLE_ERROR,
               "Invalid state handle.")

CG_ERROR_MACRO(42,
               CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR,
               "Invalid stateassignment handle.")

CG_ERROR_MACRO(43,
               CG_INVALID_PASS_HANDLE_ERROR,
               "Invalid pass handle.")

CG_ERROR_MACRO(44,
               CG_INVALID_ANNOTATION_HANDLE_ERROR,
               "Invalid annotation handle.")

CG_ERROR_MACRO(45,
               CG_INVALID_TECHNIQUE_HANDLE_ERROR,
               "Invalid technique handle.")

CG_ERROR_MACRO(46,
               CG_INVALID_PARAMETER_HANDLE_ERROR,
               "Invalid parameter handle.")

CG_ERROR_MACRO(47,
               CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR,
               "Invalid parameter handle.")

CG_ERROR_MACRO(48,
               CG_INVALID_FUNCTION_HANDLE_ERROR,
               "Invalid function handle.")

CG_ERROR_MACRO(49,
               CG_INVALID_TECHNIQUE_ERROR,
               "Technique did not pass validation.")

CG_ERROR_MACRO(50,
               CG_INVALID_POINTER_ERROR,
               "The supplied pointer is NULL.")

CG_ERROR_MACRO(51,
               CG_NOT_ENOUGH_DATA_ERROR,
               "Not enough data was provided.")

CG_ERROR_MACRO(52,
               CG_NON_NUMERIC_PARAMETER_ERROR,
               "The parameter is not of a numeric type.")

CG_ERROR_MACRO(53, 
               CG_BINARY_FORMAT_REVISION_MISMATCH_ERROR, 
               "Cg binary format doesn't match the current revision.")

#undef CG_ERROR_MACRO

