Mesa (master): i965/fs: Use brw_adjust_sampler_state_pointer in fs generator too

Chris Forbes chrisf at kemper.freedesktop.org
Fri Aug 15 07:21:06 UTC 2014


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

Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Sun Aug 10 11:54:47 2014 +1200

i965/fs: Use brw_adjust_sampler_state_pointer in fs generator too

Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_fs_generator.cpp |   17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index d905567..bc1e7bf 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -573,22 +573,7 @@ fs_generator::generate_tex(fs_inst *inst, struct brw_reg dst, struct brw_reg src
                        brw_imm_ud(inst->texture_offset));
          }
 
-         if (sampler >= 16) {
-            /* The "Sampler Index" field can only store values between 0 and 15.
-             * However, we can add an offset to the "Sampler State Pointer"
-             * field, effectively selecting a different set of 16 samplers.
-             *
-             * The "Sampler State Pointer" needs to be aligned to a 32-byte
-             * offset, and each sampler state is only 16-bytes, so we can't
-             * exclusively use the offset - we have to use both.
-             */
-            assert(brw->gen >= 8 || brw->is_haswell);
-            const int sampler_state_size = 16; /* 16 bytes */
-            brw_ADD(p,
-                    get_element_ud(header_reg, 3),
-                    get_element_ud(brw_vec8_grf(0, 0), 3),
-                    brw_imm_ud(16 * (sampler / 16) * sampler_state_size));
-         }
+         brw_adjust_sampler_state_pointer(p, header_reg, sampler_index, dst);
          brw_pop_insn_state(p);
       }
    }




More information about the mesa-commit mailing list