[Mesa-dev] [PATCH 2/5] i965: Add definitions for gen7+ data cache messages.

Kenneth Graunke kenneth at whitecape.org
Mon Mar 11 19:56:46 PDT 2013


On 03/11/2013 04:11 PM, Eric Anholt wrote:
> We were sparsely using some of these message types, but I'll just fill
> them all in now.  It will be used for fixing shader_time on HSW.
>
> NOTE: This is a candidate for the 9.1 branch.
> ---
>   src/mesa/drivers/dri/i965/brw_defines.h |   36 +++++++++++++++++++++++++++++++
>   1 file changed, 36 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h
> index 6414e69..042abcd 100644
> --- a/src/mesa/drivers/dri/i965/brw_defines.h
> +++ b/src/mesa/drivers/dri/i965/brw_defines.h
> @@ -967,7 +967,43 @@ enum brw_message_target {
>
>   /* GEN7 */
>   #define GEN7_DATAPORT_WRITE_MESSAGE_OWORD_DUAL_BLOCK_WRITE          10
> +#define GEN7_DATAPORT_DC_OWORD_BLOCK_READ                           0
> +#define GEN7_DATAPORT_DC_UNALIGNED_OWORD_BLOCK_READ                 1
> +#define GEN7_DATAPORT_DC_OWORD_DUAL_BLOCK_READ                      2
>   #define GEN7_DATAPORT_DC_DWORD_SCATTERED_READ                       3
> +#define GEN7_DATAPORT_DC_BYTE_SCATTERED_READ                        4
> +#define GEN7_DATAPORT_DC_UNTYPED_SURFACE_READ                       5
> +#define GEN7_DATAPORT_DC_UNTYPED_ATOMIC_OP                          6
> +#define GEN7_DATAPORT_DC_MEMORY_FENCE                               7
> +#define GEN7_DATAPORT_DC_OWORD_BLOCK_WRITE                          8
> +#define GEN7_DATAPORT_DC_OWORD_DUAL_BLOCK_WRITE                     10
> +#define GEN7_DATAPORT_DC_DWORD_SCATTERED_WRITE                      11
> +#define GEN7_DATAPORT_DC_BYTE_SCATTERED_WRITE                       12
> +#define GEN7_DATAPORT_DC_UNTYPED_SURFACE_WRITE                      13
> +
> +/* HSW */
> +#define HSW_DATAPORT_DC_PORT0_OWORD_BLOCK_READ                      0
> +#define HSW_DATAPORT_DC_PORT0_UNALIGNED_OWORD_BLOCK_READ            1
> +#define HSW_DATAPORT_DC_PORT0_OWORD_DUAL_BLOCK_READ                 2
> +#define HSW_DATAPORT_DC_PORT0_DWORD_SCATTERED_READ                  3
> +#define HSW_DATAPORT_DC_PORT0_BYTE_SCATTERED_READ                   4
> +#define HSW_DATAPORT_DC_PORT0_MEMORY_FENCE                          7
> +#define HSW_DATAPORT_DC_PORT0_OWORD_BLOCK_WRITE                     8
> +#define HSW_DATAPORT_DC_PORT0_OWORD_DUAL_BLOCK_WRITE                10
> +#define HSW_DATAPORT_DC_PORT0_DWORD_SCATTERED_WRITE                 11
> +#define HSW_DATAPORT_DC_PORT0_BYTE_SCATTERED_WRITE                  12
> +
> +#define HSW_DATAPORT_DC_PORT1_UNTYPED_SURFACE_READ                  1
> +#define HSW_DATAPORT_DC_PORT1_UNTYPED_ATOMIC_OP                     2
> +#define HSW_DATAPORT_DC_PORT1_UNTYPED_ATOMIC_OP_SIMD4X2             3

Is there some reason you omitted MEDIA_BLOCK_READ (4), but chose to 
include MEDIA_BLOCK_WRITE (10)?

Otherwise, this patch is:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

> +#define HSW_DATAPORT_DC_PORT1_TYPED_SURFACE_READ                    5
> +#define HSW_DATAPORT_DC_PORT1_TYPED_ATOMIC_OP                       6
> +#define HSW_DATAPORT_DC_PORT1_TYPED_ATOMIC_OP_SIMD4X2               7
> +#define HSW_DATAPORT_DC_PORT1_UNTYPED_SURFACE_WRITE                 9
> +#define HSW_DATAPORT_DC_PORT1_MEDIA_BLOCK_WRITE                     10
> +#define HSW_DATAPORT_DC_PORT1_ATOMIC_COUNTER_OP                     11
> +#define HSW_DATAPORT_DC_PORT1_ATOMIC_COUNTER_OP_SIMD4X2             12
> +#define HSW_DATAPORT_DC_PORT1_TYPED_SURFACE_WRITE                   13
>
>   /* dataport atomic operations. */
>   #define BRW_AOP_AND                   1
>



More information about the mesa-dev mailing list