Mesa (master): i965: Don't do vector splitting for ir_var_system_value

Anuj Phogat aphogat at kemper.freedesktop.org
Sat Nov 2 00:06:23 UTC 2013


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

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Tue Oct 22 12:00:11 2013 -0700

i965: Don't do vector splitting for ir_var_system_value

This is required while adding builtin system value vec{2, 3, 4}
variables. For example:
(declare (sys) vec2 gl_SamplePosition)

Without this patch above glsl ir splits in to:
(declare (temporary) float gl_SamplePosition_x)
(declare (temporary) float gl_SamplePosition_y)

Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>

---

 .../drivers/dri/i965/brw_fs_vector_splitting.cpp   |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
index eb7851b..6284b59 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
@@ -111,6 +111,7 @@ ir_vector_reference_visitor::get_variable_entry(ir_variable *var)
    case ir_var_uniform:
    case ir_var_shader_in:
    case ir_var_shader_out:
+   case ir_var_system_value:
    case ir_var_function_in:
    case ir_var_function_out:
    case ir_var_function_inout:




More information about the mesa-commit mailing list