Mesa (master): i965/fs: Add support for doing MOV_INDIRECT on uniforms

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Apr 14 23:00:41 UTC 2016


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Nov 23 18:32:38 2015 -0800

i965/fs: Add support for doing MOV_INDIRECT on uniforms

Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_fs.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 944ad4d..8802540 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -853,7 +853,10 @@ fs_inst::regs_read(int arg) const
          assert(src[2].file == IMM);
          unsigned region_length = src[2].ud;
 
-         if (src[0].file == FIXED_GRF) {
+         if (src[0].file == UNIFORM) {
+            assert(region_length % 4 == 0);
+            return region_length / 4;
+         } else if (src[0].file == FIXED_GRF) {
             /* If the start of the region is not register aligned, then
              * there's some portion of the register that's technically
              * unread at the beginning.




More information about the mesa-commit mailing list