mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-18 11:45:55 +00:00
Handle GL_EXT_texture_sRGB_decode. See gl-420-fbo-srgb-decode-ext
This commit is contained in:
@@ -332,6 +332,7 @@ WrappedOpenGL::WrappedOpenGL(const char *logfile, const GLHookSet &funcs)
|
||||
glExts.push_back("GL_ARB_internalformat_query2");
|
||||
glExts.push_back("GL_ARB_ES2_compatibility");
|
||||
glExts.push_back("GL_EXT_texture_filter_anisotropic");
|
||||
glExts.push_back("GL_EXT_texture_sRGB_decode");
|
||||
|
||||
#if !defined(_RELEASE)
|
||||
CaptureOptions &opts = (CaptureOptions &)RenderDoc::Inst().GetCaptureOptions();
|
||||
|
||||
@@ -92,6 +92,7 @@ struct TextureStateInitialData
|
||||
|
||||
int32_t baseLevel, maxLevel;
|
||||
float minLod, maxLod;
|
||||
GLenum srgbDecode;
|
||||
GLenum depthMode;
|
||||
GLenum compareFunc, compareMode;
|
||||
GLenum minFilter, magFilter;
|
||||
@@ -228,6 +229,7 @@ bool GLResourceManager::Prepare_InitialState(GLResource res)
|
||||
// only non-ms textures have sampler state
|
||||
if(!ms)
|
||||
{
|
||||
gl.glGetTextureParameterivEXT(res.name, details.curType, eGL_TEXTURE_SRGB_DECODE_EXT, (GLint *)&state->srgbDecode);
|
||||
gl.glGetTextureParameterivEXT(res.name, details.curType, eGL_TEXTURE_COMPARE_FUNC, (GLint *)&state->compareFunc);
|
||||
gl.glGetTextureParameterivEXT(res.name, details.curType, eGL_TEXTURE_COMPARE_MODE, (GLint *)&state->compareMode);
|
||||
gl.glGetTextureParameterivEXT(res.name, details.curType, eGL_TEXTURE_MIN_FILTER, (GLint *)&state->minFilter);
|
||||
@@ -826,6 +828,7 @@ void GLResourceManager::Apply_InitialState(GLResource live, InitialContentData i
|
||||
|
||||
if(!ms)
|
||||
{
|
||||
gl.glTextureParameterivEXT(live.name, details.curType, eGL_TEXTURE_SRGB_DECODE_EXT, (GLint *)&state->srgbDecode);
|
||||
gl.glTextureParameterivEXT(live.name, details.curType, eGL_TEXTURE_COMPARE_FUNC, (GLint *)&state->compareFunc);
|
||||
gl.glTextureParameterivEXT(live.name, details.curType, eGL_TEXTURE_COMPARE_MODE, (GLint *)&state->compareMode);
|
||||
gl.glTextureParameterivEXT(live.name, details.curType, eGL_TEXTURE_MIN_FILTER, (GLint *)&state->minFilter);
|
||||
|
||||
@@ -539,6 +539,13 @@ bool IsSRGBFormat(GLenum internalFormat)
|
||||
{
|
||||
case eGL_SRGB8:
|
||||
case eGL_SRGB8_ALPHA8:
|
||||
case eGL_SLUMINANCE8:
|
||||
case eGL_SLUMINANCE8_ALPHA8:
|
||||
case eGL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
|
||||
case eGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:
|
||||
case eGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:
|
||||
case eGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:
|
||||
case eGL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB:
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user