[Title] Fix WebGLShaderPrecisionFormat issue.
[Issue#] TWEB-1124
[Problem] WebGLSharedPrecisionFormat returns wrong value.
[Cause] getShaderPrecisionFormat function was not implemented.
[Solution] Implement it.
Change-Id: Iceee233dc86df524d9cf02f2f73dcdedd55772cd
GC3Dint range[2] = {0, 0};
GC3Dint precision = 0;
-#if !ENABLE(TIZEN_DAILY_UPVERSIONING)
- // FIXME: getShaderPrecisionFormat() should be implemented.
m_context->getShaderPrecisionFormat(shaderType, precisionType, range, &precision);
-#endif
return WebGLShaderPrecisionFormat::create(range[0], range[1], precision);
}
return res;
}
+void GraphicsContext3DInternal::getShaderPrecisionFormat(GC3Denum shaderType, GC3Denum precisionType, GC3Dint* range, GC3Dint* precision)
+{
+ ASSERT(range);
+ ASSERT(precision);
+
+ makeContextCurrent();
+ GL_CMD(glGetShaderPrecisionFormat(shaderType, precisionType, range, precision));
+}
+
String GraphicsContext3DInternal::getShaderSource(Platform3DObject shader)
{
makeContextCurrent();
virtual void getRenderbufferParameteriv(GC3Denum target, GC3Denum pname, GC3Dint* value);
virtual void getShaderiv(Platform3DObject, GC3Denum pname, GC3Dint* value);
virtual String getShaderInfoLog(Platform3DObject);
-
+ virtual void getShaderPrecisionFormat(GC3Denum shaderType, GC3Denum precisionType, GC3Dint* range, GC3Dint* precision);
virtual String getShaderSource(Platform3DObject);
virtual String getString(GC3Denum name);
virtual void getTexParameterfv(GC3Denum target, GC3Denum pname, GC3Dfloat* value);
return m_internal->getShaderInfoLog(shader);
}
+void GraphicsContext3D::getShaderPrecisionFormat(GC3Denum shaderType, GC3Denum precisionType, GC3Dint* range, GC3Dint* precision)
+{
+ return m_internal->getShaderPrecisionFormat(shaderType, precisionType, range, precision);
+}
+
String GraphicsContext3D::getShaderSource(Platform3DObject shader)
{
return m_internal->getShaderSource(shader);