bgfx/src/shader.h
Бранимир Караџић 83dfadf673 Happy New Year!
2024-01-14 01:56:36 -08:00

74 lines
1.4 KiB
C++

/*
* Copyright 2011-2024 Branimir Karadzic. All rights reserved.
* License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
*/
#ifndef BGFX_SHADER_H
#define BGFX_SHADER_H
#include <bx/readerwriter.h>
namespace bgfx
{
BX_ERROR_RESULT(kShaderInvalidHeader, BX_MAKEFOURCC('S', 'H', 0, 1) );
BX_ERROR_RESULT(kShaderInvalidInstruction, BX_MAKEFOURCC('S', 'H', 0, 2) );
struct DescriptorType
{
enum Enum
{
StorageBuffer,
StorageImage,
Count
};
};
DescriptorType::Enum idToDescriptorType(uint16_t _id);
uint16_t descriptorTypeToId(DescriptorType::Enum _type);
struct TextureComponentType
{
enum Enum
{
Float,
Int,
Uint,
Depth,
UnfilterableFloat,
Count
};
};
TextureComponentType::Enum idToTextureComponentType(uint8_t _id);
uint8_t textureComponentTypeToId(TextureComponentType::Enum _type);
struct TextureDimension
{
enum Enum
{
Dimension1D,
Dimension2D,
Dimension2DArray,
DimensionCube,
DimensionCubeArray,
Dimension3D,
Count
};
};
TextureDimension::Enum idToTextureDimension(uint8_t _id);
uint8_t textureDimensionToId(TextureDimension::Enum _dim);
///
void disassemble(bx::WriterI* _writer, bx::ReaderSeekerI* _reader, bx::Error* _err = NULL);
///
void disassemble(bx::WriterI* _writer, const void* _data, uint32_t _size, bx::Error* _err = NULL);
} // namespace bgfx
#endif // BGFX_SHADER_H