Module: Mesa
Branch: master
Commit: 64cfacf3197170b238d68b0e4a2d556bddd1b7d7
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=64cfacf3197170b238d68b0e4a2d556bddd1b7d7

Author: Dave Airlie <[email protected]>
Date:   Mon Oct 12 13:55:00 2015 +1000

glsl: fix partial marking for fp64 types.

This doubles the element width for the types that are greater
than 2 elements wide.

Reviewed-by: Timothy Arceri <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>

---

 src/glsl/ir_set_program_inouts.cpp |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/glsl/ir_set_program_inouts.cpp 
b/src/glsl/ir_set_program_inouts.cpp
index c9b8a38..a2dea67 100644
--- a/src/glsl/ir_set_program_inouts.cpp
+++ b/src/glsl/ir_set_program_inouts.cpp
@@ -301,6 +301,13 @@ 
ir_set_program_inouts_visitor::try_mark_partial_variable(ir_variable *var,
       return false;
    }
 
+   /* double element width for double types that takes two slots */
+   if (this->shader_stage != MESA_SHADER_VERTEX ||
+       var->data.mode != ir_var_shader_in) {
+      if (type->without_array()->is_dual_slot_double())
+        elem_width *= 2;
+   }
+
    mark(this->prog, var, index_as_constant->value.u[0] * elem_width,
         elem_width, this->shader_stage);
    return true;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to