diff options
author | Francisco Jerez <currojerez@riseup.net> | 2016-05-16 15:47:39 -0700 |
---|---|---|
committer | Francisco Jerez <currojerez@riseup.net> | 2016-05-27 23:28:59 -0700 |
commit | a7d319c00be425be219a101b5b4d48f1cbe4ec01 (patch) | |
tree | 7f311382073f9e9ef9f3ef8d51d05130d312e5d6 /src/mesa/drivers/dri/i965/brw_fs_generator.cpp | |
parent | fe5cdde2f9f84022b512de1fa42a036a371d31ba (diff) | |
download | external_mesa3d-a7d319c00be425be219a101b5b4d48f1cbe4ec01.zip external_mesa3d-a7d319c00be425be219a101b5b4d48f1cbe4ec01.tar.gz external_mesa3d-a7d319c00be425be219a101b5b4d48f1cbe4ec01.tar.bz2 |
i965/fs: Implement scratch reads and writes of 4 GRFs at a time.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs_generator.cpp')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp index 4b4792f..7308fdd 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp @@ -1061,6 +1061,7 @@ fs_generator::generate_discard_jump(fs_inst *inst) void fs_generator::generate_scratch_write(fs_inst *inst, struct brw_reg src) { + assert(inst->exec_size <= 16 || inst->force_writemask_all); assert(inst->mlen != 0); brw_MOV(p, @@ -1073,6 +1074,7 @@ fs_generator::generate_scratch_write(fs_inst *inst, struct brw_reg src) void fs_generator::generate_scratch_read(fs_inst *inst, struct brw_reg dst) { + assert(inst->exec_size <= 16 || inst->force_writemask_all); assert(inst->mlen != 0); brw_oword_block_read_scratch(p, dst, brw_message_reg(inst->base_mrf), @@ -1082,6 +1084,8 @@ fs_generator::generate_scratch_read(fs_inst *inst, struct brw_reg dst) void fs_generator::generate_scratch_read_gen7(fs_inst *inst, struct brw_reg dst) { + assert(inst->exec_size <= 16 || inst->force_writemask_all); + gen7_block_read_scratch(p, dst, inst->exec_size / 8, inst->offset); } |