Fixed issue #1691.
This commit is contained in:
parent
4bc541a723
commit
1d52e0bd10
@ -4164,6 +4164,7 @@ namespace bgfx
|
|||||||
| BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB
|
| BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB
|
||||||
) );
|
) );
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t srgbCaps = BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB;
|
uint16_t srgbCaps = BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB;
|
||||||
|
|
||||||
if (_cubeMap)
|
if (_cubeMap)
|
||||||
@ -4212,7 +4213,7 @@ namespace bgfx
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (0 != (_flags & BGFX_TEXTURE_SRGB)
|
if (0 != (_flags & BGFX_TEXTURE_SRGB)
|
||||||
&& 0 == (g_caps.supported & srgbCaps & (0
|
&& 0 == (g_caps.formats[_format] & srgbCaps & (0
|
||||||
| BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB
|
| BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB
|
||||||
| BGFX_CAPS_FORMAT_TEXTURE_3D_SRGB
|
| BGFX_CAPS_FORMAT_TEXTURE_3D_SRGB
|
||||||
| BGFX_CAPS_FORMAT_TEXTURE_CUBE_SRGB
|
| BGFX_CAPS_FORMAT_TEXTURE_CUBE_SRGB
|
||||||
|
@ -521,7 +521,7 @@ namespace bgfx
|
|||||||
return uint32_t( (_stencil >> (32*_0or1) ) );
|
return uint32_t( (_stencil >> (32*_0or1) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool needBorderColor(uint32_t _flags)
|
inline bool needBorderColor(uint64_t _flags)
|
||||||
{
|
{
|
||||||
return BGFX_SAMPLER_U_BORDER == (_flags & BGFX_SAMPLER_U_BORDER)
|
return BGFX_SAMPLER_U_BORDER == (_flags & BGFX_SAMPLER_U_BORDER)
|
||||||
|| BGFX_SAMPLER_V_BORDER == (_flags & BGFX_SAMPLER_V_BORDER)
|
|| BGFX_SAMPLER_V_BORDER == (_flags & BGFX_SAMPLER_V_BORDER)
|
||||||
|
@ -1734,9 +1734,9 @@ namespace bgfx { namespace d3d9
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setSamplerState(uint8_t _stage, uint32_t _flags, const float _rgba[4])
|
void setSamplerState(uint8_t _stage, uint64_t _flags, const float _rgba[4])
|
||||||
{
|
{
|
||||||
const uint32_t flags = _flags&( (~BGFX_SAMPLER_RESERVED_MASK) | BGFX_SAMPLER_BITS_MASK | BGFX_TEXTURE_SRGB);
|
const uint64_t flags = _flags&( (~BGFX_SAMPLER_RESERVED_MASK) | BGFX_SAMPLER_BITS_MASK | BGFX_TEXTURE_SRGB);
|
||||||
BX_CHECK(_stage < BX_COUNTOF(m_samplerFlags), "");
|
BX_CHECK(_stage < BX_COUNTOF(m_samplerFlags), "");
|
||||||
if (m_samplerFlags[_stage] != flags)
|
if (m_samplerFlags[_stage] != flags)
|
||||||
{
|
{
|
||||||
@ -2242,7 +2242,7 @@ namespace bgfx { namespace d3d9
|
|||||||
UniformRegistry m_uniformReg;
|
UniformRegistry m_uniformReg;
|
||||||
void* m_uniforms[BGFX_CONFIG_MAX_UNIFORMS];
|
void* m_uniforms[BGFX_CONFIG_MAX_UNIFORMS];
|
||||||
|
|
||||||
uint32_t m_samplerFlags[BGFX_CONFIG_MAX_TEXTURE_SAMPLERS];
|
uint64_t m_samplerFlags[BGFX_CONFIG_MAX_TEXTURE_SAMPLERS];
|
||||||
|
|
||||||
TextureD3D9* m_updateTexture;
|
TextureD3D9* m_updateTexture;
|
||||||
uint8_t* m_updateTextureBits;
|
uint8_t* m_updateTextureBits;
|
||||||
@ -3124,9 +3124,8 @@ namespace bgfx { namespace d3d9
|
|||||||
|
|
||||||
void TextureD3D9::commit(uint8_t _stage, uint32_t _flags, const float _palette[][4])
|
void TextureD3D9::commit(uint8_t _stage, uint32_t _flags, const float _palette[][4])
|
||||||
{
|
{
|
||||||
const uint32_t flags = 0 == (BGFX_SAMPLER_INTERNAL_DEFAULT & _flags)
|
const uint64_t flags = (m_flags & BGFX_TEXTURE_SRGB)
|
||||||
? _flags
|
| (0 == (BGFX_SAMPLER_INTERNAL_DEFAULT & _flags) ? _flags : uint32_t(m_flags) )
|
||||||
: uint32_t(m_flags)
|
|
||||||
;
|
;
|
||||||
uint32_t index = (flags & BGFX_SAMPLER_BORDER_COLOR_MASK) >> BGFX_SAMPLER_BORDER_COLOR_SHIFT;
|
uint32_t index = (flags & BGFX_SAMPLER_BORDER_COLOR_MASK) >> BGFX_SAMPLER_BORDER_COLOR_SHIFT;
|
||||||
s_renderD3D9->setSamplerState(_stage, flags, _palette[index]);
|
s_renderD3D9->setSamplerState(_stage, flags, _palette[index]);
|
||||||
|
Loading…
Reference in New Issue
Block a user