// This source file is part of HGamer3D
// (A project to enable 3D game development in Haskell)
// For the latest info, see http://www.althainz.de/HGamer3D.html
//
// Copyright 2011 Dr. Peter Althainz
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// EnumUsage.h
//
//
//
//
// File for type, method, enum or function stubs
// in: "..\OgreSDK_vc10_v1-7-4\include\OGRE\OgreHardwareBuffer.h"
//
// each stub combines the following files:
// a C++ implementation file, transforming cpp calls into C-functions
// a C-header file, making this C-functions available for the C2HS parser
// a chs file, give instructions to the C2HS parser.
//
//
#include "wchar.h"
// enum from ..\OgreSDK_vc10_v1-7-4\include\OGRE\OgreHardwareBuffer.h line:78
enum EnumUsage
{
/** Static buffer which the application rarely modifies once created. Modifying
the contents of this buffer will involve a performance hit.
*/
HBU_STATIC = 1,
/** Indicates the application would like to modify this buffer with the CPU
fairly often.
Buffers created with this flag will typically end up in AGP memory rather
than video memory.
*/
HBU_DYNAMIC = 2,
/** Indicates the application will never read the contents of the buffer back,
it will only ever write data. Locking a buffer with this flag will ALWAYS
return a pointer to new, blank memory rather than the memory associated
with the contents of the buffer; this avoids DMA stalls because you can
write to a new memory area while the previous one is being used.
*/
HBU_WRITE_ONLY = 4,
/** Indicates that the application will be refilling the contents
of the buffer regularly (not just updating, but generating the
contents from scratch), and therefore does not mind if the contents
of the buffer are lost somehow and need to be recreated. This
allows and additional level of optimisation on the buffer.
This option only really makes sense when combined with
HBU_DYNAMIC_WRITE_ONLY.
*/
HBU_DISCARDABLE = 8,
/// Combination of HBU_STATIC and HBU_WRITE_ONLY
HBU_STATIC_WRITE_ONLY = 5,
/** Combination of HBU_DYNAMIC and HBU_WRITE_ONLY. If you use
this, strongly consider using HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE
instead if you update the entire contents of the buffer very
regularly.
*/
HBU_DYNAMIC_WRITE_ONLY = 6,
/// Combination of HBU_DYNAMIC, HBU_WRITE_ONLY and HBU_DISCARDABLE
HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE = 14
};