[Mesa-dev] [PATCH 10/17] i965/fs: Use exec_size for determining regs read/written and partial writes
Pohjolainen, Topi
topi.pohjolainen at intel.com
Tue Jun 23 01:42:29 PDT 2015
On Thu, Jun 18, 2015 at 05:51:39PM -0700, Jason Ekstrand wrote:
> ---
> src/mesa/drivers/dri/i965/brw_fs.cpp | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 61235d7..cff27e7 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -101,7 +101,7 @@ fs_inst::init(enum opcode opcode, uint8_t exec_size, const fs_reg &dst,
> case MRF:
> case ATTR:
> this->regs_written =
> - DIV_ROUND_UP(MAX2(dst.width * dst.stride, 1) * type_sz(dst.type), 32);
> + DIV_ROUND_UP(MAX2(exec_size * dst.stride, 1) * type_sz(dst.type), 32);
> break;
> case BAD_FILE:
> this->regs_written = 0;
> @@ -718,7 +718,7 @@ bool
> fs_inst::is_partial_write() const
> {
> return ((this->predicate && this->opcode != BRW_OPCODE_SEL) ||
> - (this->dst.width * type_sz(this->dst.type)) < 32 ||
> + (this->exec_size * type_sz(this->dst.type)) < 32 ||
> !this->dst.is_contiguous());
> }
>
> @@ -772,8 +772,8 @@ fs_inst::regs_read(int arg) const
> if (src[arg].stride == 0) {
> return 1;
> } else {
> - int size = src[arg].width * src[arg].stride * type_sz(src[arg].type);
> - return (size + 31) / 32;
> + int size = this->exec_size * src[arg].stride * type_sz(src[arg].type);
> + return DIV_ROUND_UP(size, 32);
> }
> case MRF:
> unreachable("MRF registers are not allowed as sources");
> --
> 2.4.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list