From 0a92301c8086752542b4a961762e0964bc75aee9 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Thu, 20 Jan 2011 12:07:51 -0800 Subject: i915: Set correct values for range/precision of fragment shader types (cherry picked from commit 790ff232e2607a83e6207d06900a5e3de613d161) --- src/mesa/drivers/dri/i915/i915_context.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/mesa/drivers/dri/i915/i915_context.c b/src/mesa/drivers/dri/i915/i915_context.c index f32f3cf6020..49ad7db2893 100644 --- a/src/mesa/drivers/dri/i915/i915_context.c +++ b/src/mesa/drivers/dri/i915/i915_context.c @@ -168,6 +168,20 @@ i915CreateContext(int api, MIN2(ctx->Const.FragmentProgram.MaxNativeParameters, ctx->Const.FragmentProgram.MaxEnvParams); + /* i915 stores all values in single-precision floats. Values aren't set + * for other program targets because software is used for those targets. + */ + ctx->FragmentProgram.MediumFloat.RangeMin = 127; + ctx->FragmentProgram.MediumFloat.RangeMax = 127; + ctx->FragmentProgram.MediumFloat.Precision = 23; + ctx->FragmentProgram.LowFloat = ctx->FragmentProgram.HighFloat = + ctx->FragmentProgram.MediumFloat; + ctx->FragmentProgram.MediumInt.RangeMin = 24; + ctx->FragmentProgram.MediumInt.RangeMax = 24; + ctx->FragmentProgram.MediumInt.Precision = 0; + ctx->FragmentProgram.LowInt = ctx->FragmentProgram.HighInt = + ctx->FragmentProgram.MediumInt; + ctx->FragmentProgram._MaintainTexEnvProgram = GL_TRUE; /* FINISHME: Are there other options that should be enabled for software -- cgit v1.2.3