Commit 03847b6d by Jamie Madill

Fix the shader calculation for the level of detail for certain samplers.

We were using an extra sqrt function for some cases. TRAC #23591 Change-Id: I7d5d2b4b78586085396a281daf7975be316a1386 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang
parent 829f59e9
......@@ -1091,7 +1091,7 @@ void OutputHLSL::header()
" float2 tSized = float2(t.x * width, t.y * height);\n"
" float dx = length(ddx(tSized));\n"
" float dy = length(ddy(tSized));\n"
" float lod = log2(max(sqrt(dx), sqrt(dy)));\n";
" float lod = log2(max(dx, dy));\n";
if (textureFunction->method == TextureFunction::BIAS)
{
......@@ -1121,7 +1121,7 @@ void OutputHLSL::header()
" float2 tSized = float2(t.x * width, t.y * height);\n"
" float dx = length(ddx(tSized));\n"
" float dy = length(ddy(tSized));\n"
" float lod = log2(max(sqrt(dx), sqrt(dy)));\n";
" float lod = log2(max(dx, dy));\n";
if (textureFunction->method == TextureFunction::BIAS)
{
......@@ -1152,7 +1152,7 @@ void OutputHLSL::header()
" float3 tSized = float3(t.x * width, t.y * height, t.z * depth);\n"
" float dx = length(ddx(tSized));\n"
" float dy = length(ddy(tSized));\n"
" float lod = log2(max(sqrt(dx), sqrt(dy)));\n";
" float lod = log2(max(dx, dy));\n";
if (textureFunction->method == TextureFunction::BIAS)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment