mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-05 13:25:42 +00:00
Adjust renderbuffer samples to real number of samples obtained
This commit is contained in:
@@ -2754,7 +2754,6 @@ bool WrappedOpenGL::Serialise_glNamedRenderbufferStorageMultisampleEXT(Serialise
|
||||
texDetails.width = width;
|
||||
texDetails.height = height;
|
||||
texDetails.depth = 1;
|
||||
texDetails.samples = RDCMAX(1, samples);
|
||||
texDetails.curType = eGL_RENDERBUFFER;
|
||||
texDetails.internalFormat = internalformat;
|
||||
texDetails.mipsValid = 1;
|
||||
@@ -2762,6 +2761,21 @@ bool WrappedOpenGL::Serialise_glNamedRenderbufferStorageMultisampleEXT(Serialise
|
||||
GL.glNamedRenderbufferStorageMultisampleEXT(renderbuffer.name, samples, internalformat, width,
|
||||
height);
|
||||
|
||||
if(samples >= 1)
|
||||
{
|
||||
GLint realSamples = 0;
|
||||
GL.glGetNamedRenderbufferParameterivEXT(renderbuffer.name, eGL_RENDERBUFFER_SAMPLES,
|
||||
&realSamples);
|
||||
|
||||
if(realSamples > samples)
|
||||
{
|
||||
RDCDEBUG("Renderbuffer requested %d samples, but got %d samples", samples, realSamples);
|
||||
samples = realSamples;
|
||||
}
|
||||
}
|
||||
|
||||
texDetails.samples = RDCMAX(1, samples);
|
||||
|
||||
if(internalformat == eGL_DEPTH_COMPONENT || internalformat == eGL_DEPTH_STENCIL ||
|
||||
internalformat == eGL_STENCIL || internalformat == eGL_STENCIL_INDEX)
|
||||
{
|
||||
@@ -2977,7 +2991,6 @@ bool WrappedOpenGL::Serialise_glRenderbufferStorageMultisampleEXT(SerialiserType
|
||||
texDetails.width = width;
|
||||
texDetails.height = height;
|
||||
texDetails.depth = 1;
|
||||
texDetails.samples = RDCMAX(1, samples);
|
||||
texDetails.curType = eGL_RENDERBUFFER;
|
||||
texDetails.internalFormat = internalformat;
|
||||
texDetails.mipsValid = 1;
|
||||
@@ -2989,6 +3002,21 @@ bool WrappedOpenGL::Serialise_glRenderbufferStorageMultisampleEXT(SerialiserType
|
||||
|
||||
GL.glRenderbufferStorageMultisampleEXT(eGL_RENDERBUFFER, samples, internalformat, width, height);
|
||||
|
||||
if(samples >= 1)
|
||||
{
|
||||
GLint realSamples = 0;
|
||||
GL.glGetNamedRenderbufferParameterivEXT(renderbuffer.name, eGL_RENDERBUFFER_SAMPLES,
|
||||
&realSamples);
|
||||
|
||||
if(realSamples > samples)
|
||||
{
|
||||
RDCDEBUG("Renderbuffer requested %d samples, but got %d samples", samples, realSamples);
|
||||
samples = realSamples;
|
||||
}
|
||||
}
|
||||
|
||||
texDetails.samples = RDCMAX(1, samples);
|
||||
|
||||
if(internalformat == eGL_DEPTH_COMPONENT || internalformat == eGL_DEPTH_STENCIL ||
|
||||
internalformat == eGL_STENCIL || internalformat == eGL_STENCIL_INDEX)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user