Re: [Mesa-dev] [PATCH 1/2] radv: add more assertions to make sure packets are correctly emitted
Okay, r-b for the series then. On Fri, Jul 12, 2019 at 12:00 PM Samuel Pitoiset wrote: > > > On 7/12/19 11:54 AM, Bas Nieuwenhuizen wrote: > > On Fri, Jul 12, 2019 at 11:13 AM Samuel Pitoiset > > wrote: > >> Signed-off-by: Samuel Pitoiset > >> --- > >> src/amd/vulkan/radv_cs.h | 6 +++--- > >> 1 file changed, 3 insertions(+), 3 deletions(-) > >> > >> diff --git a/src/amd/vulkan/radv_cs.h b/src/amd/vulkan/radv_cs.h > >> index 5f8b59c34cb..2ba7da1fb44 100644 > >> --- a/src/amd/vulkan/radv_cs.h > >> +++ b/src/amd/vulkan/radv_cs.h > >> @@ -42,7 +42,7 @@ static inline unsigned radeon_check_space(struct > >> radeon_winsys *ws, > >> > >> static inline void radeon_set_config_reg_seq(struct radeon_cmdbuf *cs, > >> unsigned reg, unsigned num) > >> { > >> -assert(reg < SI_CONTEXT_REG_OFFSET); > >> +assert(reg < SI_CONTEXT_REG_OFFSET && reg < SI_CONFIG_REG_END); > > Shouldn't the first condition be "reg >= SI_CONFIG_REG_OFFSET" ? > Right, will fix before pushing. > > > > > >> assert(cs->cdw + 2 + num <= cs->max_dw); > >> assert(num); > >> radeon_emit(cs, PKT3(PKT3_SET_CONFIG_REG, num, 0)); > >> @@ -57,7 +57,7 @@ static inline void radeon_set_config_reg(struct > >> radeon_cmdbuf *cs, unsigned reg, > >> > >> static inline void radeon_set_context_reg_seq(struct radeon_cmdbuf *cs, > >> unsigned reg, unsigned num) > >> { > >> -assert(reg >= SI_CONTEXT_REG_OFFSET); > >> +assert(reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END); > >> assert(cs->cdw + 2 + num <= cs->max_dw); > >> assert(num); > >> radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, num, 0)); > >> @@ -75,7 +75,7 @@ static inline void radeon_set_context_reg_idx(struct > >> radeon_cmdbuf *cs, > >>unsigned reg, unsigned idx, > >>unsigned value) > >> { > >> - assert(reg >= SI_CONTEXT_REG_OFFSET); > >> + assert(reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END); > >> assert(cs->cdw + 3 <= cs->max_dw); > >> radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, 1, 0)); > >> radeon_emit(cs, (reg - SI_CONTEXT_REG_OFFSET) >> 2 | (idx << 28)); > >> -- > >> 2.22.0 > >> > >> ___ > >> mesa-dev mailing list > >> mesa-dev@lists.freedesktop.org > >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/2] radv: add more assertions to make sure packets are correctly emitted
On 7/12/19 11:54 AM, Bas Nieuwenhuizen wrote: On Fri, Jul 12, 2019 at 11:13 AM Samuel Pitoiset wrote: Signed-off-by: Samuel Pitoiset --- src/amd/vulkan/radv_cs.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_cs.h b/src/amd/vulkan/radv_cs.h index 5f8b59c34cb..2ba7da1fb44 100644 --- a/src/amd/vulkan/radv_cs.h +++ b/src/amd/vulkan/radv_cs.h @@ -42,7 +42,7 @@ static inline unsigned radeon_check_space(struct radeon_winsys *ws, static inline void radeon_set_config_reg_seq(struct radeon_cmdbuf *cs, unsigned reg, unsigned num) { -assert(reg < SI_CONTEXT_REG_OFFSET); +assert(reg < SI_CONTEXT_REG_OFFSET && reg < SI_CONFIG_REG_END); Shouldn't the first condition be "reg >= SI_CONFIG_REG_OFFSET" ? Right, will fix before pushing. assert(cs->cdw + 2 + num <= cs->max_dw); assert(num); radeon_emit(cs, PKT3(PKT3_SET_CONFIG_REG, num, 0)); @@ -57,7 +57,7 @@ static inline void radeon_set_config_reg(struct radeon_cmdbuf *cs, unsigned reg, static inline void radeon_set_context_reg_seq(struct radeon_cmdbuf *cs, unsigned reg, unsigned num) { -assert(reg >= SI_CONTEXT_REG_OFFSET); +assert(reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END); assert(cs->cdw + 2 + num <= cs->max_dw); assert(num); radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, num, 0)); @@ -75,7 +75,7 @@ static inline void radeon_set_context_reg_idx(struct radeon_cmdbuf *cs, unsigned reg, unsigned idx, unsigned value) { - assert(reg >= SI_CONTEXT_REG_OFFSET); + assert(reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END); assert(cs->cdw + 3 <= cs->max_dw); radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, 1, 0)); radeon_emit(cs, (reg - SI_CONTEXT_REG_OFFSET) >> 2 | (idx << 28)); -- 2.22.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/2] radv: add more assertions to make sure packets are correctly emitted
On Fri, Jul 12, 2019 at 11:13 AM Samuel Pitoiset wrote: > > Signed-off-by: Samuel Pitoiset > --- > src/amd/vulkan/radv_cs.h | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/amd/vulkan/radv_cs.h b/src/amd/vulkan/radv_cs.h > index 5f8b59c34cb..2ba7da1fb44 100644 > --- a/src/amd/vulkan/radv_cs.h > +++ b/src/amd/vulkan/radv_cs.h > @@ -42,7 +42,7 @@ static inline unsigned radeon_check_space(struct > radeon_winsys *ws, > > static inline void radeon_set_config_reg_seq(struct radeon_cmdbuf *cs, > unsigned reg, unsigned num) > { > -assert(reg < SI_CONTEXT_REG_OFFSET); > +assert(reg < SI_CONTEXT_REG_OFFSET && reg < SI_CONFIG_REG_END); Shouldn't the first condition be "reg >= SI_CONFIG_REG_OFFSET" ? > assert(cs->cdw + 2 + num <= cs->max_dw); > assert(num); > radeon_emit(cs, PKT3(PKT3_SET_CONFIG_REG, num, 0)); > @@ -57,7 +57,7 @@ static inline void radeon_set_config_reg(struct > radeon_cmdbuf *cs, unsigned reg, > > static inline void radeon_set_context_reg_seq(struct radeon_cmdbuf *cs, > unsigned reg, unsigned num) > { > -assert(reg >= SI_CONTEXT_REG_OFFSET); > +assert(reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END); > assert(cs->cdw + 2 + num <= cs->max_dw); > assert(num); > radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, num, 0)); > @@ -75,7 +75,7 @@ static inline void radeon_set_context_reg_idx(struct > radeon_cmdbuf *cs, > unsigned reg, unsigned idx, > unsigned value) > { > - assert(reg >= SI_CONTEXT_REG_OFFSET); > + assert(reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END); > assert(cs->cdw + 3 <= cs->max_dw); > radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, 1, 0)); > radeon_emit(cs, (reg - SI_CONTEXT_REG_OFFSET) >> 2 | (idx << 28)); > -- > 2.22.0 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/2] radv: add more assertions to make sure packets are correctly emitted
Signed-off-by: Samuel Pitoiset --- src/amd/vulkan/radv_cs.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_cs.h b/src/amd/vulkan/radv_cs.h index 5f8b59c34cb..2ba7da1fb44 100644 --- a/src/amd/vulkan/radv_cs.h +++ b/src/amd/vulkan/radv_cs.h @@ -42,7 +42,7 @@ static inline unsigned radeon_check_space(struct radeon_winsys *ws, static inline void radeon_set_config_reg_seq(struct radeon_cmdbuf *cs, unsigned reg, unsigned num) { -assert(reg < SI_CONTEXT_REG_OFFSET); +assert(reg < SI_CONTEXT_REG_OFFSET && reg < SI_CONFIG_REG_END); assert(cs->cdw + 2 + num <= cs->max_dw); assert(num); radeon_emit(cs, PKT3(PKT3_SET_CONFIG_REG, num, 0)); @@ -57,7 +57,7 @@ static inline void radeon_set_config_reg(struct radeon_cmdbuf *cs, unsigned reg, static inline void radeon_set_context_reg_seq(struct radeon_cmdbuf *cs, unsigned reg, unsigned num) { -assert(reg >= SI_CONTEXT_REG_OFFSET); +assert(reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END); assert(cs->cdw + 2 + num <= cs->max_dw); assert(num); radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, num, 0)); @@ -75,7 +75,7 @@ static inline void radeon_set_context_reg_idx(struct radeon_cmdbuf *cs, unsigned reg, unsigned idx, unsigned value) { - assert(reg >= SI_CONTEXT_REG_OFFSET); + assert(reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END); assert(cs->cdw + 3 <= cs->max_dw); radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, 1, 0)); radeon_emit(cs, (reg - SI_CONTEXT_REG_OFFSET) >> 2 | (idx << 28)); -- 2.22.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev