X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2Fglstate_shaders.cpp;h=29d4768587abbe1b95f694b8aeb9ae51f5f5741c;hb=2a5696befce6be00fa655b751af5ce2924ea45ae;hp=a651d994736780f1d331d29c4af03d1db28936c2;hpb=b777f31f0a1c266dc17715b3b6bc61dc4e9e7d7a;p=apitrace diff --git a/retrace/glstate_shaders.cpp b/retrace/glstate_shaders.cpp index a651d99..29d4768 100644 --- a/retrace/glstate_shaders.cpp +++ b/retrace/glstate_shaders.cpp @@ -24,6 +24,7 @@ **************************************************************************/ +#include #include #include @@ -245,16 +246,16 @@ dumpUniformValues(JSONWriter &json, GLenum type, const void *values, GLint matri switch (elemType) { case GL_FLOAT: - json.writeNumber(*u.fvalue); + json.writeFloat(*u.fvalue); break; case GL_DOUBLE: - json.writeNumber(*u.dvalue); + json.writeFloat(*u.dvalue); break; case GL_INT: - json.writeNumber(*u.ivalue); + json.writeInt(*u.ivalue); break; case GL_UNSIGNED_INT: - json.writeNumber(*u.uivalue); + json.writeInt(*u.uivalue); break; case GL_BOOL: json.writeBool(*u.uivalue); @@ -625,10 +626,10 @@ dumpArbProgramUniforms(JSONWriter &json, GLenum target, const char *prefix) json.beginMember(name); json.beginArray(); - json.writeNumber(params[0]); - json.writeNumber(params[1]); - json.writeNumber(params[2]); - json.writeNumber(params[3]); + json.writeFloat(params[0]); + json.writeFloat(params[1]); + json.writeFloat(params[2]); + json.writeFloat(params[3]); json.endArray(); json.endMember(); } @@ -648,10 +649,10 @@ dumpArbProgramUniforms(JSONWriter &json, GLenum target, const char *prefix) json.beginMember(name); json.beginArray(); - json.writeNumber(params[0]); - json.writeNumber(params[1]); - json.writeNumber(params[2]); - json.writeNumber(params[3]); + json.writeFloat(params[0]); + json.writeFloat(params[1]); + json.writeFloat(params[2]); + json.writeFloat(params[3]); json.endArray(); json.endMember(); } @@ -678,6 +679,7 @@ dumpShadersUniforms(JSONWriter &json, Context &context) GLint geometry_program = 0; GLint tess_control_program = 0; GLint tess_evaluation_program = 0; + GLint compute_program = 0; if (!context.ES) { glGetIntegerv(GL_PROGRAM_PIPELINE_BINDING, &pipeline); @@ -687,6 +689,7 @@ dumpShadersUniforms(JSONWriter &json, Context &context) glGetProgramPipelineiv(pipeline, GL_GEOMETRY_SHADER, &geometry_program); glGetProgramPipelineiv(pipeline, GL_TESS_CONTROL_SHADER, &tess_control_program); glGetProgramPipelineiv(pipeline, GL_TESS_EVALUATION_SHADER, &tess_evaluation_program); + glGetProgramPipelineiv(pipeline, GL_COMPUTE_SHADER, &compute_program); } } @@ -707,6 +710,7 @@ dumpShadersUniforms(JSONWriter &json, Context &context) dumpProgram(json, geometry_program); dumpProgram(json, tess_control_program); dumpProgram(json, tess_evaluation_program); + dumpProgram(json, compute_program); } else if (program) { dumpProgram(json, program); } else if (programObj) { @@ -726,6 +730,7 @@ dumpShadersUniforms(JSONWriter &json, Context &context) dumpProgramUniformsStage(json, geometry_program, "GL_GEOMETRY_SHADER"); dumpProgramUniformsStage(json, tess_control_program, "GL_TESS_CONTROL_SHADER"); dumpProgramUniformsStage(json, tess_evaluation_program, "GL_TESS_EVALUATION_SHADER"); + dumpProgramUniformsStage(json, compute_program, "GL_COMPUTE_SHADER"); } else if (program) { dumpProgramUniforms(json, program); } else if (programObj) {