mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 09:30:44 +00:00
Fixes for double outputs in GL mesh output fetch
This commit is contained in:
@@ -215,7 +215,10 @@ void GLReplay::InitPostVSBuffers(uint32_t eventId)
|
||||
if(sig.systemValue == ShaderBuiltin::Position)
|
||||
posidx = int32_t(varyings.size()) - 1;
|
||||
|
||||
stride += sizeof(float) * sig.compCount;
|
||||
if(sig.compType == CompType::Double)
|
||||
stride += sizeof(double) * sig.compCount;
|
||||
else
|
||||
stride += sizeof(float) * sig.compCount;
|
||||
}
|
||||
|
||||
// shift position attribute up to first, keeping order otherwise
|
||||
|
||||
@@ -1656,32 +1656,32 @@ void MakeShaderReflection(const GLHookSet &gl, GLenum shadType, GLuint sepProg,
|
||||
|
||||
switch(values[1])
|
||||
{
|
||||
case eGL_FLOAT:
|
||||
case eGL_DOUBLE:
|
||||
case eGL_FLOAT_VEC2:
|
||||
case eGL_DOUBLE_VEC2:
|
||||
case eGL_FLOAT_VEC3:
|
||||
case eGL_DOUBLE_VEC3:
|
||||
case eGL_FLOAT_VEC4:
|
||||
case eGL_DOUBLE_VEC4:
|
||||
case eGL_FLOAT_MAT4:
|
||||
case eGL_DOUBLE_MAT4:
|
||||
case eGL_FLOAT_MAT4x3:
|
||||
case eGL_DOUBLE_MAT4x3:
|
||||
case eGL_FLOAT_MAT4x2:
|
||||
case eGL_DOUBLE_MAT4x2:
|
||||
case eGL_FLOAT_MAT3:
|
||||
case eGL_DOUBLE_MAT3:
|
||||
case eGL_FLOAT_MAT3x4:
|
||||
case eGL_DOUBLE_MAT3x4:
|
||||
case eGL_FLOAT_MAT3x2:
|
||||
case eGL_DOUBLE_MAT3x2:
|
||||
case eGL_FLOAT_MAT2:
|
||||
case eGL_DOUBLE_MAT2:
|
||||
case eGL_FLOAT_MAT2x3:
|
||||
case eGL_DOUBLE_MAT2x3:
|
||||
case eGL_FLOAT_MAT2x4:
|
||||
case eGL_DOUBLE_MAT2x4: sig.compType = CompType::Float; break;
|
||||
case eGL_DOUBLE_MAT2x4: sig.compType = CompType::Double; break;
|
||||
case eGL_FLOAT:
|
||||
case eGL_FLOAT_VEC2:
|
||||
case eGL_FLOAT_VEC3:
|
||||
case eGL_FLOAT_VEC4:
|
||||
case eGL_FLOAT_MAT4:
|
||||
case eGL_FLOAT_MAT4x3:
|
||||
case eGL_FLOAT_MAT4x2:
|
||||
case eGL_FLOAT_MAT3:
|
||||
case eGL_FLOAT_MAT3x4:
|
||||
case eGL_FLOAT_MAT3x2:
|
||||
case eGL_FLOAT_MAT2:
|
||||
case eGL_FLOAT_MAT2x3:
|
||||
case eGL_FLOAT_MAT2x4: sig.compType = CompType::Float; break;
|
||||
case eGL_INT:
|
||||
case eGL_INT_VEC2:
|
||||
case eGL_INT_VEC3:
|
||||
|
||||
Reference in New Issue
Block a user