Added RGBA8 texture format.

This commit is contained in:
Branimir Karadžić 2015-03-05 17:44:56 -08:00
parent 64a32ecdf5
commit d858dde912
7 changed files with 28 additions and 8 deletions

View file

@ -104,6 +104,7 @@ typedef enum bgfx_texture_format
BGFX_TEXTURE_FORMAT_RG32,
BGFX_TEXTURE_FORMAT_RG32F,
BGFX_TEXTURE_FORMAT_BGRA8,
BGFX_TEXTURE_FORMAT_RGBA8,
BGFX_TEXTURE_FORMAT_RGBA16,
BGFX_TEXTURE_FORMAT_RGBA16F,
BGFX_TEXTURE_FORMAT_RGBA32,

View file

@ -142,6 +142,7 @@ namespace bgfx
RG32,
RG32F,
BGRA8,
RGBA8,
RGBA16,
RGBA16F,
RGBA32,

View file

@ -44,9 +44,17 @@ vec2 unpackHalf2x16(uint _x)
#define SHARED groupshared
#define IMAGE2D_RO(_name, _reg) Texture2D _name : register(t[_reg])
#define IMAGE2D_RW(_name, _reg) RWTexture2D<float4> _name : register(u[_reg])
#define IMAGE2D_WR(_name, _reg) IMAGE2D_RW(_name, _reg)
#define r32ui uint
#define r32f float
#define rg16f float2
#define rgba8 float4
#define IMAGE2D_RO( _name, _format, _reg) Texture2D<_format> _name : register(t[_reg])
#define UIMAGE2D_RO(_name, _format, _reg) Texture2D<_format> _name : register(t[_reg])
#define IMAGE2D_WR( _name, _format, _reg) RWTexture2D<_format> _name : register(u[_reg])
#define UIMAGE2D_WR(_name, _format, _reg) RWTexture2D<_format> _name : register(u[_reg])
#define IMAGE2D_RW( _name, _reg) RWTexture2D<float> _name : register(u[_reg])
#define UIMAGE2D_RW(_name, _reg) RWTexture2D<uint> _name : register(u[_reg])
#define BUFFER_RO(_name, _struct, _reg) Buffer<_struct> _name : register(b[_reg])
#define BUFFER_RW(_name, _struct, _reg) RWBuffer<_struct> _name : register(u[_reg])
@ -153,13 +161,16 @@ uint atomicCompSwap(uint _mem, uint _compare, uint _data)
#define SHARED shared
#define __IMAGE2D_XX(_name, _reg, _access) \
layout(rgba8, binding=_reg) _access uniform highp image2D _name
#define __IMAGE_XX(_name, _format, _reg, _image, _access) \
layout(_format, binding=_reg) _access uniform highp _image _name
#define readwrite
#define IMAGE2D_RO(_name, _reg) __IMAGE2D_XX(_name, _reg, readonly)
#define IMAGE2D_RW(_name, _reg) __IMAGE2D_XX(_name, _reg, readwrite)
#define IMAGE2D_WR(_name, _reg) __IMAGE2D_XX(_name, _reg, writeonly)
#define IMAGE2D_RO( _name, _format, _reg) __IMAGE_XX(_name, _format, _reg, image2D, readonly)
#define UIMAGE2D_RO(_name, _format, _reg) __IMAGE_XX(_name, _format, _reg, uimage2D, readonly)
#define IMAGE2D_WR( _name, _format, _reg) __IMAGE_XX(_name, _format, _reg, image2D, writeonly)
#define UIMAGE2D_WR(_name, _format, _reg) __IMAGE_XX(_name, _format, _reg, uimage2D, writeonly)
#define IMAGE2D_RW( _name, _reg) __IMAGE_XX(_name, r32f, _reg, image2D, readwrite)
#define UIMAGE2D_RW(_name, _reg) __IMAGE_XX(_name, r32ui, _reg, uimage2D, readwrite)
#define __BUFFER_XX(_name, _type, _reg, _access) \
layout(std430, binding=_reg) _access buffer _name ## Buffer \

View file

@ -49,6 +49,7 @@ namespace bgfx
{ 64, 1, 1, 8, 1, 1 }, // RG32
{ 64, 1, 1, 8, 1, 1 }, // RG32F
{ 32, 1, 1, 4, 1, 1 }, // BGRA8
{ 32, 1, 1, 4, 1, 1 }, // RGBA8
{ 64, 1, 1, 8, 1, 1 }, // RGBA16
{ 64, 1, 1, 8, 1, 1 }, // RGBA16F
{ 128, 1, 1, 16, 1, 1 }, // RGBA32
@ -102,6 +103,7 @@ namespace bgfx
"RG32", // RG32
"RG32F", // RG32F
"BGRA8", // BGRA8
"RGBA8", // RGBA8
"RGBA16", // RGBA16
"RGBA16F", // RGBA16F
"RGBA32", // RGBA32

View file

@ -213,6 +213,7 @@ namespace bgfx
{ DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_UNKNOWN }, // RG32
{ DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_UNKNOWN }, // RG32F
{ DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_UNKNOWN }, // BGRA8
{ DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_UNKNOWN }, // RGBA8
{ DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_UNKNOWN }, // RGBA16
{ DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_UNKNOWN }, // RGBA16F
{ DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_UNKNOWN }, // RGBA32

View file

@ -219,6 +219,7 @@ namespace bgfx
{ D3DFMT_UNKNOWN }, // RG32
{ D3DFMT_G32R32F }, // RG32F
{ D3DFMT_A8R8G8B8 }, // BGRA8
{ D3DFMT_A8R8G8B8 }, // RGBA8
{ D3DFMT_A16B16G16R16 }, // RGBA16
{ D3DFMT_A16B16G16R16F }, // RGBA16F
{ D3DFMT_UNKNOWN }, // RGBA32

View file

@ -215,6 +215,7 @@ namespace bgfx
{ GL_RG32UI, GL_RG, GL_UNSIGNED_INT, true }, // RG32
{ GL_RG32F, GL_RG, GL_FLOAT, true }, // RG32F
{ GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, true }, // BGRA8
{ GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, true }, // RGBA8
{ GL_RGBA16, GL_RGBA, GL_UNSIGNED_BYTE, true }, // RGBA16
{ GL_RGBA16F, GL_RGBA, GL_HALF_FLOAT, true }, // RGBA16F
{ GL_RGBA32UI, GL_RGBA, GL_UNSIGNED_INT, true }, // RGBA32
@ -268,6 +269,7 @@ namespace bgfx
GL_RG32UI, // RG32
GL_RG32F, // RG32F
GL_RGBA8, // BGRA8
GL_RGBA8, // RGBA8
GL_RGBA16, // RGBA16
GL_RGBA16F, // RGBA16F
GL_RGBA32UI, // RGBA32
@ -321,6 +323,7 @@ namespace bgfx
GL_RG32UI, // RG32
GL_RG32F, // RG32F
GL_RGBA8, // BGRA8
GL_RGBA8, // RGBA8
GL_RGBA16, // RGBA16
GL_RGBA16F, // RGBA16F
GL_RGBA32UI, // RGBA32