Lines Matching refs:cb
421 struct pipe_constant_buffer cb[PIPE_MAX_CONSTANT_BUFFERS];
439 struct r600_command_buffer *cb;
623 struct r600_command_buffer *cb)
625 assert(cs->current.cdw + cb->num_dw <= cs->current.max_dw);
626 memcpy(cs->current.buf + cs->current.cdw, cb->buf, 4 * cb->num_dw);
627 cs->current.cdw += cb->num_dw;
666 struct r600_command_buffer *cb)
668 state->cb = cb;
669 state->atom.num_dw = cb ? cb->num_dw : 0;
687 struct r600_command_buffer *cb,
691 void cayman_init_common_regs(struct r600_command_buffer *cb,
891 static inline void r600_store_value(struct r600_command_buffer *cb, unsigned value)
893 cb->buf[cb->num_dw++] = value;
896 static inline void r600_store_array(struct r600_command_buffer *cb, unsigned num, unsigned *ptr)
898 assert(cb->num_dw+num <= cb->max_num_dw);
899 memcpy(&cb->buf[cb->num_dw], ptr, num * sizeof(ptr[0]));
900 cb->num_dw += num;
903 static inline void r600_store_config_reg_seq(struct r600_command_buffer *cb, unsigned reg, unsigned num)
906 assert(cb->num_dw+2+num <= cb->max_num_dw);
907 cb->buf[cb->num_dw++] = PKT3(PKT3_SET_CONFIG_REG, num, 0);
908 cb->buf[cb->num_dw++] = (reg - R600_CONFIG_REG_OFFSET) >> 2;
912 * Needs cb->pkt_flags set to RADEON_CP_PACKET3_COMPUTE_MODE for compute
915 static inline void r600_store_context_reg_seq(struct r600_command_buffer *cb, unsigned reg, unsigned num)
918 assert(cb->num_dw+2+num <= cb->max_num_dw);
919 cb->buf[cb->num_dw++] = PKT3(PKT3_SET_CONTEXT_REG, num, 0) | cb->pkt_flags;
920 cb->buf[cb->num_dw++] = (reg - R600_CONTEXT_REG_OFFSET) >> 2;
924 * Needs cb->pkt_flags set to RADEON_CP_PACKET3_COMPUTE_MODE for compute
927 static inline void r600_store_ctl_const_seq(struct r600_command_buffer *cb, unsigned reg, unsigned num)
930 assert(cb->num_dw+2+num <= cb->max_num_dw);
931 cb->buf[cb->num_dw++] = PKT3(PKT3_SET_CTL_CONST, num, 0) | cb->pkt_flags;
932 cb->buf[cb->num_dw++] = (reg - R600_CTL_CONST_OFFSET) >> 2;
935 static inline void r600_store_loop_const_seq(struct r600_command_buffer *cb, unsigned reg, unsigned num)
938 assert(cb->num_dw+2+num <= cb->max_num_dw);
939 cb->buf[cb->num_dw++] = PKT3(PKT3_SET_LOOP_CONST, num, 0);
940 cb->buf[cb->num_dw++] = (reg - R600_LOOP_CONST_OFFSET) >> 2;
944 * Needs cb->pkt_flags set to RADEON_CP_PACKET3_COMPUTE_MODE for compute
947 static inline void eg_store_loop_const_seq(struct r600_command_buffer *cb, unsigned reg, unsigned num)
950 assert(cb->num_dw+2+num <= cb->max_num_dw);
951 cb->buf[cb->num_dw++] = PKT3(PKT3_SET_LOOP_CONST, num, 0) | cb->pkt_flags;
952 cb->buf[cb->num_dw++] = (reg - EG_LOOP_CONST_OFFSET) >> 2;
955 static inline void r600_store_config_reg(struct r600_command_buffer *cb, unsigned reg, unsigned value)
957 r600_store_config_reg_seq(cb, reg, 1);
958 r600_store_value(cb, value);
961 static inline void r600_store_context_reg(struct r600_command_buffer *cb, unsigned reg, unsigned value)
963 r600_store_context_reg_seq(cb, reg, 1);
964 r600_store_value(cb, value);
967 static inline void r600_store_ctl_const(struct r600_command_buffer *cb, unsigned reg, unsigned value)
969 r600_store_ctl_const_seq(cb, reg, 1);
970 r600_store_value(cb, value);
973 static inline void r600_store_loop_const(struct r600_command_buffer *cb, unsigned reg, unsigned value)
975 r600_store_loop_const_seq(cb, reg, 1);
976 r600_store_value(cb, value);
979 static inline void eg_store_loop_const(struct r600_command_buffer *cb, unsigned reg, unsigned value)
981 eg_store_loop_const_seq(cb, reg, 1);
982 r600_store_value(cb, value);
985 void r600_init_command_buffer(struct r600_command_buffer *cb, unsigned num_dw);
986 void r600_release_command_buffer(struct r600_command_buffer *cb);